:root{--bg: #f1f5f4;--surface: #ffffff;--surface-2: #f7faf9;--ink: #1f2e2d;--muted: #5d706e;--faint: #8a9b99;--line: #d9e3e1;--edge: #b2c3c0;--accent: #5b8c8a;--accent-ink: #2c5a57;--accent-soft: #e3eeec;--on-accent: #ffffff;--good: #2d7a6e;--good-bg: #e6f2ef;--fair: #a8680f;--fair-bg: #fbf1e1;--poor: #b45f5f;--poor-bg: #f8e9e9;--crit: #b8332a;--crit-bg: #f9e3e1;--flag-bg: #f8eff0;--flag-line: #dfbfc4;--flag-ink: #a35f6a;--chip: #eef3f2;--shadow: 0 1px 2px rgba(20, 40, 38, .05), 0 8px 24px rgba(20, 40, 38, .06);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111819;--surface: #192326;--surface-2: #1e2a2d;--ink: #dce7e5;--muted: #95a9a6;--faint: #6f8582;--line: #2b3a3d;--edge: #4c6064;--accent: #8ab4b0;--accent-ink: #b9d6d3;--accent-soft: #223533;--on-accent: #10201f;--good: #8ab4b0;--good-bg: #1f3331;--fair: #d9ad55;--fair-bg: #352b19;--poor: #e3a0a0;--poor-bg: #3a2526;--crit: #ef7a70;--crit-bg: #3d2221;--flag-bg: #2d2124;--flag-line: #5e4248;--flag-ink: #d7a2aa;--chip: #23302f;--shadow: none;color-scheme:dark}}:root[data-theme=dark]{--bg: #111819;--surface: #192326;--surface-2: #1e2a2d;--ink: #dce7e5;--muted: #95a9a6;--faint: #6f8582;--line: #2b3a3d;--edge: #4c6064;--accent: #8ab4b0;--accent-ink: #b9d6d3;--accent-soft: #223533;--on-accent: #10201f;--good: #8ab4b0;--good-bg: #1f3331;--fair: #d9ad55;--fair-bg: #352b19;--poor: #e3a0a0;--poor-bg: #3a2526;--crit: #ef7a70;--crit-bg: #3d2221;--flag-bg: #2d2124;--flag-line: #5e4248;--flag-ink: #d7a2aa;--chip: #23302f;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);line-height:1.5;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}.glass-scrollbar{position:fixed;right:10px;top:50%;transform:translateY(-50%);width:10px;height:55vh;z-index:1000;background:linear-gradient(180deg,#ffffffb3,#eef4f280);backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%);border-radius:20px;border:1px solid rgba(138,180,176,.3);box-shadow:0 4px 16px #2c5a571f;overflow:hidden;user-select:none;-webkit-user-select:none}.glass-scrollbar .thumb{position:absolute;top:0;left:0;width:100%;border-radius:20px;cursor:grab;background:linear-gradient(180deg,#a0c8c4,#5b8c8a);box-shadow:inset 0 1px 2px #ffffff4d,0 0 12px #5b8c8a59,0 0 24px #5b8c8a26}.glass-scrollbar .thumb:active{cursor:grabbing}body.night-mode .glass-scrollbar{background:linear-gradient(180deg,#33444fbf,#232e34a6);border-color:#ffffff1f;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff08}body.night-mode .glass-scrollbar .thumb{background:linear-gradient(180deg,#ff6b6b,#c0392b);box-shadow:inset 0 1px 2px #ffffff1a,0 0 14px #8ab4b073,0 0 28px #8ab4b033}@media(max-width:860px){.glass-scrollbar{display:none}}:root{--navbar-bg: rgba(255, 255, 255, .78);--nav-ink: #4a5b6e;--nav-icon: #5f6b73;--nav-btn: #f0f2f5;--nav-btn-hover: #e2e8f0;--nav-border: rgba(138, 180, 176, .35)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--navbar-bg: rgba(26, 32, 39, .8);--nav-ink: #9ab0b8;--nav-icon: #9ab0b8;--nav-btn: rgba(62, 82, 94, .8);--nav-btn-hover: #4a6570;--nav-border: rgba(255, 255, 255, .1)}}:root[data-theme=dark]{--navbar-bg: rgba(26, 32, 39, .8);--nav-ink: #9ab0b8;--nav-icon: #9ab0b8;--nav-btn: rgba(62, 82, 94, .8);--nav-btn-hover: #4a6570;--nav-border: rgba(255, 255, 255, .1)}.navbar{position:fixed;top:calc(env(safe-area-inset-top,0px) + 20px);left:50%;transform:translate(-50%);width:67%;max-width:1190px;height:64px;padding:0 28px;z-index:1000;display:flex;align-items:center;justify-content:space-between;background:var(--navbar-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:60px;border:1px solid var(--nav-border);box-shadow:0 8px 28px #2c5a571f}.navbar .left,.navbar .right,.navbar .account-links{display:flex;align-items:center}.navbar .left{gap:24px}.navbar .right,.navbar .account-links{gap:10px}.navbar .logo{font-size:1.2rem;font-weight:700;color:var(--accent);text-decoration:none}.navbar .menu{display:flex;gap:24px}.navbar .menu a{text-decoration:none;color:var(--nav-ink);font-weight:500;font-size:.85rem;display:flex;align-items:center;gap:8px}.navbar .menu a.active{color:var(--accent);background:#5b8c8a1a;padding:6px 14px;border-radius:20px}.night-mode-toggle{width:36px;height:36px;border-radius:50%;border:none;background:var(--nav-btn);color:var(--accent);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .2s,transform .2s}.night-mode-toggle:hover{background:var(--nav-btn-hover);transform:scale(1.05)}.night-mode-toggle{font-size:1.2rem}.night-mode .night-mode-toggle{color:#c5e0e6}.navbar .account-links a{color:var(--nav-icon);font-size:1.2rem;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:color .2s,transform .15s,background .2s}.navbar .account-links a:hover{background:var(--nav-btn);color:var(--accent);transform:scale(1.1)}@media(max-width:1024px){.navbar{width:70%}}@media(max-width:768px){.navbar{width:calc(100% - 24px);padding:0 16px}.navbar .menu a span{display:none}.navbar .menu a.active{padding:6px 10px}}.page{max-width:1080px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 110px) 18px 48px;display:grid;gap:22px}.intro{display:grid;gap:8px;max-width:80ch}.intro h1{margin:0;font-size:1.6rem;font-weight:600;color:var(--accent-ink);border-left:4px solid #8ab4b0;padding-left:14px;text-wrap:balance}.intro h1 i{font-size:.85em;margin-right:4px}.intro p{margin:0;color:var(--muted);font-size:.9rem;padding-left:18px}:root[data-theme=dark] .intro h1{color:var(--accent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .intro h1{color:var(--accent)}}.foot{display:grid;gap:6px;max-width:80ch}.foot p{margin:0;font-size:.78rem;color:var(--faint)}.tool{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px 22px 24px;display:grid;gap:18px;min-width:0}.step-view{display:grid;gap:18px;min-width:0}.tool-head{display:flex;align-items:flex-start;gap:12px}.tool-head .steps{flex:1;min-width:0}.head-toggle{flex:none;width:32px;height:32px;margin-top:8px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;display:grid;place-items:center;font-size:.78rem;padding:0;transition:color .15s,border-color .15s}.head-toggle:hover{color:var(--accent);border-color:var(--accent)}.stepbar{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px 22px 16px;display:grid;gap:14px;min-width:0;transition:opacity .2s ease}.step-acts{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}body.on-proforma .tool{background:none;border:0;box-shadow:none;padding:0}body.railed .stepbar{opacity:0}body.compact .intro,body.compact .span-scores{display:none}body.compact .page{padding-top:calc(env(safe-area-inset-top,0px) + 96px)}body.compact .tool-head{align-items:center}body.compact .steps button>span:first-child{display:none}body.compact .steps button{padding-top:6px}body.compact .head-toggle{margin-top:0}.rail{position:fixed;z-index:40;top:50%;transform:translateY(-50%);width:84px;padding:10px 8px;display:grid;gap:4px;background:var(--navbar-bg);border:1px solid var(--nav-border);border-radius:22px;box-shadow:0 10px 30px #0a1e1c29;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);visibility:hidden;pointer-events:none}.rail.left{left:max(14px,calc((100vw - 1080px)/2 - 92px))}.rail.right{right:max(14px,calc((100vw - 1080px)/2 - 92px))}body.railed .rail{visibility:visible;pointer-events:auto}.rail-item{position:relative;display:grid;justify-items:center;gap:5px;padding:9px 4px 8px;border:none;border-radius:14px;background:none;color:var(--muted);cursor:pointer;font:inherit;font-size:.68rem;font-weight:600;text-align:center;line-height:1.2}.rail-item:hover{background:var(--accent-soft);color:var(--accent-ink)}.rail-item .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700;border:2px solid var(--line);color:var(--faint);background:var(--surface)}.rail-item.done .dot{border-color:var(--accent);color:var(--accent)}.rail-item.on{color:var(--ink)}.rail-item.on .dot{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rail-item .flag{position:absolute;top:4px;right:8px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--flag-bg);border:1px solid var(--flag-line);color:var(--flag-ink);font-size:.62rem;display:grid;place-items:center}.rail.left .rail-item:not(:last-child):after{content:"";position:absolute;left:50%;bottom:-6px;width:2px;height:10px;margin-left:-1px;background:var(--line);border-radius:1px}.rail.left .rail-item.done:after{background:var(--accent)}.rail-meta{display:grid;justify-items:center;gap:1px;padding:6px 2px 8px;margin-bottom:4px;font-size:.66rem;color:var(--faint);text-align:center;border-bottom:1px solid var(--line)}.rail-meta b{font-size:.8rem;color:var(--ink);font-weight:600}.rail-item .ico{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-size:.85rem;background:var(--surface);border:1px solid var(--line);color:var(--ink)}.rail-item.primary .ico{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rail-item:disabled{opacity:.55;cursor:progress}@media(max-width:1250px){.rail{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);transform:none;display:flex;width:auto;padding:6px;gap:2px;border-radius:18px}.rail.left{left:12px;right:auto}.rail.right{right:12px;left:auto}.rail-item{padding:6px 4px}.rail-item .lbl,.rail-meta,.rail.left .rail-item:after{display:none}.rail-item .dot,.rail-item .ico{width:28px;height:28px;font-size:.72rem}.rail-item .flag{top:0;right:0;min-width:15px;height:15px;padding:0 3px;font-size:.55rem}body.railed .page{padding-bottom:96px}}@media(prefers-reduced-motion:reduce){.stepbar{transition:none}}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.steps button{font:inherit;text-align:left;background:none;border:none;border-top:3px solid var(--line);padding:8px 2px 0;cursor:pointer;color:var(--faint);font-size:.76rem}.steps button b{display:block;font-size:.86rem;color:var(--muted);font-weight:600}.steps button.done,.steps button.on{border-top-color:var(--accent)}.steps button.on{color:var(--accent)}.steps button.on b{color:var(--ink)}.btn{font:inherit;font-size:.86rem;font-weight:600;border-radius:10px;padding:9px 16px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ghost{border-color:transparent;background:none;color:var(--accent);padding-inline:6px}.btn.danger{color:var(--crit)}.btn[disabled]{opacity:.45;cursor:default}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row.end{justify-content:space-between}.section-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:600}.notice{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--accent-ink);background:var(--accent-soft);border-radius:10px;padding:10px 12px}.example-link{font:inherit;font-size:.82rem;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px}.form-grid .w2{grid-column:span 2}.form-grid .w4{grid-column:1 / -1}.field{display:grid;gap:5px;font-size:.76rem;color:var(--muted);font-weight:500;min-width:0;align-content:start}.field input,.field textarea,.dd-btn{font:inherit;font-size:.86rem;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;width:100%;min-width:0}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field textarea{min-height:64px;resize:vertical}.field input[type=number]::-webkit-inner-spin-button,.field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]{-moz-appearance:textfield}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.type{text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:2px;color:var(--ink)}.type b{font-size:.9rem}.type span{font-size:.76rem;color:var(--muted)}.type.on{border-color:var(--accent);background:var(--accent-soft)}.spans-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.span-chip{font-size:.82rem;font-weight:600;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:6px 14px}.add-span{font:inherit;font-size:.82rem;border:1px dashed var(--line);background:none;color:var(--muted);border-radius:999px;padding:6px 14px;cursor:pointer}.add-span:hover{border-color:var(--accent);color:var(--accent)}.dd{position:relative;min-width:0}.dd-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left}.dd-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dd-btn .ph{color:var(--faint)}.dd-btn:after{content:"";width:7px;height:7px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg) translateY(-2px);flex:none}.dd.open .dd-btn{border-color:var(--accent)}.dd-list{display:none;position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000024;padding:6px;scrollbar-width:thin}.dd.open .dd-list{display:grid;gap:1px}.dd-list button{font:inherit;font-size:.82rem;text-align:left;background:none;border:none;color:var(--ink);padding:7px 10px;border-radius:8px;cursor:pointer}.dd-list button:hover,.dd-list button.sel{background:var(--accent-soft);color:var(--accent-ink)}.dd-list .grp{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:8px 10px 3px;font-weight:600}.chips,.seg{display:flex;flex-wrap:wrap;gap:6px}.chip{font:inherit;font-size:.82rem;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:7px 12px;display:grid;gap:1px;text-align:left}.chip small{font-size:.7rem;color:var(--muted)}.chip:hover{border-color:var(--accent)}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.chip[disabled]{opacity:.4;cursor:default}.chip.locked small{color:var(--accent)}.live{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between}.live-scores{display:flex;gap:8px}.mini{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.76rem;border-radius:8px;padding:4px 10px;font-variant-numeric:tabular-nums}.summary{font-size:.84rem;color:var(--muted)}.dotstrip{display:flex;flex-wrap:wrap;gap:10px 18px}.dot-group{display:grid;gap:4px;align-content:start}.dot-cat{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);white-space:nowrap}.dot-row{display:flex;flex-wrap:wrap;gap:4px}.dot{width:16px;height:16px;border-radius:4px;border:1px solid var(--edge);background:var(--surface);cursor:pointer;padding:0}.dot.ok{background:var(--good-bg);border-color:var(--good)}.dot.def{background:var(--fair-bg);border-color:var(--fair)}.dot.def.s4,.dot.def.s5{background:var(--crit-bg);border-color:var(--crit)}.dot.np{background:var(--chip);border-style:dashed}.dot.cur{outline:2px solid var(--accent);outline-offset:1px}.card{border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:14px;background:var(--surface-2);min-width:0}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.el-nav{display:flex;gap:6px}.el-nav .btn{gap:6px}.el-nav .btn i{font-size:.7em}.step-acts>.row:last-child{margin-left:auto}body.on-elements .tool-head{align-items:center}body.on-elements .head-toggle{margin-top:0}body.on-elements .stepbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}body.on-elements .step-acts{border-top:0;padding-top:0}.el-card{gap:12px;padding:14px 16px 16px}.el-head{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap}.el-head .el-name{font-size:1.1rem}.el-meta{font-size:.76rem;color:var(--muted)}.el-head .el-nav{margin-left:auto}.cond-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;border-bottom:1px solid var(--line);padding-bottom:8px}.cond-head .defect-tabs{border-bottom:0;padding-bottom:0}.el-name{font-size:1.22rem;font-weight:700;letter-spacing:-.01em;margin:0;text-wrap:balance}.group{display:grid;gap:7px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;padding-top:12px;border-top:1px dashed var(--line)}.detail-grid .w3{grid-column:1 / -1}.cond{display:grid;grid-template-columns:minmax(0,560px) 200px;grid-template-areas:"grid opts" "read opts";gap:10px 18px;align-items:start;min-width:0}.cgrid{grid-area:grid}.readout{grid-area:read}.cond-outside{grid-area:opts;display:flex;flex-direction:column;gap:6px;padding-top:26px}.cond-outside .opt{width:100%}.opt{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:5px 12px 5px 5px;cursor:pointer;text-align:left;font:inherit;color:var(--ink)}.opt:hover{border-color:var(--accent)}.opt .code{width:34px;height:28px;border-radius:9px;display:grid;place-items:center;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-weight:700;font-size:.85rem}.opt.na .code{border:1.5px dashed var(--edge);color:var(--faint)}.opt.ok .code{background:var(--good-bg);color:var(--good)}.opt b{display:block;font-size:.86rem;font-weight:600}.opt small{font-size:.72rem;color:var(--faint)}.opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.cgrid{display:grid;grid-template-columns:96px repeat(4,minmax(0,1fr));gap:6px}.cgrid .mh{font-size:.72rem;color:var(--faint);line-height:1.25;padding:2px 4px 4px;min-width:0}.cgrid .mh b{display:block;color:var(--ink);font-size:.82rem;font-weight:600;white-space:nowrap}.cgrid .mh .nm{font-style:normal}.cgrid .mh .rng{font-size:.7rem;font-weight:400;color:var(--faint);margin-left:4px}.cgrid .mh b span{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;color:var(--muted);margin-right:4px}.cgrid .row-h{display:flex;flex-direction:column;justify-content:center}.cgrid .corner{display:flex;align-items:flex-end;font-size:.66rem;color:var(--faint);letter-spacing:.04em;text-transform:uppercase}.cgrid .cell{display:grid;place-items:center;align-content:center;gap:1px;min-height:36px;border-radius:9px;cursor:pointer;border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--ink);padding:0;transition:border-color .12s ease,transform .12s ease}.cgrid .cell .c{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-weight:700;font-size:.92rem}.cgrid .cell:hover{border-color:var(--accent);transform:translateY(-1px)}.cgrid .cell.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cgrid .cell.on .c{color:var(--accent-ink)}.pip{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}.pip.s2{background:var(--good)}.pip.s3{background:var(--fair)}.pip.s4{background:var(--poor)}.pip.s5{background:var(--crit)}.readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:.82rem;color:var(--muted)}.readout b{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;color:var(--ink);font-size:.92rem}.pf-pop .cond{grid-template-columns:minmax(0,1fr) 112px;column-gap:10px}.pf-pop .cgrid{grid-template-columns:34px repeat(4,minmax(0,1fr));gap:4px}.pf-pop .cgrid .mh small,.pf-pop .cgrid .mh .nm,.pf-pop .opt small{display:none}.pf-pop .cgrid .mh{text-align:center}.pf-pop .cgrid .corner{visibility:hidden}.pf-pop .cond-outside{padding-top:24px}.pf-pop .cgrid .cell{min-height:38px}.pf-pop .opt{padding:5px 8px 5px 5px;gap:8px}.pf-pop .opt .code{width:30px;height:28px}.pf-pop .opt b{font-size:.78rem;line-height:1.2}@media(prefers-reduced-motion:reduce){.cgrid .cell{transition:none}.cgrid .cell:hover{transform:none}}.import-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--surface-2)}.import-card>div{display:grid;gap:2px;flex:1;min-width:0}.import-card b{font-size:.92rem}.import-card span:not(.btn):not(.ico):not(.spin){font-size:.8rem;color:var(--muted)}.import-card em{font-style:normal;color:var(--flag-ink)}.import-card .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:none}.import-card.drop{border:2px dashed var(--edge);cursor:pointer;transition:border-color .15s,background .15s}.import-card.drop:hover,.import-card.drop.over{border-color:var(--accent);background:var(--accent-soft)}.import-card .spin{width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.import-error{margin:0;font-size:.82rem;color:var(--flag-ink)}.prev-line{display:flex;gap:10px;align-items:center;font-size:.84rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:14px}.prev-line i{color:var(--accent)}.prev-line b{color:var(--ink);font-weight:600;margin-right:4px}.last{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--edge);background:var(--surface);border-radius:12px;padding:10px 12px}.last.kept{border-left-color:var(--accent)}.last .code{width:44px;height:36px;border-radius:9px;display:grid;place-items:center;border:1.5px dashed var(--edge);color:var(--muted);font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-weight:700;font-size:.9rem}.last .code.unsure,.unsure-note{color:var(--flag-ink)}.last .code.unsure{border-color:var(--flag-line);background:var(--flag-bg)}.last b{font-size:.84rem;font-weight:600}.last p{margin:2px 0 0;font-size:.8rem;color:var(--muted)}.last>.btn{gap:6px}.since-scores i{font-style:normal;font-family:Inter,system-ui,sans-serif;font-size:.78rem;color:var(--faint)}.kept-tag{font-size:.78rem;font-weight:600;color:var(--accent-ink);display:inline-flex;gap:6px;align-items:center}.cgrid .cell.was,.opt.was{border-style:dashed;border-color:var(--edge);position:relative}.cgrid .cell.was:after,.opt.was:after{content:"last";position:absolute;top:-7px;right:6px;font-size:.56rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:0 4px;border-radius:4px;background:var(--surface-2);color:var(--muted);font-family:Inter,system-ui,sans-serif}.cgrid .cell.was.on,.opt.was.on{border-style:solid;border-color:var(--accent)}.delta{font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.delta.same{background:var(--chip);color:var(--muted)}.delta.worse{background:var(--poor-bg);color:var(--poor)}.delta.better{background:var(--good-bg);color:var(--good)}.dot.prev{border-style:dashed}.since{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:10px;background:var(--surface)}.since-scores{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:.86rem;font-family:JetBrains Mono,ui-monospace,Consolas,monospace}.since-scores b{font-family:Inter,system-ui,sans-serif}.since-rows{display:grid;gap:4px}.since-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:.82rem;padding:4px 0;border-top:1px solid var(--line)}.since-row .no{color:var(--faint);font-variant-numeric:tabular-nums}.since-row .codes{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;color:var(--muted)}.since-row .codes b{color:var(--ink)}.faint{margin:0;font-size:.78rem;color:var(--faint)}.foot details summary{cursor:pointer;font-size:.78rem;color:var(--muted);width:max-content}.foot details[open] summary{margin-bottom:6px}.foot details p+p{margin-top:6px}.foot .copy{font-size:.74rem;color:var(--faint)}@media(prefers-reduced-motion:reduce){.import-card .spin{animation-duration:3s}}.works-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr) minmax(0,1.45fr);gap:12px 14px}.band-good{background:var(--good-bg);color:var(--good)}.band-fair{background:var(--fair-bg);color:var(--fair)}.band-poor{background:var(--poor-bg);color:var(--poor)}.band-crit{background:var(--crit-bg);color:var(--crit)}.locks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lock-card{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);cursor:pointer;padding:0;font:inherit;color:inherit;text-align:left;display:grid}.lock-card:hover{border-color:var(--accent)}.lock-art{height:84px;filter:blur(2.5px);opacity:.75;display:block;width:100%}.lock-meta{padding:8px 12px 10px;display:grid;gap:1px;border-top:1px solid var(--line)}.lock-meta b{font-size:.8rem}.lock-meta span{font-size:.72rem;color:var(--muted)}.lock-pill{position:absolute;top:28px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--surface);font-size:.68rem;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap}.cta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px}.cta-box{border-radius:14px;padding:16px;display:grid;gap:10px;align-content:start}.cta-box h3{margin:0;font-size:.95rem}.cta-box.main{background:var(--accent-soft)}.cta-box.alt{border:1px solid var(--line)}.cta-box p{margin:0;font-size:.82rem;color:var(--muted)}.span-list{display:grid;gap:10px}.span-row{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:10px;background:var(--surface-2)}.span-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.span-row-head b{font-size:.88rem}.span-grid{display:grid;grid-template-columns:.7fr .7fr 1.3fr 1.3fr 1.3fr 1.3fr;gap:10px}.btn.small{font-size:.8rem;padding:5px 10px}.add-span[disabled]{opacity:.45;cursor:default}.span-pills .chip small{font-size:.68rem}.defect-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:10px}.dtab{font:inherit;font-size:.8rem;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:5px 12px;cursor:pointer}.dtab.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.dtab.add{border-style:dashed;font-weight:500}.dtab:hover{border-color:var(--accent)}.span-scores{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.span-score{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.span-score b{font-size:.86rem;margin-right:4px}.pdf-pages{display:grid;gap:18px;justify-items:center;align-content:start;min-height:200px;padding:18px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.pdf-pages:hover{scrollbar-color:#8ab4b0 transparent}.pdf-pages::-webkit-scrollbar{width:6px}.pdf-pages::-webkit-scrollbar-track{background:transparent}.pdf-pages::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px}.pdf-pages::-webkit-scrollbar-thumb:hover{background:#8ab4b0}.pdf-sheet{display:block;max-width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow)}.pdf-open{font-size:.82rem;font-weight:600;color:var(--accent);justify-self:start}@media(max-width:760px){.cta,.types{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.form-grid .w2{grid-column:1 / -1}.detail-grid,.works-row{grid-template-columns:1fr}.import-card{flex-wrap:wrap}.last{grid-template-columns:auto minmax(0,1fr)}.last>.btn,.last>.kept-tag{grid-column:1 / -1;justify-self:start}body.on-elements .stepbar{grid-template-columns:minmax(0,1fr)}.cgrid,.pf-pop .cgrid{grid-template-columns:34px repeat(4,minmax(0,1fr));gap:4px}.cgrid .mh small,.cgrid .mh .nm{display:none}.cgrid .corner{visibility:hidden}.cgrid .mh{text-align:center}.cgrid .cell{min-height:42px}.cond,.pf-pop .cond{grid-template-columns:minmax(0,1fr);grid-template-areas:"opts" "grid" "read"}.cond-outside,.pf-pop .cond-outside{flex-direction:row;flex-wrap:wrap;padding-top:0}.cond-outside .opt{width:auto}.locks,.span-grid{grid-template-columns:1fr 1fr}.steps button{font-size:.7rem}.steps button b{font-size:.78rem}.tool{padding:16px}.stepbar{padding:12px 16px 14px}}.sign-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.78rem;color:var(--muted)}.field .lab{display:flex;justify-content:space-between;gap:8px}.unset{display:none;color:var(--flag-ink);font-weight:600;font-size:.68rem}.field.flag .unset{display:inline}.field.flag input,.field.flag .dd-btn{border-color:var(--flag-line);background:var(--flag-bg)}.steps .gap{display:block;font-size:.7rem;color:var(--flag-ink);font-weight:500}.steps .gap:empty{display:none}.field.flag input:focus{border-color:var(--accent)}.span-grid .field.flag .unset{display:none}.pdf-sheet-wrap{position:relative;max-width:100%}.pf-hot{position:absolute;border:0;padding:0;margin:0;background:transparent;border-radius:2px;cursor:pointer}.pf-hot:hover,.pf-hot:focus-visible{background:#5b8c8a29;outline:1.5px solid rgba(91,140,138,.75);outline-offset:0}.pf-pop{position:absolute;z-index:5;width:min(340px,calc(100% - 16px));display:grid;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #14282638}.pf-pop select{font:inherit;font-size:.9rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px 10px;width:100%;min-width:0}.pf-pop select:focus{border-color:var(--accent);outline:none}.pf-actions{display:flex;justify-content:flex-end;gap:8px}.pf-pop.el{width:min(440px,calc(100% - 16px))}.pf-title{font-weight:600;font-size:.9rem}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.pf-grid .w2{grid-column:1 / -1}.pf-pop .defect-tabs{margin:0}.pf-note{margin:0;font-size:.76rem;color:var(--flag-ink)}.dp-btn{display:flex;align-items:center;gap:11px;width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:7px 12px 7px 7px}.dpick.open .dp-btn,.dp-btn:hover{border-color:var(--accent)}.dp-btn .dp-code{width:40px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}.dp-code{flex:none;font-family:SFMono-Regular,Consolas,monospace}.dp-text{flex:1;min-width:0;display:grid}.dp-text .dp-name{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-text .dp-name.ph{color:var(--faint);font-weight:500}.dp-cat{font-size:.7rem;color:var(--faint)}.dp-chev{flex:none;font-size:.65rem;color:var(--muted);transition:transform .2s ease}.dpick.open .dp-chev{transform:rotate(180deg)}.dd.open .dp-sheet{display:block;padding:0;max-height:none;overflow:hidden;min-width:260px}.dp-search{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.dp-search input{flex:1;min-width:0;border:none;background:none;outline:none;font:inherit;font-size:.82rem;color:var(--ink);padding:0}.dp-search input:focus-visible{outline:none}.dp-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.dp-list{max-height:240px;overflow-y:auto;padding:4px 0 6px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 35%,transparent) transparent}.dp-list .grp{padding:8px 13px 4px;font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--accent)}.dd-list .dp-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 13px;border-radius:0}.dp-row .dp-code{width:30px;font-size:10.5px;font-weight:700;color:var(--muted)}.dp-row .dp-name{font-size:.8rem;font-weight:600}.dd-list .dp-row:hover .dp-name,.dd-list .dp-row.sel .dp-name{color:var(--accent-ink)}.dp-list [hidden]{display:none}.dp-empty{margin:0;padding:24px 16px;text-align:center;font-size:.8rem;color:var(--muted)}.field.flag .dp-btn{border-color:var(--flag-line);background:var(--flag-bg)}.field .flatpickr-wrapper{display:block;width:100%}.field input.flatpickr-input[readonly]{cursor:pointer}.flatpickr-calendar{font-family:inherit;border-radius:12px}.pf-pop .flatpickr-calendar.inline{margin:8px auto 0;box-shadow:none;border:1px solid var(--line)}.flatpickr-monthSelect-month{border-radius:8px;border:none;color:#2c3e44}.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:#5b8c8a1f}.flatpickr-monthSelect-month.selected,.flatpickr-monthSelect-month.selected:hover{background:#5b8c8a;color:#fff}.night-mode .flatpickr-monthSelect-month{color:#d4dfe3}.night-mode .flatpickr-monthSelect-month:hover,.night-mode .flatpickr-monthSelect-month:focus{background:#8ab4b029}.night-mode .flatpickr-monthSelect-month.selected,.night-mode .flatpickr-monthSelect-month.selected:hover{background:#8ab4b0;color:#10201f}.night-mode .flatpickr-monthSelect-month.flatpickr-disabled{color:#5c6d73}
