/* 墨卷：纸白、淡墨与浓墨。所有界面共用同一套视觉语言。 */
:root{color-scheme:light;--paper:#fafafa;--ink:#202020;--ink-soft:#5d5d5d;--line:#dedede;--wash:#f0f0f0;--serif:"Songti SC","Noto Serif SC","STSong",serif;color:var(--ink);background:var(--paper);accent-color:var(--ink)}
body{background:radial-gradient(ellipse at 100% 0,#e9e9e955,transparent 42%),var(--paper)}
a{color:#404040;text-underline-offset:4px}a:hover{color:#000}
h1,h2,.brand,.hero h2{font-family:var(--serif);font-weight:600;letter-spacing:.06em}h3{color:#292929}
aside{background:radial-gradient(ellipse at 0 0,#45454588,transparent 65%),linear-gradient(165deg,#292929,#181818);border-right:1px solid #3d3d3d;color:#ddd}
aside .brand{color:#fff}aside .brand span{color:#b4b4b4;font-family:Arial,sans-serif;font-weight:400}aside nav :is(button,a){color:#c8c8c8}aside nav :is(button,a).active{background:#ffffff16;box-shadow:inset 2px 0 #ededed;color:#fff}aside nav :is(button,a):hover{background:#ffffff0d;color:#fff}aside .back{color:#c3c3c3}aside>.eyebrow,.side-label,.nav-label,.side-bottom small,.sidebar-note{color:#aaa}.dot{background:#ccc}
button,.button{background:#292929;border-radius:5px;transition:background .16s,box-shadow .16s}button:hover{background:#111;filter:none}.button:hover,.button:focus-visible{color:#fff}button.secondary,#local-login{background:#ededed;color:#3c3c3c}button.secondary:hover,#local-login:hover{background:#e0e0e0}button.icon,button.link,.back{background:transparent;color:#5c5c5c}button.danger,.danger{color:#333!important;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid #555;outline-offset:4px}
input,textarea,select{background:#fff;color:#292929;border-color:#d6d6d6;border-radius:4px}input:focus,textarea:focus,select:focus{outline:2px solid #777;outline-offset:2px;box-shadow:none}::selection{background:#d5d5d5;color:#111}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#d4d4d460,transparent 56%),linear-gradient(110deg,#f1f1f1,#f8f8f8);border-color:#ddd;border-radius:7px}.hero p{color:#686868}.hero .ornament{color:#939393;font-family:var(--serif)}
.card,.entry,.stat,.stats article,.settings,.message,#composer,#usage-panel{border-color:#dedede;border-radius:7px;background:#fff;box-shadow:0 3px 14px #00000003}.card-actions{flex-wrap:wrap;border-color:#e9e9e9}.book-mark{background:radial-gradient(ellipse at 12% 90%,#aaa5,transparent 68%),linear-gradient(120deg,#e5e5e5,#f7f7f7);font-family:var(--serif);color:#464646;border-radius:3px;position:relative}.book-mark:after{content:"";position:absolute;inset:12px;border:1px solid #ffffff80;pointer-events:none}
.tag,.tag.published,.badge,.badge.off{background:#ededed;color:#4b4b4b}.tag.published{border:1px solid #bdbdbd}.stat strong,.stats strong{font-family:var(--serif);color:#282828}.muted,.eyebrow,.subtitle,.quiet,label{color:#686868}.card p,.entry p,.entry small{color:#666}.empty{background:#f8f8f8;color:#777;border-color:#ccc}
.pause-banner,.study-notice,.study-card .study-metric,.detail-meta,#wallets span{background:#f1f1f1;border-color:#d4d4d4;color:#555}.pause-banner{border-left:3px solid #555}.study-card strong,.study-reading a,#reader-actions summary{color:#333}.message.user{background:#efefef;border-color:#ddd}.artifact{background:#fafafa;border-color:#d8d8d8}.welcome span{color:#555}.permission-fields{border-color:#d5d5d5}.permission-fields legend{color:#444}
dialog{color:#252525;background:#fff;border-color:#d4d4d4;border-radius:8px;box-shadow:0 24px 90px #0003}dialog::backdrop{background:#1116}#reader .reader-head{background:#fff;border-color:#e1e1e1}#reader-body{color:#282828}#reader .reader-head button:hover{background:#eee}#toast{background:#252525;color:#fff}#notice{color:#454545}.error,#error{color:#333;font-weight:600}th{background:#f4f4f4;color:#666}td{border-color:#e8e8e8}tr.selected{background:#f1f1f1}
.login-shell .intro{background:radial-gradient(ellipse at 0 100%,#c8c8c860,transparent 58%),radial-gradient(ellipse at 100% 0,#dedede70,transparent 62%),#efefef;border-color:#d6d6d6}.intro h1{color:#252525}.login-shell .form-panel{background:#ffffffb3}.intro-copy>p:last-child,.footnote,.hint,.privacy{color:#696969}.intro .brand{color:#252525}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
