@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2) format("woff2"),url(./ibm-plex-sans-arabic-arabic-400-normal-EA1o-u_Q.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-arabic-cyrillic-ext-400-normal-KAuemXZb.woff2) format("woff2"),url(./ibm-plex-sans-arabic-cyrillic-ext-400-normal-BnfWueTs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-arabic-latin-ext-400-normal-BpLfq-63.woff2) format("woff2"),url(./ibm-plex-sans-arabic-latin-ext-400-normal-BeVLg08x.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-arabic-latin-400-normal-Bo5KPYvw.woff2) format("woff2"),url(./ibm-plex-sans-arabic-latin-400-normal-CFZh1unN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-arabic-arabic-500-normal-C4MQITzh.woff2) format("woff2"),url(./ibm-plex-sans-arabic-arabic-500-normal-DPXcppbm.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-arabic-cyrillic-ext-500-normal-OtpNIXEE.woff2) format("woff2"),url(./ibm-plex-sans-arabic-cyrillic-ext-500-normal-B_79k98k.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-arabic-latin-ext-500-normal-Ck_W4G78.woff2) format("woff2"),url(./ibm-plex-sans-arabic-latin-ext-500-normal-eJxPnL1P.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-arabic-latin-500-normal-Cd6jVIg7.woff2) format("woff2"),url(./ibm-plex-sans-arabic-latin-500-normal-BletK1Hp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-arabic-arabic-700-normal-DrtBj6UE.woff2) format("woff2"),url(./ibm-plex-sans-arabic-arabic-700-normal-9rXc6cUL.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-arabic-cyrillic-ext-700-normal-DkasDNaI.woff2) format("woff2"),url(./ibm-plex-sans-arabic-cyrillic-ext-700-normal-Dhy2Zk9g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-arabic-latin-ext-700-normal-BSbyEp0V.woff2) format("woff2"),url(./ibm-plex-sans-arabic-latin-ext-700-normal-C7GcWn11.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-arabic-latin-700-normal-BzSf6GNr.woff2) format("woff2"),url(./ibm-plex-sans-arabic-latin-700-normal-Cl4F7CZR.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #04050d;--ink: #eef0ff;--ink-2: #c5c9e8;--muted: #9097bd;--panel: rgba(10, 13, 30, .86);--panel-solid: #0b0e22;--panel-2: rgba(22, 26, 56, .72);--line: rgba(167, 139, 250, .22);--line-2: rgba(255, 255, 255, .08);--violet: #8b5cf6;--magenta: #e040fb;--teal: #2dd4bf;--amber: #f5b942;--rose: #fb7185;--ok: #34d399;--font: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;--r: 16px;color-scheme:dark}*{box-sizing:border-box}html{font-size:clamp(14px,.94vw,19px)}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--ink);font-family:var(--font)}body{overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit;color:inherit}bdi{unicode-bidi:isolate}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:8px}.app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.stage{position:absolute;top:0;right:0;bottom:0;left:0}.stage canvas{display:block}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(2,2,10,.75) 100%)}.btn{display:inline-flex;align-items:center;gap:.45em;padding:.55em 1.05em;border-radius:999px;border:1px solid var(--line);background:#8b5cf624;color:var(--ink);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s,transform .15s,border-color .2s,box-shadow .2s}.btn:hover:not(:disabled){background:#8b5cf64d;border-color:#c4b5fd99;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#f5b942e6,#e040fbbf);border-color:transparent;color:#12081f;font-weight:700}.btn-primary:hover:not(:disabled){box-shadow:0 0 24px #f5b94273;background:linear-gradient(135deg,#f5b942,#e040fb)}.btn-ghost{background:transparent}.btn-small{padding:.35em .8em;font-size:.85rem}.btn-copy.is-ok{background:#34d39940;border-color:var(--ok)}.btn-copy.is-fail{background:#fb718540;border-color:var(--rose)}.panel-close{width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--line);background:#ffffff0d;cursor:pointer;font-size:1.05rem;flex:none}.panel-close:hover{background:#fb718540}.pill{display:inline-block;padding:.3em .85em;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);font-size:.9rem}.hud{position:absolute;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.6rem;background:linear-gradient(180deg,#04050dd9,#04050d00);pointer-events:none}.hud>*{pointer-events:auto}.crumbs{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1 1 auto;flex-wrap:nowrap;overflow:hidden}.crumbs .crumb-page{max-width:24vw;flex:0 1 auto}.hud-actions{flex:0 0 auto}.crumb{border:1px solid transparent;background:transparent;padding:.4em .8em;border-radius:999px;cursor:pointer;font-size:.95rem;color:var(--ink-2);max-width:34vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.crumb:hover{background:#ffffff12;border-color:var(--line)}.crumb.is-current{color:var(--ink);font-weight:700;border-color:color-mix(in srgb,var(--c, #a78bfa) 60%,transparent);background:color-mix(in srgb,var(--c, #a78bfa) 14%,transparent)}.crumb-page{cursor:default}.crumb-sep{color:var(--muted)}.hud-actions{display:flex;gap:.4rem;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.hud-btn{border:1px solid var(--line-2);background:#0e1128b3;padding:.45em .85em;border-radius:10px;cursor:pointer;font-size:.86rem;color:var(--ink-2);transition:all .2s;white-space:nowrap}.hud-btn:hover:not(:disabled){color:var(--ink);border-color:var(--line);background:#8b5cf638}.hud-btn:disabled{opacity:.35;cursor:not-allowed}.hud-toggle.is-on{border-color:#f5b94299;color:var(--amber)}.hud-sep{width:1px;height:1.6rem;background:var(--line);margin:0 .2rem}.label-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;overflow:hidden}.hub-label,.moon-label{position:absolute;top:0;left:0;pointer-events:auto;cursor:pointer;border:0;background:none;text-align:center;transition:opacity .5s,filter .3s;will-change:transform}.hub-label{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .6rem}.hub-label-row{display:flex;align-items:center;gap:.35rem}.hub-label-n{font-size:.8rem;letter-spacing:.04em;color:var(--c, #ccc);font-weight:700;text-transform:uppercase}.hub-label-t{font-size:1.12rem;font-weight:700;color:#fff;text-shadow:0 0 18px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.9);white-space:nowrap}.hub-label-preview{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;pointer-events:none;transition:grid-template-rows .35s,opacity .3s,visibility .3s;max-width:19rem}.hub-label:not(.is-hover):not(:focus-visible) .hub-label-q{padding:0;margin:0;border-width:0}.hub-label-preview>*{overflow:hidden}.hub-label.is-hover .hub-label-preview,.hub-label:focus-visible .hub-label-preview{grid-template-rows:1fr;opacity:1;visibility:visible}.hub-label.is-hover{z-index:2000!important}.hub-label-q{display:block;margin-top:.35rem;padding:.55rem .8rem;border-radius:12px;background:#080a1ae0;border:1px solid color-mix(in srgb,var(--c) 50%,transparent);font-size:.92rem;line-height:1.6;color:var(--ink);box-shadow:0 0 24px color-mix(in srgb,var(--c) 30%,transparent);white-space:normal}.hub-label-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:.25rem}.hub-label.is-hover .hub-label-t{color:var(--c)}.is-hidden{opacity:0!important;pointer-events:none!important}.moon-label{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.25rem .45rem;border-radius:10px;max-width:11rem}.moon-label:not(.is-hover) .moon-label-t{-webkit-line-clamp:1;font-size:.8rem}.moon-label-p{font-size:.8rem;font-weight:700;color:var(--amber);text-shadow:0 0 8px #000}.moon-visited{color:var(--ok)}.moon-label-t{font-size:.84rem;color:var(--ink);line-height:1.35;text-shadow:0 0 10px #000,0 0 4px #000;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.moon-label-tag{font-size:.8rem;padding:.05em .6em;border-radius:999px;background:#f5b94233;color:var(--amber);border:1px solid rgba(245,185,66,.45)}.moon-label.is-hover{background:#080a1aeb;box-shadow:0 0 0 1px var(--line),0 8px 30px #0009;z-index:2;max-width:18rem}.moon-label.is-hover .moon-label-t{-webkit-line-clamp:unset}.moon-label.is-built .moon-label-t{color:#fff;font-weight:500}.title-block{position:absolute;right:3vw;bottom:5vh;z-index:20;max-width:40vw;transition:opacity .6s,transform .6s}.title-block.is-hidden{transform:translateY(20px)}.title-eyebrow{margin:0;color:var(--teal);font-size:1rem;font-weight:500}.title-main{display:block;border:0;background:none;padding:0;margin:.2rem 0;cursor:pointer;text-align:right;font-size:clamp(2rem,3.6vw,4.6rem);font-weight:700;line-height:1.02;letter-spacing:-.01em;background-image:linear-gradient(100deg,#fff 20%,#e9d5ff 55%,#f0abfc 80%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(167,139,250,.35))}.title-main:hover{filter:drop-shadow(0 0 40px rgba(240,171,252,.6))}.title-lecturer{margin:.2rem 0 .8rem;font-size:1.25rem;font-weight:700}.title-stages{list-style:none;padding:0;margin:0 0 .8rem;display:flex;flex-wrap:wrap;gap:.4rem}.title-stages li{font-size:.86rem;padding:.25em .8em;border-radius:999px;border:1px solid var(--line);background:#0a0c1e99;color:var(--ink-2)}.title-hint{margin:0;color:var(--muted);font-size:.86rem}.chapter-overlay{position:absolute;z-index:20;top:4.8rem;right:2vw;width:min(33vw,640px);max-height:calc(100vh - 6.3rem);overflow-y:auto;padding:1.4rem 1.5rem;border-radius:22px;background:linear-gradient(160deg,#0a0d20e6,#0a0d20b8);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);box-shadow:0 0 60px color-mix(in srgb,var(--c) 14%,transparent),inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn .9s .5s both cubic-bezier(.2,.8,.2,1);transition:opacity .4s,transform .5s;scrollbar-width:thin}.chapter-overlay.is-hidden{transform:translate(30px)}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.world-switch{display:flex;gap:.3rem;margin-bottom:1rem;flex-wrap:wrap}.world-switch-btn{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--line-2);background:#ffffff08;border-radius:10px;padding:.25rem .5rem;cursor:pointer;font-weight:700;font-size:.85rem;color:var(--muted);transition:all .2s}.world-switch-btn:hover{border-color:var(--c);color:var(--ink)}.world-switch-btn.is-current{border-color:var(--c);color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent)}.chapter-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.chapter-badge{display:inline-block;padding:.3em .9em;border-radius:999px;background:var(--c);color:#071016;font-weight:700;font-size:.95rem}.chapter-title{margin:.6rem 0 .3rem;font-size:clamp(1.8rem,2.4vw,2.9rem);line-height:1.15}.chapter-q{margin:0 0 1rem;font-size:1.12rem;color:var(--amber);line-height:1.6}.chapter-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.2rem}.chip-btn{border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);padding:.4em .9em;border-radius:999px;cursor:pointer;font-size:.95rem;transition:all .2s}.chip-btn small{color:var(--muted)}.chip-btn:hover{background:color-mix(in srgb,var(--c) 28%,transparent);transform:translateY(-1px)}.stations-title{font-size:1rem;margin:0 0 .5rem;color:var(--ink-2);display:flex;justify-content:space-between}.stations-title small{color:var(--muted);font-weight:400}.stations{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}.stations li{display:flex;align-items:center;gap:.3rem}.stations li .issue-badges{max-width:9.5rem;flex:0 0 auto;justify-content:flex-end}.station{flex:1;display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:.5rem;text-align:right;border:1px solid var(--line-2);background:#ffffff06;border-radius:12px;padding:.5rem .7rem;cursor:pointer;transition:all .2s}.station:hover,.station.is-hover{border-color:color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent)}.station.is-built{border-color:#f5b94259}.station-p{color:var(--amber);font-weight:700;font-size:.85rem}.station-t{font-size:.95rem;line-height:1.4}.station-meta{display:flex;gap:.3rem;align-items:center}.tag-built{font-size:.8rem;padding:.1em .6em;border-radius:999px;background:#f5b9422e;color:var(--amber);border:1px solid rgba(245,185,66,.4);white-space:nowrap}.tag-src{font-size:.8rem;color:var(--muted);white-space:nowrap}.tag-visited{color:var(--ok);font-weight:700}.source-chip{display:inline-flex;align-items:center;gap:.3em;border:1px solid rgba(94,234,212,.35);background:#2dd4bf14;color:#99f6e4;padding:.2em .7em;border-radius:999px;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:all .2s;vertical-align:middle}.source-chip:hover{background:#2dd4bf40;color:#fff}.issue-badges{display:inline-flex;gap:.25rem;flex-wrap:wrap}.issue-badge{border:1px solid;border-radius:999px;padding:.12em .55em;font-size:.8rem;cursor:pointer;background:transparent;white-space:nowrap;font-family:ui-monospace,Consolas,monospace;direction:ltr}.sev-high{color:#fda4af;border-color:#fb718599}.sev-medium{color:#fcd34d;border-color:#fcd34d80}.sev-low{color:#a5b4fc;border-color:#a5b4fc73}.issue-badge:hover{background:#ffffff14}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#03040c99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;animation:fade .3s both}@keyframes fade{0%{opacity:0}to{opacity:1}}.issue-pop{width:min(560px,92vw);padding:1.4rem 1.6rem;border-radius:18px;background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 30px 80px #0009}.issue-pop-head{display:flex;justify-content:space-between;font-size:1rem}.issue-pop-title{font-size:1.2rem;font-weight:700;line-height:1.6}.issue-pop-status{color:var(--amber);font-size:.92rem}.issue-pop-note{color:var(--muted);font-size:.9rem}.intro-panel{position:relative;width:min(1250px,94vw);max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;padding:2.2rem;border-radius:26px;background:radial-gradient(ellipse at 80% 0%,rgba(139,92,246,.22),transparent 60%),var(--panel-solid);border:1px solid var(--line);box-shadow:0 40px 120px #000000b3;animation:rise .6s both cubic-bezier(.2,.8,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}.intro-panel .panel-close{position:absolute;top:1rem;left:1rem}.intro-src{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.intro-title{font-size:clamp(2.2rem,3.4vw,3.8rem);margin:.3rem 0;line-height:1.05;background:linear-gradient(100deg,#fff,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:right}.intro-steps{list-style:none;padding:0;margin:1rem 0;display:flex;flex-wrap:wrap;gap:.4rem}.intro-steps li{padding:.35em .9em;border-radius:999px;background:#2dd4bf1a;border:1px solid rgba(45,212,191,.35)}.intro-steps li+li:before{content:"· ";color:var(--muted)}.intro-audience{display:flex;gap:.4rem;flex-wrap:wrap}.intro-lecturer{font-size:1.4rem;font-weight:700;margin-top:1.2rem}.intro-h2{font-size:1.7rem;margin:.2rem 0 1rem}.intro-axes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.6rem}.intro-axis{width:100%;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .6rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent);cursor:pointer;transition:all .25s}.intro-axis:hover{transform:translateY(-3px);background:color-mix(in srgb,var(--c) 20%,transparent);box-shadow:0 10px 30px color-mix(in srgb,var(--c) 25%,transparent)}.intro-axis-n{color:var(--c);font-weight:700;font-size:.85rem}.intro-axis-t{font-size:1rem;font-weight:700;text-align:center;line-height:1.4}.intro-stages{margin-top:1rem;display:flex;gap:.4rem;flex-wrap:wrap}.pill-stage{color:var(--amber)}.index-panel{width:min(1500px,95vw);height:88vh;display:flex;flex-direction:column;border-radius:24px;background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 40px 120px #000000b3;overflow:hidden;animation:rise .45s both}.index-head{display:flex;align-items:center;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}.index-head h2{margin:0;font-size:1.3rem;white-space:nowrap}.index-search{flex:1;font:inherit;font-size:1.05rem;padding:.6rem 1rem;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;color:var(--ink)}.index-count{color:var(--muted);white-space:nowrap}.index-cols{flex:1;overflow:auto;padding:1rem 1.4rem 1.4rem;columns:3 22rem;column-gap:1.4rem}.index-group{break-inside:avoid;margin-bottom:1.2rem}.index-group h3{display:flex;align-items:center;gap:.4rem;font-size:1rem;color:var(--c);margin:0 0 .4rem}.index-group h3 small{color:var(--muted);font-weight:400}.index-group ol{list-style:none;padding:0;margin:0;display:grid;gap:.2rem}.index-row{display:flex;align-items:center;gap:.3rem}.index-go{flex:1;display:flex;align-items:center;gap:.5rem;text-align:right;border:1px solid transparent;background:transparent;padding:.35rem .5rem;border-radius:10px;cursor:pointer}.index-go:hover{background:#ffffff0d;border-color:var(--line-2)}.index-p{color:var(--amber);font-weight:700;font-size:.82rem;min-width:2.6rem}.index-t{flex:1;font-size:.92rem;line-height:1.4}.index-src{border:1px solid var(--line-2);background:transparent;border-radius:8px;cursor:pointer;color:#99f6e4;width:2rem;height:2rem}.source-drawer{position:fixed;z-index:70;top:0;bottom:0;left:0;width:min(50vw,920px);padding:1.2rem 1.4rem 2rem;overflow-y:auto;background:#070916f7;border-right:1px solid var(--line);box-shadow:30px 0 80px #0009;animation:drawerIn .45s both cubic-bezier(.2,.8,.2,1)}@keyframes drawerIn{0%{transform:translate(-60px);opacity:0}to{transform:none;opacity:1}}.drawer-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.drawer-kicker{margin:0;color:#99f6e4;font-size:.85rem}.drawer-head h2{margin:.2rem 0 .8rem;font-size:1.5rem}.drawer-head h2 small{color:var(--muted);font-size:.9rem;font-weight:400}.drawer-nav{display:flex;gap:.3rem;align-items:center}.drawer-img{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#000;cursor:zoom-in}.drawer-img img{display:block;width:100%;height:auto}.drawer-img.is-zoom{position:fixed;top:3vh;right:3vw;bottom:3vh;left:3vw;width:auto;z-index:90;cursor:zoom-out;display:grid;place-items:center;background:#000000eb}.drawer-img.is-zoom img{max-height:94vh;width:auto;max-width:94vw}.drawer-caption{color:var(--muted);font-size:.82rem;margin:.4rem 0 .8rem}.drawer-status{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}.status-pill{font-size:.8rem;padding:.2em .8em;border-radius:999px;border:1px solid var(--line);color:var(--ink-2)}.status-pill.transcribed-checked{border-color:#34d39980;color:#6ee7b7}.status-pill.needs-review{border-color:#fcd34d80;color:#fcd34d}.drawer-issues{list-style:none;padding:.7rem .9rem;margin:0 0 1rem;border-radius:12px;background:#ffffff08;border:1px solid var(--line-2);display:grid;gap:.35rem;font-size:.9rem}.drawer-h3{margin:.8rem 0 .4rem;font-size:1.05rem;color:var(--ink-2)}.app.source-open .scene-panel{left:calc(min(50vw,920px) + 1vw)}.transcript{font-size:.95rem;line-height:1.75}.tr-fields{margin:0;display:grid;gap:.35rem}.tr-field{display:grid;grid-template-columns:9rem 1fr;gap:.6rem;padding:.35rem 0;border-bottom:1px dashed rgba(255,255,255,.06)}.tr-fields .tr-fields .tr-field{grid-template-columns:7rem 1fr}.tr-field dt{color:var(--muted);font-size:.82rem}.tr-field dd{margin:0;min-width:0}.tr-key{font-family:ui-monospace,Consolas,monospace;font-size:.8rem;direction:ltr}.tr-field.is-note dd{color:#a5b4fc;font-size:.85rem}.tr-reviewer{font-size:.8rem;color:#a5b4fc}.tr-null{color:#fda4af;font-style:italic}.tr-list{margin:0;padding-inline-start:1.2rem}.tr-olist{margin:0;padding-inline-start:1.4rem;display:grid;gap:.3rem}.tr-olist>li{padding:.3rem .5rem;border-radius:8px;background:#ffffff05}.scene-panel{position:absolute;z-index:30;top:4.6rem;bottom:1.6vh;left:1.6vw;right:1.6vw;display:flex;flex-direction:column;border-radius:26px;background:linear-gradient(170deg,#0a0c1ef0,#080a18e6);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);box-shadow:0 0 0 1px #ffffff08,0 40px 120px #000000a6,0 0 80px color-mix(in srgb,var(--c) 12%,transparent);animation:sceneIn .9s .55s both cubic-bezier(.2,.8,.2,1);overflow:hidden;transition:left .4s}@keyframes sceneIn{0%{opacity:0;transform:scale(.94) translateY(30px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.reduced-motion .scene-panel,.reduced-motion .chapter-overlay{animation-duration:.2s;animation-delay:0s}.scene-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.1rem 1.6rem .9rem;border-bottom:1px solid var(--line-2);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c) 8%,transparent))}.scene-kicker{margin:0;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.9rem}.scene-axis{color:var(--c);font-weight:700}.scene-eyebrow{color:var(--muted)}.scene-title{margin:.3rem 0 0;font-size:clamp(1.5rem,2.3vw,2.6rem);line-height:1.2}.scene-head-side{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.scene-body{flex:1;overflow-y:auto;padding:1.2rem 1.6rem 1.6rem;scrollbar-width:thin}.scene-sub{margin:0 0 1rem;color:var(--ink-2);font-size:1.08rem}.verbatim{line-height:1.75}.preview-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-radius:14px;background:#8b5cf61a;border:1px dashed rgba(167,139,250,.45);margin-bottom:1rem}.preview-banner span{color:var(--ink-2)}.preview-details summary{cursor:pointer;font-weight:700;margin-bottom:.6rem}.reveal-card{border-radius:16px;border:1px solid color-mix(in srgb,var(--c, #a78bfa) 35%,transparent);background:color-mix(in srgb,var(--c, #a78bfa) 6%,rgba(10,12,30,.6));overflow:hidden;transition:box-shadow .3s}.reveal-card.is-open{box-shadow:0 0 30px color-mix(in srgb,var(--c, #a78bfa) 18%,transparent)}.reveal-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 1rem;background:transparent;border:0;cursor:pointer;font-size:1.02rem;font-weight:700;text-align:right}.reveal-head:hover{background:#ffffff0a}.reveal-head-in{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:wrap}.reveal-caret{width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--c, #a78bfa)}.reveal-body{padding:0 1rem 1rem;animation:fade .35s both}.num{color:var(--amber);font-size:1.15em}.fly-ghost{position:fixed;top:0;left:0;z-index:200;pointer-events:none;padding:.5em 1em;border-radius:999px;font-weight:700;color:#071016;background:var(--c);box-shadow:0 0 30px var(--c);white-space:nowrap}.p12-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}.p12-card{position:relative;display:flex;flex-direction:column;border-radius:18px;border:1px solid color-mix(in srgb,var(--c) 35%,transparent);background:linear-gradient(170deg,color-mix(in srgb,var(--c) 12%,rgba(12,14,34,.9)),#0c0e22e6);transition:transform .3s,box-shadow .3s,opacity .3s;cursor:grab}.p12-card.is-hover{transform:translateY(-4px);box-shadow:0 14px 40px color-mix(in srgb,var(--c) 28%,transparent)}.p12-card.is-drag{opacity:.45}.p12-card.is-placed{cursor:default;border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}.p12-card-face{flex:1;display:flex;flex-direction:column;gap:.3rem;padding:1rem 1rem .6rem;text-align:right;border:0;background:none;cursor:pointer}.p12-num{font-size:2.4rem;font-weight:700;color:var(--c);line-height:1}.p12-name{font-size:1.4rem;font-weight:700}.p12-q{color:var(--c);font-weight:500;font-size:.95rem}.p12-ex{margin-top:.4rem;padding:.7rem .8rem;border-radius:12px;min-height:5.4rem;font-size:.98rem;line-height:1.7;background:#ffffff0a;color:var(--muted);border:1px dashed rgba(255,255,255,.12);transition:all .35s}.p12-card.is-revealed .p12-ex{color:var(--ink);background:color-mix(in srgb,var(--c) 12%,transparent);border-style:solid;border-color:color-mix(in srgb,var(--c) 40%,transparent)}.p12-card.is-revealed .p12-ex.is-guard{background:#f8717124}.p12-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:0 1rem .9rem}.drag-hint{font-size:.8rem;color:var(--muted)}.p12-formula{margin:1.3rem 0 .4rem;padding:1rem 1.2rem;border-radius:18px;background:#0d1024;border:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;transition:box-shadow .6s,border-color .6s}.p12-formula.is-complete{border-color:#34d39999;box-shadow:0 0 50px #34d39933}.p12-term-wrap{display:inline-flex;align-items:center;gap:.5rem}.p12-op{font-size:1.6rem;font-weight:700;color:var(--amber)}.p12-slot{position:relative;min-width:7.2rem;padding:.55rem .9rem .55rem 1.8rem;border-radius:12px;border:2px dashed color-mix(in srgb,var(--c) 55%,transparent);color:var(--muted);font-weight:700;font-size:1.1rem;text-align:center;transition:all .3s}.p12-slot.is-target{border-style:solid;box-shadow:0 0 20px color-mix(in srgb,var(--c) 40%,transparent)}.p12-slot.is-filled{border-style:solid;border-color:var(--c);color:#061015;background:var(--c);box-shadow:0 0 26px color-mix(in srgb,var(--c) 50%,transparent);animation:pop .45s both}.p12-slot.is-reject{animation:shake .5s;border-color:var(--rose)}.p12-slot-num{position:absolute;top:-.65rem;right:.5rem;font-size:.8rem;background:#0d1024;padding:0 .3rem;color:var(--c);border-radius:4px}.p12-slot-x{position:absolute;left:.3rem;top:50%;transform:translateY(-50%);width:1.3rem;height:1.3rem;border-radius:50%;border:0;background:#0000004d;cursor:pointer;line-height:1;color:#061015;font-weight:700}@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.p12-eq{margin-inline-start:.4rem}.p12-result{padding:.55rem 1rem;border-radius:12px;font-weight:700;font-size:1.15rem;color:var(--muted);border:1px solid var(--line-2);transition:all .6s}.p12-result.is-on{color:#6ee7b7;border-color:#34d39999;background:#34d3991f;text-shadow:0 0 20px rgba(52,211,153,.6)}.p12-msg{min-height:1.6em;margin:.2rem .4rem 1rem;color:var(--muted);font-size:.95rem}.p12-msg.is-ok{color:#6ee7b7}.p12-msg.is-warn{color:#fda4af}.p12-bottom{display:grid;grid-template-columns:1.9fr 1fr;gap:1rem;align-items:start}.p12-composed{padding:1rem 1.2rem;border-radius:18px;background:#ffffff06;border:1px solid var(--line-2);transition:all .6s}.p12-composed.is-complete{border-color:#34d39973}.p12-composed header{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.p12-composed h3{margin:0;font-size:1.15rem}.p12-provenance{color:var(--muted);font-size:.82rem;flex:1}.p12-empty{color:var(--muted)}.p12-lines{list-style:none;padding:0;margin:.8rem 0;display:grid;gap:.4rem}.p12-lines li{display:grid;grid-template-columns:7rem 1fr;gap:.7rem;align-items:baseline;padding:.5rem .7rem;border-radius:10px;border-inline-start:4px solid var(--c, #fcd34d);background:#ffffff08;animation:fade .5s both}.p12-lines li.is-missing{opacity:.45}.p12-lines li.is-sixth{--c: #fcd34d}.p12-line-tag{color:var(--c, #fcd34d);font-weight:700;font-size:.88rem}.p12-line-text{font-size:1.02rem;line-height:1.7}.p12-composed-actions{display:flex;gap:.5rem;flex-wrap:wrap}.p12-extras{display:grid;gap:.7rem}.p12-toggle{display:flex;gap:.5rem;align-items:center;cursor:pointer;font-size:.92rem;color:var(--amber)}.p13-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.4rem;align-items:start}.p13-sub.is-flash{color:var(--amber);text-shadow:0 0 18px rgba(245,185,66,.6);transition:all .3s}.p13-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:.8rem}.p13-ring{width:min(100%,31rem);height:auto;overflow:visible}.p13-halo{fill:none;stroke:#f5b94214;stroke-width:26}.p13-arc{fill:none;stroke:#f5b94240;stroke-width:3;stroke-dasharray:6 8;transition:stroke .5s}.p13-arc.is-done{stroke:#f5b942d9;stroke-dasharray:none}.reduced-motion .p13-arc{animation:none}.p13-orb{fill:#fff;filter:drop-shadow(0 0 10px #f5b942) drop-shadow(0 0 18px #e040fb)}.p13-trail{fill:#f5b94266}.p13-center-k{fill:#ffffffe6;font-size:30px;font-weight:700;letter-spacing:.08em;font-family:var(--font)}.p13-center-n{fill:var(--amber);font-size:24px;font-weight:700;font-family:var(--font)}.p13-center-l{fill:var(--muted);font-size:15px;font-family:var(--font)}.p13-station{cursor:pointer}.p13-station circle{fill:#11142e;stroke:#f5b94266;stroke-width:2;transition:all .35s}.p13-station:hover circle{stroke:#f5b942;fill:#1a1d3e}.p13-station.is-visited circle{stroke:#f5b942cc}.p13-station.is-active circle{fill:#f5b942;stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 16px rgba(245,185,66,.8))}.p13-st-name{fill:#fff;font-size:21px;font-weight:700;font-family:var(--font)}.p13-st-n{fill:var(--amber);font-size:15px;font-weight:700;font-family:var(--font)}.p13-station.is-active .p13-st-name,.p13-station.is-active .p13-st-n{fill:#1a1000}.p13-station:focus{outline:none}.p13-station:focus-visible circle{stroke:#fff;stroke-width:4}.p13-step-card{width:100%;display:flex;gap:1rem;align-items:center;padding:.9rem 1.1rem;border-radius:16px;background:#f5b94214;border:1px solid rgba(245,185,66,.4);animation:rise .45s both}.p13-step-card h3{margin:0;font-size:1.3rem}.p13-step-card p{margin:.2rem 0 0;font-size:1.08rem}.p13-step-card>div{flex:1}.p13-step-n{width:3rem;height:3rem;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--amber);color:#1a1000;font-size:1.4rem;font-weight:700}.p13-controls{display:flex;gap:.8rem;align-items:center}.p13-hint{color:var(--muted);font-size:.85rem}.p13-side{display:grid;gap:1rem}.p13-example{padding:1rem 1.2rem;border-radius:18px;background:#ffffff06;border:1px solid var(--line-2)}.p13-example h3{margin:0 0 .6rem;font-size:1.15rem}.p13-versions{list-style:none;padding:0;margin:0 0 .8rem;display:grid;gap:.6rem}.p13-version{display:grid;gap:.3rem;padding:.75rem .9rem;border-radius:12px;background:#ffffff09;border-inline-start:4px solid var(--amber);animation:rise .5s both}.p13-v-label{font-weight:700;color:var(--amber)}.p13-v-ask{font-size:1.02rem;line-height:1.7}.p13-v-out{display:flex;gap:.5rem;color:#6ee7b7;font-weight:500}.p13-v-arrow{color:var(--amber)}.p13-v-link{justify-self:start;border:1px solid var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c);border-radius:999px;padding:.2em .8em;font-size:.82rem;cursor:pointer}.p13-v-link:hover{background:color-mix(in srgb,var(--c) 28%,transparent);color:#fff}.p13-caveat{margin:.9rem 0 0;font-size:.86rem;color:var(--muted)}.p13-why-line{font-size:1.1rem;margin:.3rem 0}.p13-cite{color:var(--ink-2);font-size:.88rem;direction:ltr;text-align:right}.p13-claim-note{color:#fcd34d;font-size:.8rem;margin:0}.p28-comps{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}.p28-comp{display:flex;flex-direction:column;gap:.2rem;align-items:center;padding:.9rem .6rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 7%,rgba(12,14,34,.9));cursor:pointer;transition:all .25s}.p28-comp:hover,.p28-comp.is-focus{transform:translateY(-3px);background:color-mix(in srgb,var(--c) 20%,rgba(12,14,34,.9));box-shadow:0 10px 30px color-mix(in srgb,var(--c) 25%,transparent)}.p28-n{font-size:1.6rem;font-weight:700;color:var(--c)}.p28-name{font-size:1.2rem;font-weight:700}.p28-ex{color:var(--ink-2);font-size:.95rem;text-align:center}.p28-stage{display:grid;grid-template-columns:1.8fr 1fr;gap:1rem;margin-top:1.2rem;align-items:start}.p28-good{padding:1.1rem 1.3rem;border-radius:18px;border:1px solid rgba(52,211,153,.45);background:#34d3990a}.p28-good header{display:flex;justify-content:space-between;align-items:center}.p28-good h3{margin:0;color:#6ee7b7}.p28-prompt{font-size:1.22rem;line-height:2.1;margin:.8rem 0}.p28-seg{color:var(--c);transition:all .3s;border-radius:6px;padding:.05em .1em}.p28-good.has-focus .p28-seg:not(.is-focus){opacity:.3}.p28-seg.is-focus{background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:0 0 0 1px var(--c)}.p28-good.is-exploded .p28-prompt{display:grid;gap:.6rem;line-height:1.8}.p28-good.is-exploded .p28-seg{display:block;padding:.6rem .9rem;border:1px solid color-mix(in srgb,var(--c) 50%,transparent);background:color-mix(in srgb,var(--c) 7%,transparent);animation:rise .45s both}.p28-seg-tag{display:block;font-size:.8rem;font-weight:700;opacity:.9}.p28-actions{display:flex;gap:.5rem;flex-wrap:wrap}.p28-map-note{color:var(--muted);font-size:.8rem;margin:.6rem 0 0}.p28-weak{padding:1.1rem 1.3rem;border-radius:18px;border:1px solid rgba(251,113,133,.5);background:#fb71850f;animation:rise .45s both}.p28-weak h3{margin:0;color:#fda4af}.p28-weak-q{font-size:1.2rem}.p28-weak-r{color:#fda4af}.p28-xref{margin-top:1rem;border:0;background:none;color:#99f6e4;cursor:pointer;font-size:.95rem}.p28-xref:hover{text-decoration:underline}.notice{position:fixed;z-index:80;bottom:1.2rem;left:1.2rem;max-width:min(34vw,560px);font-size:.88rem;display:flex;gap:.8rem;align-items:center;padding:.7rem 1rem .7rem .7rem;border-radius:14px;background:#0c0e22f5;border:1px solid var(--line);box-shadow:0 20px 60px #0009;max-width:90vw;animation:rise .4s both}.u2d{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1a1040,#0a0820 45%,#04050d 80%)}.u2d-stars i{position:absolute;border-radius:50%;background:#fff;opacity:.7;animation:twinkle 3.5s ease-in-out infinite}@keyframes twinkle{50%{opacity:.2}}.u2d-waves{position:absolute;left:-5%;right:-5%;bottom:-4%;width:110%;height:46%}.u2d-waves path{fill:none;stroke:#c026d3;stroke-width:1.2;animation:wave 9s ease-in-out infinite alternate}@keyframes wave{0%{transform:translate(-2%) translateY(0)}to{transform:translate(2%) translateY(-12px)}}.u2d-orbit{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:opacity .6s}.u2d-orbit ellipse{fill:none;stroke:#a78bfa47;stroke-width:.15;vector-effect:non-scaling-stroke}.u2d.is-focus .u2d-orbit{opacity:.15}.u2d-core{position:absolute;left:50%;top:48%;width:11vw;height:11vw;transform:translate(-50%,-50%);border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 40% 35%,#2dd4bf33,#1a0b3d 55%,#05030f 75%);box-shadow:0 0 60px #8b5cf68c,inset 0 0 40px #a78bfa99;transition:all .6s}.u2d-core:hover,.u2d-core.is-hover{box-shadow:0 0 90px #f0abfcb3,inset 0 0 50px #f0abfcb3}.u2d-core-ring{position:absolute;top:-22%;right:-22%;bottom:-22%;left:-22%;border-radius:50%;border:5px solid rgba(233,213,255,.75);transform:rotateX(72deg) rotate(-12deg);box-shadow:0 0 20px #e9d5ff99}.u2d.is-focus .u2d-core{opacity:.12;pointer-events:none;transform:translate(-50%,-50%) scale(.6)}.u2d-hub{position:absolute;transform:translate(-50%,-50%) scale(var(--s));display:flex;flex-direction:column;align-items:center;gap:.4rem;border:0;background:none;cursor:pointer;transition:left 1.2s cubic-bezier(.6,0,.2,1),top 1.2s cubic-bezier(.6,0,.2,1),transform 1.2s,opacity .6s}.u2d-planet{width:5.6rem;height:5.6rem;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 90%,#fff),color-mix(in srgb,var(--c) 45%,#000) 70%);box-shadow:0 0 40px color-mix(in srgb,var(--c) 55%,transparent),inset -10px -12px 24px #00000073;transition:box-shadow .3s,transform .3s;animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-6px)}}.u2d-hub:hover .u2d-planet,.u2d-hub.is-hover .u2d-planet{box-shadow:0 0 70px var(--c),inset -10px -12px 24px #00000059;transform:scale(1.08)}.u2d-hub-label{display:flex;flex-direction:column;align-items:center}.u2d-hub-q{max-width:16rem;font-size:.82rem;color:var(--ink-2);opacity:0;max-height:0;overflow:hidden;transition:all .3s;text-align:center}.u2d-hub:hover .u2d-hub-q,.u2d-hub.is-hover .u2d-hub-q{opacity:1;max-height:6rem}.u2d-hub.is-dim{opacity:0;pointer-events:none}.u2d-hub.is-focus .u2d-hub-label{opacity:0}.u2d-moon:not(.is-hover) .u2d-moon-t{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.u2d-moon.is-hover{z-index:3}.u2d-moon.is-hover .u2d-moon-t{background:#080a1aeb;padding:.2rem .5rem;border-radius:8px}.u2d-moon{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.1rem;border:0;background:none;cursor:pointer;max-width:11rem;animation:moonIn .8s both cubic-bezier(.2,.9,.3,1.3)}@keyframes moonIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}}.u2d-moon-dot{width:1.4rem;height:1.4rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--c) 60%);box-shadow:0 0 16px var(--c);transition:transform .25s}.u2d-moon.is-built .u2d-moon-dot{width:1.9rem;height:1.9rem;outline:2px solid rgba(255,255,255,.7);outline-offset:4px}.u2d-moon:hover .u2d-moon-dot,.u2d-moon.is-hover .u2d-moon-dot{transform:scale(1.35)}.u2d-moon-t{font-size:.8rem;line-height:1.35;text-align:center;text-shadow:0 0 8px #000}.level-scene .u2d-moon:not(.is-current){opacity:.25}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-iteration-count:1!important;transition-duration:.12s!important}@media (max-width: 1500px){.p12-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.p12-name{font-size:1.15rem}.p12-card-actions{flex-direction:column;align-items:stretch}.drag-hint{text-align:center}.hud-btn{padding:.4em .6em;font-size:.8rem}}@media (max-width: 1100px){.p12-cards,.p28-comps{grid-template-columns:repeat(2,minmax(0,1fr))}.p12-bottom,.p13-grid,.p28-stage,.intro-panel{grid-template-columns:1fr}.chapter-overlay{width:46vw}.title-block{max-width:70vw}}.fade-in{animation:rise .45s both cubic-bezier(.2,.8,.2,1)}.muted-note{color:var(--muted);font-size:.88rem;margin:.6rem 0;line-height:1.6}.null-note{color:#fda4af;font-style:italic;font-size:.95rem}.footer-rule{margin:1rem 0 .6rem;padding:.7rem 1rem;border-radius:12px;background:#f5b94214;border-inline-start:4px solid var(--amber);font-weight:500;font-size:1.05rem}.alert-line{margin:.8rem 0;padding:.6rem .9rem;border-radius:12px;background:#fb718514;border:1px solid rgba(251,113,133,.35);color:#fecdd3}.cite-line{color:var(--ink-2);font-size:.88rem;margin:.4rem 0}.note-line{margin-top:.6rem}.big-rule{font-size:clamp(1.3rem,1.9vw,2.1rem);font-weight:700;line-height:1.5;margin:.2rem 0}.big-rule.small{font-size:1.2rem}.sec-h{margin:1.2rem 0 .5rem;font-size:1.1rem;color:var(--ink-2)}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:.6rem 0}.out-chip{padding:.35em .9em;border-radius:999px;border:1px solid var(--line);background:#ffffff0a}.out-chip.is-key{border-color:#f5b94299;color:var(--amber);background:#f5b9421a}.ref-chips{display:inline-flex;gap:.35rem;margin-inline-start:.8rem}.ref-chip{padding:.15em .7em;border-radius:8px;background:var(--amber);color:#1a1000;font-weight:700;font-size:.85rem}.quote{display:block;padding:.5rem .7rem;border-radius:10px;background:#ffffff0f;font-size:.95rem}.compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;margin:.8rem 0}.split-scene{display:grid;gap:.6rem}.tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.tab{border:1px solid var(--line-2);background:#ffffff08;border-radius:12px;padding:.5em 1em;cursor:pointer;font-size:.95rem;color:var(--ink-2);transition:all .2s}.tab:hover{border-color:var(--line);color:var(--ink)}.tab.is-on{border-color:var(--c, var(--amber));color:var(--ink);background:color-mix(in srgb,var(--c, #f5b942) 14%,transparent);font-weight:700}.stages{display:grid;gap:.6rem}.stage-block{border-radius:16px;border:1px solid var(--line-2);background:#ffffff06;animation:rise .5s both cubic-bezier(.2,.8,.2,1)}.stage-head{width:100%;display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border:0;background:none;cursor:pointer;text-align:right;font-weight:700;font-size:1rem}.stage-head:hover{background:#ffffff08}.stage-idx{width:1.9rem;height:1.9rem;flex:none;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c, #a78bfa) 25%,transparent);color:var(--ink);font-size:.9rem}.stage-label{flex:1}.stage-body{padding:0 1.1rem 1rem}.stage-block.is-collapsed{opacity:.75}.stages-ctrl,.tilegrid-ctrl,.flow-ctrl{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}.stages-count{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.tilegrid{display:grid;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr));gap:.7rem}.tile{display:flex;flex-direction:column;gap:.45rem;align-items:stretch;text-align:right;min-height:7rem;padding:1rem 1.1rem;border-radius:18px;cursor:pointer;border:1px solid color-mix(in srgb,var(--c, #a78bfa) 38%,transparent);background:linear-gradient(165deg,color-mix(in srgb,var(--c, #a78bfa) 12%,rgba(12,14,34,.92)),#0c0e22eb);transition:transform .25s,box-shadow .25s,border-color .25s}.tile:hover{transform:translateY(-3px);box-shadow:0 12px 34px color-mix(in srgb,var(--c, #a78bfa) 25%,transparent)}.tile.is-open{border-color:var(--c, #a78bfa)}.tile-face{display:flex;flex-direction:column;gap:.25rem}.tile-back{font-size:1.02rem;line-height:1.7;animation:rise .4s both;color:var(--ink)}.tile-hint{color:var(--muted);font-size:.82rem;margin-top:auto}.tile-n{font-size:1.8rem;font-weight:700;color:var(--c, #a78bfa);line-height:1}.tile-title{font-size:1.2rem;font-weight:700}.tile-en{color:var(--c, #a78bfa);font-weight:700}.tile-big{font-size:clamp(2.2rem,3.2vw,3.6rem);font-weight:700;color:var(--c, #a78bfa);line-height:1}.tile-sub{color:var(--ink-2);font-size:.95rem;line-height:1.55}.tile-stack{display:grid;gap:.45rem}.pass-line{color:#6ee7b7}.flow{margin:.4rem 0 1rem}.flow-track{list-style:none;padding:0;margin:0;display:flex;align-items:stretch;gap:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.flow-item{display:flex;align-items:center;flex:1 1 0;min-width:0}.flow-link{position:relative;flex:0 0 2.2rem;height:3px;background:#ffffff1f;border-radius:2px;overflow:hidden}.flow-link.is-done{background:var(--amber)}.flow-link.is-live:after{content:"";position:absolute;inset:-3px auto -3px 0;width:40%;background:linear-gradient(90deg,transparent,#fff,transparent);animation:packet 1.1s linear infinite}@keyframes packet{0%{transform:translate(260%)}to{transform:translate(-120%)}}.flow-node{flex:1;min-width:7rem;display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;text-align:right;padding:.75rem .85rem;border-radius:14px;cursor:pointer;border:1px solid color-mix(in srgb,var(--c, #a78bfa) 35%,transparent);background:#0e1026d9;transition:all .25s}.flow-node:hover{border-color:var(--c, #a78bfa);transform:translateY(-2px)}.flow-node.is-done{background:color-mix(in srgb,var(--c, #a78bfa) 10%,rgba(14,16,38,.85))}.flow-node.is-active{background:color-mix(in srgb,var(--c, #a78bfa) 26%,rgba(14,16,38,.9));border-color:var(--c, #a78bfa);box-shadow:0 0 26px color-mix(in srgb,var(--c, #a78bfa) 40%,transparent)}.flow-node.is-gate{border-style:dashed}.flow-node.is-gate.is-active{border-style:solid}.flow-n{font-size:.8rem;font-weight:700;color:var(--c, #a78bfa)}.flow-title{font-weight:700;font-size:1.02rem;line-height:1.4}.flow-sub{font-size:.88rem;color:var(--ink-2);line-height:1.5}.flow:not(.is-vertical) .flow-node:not(.is-active) .flow-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flow-detail{min-height:3rem;margin-top:.6rem;padding:.8rem 1rem;border-radius:14px;background:#ffffff08;border:1px solid var(--line-2);font-size:1.05rem;line-height:1.7}.flow-detail-in{animation:rise .4s both}.flow-idle{color:var(--muted);margin:0}.flow.is-vertical .flow-track{flex-direction:column;overflow:visible}.flow.is-vertical .flow-item{flex-direction:column;align-items:stretch}.flow.is-vertical .flow-link{flex:0 0 1rem;width:3px;height:1rem;align-self:center}.flow.is-vertical .flow-node{min-width:0}.statbars ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.statbars-cap{color:var(--ink-2);margin:0 0 .6rem}.statbar{width:100%;display:grid;grid-template-columns:minmax(10rem,1.3fr) 2fr 5rem;gap:.8rem;align-items:center;padding:.55rem .8rem;border-radius:12px;border:1px solid transparent;background:#ffffff06;cursor:pointer;text-align:right;transition:all .2s}.statbar:hover,.statbar.is-pick{border-color:var(--line);background:#ffffff0f}.statbar-label{font-size:.95rem}.statbar-track{height:.9rem;border-radius:999px;background:#ffffff12;overflow:hidden}.statbar-fill{display:block;height:100%;border-radius:999px;background:var(--fill, #a78bfa);transition:width 1.1s cubic-bezier(.2,.8,.2,1)}.tone-bad .statbar-fill{--fill: linear-gradient(90deg, #ef4444, #f87171)}.tone-warn .statbar-fill{--fill: linear-gradient(90deg, #f59e0b, #fcd34d)}.tone-good .statbar-fill{--fill: linear-gradient(90deg, #059669, #34d399)}.tone-neutral .statbar-fill{--fill: linear-gradient(90deg, #7c3aed, #a78bfa)}.statbar-val{font-weight:700;font-size:1.15rem;text-align:left;direction:ltr;font-variant-numeric:tabular-nums}.statbars-detail{margin-top:.6rem;min-height:2.4rem}.statbars-detail-in{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:.6rem .9rem;border-radius:12px;background:#8b5cf61a;animation:rise .35s both}.statbars-more{flex-basis:100%;color:var(--ink-2);font-size:.9rem}.checklist{padding:1rem 1.2rem;border-radius:18px;border:1px solid var(--line-2);background:#ffffff06}.checklist-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.checklist-head h3{margin:0;font-size:1.15rem}.ring{--p: 0;width:3.4rem;height:3.4rem;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#34d399 calc(var(--p) * 1%),#ffffff14 0);transition:background .4s}.ring span{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:var(--panel-solid);font-size:.8rem;font-weight:700}.checklist ul{list-style:none;padding:0;margin:.8rem 0;display:grid;gap:.4rem}.check{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem .7rem;border-radius:12px;cursor:pointer;border:1px solid var(--line-2);transition:all .2s;line-height:1.6}.check:hover{border-color:var(--line)}.check input{position:absolute;opacity:0;pointer-events:none}.check-box{width:1.5rem;height:1.5rem;flex:none;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;color:transparent;transition:all .2s}.check.is-done{background:#34d39914;border-color:#34d39966}.check.is-done .check-box{background:#34d399;border-color:#34d399;color:#062015}.check:focus-within{outline:2px solid var(--amber);outline-offset:2px}.checklist-foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.local-note{color:var(--muted);font-size:.8rem}.claim-note{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.8rem 0 0;color:#fcd34d;font-size:.85rem}.blocked-note{display:flex;gap:.8rem;align-items:center;margin:.8rem 0;padding:.75rem 1rem;border-radius:14px;border:1px solid;background:#fb718512;font-size:.95rem;line-height:1.6;color:var(--ink)}.blocked-note.sev-high{border-color:#fb71858c}.blocked-note.sev-medium{border-color:#fcd34d80;background:#fcd34d0f}.blocked-note>div{flex:1}.blocked-ico{font-size:1.3rem;color:#fda4af}.mode-tag{display:inline-block;margin:.5rem 0;padding:.2em .8em;border-radius:999px;font-size:.8rem;border:1px dashed}.mode-ill{color:#a5b4fc;border-color:#a5b4fc99}.mode-desc{color:#99f6e4;border-color:#5eead48c}.mode-app{color:var(--amber);border-color:#f5b94299}.offline-link{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.88rem}.offline-url{font-family:ui-monospace,Consolas,monospace;color:#99f6e4;direction:ltr}.offline-tag{font-size:.8rem;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:0 .5em}.links{display:grid;gap:.4rem;margin:.8rem 0}.jump{border:1px solid rgba(94,234,212,.35);background:#2dd4bf12;color:#99f6e4;border-radius:999px;padding:.25em .85em;cursor:pointer;font-size:.86rem;transition:all .2s}.jump:hover{background:#2dd4bf33;color:#fff}.presenter-note{font-size:.82rem;color:#a5b4fc;border:1px dashed rgba(165,180,252,.5);border-radius:10px;padding:.4rem .7rem}.hypo-title{color:#fcd34d;font-weight:700}.hypo-tag{color:#fcd34d;font-size:.8rem;border:1px solid rgba(252,211,77,.5);border-radius:999px;padding:0 .45em}.demo-tag{font-size:.8rem;color:#fcd34d;border:1px dashed rgba(252,211,77,.6);border-radius:999px;padding:.15em .7em}.edu-banner{display:inline-block;margin:0 0 .6rem;padding:.35em 1em;border-radius:999px;background:#ef444426;border:1px solid rgba(239,68,68,.6);color:#fecaca;font-weight:700}.hero-stat{display:grid;gap:.3rem;margin:.3rem 0 .8rem}.hero-num{font-size:clamp(3rem,5vw,5.4rem);font-weight:700;line-height:1;color:var(--amber);direction:ltr;text-align:right}.hero-num.tone-bad{color:#f87171}.hero-lbl{font-size:1.15rem;font-weight:700}.gauge{padding:2.6rem .4rem .4rem}.gauge-track{position:relative;height:.8rem;border-radius:999px;background:#ffffff14}.gauge-span{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(270deg,#34d39999,#f5b942cc,#f87171b3)}.gauge-pt{position:absolute;top:50%;width:1.5rem;height:1.5rem;transform:translate(50%,-50%);border-radius:50%;border:3px solid #fff;background:#1b1e3a;cursor:pointer;transition:transform .2s}.gauge-pt.is-mid{background:var(--amber)}.gauge-pt:hover,.gauge-pt.is-pick{transform:translate(50%,-50%) scale(1.3)}.gauge-lbl{position:absolute;bottom:160%;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.9rem;color:var(--ink-2)}.gauge-pt.is-pick .gauge-lbl{color:var(--amber)}.gauge-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;margin-top:.6rem}.p4-track{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:.4rem;padding:1rem 1rem 0;min-height:15rem}.p4-ground{position:absolute;inset:auto 0 2.2rem 0;height:2px;background:linear-gradient(90deg,#2dd4bfb3,#d6a15a99)}.p4-fig{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;border:0;background:none;cursor:pointer;color:#ffffff40;transition:color .4s,transform .3s}.p4-fig:hover{color:#ffffff8c;transform:translateY(-4px)}.p4-svg{height:calc(10rem * var(--h));width:auto;overflow:visible}.p4-svg circle{fill:currentColor}.p4-svg path{stroke:currentColor;stroke-width:8;stroke-linecap:round;fill:none}.p4-fig.is-lit{color:#d6a15a}.p4-fig.is-sapiens.is-lit{color:#2dd4bf}.p4-fig.is-current{filter:drop-shadow(0 0 14px currentColor)}.p4-name{font-size:.95rem;font-weight:700;color:var(--ink);min-height:1.4em;text-align:center}.p4-ctrl{display:flex;gap:.6rem;align-items:center;margin:.4rem 0}.p4-book{display:flex;gap:1rem;align-items:center;text-align:right;margin-top:.8rem;padding:.8rem 1rem;border-radius:16px;border:1px solid rgba(45,212,191,.35);background:#2dd4bf0f;cursor:pointer;width:100%}.p4-cover{width:4.2rem;height:5.4rem;flex:none;display:grid;place-items:center;border-radius:6px;background:#136c55;font-weight:700;color:#fff;box-shadow:6px 6px #0000004d;transition:transform .4s}.p4-book.is-open .p4-cover{transform:rotateY(-25deg)}.p4-book-body{display:grid;gap:.2rem}.p4-book-label{color:#99f6e4;font-size:.85rem}.p4-advice{color:var(--amber);font-weight:700}.legend-line{display:flex;gap:1.2rem;flex-wrap:wrap;margin:0;font-size:.9rem}.lg-g{color:#6ee7b7}.lg-r{color:#fca5a5}.p9-card{padding:1rem 1.2rem;border-radius:18px;border:1px solid var(--line-2);background:#ffffff06}.splitbar{display:flex;height:2.4rem;border-radius:999px;overflow:hidden;font-weight:700;direction:rtl}.splitbar span{display:grid;place-items:center;transition:width 1s;min-width:3rem}.splitbar-red{background:#b91c1c}.splitbar-green{background:#047857}.split-labels{display:flex;justify-content:space-between;margin:.4rem 0}.p9-tool{display:grid;grid-template-columns:8rem 1fr;gap:.8rem;align-items:center;margin:.4rem 0}.p9-tool-name{font-weight:700;direction:ltr;text-align:right}.analogy{display:flex;gap:.8rem;align-items:center;width:100%;text-align:right;margin-top:.8rem;padding:.9rem 1.1rem;border-radius:16px;border:1px solid var(--line);background:#ffffff08;cursor:pointer;font-size:1.02rem;line-height:1.7}.analogy.is-open{border-color:#f5b9428c;background:#f5b9420f}.analogy-ico{font-size:1.6rem}.rlist{padding:1rem 1.2rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 6%,rgba(12,14,34,.9))}.rlist h3{margin:0 0 .6rem;color:var(--c)}.rlist ol{margin:0 0 .6rem;padding-inline-start:1.3rem;display:grid;gap:.35rem;font-size:1.05rem}.token-lab,.dist-lab,.lab{margin-top:1rem;padding:1rem 1.2rem;border-radius:18px;border:1px solid var(--line-2);background:#ffffff06}.token-lab h3,.lab h3{margin:0 0 .6rem;font-size:1.1rem}.token-row{display:flex;flex-wrap:wrap;gap:.4rem;min-height:3.4rem;align-items:center;margin-bottom:.6rem}.token-whole{font-size:1.6rem;font-weight:700}.token{padding:.35rem .75rem;border-radius:10px;font-size:1.4rem;font-weight:700;background:hsl(var(--h) 60% 35%);animation:tokenIn .5s both cubic-bezier(.2,.9,.3,1.3)}@keyframes tokenIn{0%{opacity:0;transform:translateY(-14px) scale(.6)}}.eq-build{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:1rem;border-radius:18px;background:#0d1024;border:1px solid var(--line)}.eq-wrap{display:inline-flex;gap:.5rem;align-items:center}.eq-op{color:var(--amber);font-size:1.5rem;font-weight:700}.eq-term{min-width:6rem;padding:.5rem .9rem;border-radius:12px;border:2px dashed var(--line);background:none;cursor:pointer;font-weight:700;font-size:1.05rem}.eq-term.is-on{border-style:solid;border-color:#f472b6;background:#f472b626;animation:pop .4s}.eq-result{padding:.5rem 1rem;border-radius:12px;border:1px solid var(--line-2);color:var(--muted);font-weight:700}.eq-result.is-on{color:#6ee7b7;border-color:#34d39999;background:#34d3991a}.atlas{display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem;align-items:center}.atlas-map{position:relative;aspect-ratio:1.25;max-height:34rem}.atlas-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.atlas-lines line{stroke:#a78bfa4d;stroke-width:.3;stroke-dasharray:1 1;transition:all .3s}.atlas-lines line.is-on{stroke:var(--amber);stroke-width:.6;stroke-dasharray:none}.atlas-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:11rem;padding:1rem;border-radius:50%;aspect-ratio:1;display:grid;place-content:center;gap:.3rem;text-align:center;background:radial-gradient(circle,#f5b94240,#0c0e22f2 70%);border:1px solid rgba(245,185,66,.5);font-size:.9rem}.atlas-core strong{color:var(--amber)}.atlas-node{position:absolute;transform:translate(-50%,-50%);max-width:13rem;padding:.7rem 1rem;border-radius:16px;border:1px solid var(--line);background:#0e1028eb;cursor:pointer;display:grid;gap:.4rem;justify-items:center;transition:all .25s}.atlas-node:hover{border-color:var(--amber);transform:translate(-50%,-50%) scale(1.05)}.atlas-node.is-on{border-color:var(--amber);box-shadow:0 0 30px #f5b94259;z-index:2}.atlas-name{font-weight:700}.atlas-tools{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center}.atlas-tool{font-size:.8rem;padding:.1em .6em;border-radius:999px;background:#f5b94226;color:var(--amber);animation:rise .4s both}.atlas-detail h3{margin:0 0 .4rem}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem}.tier{display:grid;gap:.5rem;text-align:right;padding:1rem 1.1rem;border-radius:18px;border:1px solid var(--line);background:#0e1028e6;cursor:pointer;min-height:8rem;align-content:start;transition:all .25s}.tier:hover{transform:translateY(-3px);border-color:#60a5fa}.tier.is-on{border-color:#60a5fa;box-shadow:0 0 30px #60a5fa4d}.tier.is-free{border-color:#f5b9428c}.tier-name{font-size:1.5rem;font-weight:700;direction:ltr;text-align:right}.tier-av{color:var(--amber);font-size:.9rem}.rule-card{padding:1rem 1.2rem;border-radius:18px;background:#0d1024;border:1px solid rgba(244,114,182,.45)}.rule-card h3{margin:0 0 .4rem;color:#f9a8d4}.domain{display:grid;grid-template-columns:16rem 1fr;gap:1rem}.domain-list{display:grid;gap:.4rem;align-content:start}.domain-btn{text-align:right;padding:.7rem 1rem;border-radius:12px;border:1px solid var(--line-2);background:#ffffff08;cursor:pointer;font-weight:700;font-size:1rem;transition:all .2s}.domain-btn:hover{border-color:var(--line)}.domain-btn.is-on{border-color:var(--amber);background:#f5b9421f}.domain-detail dl{margin:0;display:grid;gap:.6rem}.domain-detail dl>div{padding:.8rem 1rem;border-radius:14px;background:#ffffff08;border:1px solid var(--line-2)}.domain-detail dt{color:var(--muted);font-size:.85rem}.domain-detail dd{margin:.2rem 0 0;font-size:1.1rem;line-height:1.6}.domain-detail .domain-warn{border-color:#fcd34d80}.prompt-box{margin-top:1rem;padding:1rem 1.2rem;border-radius:18px;border:1px solid rgba(52,211,153,.35);background:#34d3990a}.prompt-box header{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.prompt-box h3{margin:0;font-size:1.1rem;flex:1}.platform{font-size:.82rem;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:.1em .7em}.prompt-text{margin:.8rem 0 0;padding:.9rem 1rem;border-radius:12px;background:#0b0e22;line-height:1.95;font-size:1.02rem}.slot-mark{background:#5eead42e;color:#99f6e4;border-radius:4px;padding:0 .15em}.chain-pick{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.4rem}.chain-pick-btn{padding:.55em 1.1em;border-radius:12px;border:1px solid var(--line);background:#0e1028e6;cursor:pointer;font-weight:700;transition:all .2s}.chain-pick-btn:hover{border-color:#a78bfa}.chain-pick-btn.is-on{background:#a78bfa33;border-color:#a78bfa}.chain{padding:1.2rem;border-radius:20px;background:#0d1024;border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}.chain-track{display:flex;align-items:center;gap:0;flex-wrap:nowrap;overflow-x:auto;padding:.4rem 0}.chain-cell{display:flex;align-items:center;flex:1 1 0;min-width:0}.chain-node{flex:1;min-width:9rem;display:grid;gap:.3rem;padding:.9rem;border-radius:16px;border:1px solid var(--line);background:#ffffff08;cursor:pointer;transition:all .35s;text-align:center}.chain-node:hover{border-color:var(--c)}.chain-node.is-on{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.chain-node.is-live{box-shadow:0 0 34px color-mix(in srgb,var(--c) 50%,transparent);transform:scale(1.04)}.chain-act{font-weight:700;font-size:1.05rem}.chain-tool{color:var(--c);font-size:.9rem}.chain-pipe{position:relative;flex:0 0 3rem;height:4px;border-radius:2px;background:#ffffff1a;overflow:hidden}.chain-pipe.is-on{background:color-mix(in srgb,var(--c) 60%,transparent)}.chain-packet{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 10px var(--c);opacity:0}.chain-pipe.is-on .chain-packet{animation:pkt .9s ease-out}@keyframes pkt{0%{right:0;opacity:1}to{right:calc(100% - 10px);opacity:.2}}.chain-benefit{min-width:11rem;padding:.9rem;border-radius:16px;border:2px dashed var(--line);background:none;cursor:pointer;font-weight:700;color:var(--muted);transition:all .4s}.chain-benefit.is-on{border-style:solid;border-color:#34d399;color:#6ee7b7;background:#34d3991a}.toolmap{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem}.toolmap-tools{display:flex;flex-wrap:wrap;gap:.4rem;align-content:start}.toolmap-tool{padding:calc(.3em + var(--w) * .08em) .9em;font-size:calc(.85rem + var(--w) * .08rem);border-radius:999px;border:1px solid var(--line);background:#0e1028e6;cursor:pointer;transition:all .2s}.toolmap-tool small{color:var(--muted)}.toolmap-tool:hover,.toolmap-tool.is-on{border-color:#a78bfa;background:#a78bfa33}.toolmap-chains{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.toolmap-chains li{transition:opacity .3s}.toolmap-chains li.is-dim{opacity:.3}.toolmap-chain{width:100%;text-align:right;display:grid;gap:.2rem;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--line-2);background:#ffffff08;cursor:pointer}.toolmap-chains li.is-hit .toolmap-chain{border-color:#a78bfa}.toolmap-chain bdi.is-hit{color:#c4b5fd;font-weight:700}.bays{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.bay{display:grid;gap:.4rem;text-align:right;padding:1.3rem;border-radius:22px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:linear-gradient(165deg,color-mix(in srgb,var(--c) 16%,rgba(12,14,34,.92)),#0c0e22eb);cursor:pointer;transition:all .3s}.bay:hover{transform:translateY(-5px);box-shadow:0 18px 50px color-mix(in srgb,var(--c) 30%,transparent)}.bay-n{font-size:2.6rem;font-weight:700;color:var(--c);line-height:1}.bay-ar{font-size:1.35rem;font-weight:700}.bay-en{color:var(--c)}.bay-aud{color:var(--ink-2)}.bay-tools{font-size:.88rem;color:var(--muted)}.bay-go{margin-top:.4rem;color:var(--amber);font-weight:700;font-size:.9rem}.badge-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}.model-badge{padding:.25em .9em;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 50%,transparent);color:var(--c);font-weight:700;font-size:.9rem}.model-badge.is-edu{color:#fecaca;border-color:#ef444499;background:#ef44441f}.build{display:grid;grid-template-columns:1fr 1.15fr;gap:1.2rem;align-items:start}.mockup{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0b0e22}.mockup-bar{display:flex;gap:.8rem;align-items:center;padding:.45rem .9rem;background:#141838;font-size:.85rem;color:var(--ink-2)}.dots{color:#f87171;letter-spacing:.15em;font-size:.8rem}.mockup-body{padding:.8rem 1rem}.mockup-body ul{margin:0;padding-inline-start:1.1rem;display:grid;gap:.3rem;font-size:.95rem}.mockup figcaption{padding:.4rem .9rem .7rem;color:var(--muted);font-size:.82rem}.csv{margin:.8rem 0}.csv-code{margin:.6rem 0 0;padding:.8rem 1rem;border-radius:12px;background:#070914;font-family:ui-monospace,Consolas,monospace;font-size:.92rem;white-space:pre-wrap;text-align:left}.csv-head{color:#5eead4}.formula-box{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.7rem .9rem;border-radius:12px;background:#070914;border:1px solid var(--line);margin-bottom:.8rem}.formula-box code{font-size:.95rem;color:#5eead4}.sheet{width:100%;border-collapse:collapse;font-size:.95rem}.sheet th,.sheet td{padding:.45rem .6rem;border-bottom:1px solid var(--line-2);text-align:right}.sheet th{color:var(--muted);font-weight:500}.sheet tr{transition:background .4s}.sheet tr.is-drawn{background:#f5b94233;font-weight:700}.lab-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.formula-inline{color:var(--amber)}.calc{padding:1rem;border-radius:16px;background:#0d1024;border:1px solid var(--line)}.calc h4{margin:0 0 .6rem;font-size:1.05rem}.calc-eq{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap}.calc-eq label{display:grid;gap:.2rem;font-size:.8rem;color:var(--muted)}.calc-eq input{width:5.5rem;font:inherit;font-size:1.3rem;font-weight:700;text-align:center;padding:.4rem;border-radius:10px;border:1px solid var(--line);background:#ffffff0d;color:var(--ink)}.calc-eq input:focus{border-color:var(--amber);outline:none}.calc-out{min-width:5.5rem;padding:.4rem .7rem;border-radius:10px;font-size:1.5rem;font-weight:700;color:var(--muted);border:1px solid var(--line-2);text-align:center;direction:ltr}.calc-out.is-ok{color:#6ee7b7;border-color:#34d39999}.calc-err{color:#fda4af;font-size:.88rem;margin:.5rem 0 0}.calc-bar{margin-top:.7rem;height:.7rem;border-radius:999px;background:#ffffff12;overflow:hidden}.calc-bar span{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#34d399);transition:width .6s}.compare-line{font-weight:700;color:#7dd3fc}.tally{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.tally-item{display:flex;gap:.5rem;align-items:center;padding:.4rem .6rem .4rem .9rem;border-radius:12px;border:1px solid var(--line)}.tally-item output{min-width:1.6rem;text-align:center;font-weight:700;color:var(--amber)}.traffic{display:grid;grid-template-columns:11rem 1fr;gap:1.6rem;align-items:start}.light{display:grid;gap:.9rem;padding:1.1rem;border-radius:30px;background:#0a0c1c;border:2px solid #20244a;box-shadow:inset 0 0 30px #0009}.lamp{aspect-ratio:1;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--c) 35%,#222),#111 75%);color:#ffffff8c;font-weight:700;font-size:1.1rem;transition:all .35s}.lamp:hover{background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--c) 60%,#333),#1a1a1a 75%);color:#fff}.lamp.is-on{background:radial-gradient(circle at 40% 35%,#fff,var(--c) 45%,color-mix(in srgb,var(--c) 50%,#000) 90%);color:#111;box-shadow:0 0 50px var(--c),0 0 100px color-mix(in srgb,var(--c) 50%,transparent)}.lvl-h{color:var(--c);margin:.2rem 0 .6rem}.task-list{margin:0;padding-inline-start:1.2rem;display:grid;gap:.4rem;font-size:1.1rem}.task-chip{padding:.45em .95em;border-radius:999px;border:1px solid var(--line);background:#0e1028e6;cursor:pointer;transition:all .2s}.task-chip:hover{border-color:var(--ink-2)}.task-chip.is-on{border-color:var(--c);background:color-mix(in srgb,var(--c) 22%,transparent)}.verdict{padding:.8rem 1rem;border-radius:14px;border:1px solid var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);font-size:1.1rem}.deid{margin-top:1rem;padding:1rem 1.2rem;border-radius:18px;border:1px solid var(--line-2);background:#ffffff06}.deid h3{margin:0 0 .6rem}.deid-card{display:flex;gap:.8rem;align-items:center;padding:.9rem 1.1rem;border-radius:14px;border:1px solid rgba(239,68,68,.6);background:#ef44441a;font-size:1.3rem;font-weight:700;margin-bottom:.7rem;transition:all .5s}.deid-card.is-clean{border-color:#34d39999;background:#34d3991a}.deid-mark{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:#ef4444;color:#fff;flex:none}.deid-card.is-clean .deid-mark{background:#10b981}.recap{margin:1rem 0}.recap-list{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.35rem}.recap-row{width:100%;display:grid;grid-template-columns:16rem 1fr 3.5rem;gap:.8rem;align-items:center;padding:.5rem .8rem;border-radius:12px;border:1px solid var(--line-2);background:#ffffff06;cursor:pointer;text-align:right}.recap-row:hover{border-color:var(--c)}.recap-bar{height:.55rem;border-radius:999px;background:#ffffff12;overflow:hidden}.recap-bar span{display:block;height:100%;width:calc(var(--p) * 1%);background:var(--c);transition:width .8s}.closing{font-size:clamp(2rem,3vw,3rem);font-weight:700;margin:1rem 0 .4rem;background:linear-gradient(100deg,#fff,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent}@media (max-width: 1500px){.statbar{grid-template-columns:minmax(8rem,1.2fr) 1.6fr 4.5rem}.bays{gap:.6rem}.bay{padding:1rem}}@media (max-width: 1100px){.compare,.atlas,.build,.domain,.toolmap,.traffic{grid-template-columns:1fr}.tilegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bays,.tiers{grid-template-columns:1fr}}.ui-hint,.flow-idle,.tile-hint{color:var(--muted)}.ui-hint:before,.flow-idle:before,.tile-hint:before{content:"ⓘ ";opacity:.7}.ui-hint{font-size:.85rem}.computed-tag{display:inline-block;margin:.45rem 0 0;padding:.15em .7em;border:1px dashed rgba(252,211,77,.6);border-radius:999px;color:#fcd34d;font-size:.8rem}.gate{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;padding:1rem;border-radius:14px;border:1px dashed var(--line);background:#ffffff05;margin:.4rem 0}.statbar.is-folded{cursor:default}.statbar.is-folded .statbar-val{color:var(--muted)}.confirm-scrim{z-index:120}.confirm{width:min(560px,92vw);padding:1.5rem 1.7rem;border-radius:18px;background:var(--panel-solid);border:1px solid rgba(252,211,77,.5);box-shadow:0 30px 90px #000000b3;animation:rise .3s both}.confirm h2{margin:0 0 .5rem;font-size:1.3rem}.confirm p{line-height:1.7;color:var(--ink-2)}.confirm-actions{display:flex;gap:.6rem;margin-top:1rem}.presenter{position:fixed;z-index:75;top:4.4rem;left:1.2rem;width:min(30rem,92vw);max-height:calc(100vh - 6rem);overflow-y:auto;padding:1rem 1.2rem 1.2rem;border-radius:18px;background:#080a18f7;border:1px solid rgba(165,180,252,.45);box-shadow:0 24px 70px #0009;animation:drawerIn .35s both;font-size:.95rem}.presenter-head{display:flex;justify-content:space-between;align-items:center}.presenter-head h2{margin:0;font-size:1.2rem;color:#c7d2fe}.presenter-purpose{margin:.5rem 0 .8rem;padding:.55rem .8rem;border-radius:10px;background:#a5b4fc14;border:1px dashed rgba(165,180,252,.45);color:var(--ink-2);line-height:1.6;font-size:.88rem}.presenter section{border-top:1px solid var(--line-2);padding:.6rem 0}.presenter h3{margin:0 0 .35rem;font-size:.95rem;color:var(--ink-2)}.presenter p{margin:.2rem 0}.presenter-status,.presenter-issues{margin:.3rem 0;padding-inline-start:1.1rem;display:grid;gap:.3rem}.legend{list-style:none;padding:0;margin:0;display:grid;gap:.35rem;font-size:.88rem}.legend-sample{margin-inline-end:.4rem;font-weight:700}.legend .claim-note{display:inline;margin:0}.shortcuts{margin:0;display:grid;gap:.25rem;font-size:.88rem}.shortcuts div{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem}.shortcuts dd{margin:0;color:var(--ink-2)}kbd{font-family:ui-monospace,Consolas,monospace;font-size:.82rem;padding:.05em .5em;border-radius:6px;border:1px solid var(--line);background:#ffffff0f;direction:ltr;display:inline-block}.presenter-foot{border-top:1px solid var(--line-2);padding-top:.7rem}.crash{padding:1.4rem 1.6rem;border-radius:18px;border:1px solid rgba(251,113,133,.55);background:#fb718512}.crash h2,.crash h3{margin:0 0 .4rem;color:#fecdd3}.crash-app{position:fixed;z-index:150;top:30%;left:50%;transform:translate(-50%);width:min(640px,92vw);background:var(--panel-solid)}.chapter-overlay.is-hidden{visibility:hidden;transition:opacity .4s,transform .5s,visibility 0s .5s}
