/* Shared interface tokens for the room, readers and standalone documents. */
:root{--ui-bg:#fafbfc;--ui-surface:#f3f5f7;--ui-ink:#303944;--ui-muted:#738092;--ui-line:#dce2e9;--ui-accent:#40566d;--ui-radius:12px;--ui-icon-size:44px;--ui-edge:3.5vw;--ui-font:Arial,'Microsoft YaHei',sans-serif;--ui-mono:'Courier New',monospace;--ui-shadow:4px 5px 12px #34465f14,-4px -4px 10px #fff;--ui-shadow-inset:inset 2px 2px 6px #34465f14,inset -2px -2px 6px #fff}
html body{background:var(--ui-bg);color:var(--ui-ink);font-family:var(--ui-font)}
html body :is(.scene-room.reading-room,.works-page,.reading-page,.proposal-reader){background:var(--ui-bg);color:var(--ui-ink);font-family:var(--ui-font)}
html body :is(.profile-sheet[data-slot],.computer-sheet[data-slot],.proposal-directory,.thumbnail-tray){background:var(--ui-surface);color:var(--ui-ink)}
html body :is(.soft-button,.proposal-button,.page-side-controls button,.scene-reset){width:var(--ui-icon-size);height:var(--ui-icon-size);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #ffffffb3;border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-accent);box-shadow:var(--ui-shadow);transition:color .18s,box-shadow .18s,background .18s,transform .18s}
html body :is(.soft-button,.proposal-button,.page-side-controls button,.scene-reset):hover:not(:disabled){background:#fff;color:var(--ui-ink);box-shadow:var(--ui-shadow);transform:translateY(-1px)}
html body :is(.soft-button,.proposal-button,.page-side-controls button,.scene-reset):active:not(:disabled){box-shadow:var(--ui-shadow-inset);transform:none}
html body :is(.soft-button,.proposal-button,.page-side-controls button,.scene-reset):disabled{opacity:.32;box-shadow:none;transform:none}
html body :is(.soft-button,.proposal-button,.page-side-controls button,.scene-reset) svg{width:18px;height:18px;stroke-width:1.5}
html body :is(button,a):focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}
html body :is(.reader-header,.proposal-header){min-height:82px;padding:16px var(--ui-edge);gap:20px}
html body :is(.reader-footer,.proposal-footer){height:82px;min-height:82px;padding:16px var(--ui-edge)}
html body :is(.return-button,.proposal-return){font-size:13px;color:var(--ui-muted);gap:16px}
html body :is(.reader-title,.proposal-header h1){font-size:15px;font-weight:400;line-height:1.6;letter-spacing:.03em}
html body :is(.detail-heading,.proposal-detail-head){color:var(--ui-muted);font-size:12px;height:38px;margin:0 0 12px;flex-shrink:0}
html body :is(.detail-viewport,.proposal-detail-image){background:#edf0f4;border:4px solid var(--ui-surface);border-radius:3px;box-shadow:0 8px 22px #34465f12}
html body :is(.detail-instruction,.proposal-detail p,.reader-touch-tools,.reader-touch-tools button,.reader-footer,.proposal-footer,.profile-intro,.contact-item){color:var(--ui-muted)}
html body :is(.zoom-controls,.proposal-detail-head>div,.page-controls>span,.proposal-pagination){font-family:var(--ui-mono);font-size:12px;font-variant-numeric:tabular-nums}
html body :is(.plain-icon,.proposal-detail-head button){min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}
html body :is(.proposal-status,.proposal-reader.touch-reader .proposal-header,.proposal-reader.touch-reader .proposal-footer){background:var(--ui-bg)}
html body :is(.thumbnail-tray,.proposal-directory){border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:0 10px 30px #34465f18}
html body .live-dot{background:var(--ui-accent)}
html body .lens-cursor{color:var(--ui-accent);border-color:var(--ui-accent);background:#40566d0a}
html body .lens-cursor:after{background:var(--ui-accent)}
html body .works-page{padding:30px var(--ui-edge) 70px}
html body :is(.works-heading h1,.cv-page h1){font-size:clamp(32px,4vw,48px);font-weight:400;letter-spacing:.02em;line-height:1.3}
html body :is(.works-nav,.scene-work-link,.cv-page .back-room,.pdf-page .back-room){font-size:13px;color:var(--ui-muted)}
html body :is(.works-nav a,.cv-page .back-room,.pdf-page .back-room){display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
html body :is(.full-pdf,.personal-actions>a,.cv-page .actions a:first-child,.pdf-page nav>a,.pdf-page nav>button){display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:12px 18px;border:1px solid #ffffffb3;border-radius:var(--ui-radius);font:13px/1.5 var(--ui-font);text-decoration:none;background:var(--ui-surface);color:var(--ui-accent);box-shadow:var(--ui-shadow)}
html body :is(.full-pdf,.personal-actions>a,.cv-page .actions a:first-child,.pdf-page nav>a,.pdf-page nav>button){white-space:nowrap;flex-shrink:0}
html body :is(.full-pdf,.personal-actions>a,.cv-page .actions a:first-child,.pdf-page nav>a,.pdf-page nav>button) svg{width:18px;height:18px;flex:0 0 18px;stroke-width:1.5}
html body :is(.full-pdf,.personal-actions>a,.cv-page .actions a:first-child,.pdf-page nav>a,.pdf-page nav>button):active{box-shadow:var(--ui-shadow-inset)}
html body :is(.full-pdf,.personal-actions>a,.cv-page .actions a:first-child,.pdf-page nav>a,.pdf-page nav>button):hover{filter:brightness(1.04)}
html body :is(.works-heading,.personal-chapters,.personal-chapters>a,.contact-item,.cv-page .top,.cv-page .chapter){border-color:var(--ui-line)}
html body.cv-page :is(.number,.identity){color:var(--ui-accent)}
html body.cv-page .number{border-radius:var(--ui-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow)}
html body.cv-page :is(.alias,.eyebrow,.contact,.practice,.date,nav a){color:var(--ui-muted)}
html body.cv-page :is(.alias,.eyebrow,.top){font-family:var(--ui-mono)}
html body.cv-page :is(h2,.role){color:var(--ui-ink)}
html body.cv-page :is(h3,a){color:var(--ui-accent)}
html body.cv-page .back-room svg,html body.pdf-page svg{width:18px;height:18px;stroke-width:1.5;flex-shrink:0}
html body.pdf-page p{font-size:14px;color:var(--ui-muted)}
html body.pdf-page progress{accent-color:var(--ui-accent)}
html body.pdf-page nav{flex-wrap:wrap}
@media(max-width:860px){:root{--ui-edge:20px}html body :is(.reader-header,.proposal-header){height:70px;min-height:70px;padding:12px var(--ui-edge)}html body :is(.reader-footer,.proposal-footer){padding:12px var(--ui-edge)}html body .proposal-reader{grid-template-rows:70px minmax(0,1fr) 82px}}
@media(prefers-reduced-motion:reduce){html body :is(.soft-button,.proposal-button,.page-side-controls button,.scene-reset){transition:none}}
@media print{html body.cv-page{background:#fff}html body.cv-page .number{box-shadow:none}}
