:root{--bg:#04060a;--panel:#0b1018a8;--panel-solid:#090d14eb;--hairline:#ffffff13;--hairline-soft:#ffffff0b;--ink:#eaf1f8;--ink-2:#eaf1f8b8;--ink-3:#eaf1f870;--ink-4:#eaf1f842;--accent:#4fdfd2;--accent-warm:#ff8a6b;--radius:13px;--radius-sm:9px;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.26s;--shadow:0 18px 48px -18px #000000e6, 0 2px 10px -4px #000000b3;--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none}#app{position:fixed;inset:0}.stage-canvas{touch-action:none;width:100%;height:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}::-webkit-scrollbar-track{background:0 0}.ui{pointer-events:none;z-index:10;position:fixed;inset:0}.ui>*{pointer-events:auto}.panel{background:var(--panel);-webkit-backdrop-filter:blur(26px)saturate(150%);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow)}.label{letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);font-size:9.5px;font-weight:600}.brand{transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;gap:11px;display:flex;position:absolute;top:22px;left:22px}.brand-mark{opacity:.95;flex:none;width:26px;height:26px}.brand-text{line-height:1}.brand-title{letter-spacing:.26em;text-transform:uppercase;color:var(--ink);margin-bottom:5px;font-size:14px;font-weight:620}.brand-sub{letter-spacing:.08em;color:var(--ink-4);font-size:10px}.layers{width:216px;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;gap:1px;padding:9px;display:flex;position:absolute;top:124px;left:22px}.layers-head{justify-content:space-between;align-items:center;padding:5px 7px 8px;display:flex}.layers-head .label{color:var(--ink-3)}.mini-btn{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);transition:all .16s var(--ease);border-radius:6px;padding:3px 7px;font-size:9.5px}.mini-btn:hover{color:var(--ink);background:#ffffff12}.layer{border-radius:var(--radius-sm);transition:background .16s var(--ease);text-align:left;align-items:center;gap:10px;width:100%;padding:8px;display:flex;position:relative}.layer:hover{background:#ffffff0b}.layer-dot{background:var(--dot);opacity:.22;width:7px;height:7px;transition:opacity .2s var(--ease), box-shadow .2s var(--ease);border-radius:50%;flex:none}.layer.on .layer-dot{opacity:1;box-shadow:0 0 9px var(--dot)}.layer-name{letter-spacing:.005em;color:var(--ink-3);transition:color .2s var(--ease);flex:1;font-size:12.5px;font-weight:500}.layer.on .layer-name{color:var(--ink)}.layer-count{font-family:var(--mono);color:var(--ink-4);font-variant-numeric:tabular-nums;font-size:9.5px}.layer-solo{opacity:0;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);border:1px solid var(--hairline-soft);transition:opacity .16s var(--ease), color .16s;border-radius:5px;padding:2px 5px;font-size:8.5px}.layer:hover .layer-solo{opacity:1}.layer-solo:hover{color:var(--accent);border-color:#4fdfd266}.layer-solo.active{opacity:1;color:var(--accent);border-color:#4fdfd280}.viewtools{transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;gap:6px;padding:6px;display:flex;position:absolute;top:22px;right:22px}.vt{letter-spacing:.07em;min-width:30px;height:28px;color:var(--ink-3);transition:all .16s var(--ease);border-radius:7px;place-items:center;padding:0 9px;font-size:10.5px;font-weight:550;display:grid}.vt:hover{color:var(--ink);background:#ffffff14}.vt.active{color:var(--accent);background:#4fdfd224}.vt-sep{background:var(--hairline);width:1px;height:16px;margin:0 2px}.search{width:216px;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);position:absolute;top:74px;left:22px}.search-in{width:100%;height:34px;color:var(--ink);letter-spacing:.01em;background:0 0;border:0;border-radius:10px;outline:none;padding:0 14px 0 34px;font-size:12.5px}.search-in::placeholder{color:var(--ink-4)}.search-icon{opacity:.35;pointer-events:none;position:absolute;top:10px;left:13px}.search-results{max-height:320px;padding:6px;display:none;position:absolute;top:40px;left:0;right:0;overflow-y:auto}.search-results.show{display:block}.sr{text-align:left;width:100%;transition:background .14s var(--ease);border-radius:8px;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.sr:hover,.sr.sel{background:#ffffff12}.sr-name{color:var(--ink);font-size:12.5px}.sr-sys{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-left:auto;font-size:9.5px}.info{opacity:0;pointer-events:none;width:322px;max-height:calc(100vh - 44px);transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;display:flex;position:absolute;top:22px;right:22px;overflow:hidden;transform:translate(18px)scale(.985)}.info.show{opacity:1;pointer-events:auto;transform:none}.info-top{border-bottom:1px solid var(--hairline-soft);padding:18px 18px 14px;position:relative}.info-sys{letter-spacing:.14em;text-transform:uppercase;color:var(--sys,var(--accent));align-items:center;gap:6px;margin-bottom:10px;font-size:9px;font-weight:600;display:inline-flex}.info-sys:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.info-name{letter-spacing:-.015em;margin:0 0 5px;font-size:21px;font-weight:600;line-height:1.15}.info-latin{color:var(--ink-3);letter-spacing:.01em;font-size:12px;font-style:italic}.info-close{width:24px;height:24px;color:var(--ink-4);transition:all .15s var(--ease);border-radius:6px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.info-close:hover{color:var(--ink);background:#ffffff14}.info-body{padding:16px 18px;overflow-y:auto}.info-summary{color:var(--ink-2);margin:0 0 16px;font-size:13px;line-height:1.62}.facts{flex-direction:column;gap:0;display:flex}.fact{border-top:1px solid var(--hairline-soft);justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;display:flex}.fact-k{letter-spacing:.05em;color:var(--ink-4);text-transform:uppercase;flex:none;font-size:10.5px}.fact-v{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.info-actions{border-top:1px solid var(--hairline-soft);gap:6px;padding:12px 14px;display:flex}.act{border:1px solid var(--hairline);letter-spacing:.04em;height:32px;color:var(--ink-2);transition:all .16s var(--ease);border-radius:8px;flex:1;place-items:center;font-size:11px;font-weight:520;display:grid}.act:hover{color:var(--ink);background:#ffffff14;border-color:#ffffff29}.act.on{color:var(--accent);background:#4fdfd226;border-color:#4fdfd259}.dock{width:216px;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;gap:5px;padding:9px;display:flex;position:absolute;bottom:58px;left:22px}.dock-label{padding:5px 7px 8px}.jcard{border-radius:var(--radius-sm);text-align:left;border:1px solid var(--hairline-soft);width:100%;transition:all .2s var(--ease);background:#ffffff04;padding:9px 11px 10px;position:relative;overflow:hidden}.jcard:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(130% 120% at 12% 120%, var(--glow) 0%, transparent 66%);transition:opacity .26s var(--ease);position:absolute;inset:0}.jcard:hover{background:#ffffff0d;border-color:#ffffff2b}.jcard:hover:after{opacity:.6}.jcard-num{font-family:var(--mono);color:var(--ink-4);letter-spacing:.1em;justify-content:space-between;margin-bottom:5px;font-size:8.5px;display:flex;position:relative}.jcard-title{letter-spacing:-.005em;margin-bottom:3px;font-size:12.5px;font-weight:560;position:relative}.jcard-sub{color:var(--ink-3);font-size:10px;line-height:1.42;position:relative}.bars{pointer-events:none;z-index:12;position:fixed;inset:0}.bar{height:9vh;transition:transform .7s var(--ease);background:#000;position:absolute;left:0;right:0;transform:scaleY(0)}.bar.top{transform-origin:top;top:0}.bar.bot{transform-origin:bottom;bottom:0}body.cinema .bar{transform:scaleY(1)}body.cinema .brand,body.cinema .layers,body.cinema .viewtools,body.cinema .dock,body.cinema .search,body.cinema .info{opacity:0;pointer-events:none}body.cinema .brand,body.cinema .layers{transform:translate(-14px)}body.cinema .viewtools{transform:translate(14px)}body.cinema .dock{transform:translate(-14px)}.cine{z-index:13;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);position:fixed;inset:0}body.cinema .cine{opacity:1}.cine>*{pointer-events:auto}.caption{text-align:center;pointer-events:none;width:min(660px,78vw);position:absolute;bottom:calc(9vh + 40px);left:50%;transform:translate(-50%)}.caption-chapter{letter-spacing:.24em;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity .42s var(--ease), transform .42s var(--ease);margin-bottom:9px;font-size:9.5px;font-weight:600;transform:translateY(6px)}.caption-text{letter-spacing:-.004em;color:#fffffff0;text-shadow:0 2px 22px #000000e6;opacity:0;transition:opacity .46s var(--ease), transform .46s var(--ease);font-size:16.5px;font-weight:380;line-height:1.5;transform:translateY(9px)}.caption.show .caption-chapter,.caption.show .caption-text{opacity:1;transform:none}.caption-text b{color:#fff;font-weight:620}.caption-text em{color:var(--accent);font-style:normal}.cine-bottom{align-items:center;gap:16px;height:9vh;padding:0 26px;display:flex;position:absolute;bottom:0;left:0;right:0}.cine-title{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);flex:none;font-size:11px}.scrub{cursor:pointer;flex:1;align-items:center;height:22px;display:flex}.scrub-track{background:#ffffff21;border-radius:2px;width:100%;height:2px;position:relative}.scrub-fill{background:var(--accent);border-radius:2px;width:0%;position:absolute;inset:0 auto 0 0}.scrub-knob{opacity:0;width:9px;height:9px;transition:opacity .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:50%;left:0%;transform:translate(-50%,-50%);box-shadow:0 0 10px #4fdfd2cc}.scrub:hover .scrub-knob{opacity:1}.chapters{pointer-events:none;position:absolute;inset:0}.chapter-tick{background:#ffffff4d;width:1px;height:8px;position:absolute;top:-3px}.cine-time{font-family:var(--mono);color:var(--ink-4);font-variant-numeric:tabular-nums;flex:none;font-size:10px}.cine-btn{border:1px solid var(--hairline);letter-spacing:.09em;text-transform:uppercase;height:28px;color:var(--ink-2);transition:all .16s var(--ease);border-radius:7px;flex:none;place-items:center;padding:0 12px;font-size:10.5px;display:grid}.cine-btn:hover{color:var(--ink);background:#ffffff17}.tag{z-index:14;pointer-events:none;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.01em;white-space:nowrap;opacity:0;transition:opacity .13s var(--ease), transform .13s var(--ease);background:#060a10db;border-radius:7px;padding:5px 9px;font-size:11.5px;position:fixed;transform:translateY(3px);box-shadow:0 8px 24px -10px #000000e6}.tag.show{opacity:1;transform:none}.tag-sys{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-left:7px;font-size:9px}.stats{font-family:var(--mono);color:var(--ink-4);opacity:0;transition:opacity var(--dur) var(--ease);font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 11px;font-size:9.5px;line-height:1.7;position:absolute;bottom:22px;right:22px}.stats.show{opacity:1}.stats b{color:var(--ink-2);font-weight:500}.hint{color:var(--ink-4);transition:opacity var(--dur) var(--ease);gap:16px;font-size:10.5px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}body.cinema .hint,body.cinema .stats{opacity:0}.hint kbd{font-family:var(--mono);border:1px solid var(--hairline);color:var(--ink-3);background:#ffffff0a;border-radius:4px;margin-right:5px;padding:2px 5px;font-size:9px}.loader{z-index:40;background:var(--bg);transition:opacity .7s var(--ease);place-items:center;display:grid;position:fixed;inset:0}.loader.done{opacity:0;pointer-events:none}.loader-in{text-align:center;width:260px}.loader-mark{opacity:.9;width:40px;height:40px;margin:0 auto 22px}.loader-title{letter-spacing:.3em;text-transform:uppercase;margin-bottom:26px;font-size:13px;font-weight:620}.loader-track{background:#ffffff17;border-radius:2px;height:1.5px;overflow:hidden}.loader-fill{background:var(--accent);width:0%;height:100%;transition:width .32s var(--ease)}.loader-msg{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);min-height:13px;margin-top:13px;font-size:10px}@keyframes spinmark{to{transform:rotate(360deg)}}.loader-mark .rot{transform-origin:50%;animation:3.4s linear infinite spinmark}.toast{color:var(--ink-2);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .24s var(--ease), transform .24s var(--ease);background:#080c13e6;border-radius:9px;padding:8px 14px;font-size:11.5px;position:absolute;bottom:62px;left:50%;transform:translate(-50%,8px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:900px){.layers,.search,.dock{width:190px}.info{width:288px}}@media (max-height:780px){.dock-label,.jcard-sub{display:none}.dock{gap:4px;bottom:48px}}@media (max-width:680px){.search{display:none}.layers{width:158px;top:76px;left:12px}.dock{width:158px;bottom:14px;left:12px}.brand-sub{display:none}.info{width:auto;max-height:46vh;inset:auto 12px 96px}.dock{bottom:12px}.jcard{width:118px;padding:9px 10px}.jcard-sub,.hint{display:none}}.marker{z-index:9;pointer-events:none;opacity:0;width:34px;height:34px;transition:opacity .22s var(--ease);margin:-17px 0 0 -17px;position:fixed}.marker.show{opacity:1}.marker svg{width:100%;height:100%;overflow:visible}.marker .ring{animation:markerPulse 2.6s var(--ease) infinite;transform-origin:17px 17px}@keyframes markerPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.45;transform:scale(1.16)}}body.cinema .marker{opacity:0!important}
