:root{color-scheme:dark;--bg-top:#0f1119;--bg-mid:#151923;--bg-bottom:#090a0f;--panel:rgba(18,23,35,0.82);--panel-border:rgba(255,255,255,0.14);--text-main:#eff2f8;--text-sub:#a6b0c4;--accent:#5ad7ff;--accent-strong:#8be6ff;--highlight:#ffe46d}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:Avenir Next,Hiragino Kaku Gothic ProN,Yu Gothic,Segoe UI,sans-serif;color:var(--text-main);background:radial-gradient(1100px 500px at 20% 5%,#24324f 0,transparent 65%),linear-gradient(160deg,var(--bg-top) 0,var(--bg-mid) 45%,var(--bg-bottom) 100%)}.page-shell{min-height:100vh;padding:1rem}.viewer-shell{position:relative;height:calc(100vh - 2rem);border-radius:18px;border:1px solid var(--panel-border);overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.36)}.viewer-canvas{width:100%;height:100%;background:#000}.topbar{position:absolute;top:.9rem;left:.9rem;right:.9rem;display:flex;justify-content:flex-end;gap:.8rem;pointer-events:none;z-index:20}.search-block,.status-block,.toolbar{pointer-events:auto}.search-block{width:2.6rem;position:relative;transition:width .22s ease}.search-block.is-open{width:min(620px,86vw)}.search-shell{border:1px solid var(--panel-border);border-radius:999px;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;gap:.2rem;padding:.14rem;overflow:hidden}.search-toggle{width:2.3rem;height:2.3rem;border:0;border-radius:999px;background:rgba(255,255,255,.03);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .14s ease,color .14s ease}.search-toggle:hover{background:rgba(90,215,255,.14);color:var(--accent-strong)}.search-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-toggle svg{width:1.2rem;height:1.2rem;fill:currentColor}.search-input{width:100%;border:0;border-radius:999px;background:transparent;color:var(--text-main);padding:.55rem .85rem .55rem .28rem;outline:none;opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .18s ease,transform .22s ease}.search-block.is-open .search-input{opacity:1;transform:translateX(0);pointer-events:auto}.search-input:focus{box-shadow:none}.suggestions{margin-top:.5rem;border-radius:12px;border:1px solid var(--panel-border);background:rgba(12,16,25,.94);max-height:min(320px,46vh);overflow-y:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.suggestion-item{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:var(--text-main);text-align:left;padding:.6rem .7rem;display:flex;justify-content:space-between;gap:.7rem;cursor:pointer}.suggestion-item.is-active,.suggestion-item:hover{background:rgba(90,215,255,.14)}.suggestion-copy{display:grid;grid-gap:.18rem;gap:.18rem}.suggestion-title{line-height:1.25}.suggestion-context{color:var(--text-sub);font-size:.78rem;line-height:1.2}.suggestion-meta{color:var(--text-sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:0 0 auto}.suggestion-empty{margin:0;padding:.8rem;color:var(--text-sub)}.status-block{border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.45rem .7rem;display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem}.divider{width:1px;height:.9rem;background:rgba(255,255,255,.2)}.toolbar{position:absolute;left:.9rem;right:.9rem;bottom:.9rem;border-radius:12px;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;gap:.6rem;padding:.55rem;z-index:20}.toolbar,.toolbar button{border:1px solid var(--panel-border)}.toolbar button{background:rgba(255,255,255,.02);color:var(--text-main);border-radius:8px;padding:.45rem .8rem;font-size:.82rem;cursor:pointer}.toolbar button:disabled{opacity:.4;cursor:not-allowed}.active-caption{margin:0;font-size:.82rem;color:#dce8ff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.active-caption.muted{color:var(--text-sub)}.error-banner{margin-top:.8rem;padding:.6rem .8rem;border-radius:8px;border:1px solid rgba(255,129,129,.3);background:rgba(255,78,78,.13);color:#ffacac}.highlight-overlay{border:2px solid var(--highlight);box-shadow:0 0 0 4px rgba(255,228,109,.28),inset 0 0 0 1px rgba(255,255,255,.72);background:rgba(255,228,109,.2);border-radius:3px;animation:focus-highlight .24s ease-out}@keyframes focus-highlight{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.hint-card{position:absolute;left:1rem;bottom:1rem;max-width:min(540px,calc(100% - 2rem));border:1px solid var(--panel-border);border-radius:12px;background:rgba(10,14,23,.9);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:.7rem .85rem;display:flex;align-items:center;gap:.8rem;z-index:20;animation:hint-in .22s ease-out}.hint-card p{margin:0;color:#dce8ff;font-size:.8rem;line-height:1.35}.hint-card kbd{border:1px solid rgba(255,255,255,.24);border-radius:6px;background:rgba(255,255,255,.06);padding:.04rem .35rem;font-family:inherit;font-size:.78rem}.hint-card button{border:1px solid var(--panel-border);border-radius:8px;background:rgba(255,255,255,.04);color:var(--text-main);padding:.32rem .62rem;white-space:nowrap;cursor:pointer}@keyframes hint-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.page-shell{padding:.55rem}.viewer-shell{height:calc(100vh - 1.1rem);border-radius:14px}.topbar{justify-content:flex-end}.search-block{width:2.6rem}.search-block.is-open{width:min(94vw,680px)}.toolbar{gap:.45rem;flex-wrap:wrap}.active-caption{flex:1 1 100%}.hint-card{left:.55rem;right:.55rem;max-width:none;bottom:.55rem;align-items:flex-start;flex-direction:column;gap:.55rem}}