:root{--bg:#e4e9e8;--surface:#f8faf9;--surface-2:#edf1f0;--surface-3:#e1e7e6;--ink:#0f1617;--ink-2:#3b4849;--muted:#55635f;--faint:#5c6a68;--line:#ccd5d3;--line-2:#b4c0be;--hair:#dde4e3;--accent:#0e6459;--accent-ink:#fff;--accent-soft:#d5e6e2;--accent-line:#8ebdb5;--blue:#334f7c;--blue-soft:#dce3f0;--ok:#2a6f49;--ok-soft:#d8eadf;--warn:#8e6209;--warn-soft:#f3e7cc;--crit:#9e3527;--crit-soft:#f3dcd8;--info:#2f5c87;--info-soft:#dbe6f1;--shadow:0 1px 2px #101e1d0f, 0 8px 24px -12px #101e1d2e;--shadow-lg:0 2px 4px #101e1d14, 0 24px 60px -20px #101e1d52;--f-disp:"IBM Plex Sans Condensed","IBM Plex Sans Thai",system-ui,sans-serif;--f-body:"IBM Plex Sans Thai","IBM Plex Sans",system-ui,-apple-system,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--rail:56px;--spine:264px;--dockw:344px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f10;--surface:#111819;--surface-2:#182021;--surface-3:#1e2728;--ink:#e2eae8;--ink-2:#b7c4c2;--muted:#7f908e;--faint:#72837f;--line:#25302f;--line-2:#35423f;--hair:#1c2526;--accent:#41a797;--accent-ink:#04211d;--accent-soft:#0f312c;--accent-line:#2c6b62;--blue:#87a6d8;--blue-soft:#1a2436;--ok:#54b07e;--ok-soft:#123023;--warn:#d6a64a;--warn-soft:#33280f;--crit:#e07766;--crit-soft:#3a1d18;--info:#74a4d2;--info-soft:#152634;--shadow:0 1px 2px #00000080, 0 8px 24px -12px #000000b3;--shadow-lg:0 2px 4px #00000080, 0 24px 60px -20px #000000d9}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f10;--surface:#111819;--surface-2:#182021;--surface-3:#1e2728;--ink:#e2eae8;--ink-2:#b7c4c2;--muted:#7f908e;--faint:#72837f;--line:#25302f;--line-2:#35423f;--hair:#1c2526;--accent:#41a797;--accent-ink:#04211d;--accent-soft:#0f312c;--accent-line:#2c6b62;--blue:#87a6d8;--blue-soft:#1a2436;--ok:#54b07e;--ok-soft:#123023;--warn:#d6a64a;--warn-soft:#33280f;--crit:#e07766;--crit-soft:#3a1d18;--info:#74a4d2;--info-soft:#152634;--shadow:0 1px 2px #00000080, 0 8px 24px -12px #000000b3;--shadow-lg:0 2px 4px #00000080, 0 24px 60px -20px #000000d9}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--f-disp);text-wrap:balance;margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--f-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.app{grid-template-columns:var(--rail) var(--spine) minmax(0, 1fr);height:100dvh;display:grid}.app.dockopen{grid-template-columns:var(--rail) var(--spine) minmax(0, 1fr) var(--dockw)}.rail{background:var(--surface-2);border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:2px;padding:10px 0;display:flex}.mark{place-items:center;width:32px;height:32px;margin-bottom:12px;display:grid}.rbtn{width:36px;height:36px;color:var(--muted);border-radius:4px;place-items:center;display:grid;position:relative}.rbtn svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.rbtn:hover{background:var(--surface-3);color:var(--ink)}.rbtn.on{color:var(--accent);background:var(--accent-soft)}.rbtn.on:before{content:"";background:var(--accent);width:2px;position:absolute;top:8px;bottom:8px;left:-10px}.rdot{background:var(--crit);border:1.5px solid var(--surface-2);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.rail .sp{flex:1}.spine{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.spine-hd{padding:14px 14px 0}.brandline{border-bottom:1px solid var(--hair);align-items:baseline;gap:7px;margin-bottom:9px;padding-bottom:9px;display:flex}.brandline b{font-family:var(--f-disp);letter-spacing:.01em;color:var(--accent);font-size:15px;font-weight:700}.brandline span{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.proj-sel{text-align:left;border:1px solid var(--line);border-radius:4px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.proj-sel:hover{border-color:var(--line-2);background:var(--surface-2)}.proj-sel b{font-family:var(--f-disp);font-size:14.5px;font-weight:600;line-height:1.25;display:block}.proj-sel .caret{color:var(--faint);margin-left:auto;font-size:10px}.proj-wrap{position:relative}.proj-menu{z-index:40;background:var(--surface);border:1px solid var(--line-2);border-radius:5px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 10px 28px #00000038}.proj-menu a{border-radius:4px;padding:6px 8px;display:block}.proj-menu a:hover{background:var(--surface-2)}.proj-menu a.on{background:var(--accent-soft)}.proj-menu a b{font-family:var(--f-disp);font-size:13px;font-weight:600;line-height:1.3;display:block}.proj-menu a.all{border-top:1px solid var(--hair);color:var(--accent);margin-top:3px;padding-top:7px;font-size:12px}.spine-scroll{flex:1;padding:8px 0 20px;overflow-y:auto}.sgroup{align-items:center;gap:8px;padding:14px 14px 6px;display:flex}.sgroup .ln{background:var(--hair);flex:1;height:1px}.station{text-align:left;grid-template-columns:34px 1fr;align-items:stretch;width:100%;display:grid;position:relative}.station .glyph{place-items:center;font-size:13px;display:grid;position:relative}.station .glyph:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-.5px)}.station:first-of-type .glyph:before{top:50%}.station .dot{z-index:1;background:var(--surface);border:1.5px solid var(--line-2);border-radius:50%;width:11px;height:11px;position:relative}.station[data-state=done] .dot{background:var(--accent);border-color:var(--accent)}.station[data-state=active] .dot{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);border-width:2.5px}.station[data-state=locked] .dot{background:var(--surface);border-style:dashed;border-color:var(--line-2)}.station .body{border-radius:4px;margin:1px 8px 1px 0;padding:7px 12px 7px 4px}.station:hover .body{background:var(--surface-2)}.station.on .body{background:var(--accent-soft)}.station .lbl{font-family:var(--f-disp);color:var(--ink-2);font-size:13.5px;font-weight:500;line-height:1.3;display:block}.station.on .lbl{color:var(--accent);font-weight:600}.station .sub{font-family:var(--f-mono);color:var(--faint);letter-spacing:.04em;font-size:10px;display:block}.gate{text-align:left;grid-template-columns:34px 1fr;align-items:center;width:100%;display:grid}.gate .glyph{place-items:center;display:grid}.gd{z-index:1;background:var(--bg);border:1.5px solid var(--line-2);width:9px;height:9px;position:relative;transform:rotate(45deg)}.gate[data-g=pass] .gd{background:var(--ok);border-color:var(--ok)}.gate[data-g=hold] .gd{background:var(--warn);border-color:var(--warn)}.gate[data-g=lock] .gd{background:var(--surface);border-color:var(--line-2)}.gate .gtxt{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding-left:4px;font-size:9.5px}.gate:hover .gtxt{color:var(--ink-2)}.subnav{flex-direction:column;margin:0 8px 4px 34px;display:flex;overflow:hidden}.subnav a{text-align:left;color:var(--muted);border-radius:3px;align-items:center;gap:8px;padding:5px 10px;font-size:13px;display:flex}.subnav a:hover{background:var(--surface-2);color:var(--ink)}.subnav a.on{color:var(--ink);background:var(--surface-3);font-weight:500}.subnav .n{font-family:var(--f-mono);color:var(--faint);margin-left:auto;font-size:10px}.main{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:10px;height:50px;padding:0 16px;display:flex}.crumb{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;min-width:0;font-size:12.5px;display:flex;overflow:hidden}.crumb b,.crumb span{text-overflow:ellipsis;overflow:hidden}.crumb b{color:var(--ink);font-weight:600}.crumb .sl{color:var(--faint)}.crumb a{color:var(--muted);border-bottom:1px solid #0000}.crumb a:hover{color:var(--ink);border-bottom-color:var(--line-2)}.cmdk{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);cursor:pointer;border-radius:4px;align-items:center;gap:8px;min-width:190px;margin-left:auto;padding:5px 9px;font-size:12.5px;display:flex}.cmdk:hover{border-color:var(--accent-line);color:var(--ink)}.cmdk kbd{font-family:var(--f-mono);border:1px solid var(--line-2);color:var(--faint);border-radius:3px;margin-left:auto;padding:1px 4px;font-size:10px}.tbtn{width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:4px;place-items:center;display:grid;position:relative}.tbtn:hover{background:var(--surface-2);color:var(--ink)}.tbtn.on{color:var(--accent);background:var(--accent-soft)}.tbtn svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.canvas{flex:1;min-height:0;overflow:hidden auto}.main-inner{flex-direction:column;gap:24px;max-width:1180px;padding:22px 26px 80px;display:flex}.dock{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex;overflow:hidden}.dock-hd{border-bottom:1px solid var(--hair);align-items:center;gap:8px;padding:12px 14px;display:flex}.dock-body{flex:1;padding:14px;overflow-y:auto}.dock-sec{margin-bottom:18px}.dock-sec h4{font-family:var(--f-disp);letter-spacing:.02em;align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;display:flex}.wp{border-top:1px solid var(--hair);gap:9px;padding:7px 0;font-size:12.5px;line-height:1.4;display:flex}.pagehd{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:4px;display:flex}.pagehd h1{letter-spacing:-.015em;font-size:23px;line-height:1.15}.pagehd .lead{color:var(--muted);max-width:62ch;margin-top:3px;font-size:13px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{flex-direction:column;gap:14px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=900px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{background:var(--surface);border:1px solid var(--line);border-radius:5px}.card-hd{border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.card-hd h3{font-size:14.5px}.card-bd{padding:14px}.card-bd.flush{padding:0}.tag{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--surface-3);color:var(--muted);white-space:nowrap;border-radius:3px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.crit{background:var(--crit-soft);color:var(--crit)}.tag.info{background:var(--info-soft);color:var(--info)}.tag.acc{background:var(--accent-soft);color:var(--accent)}.tag.blue{background:var(--blue-soft);color:var(--blue)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:12px 14px;position:relative;overflow:hidden}.stat .v{font-family:var(--f-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:5px;font-size:25px;font-weight:500;line-height:1.1}.stat .m{color:var(--muted);margin-top:3px;font-size:11.5px}.stat.acc .v{color:var(--accent)}.stat.ok .v{color:var(--ok)}.stat.warn .v{color:var(--warn)}.stat.crit .v{color:var(--crit)}.stat:after{content:"";background:var(--line-2);width:2px;position:absolute;top:0;bottom:0;left:0}.stat.acc:after{background:var(--accent)}.stat.ok:after{background:var(--ok)}.stat.warn:after{background:var(--warn)}.stat.crit:after{background:var(--crit)}.stat.stub{opacity:.55}a.stat{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s;display:block}a.stat:hover{border-color:var(--line-2);transform:translateY(-1px)}a.stat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bar{background:var(--surface-3);border-radius:3px;min-width:60px;height:5px;overflow:hidden}.bar i{background:var(--accent);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.2,.7,.3,1);display:block}.bar i.ok{background:var(--ok)}.bar i.warn{background:var(--warn)}.bar i.crit{background:var(--crit)}.note{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;gap:9px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.note.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.note.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.note.crit{background:var(--crit-soft);color:var(--crit);border-color:#0000}.note.acc{background:var(--accent-soft);color:var(--accent);border-color:#0000}.note b{font-weight:600}.note .ic{font-family:var(--f-mono);flex:none;font-weight:600}.ladder{gap:0;padding:4px 0;display:flex;overflow-x:auto}.lstep{flex:1;min-width:112px;padding:0 4px;position:relative}.lstep .track{background:var(--line);height:2px;margin:16px 0 10px;position:relative}.lstep .track i{background:var(--accent);width:0;transition:width .6s;position:absolute;inset:0}.lstep .knob{background:var(--surface);border:2px solid var(--line-2);width:17px;height:17px;font-size:9px;font-family:var(--f-mono);color:var(--faint);z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;top:9px;left:calc(50% - 8px)}.lstep[data-s=done] .knob{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.lstep[data-s=done] .track i{width:100%}.lstep[data-s=active] .knob{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.lstep[data-s=active] .track i{width:50%}.lstep .nm{font-family:var(--f-disp);text-align:center;color:var(--ink-2);font-size:12px;line-height:1.25}.lstep .st{font-family:var(--f-mono);text-align:center;color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:9.5px}.tl{padding-left:22px;position:relative}.tl:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.tli{padding:0 0 16px;position:relative}.tli:last-child{padding-bottom:0}.tli:before{content:"";background:var(--surface);border:1.5px solid var(--line-2);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:-21px}.tli.acc:before{background:var(--accent);border-color:var(--accent)}.tli.crit:before{background:var(--crit);border-color:var(--crit)}.tli .t{font-family:var(--f-mono);color:var(--faint);font-size:10.5px}.tli .h{margin-top:1px;font-size:13px;font-weight:500}.tli .d{color:var(--muted);margin-top:2px;font-size:12.5px}.score-ring-row{align-items:center;gap:14px;display:flex}.score-num{font-family:var(--f-disp);color:var(--accent);font-size:34px;font-weight:700}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--faint);border-bottom:1px solid var(--line);padding:6px 10px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--hair);vertical-align:top;padding:9px 10px}tr:last-child td{border-bottom:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:var(--surface);cursor:pointer;border-radius:20px;padding:3px 9px;font-size:12px}.chip:hover{border-color:var(--line-2);color:var(--ink)}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--surface);font-weight:500}.tiny{font-size:12px}.dim{color:var(--muted)}.nowrap{white-space:nowrap}.ttl{font-weight:500;display:block}.sub2{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.kv{grid-template-columns:auto 1fr;gap:5px 16px;font-size:13px;display:grid}.kv dt{color:var(--muted);font-size:12px}.kv dd{margin:0}.matrix{font-family:var(--f-mono);grid-template-columns:auto repeat(5,1fr);gap:2px;font-size:11px;display:grid}.mcell{aspect-ratio:1.5;cursor:pointer;border:1px solid #0000;border-radius:2px;place-items:center;font-size:12px;transition:transform .12s;display:grid}.mcell:hover{border-color:var(--ink);transform:scale(1.06)}.mcell.on{border-color:var(--ink);border-width:2px}.mlab{color:var(--faint);place-items:center;font-size:9.5px;display:grid}.maxis{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:6px;font-size:9.5px}.donut{flex:none;transform:rotate(-90deg)}.donut circle{fill:none;stroke-width:9px;stroke-linecap:round}.donut .bg2{stroke:var(--surface-3)}.donut .fg{transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.3,1)}.btn{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{opacity:.92}.btn.sm{border-radius:5px;padding:5px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--surface)}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--ink-2);font-size:12px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:6px;padding:8px 10px}.field textarea{resize:vertical;min-height:60px}.toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.empty{color:var(--muted);text-align:center;padding:20px;font-size:13px}.overlay{z-index:50;background:#0f161766;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;flex-shrink:0;gap:14px;width:460px;max-width:92vw;margin:auto;padding:22px;display:flex}.pal{background:var(--surface);border:1px solid var(--line-2);width:min(580px,92vw);box-shadow:var(--shadow-lg);z-index:60;border-radius:8px;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.pal input{border:0;border-bottom:1px solid var(--hair);box-sizing:border-box;background:0 0;outline:none;width:100%;padding:14px 16px;font-size:15px}.pal-list{max-height:46vh;padding:6px;overflow-y:auto}.pal-item{text-align:left;width:100%;color:var(--ink-2);border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.pal-item:hover,.pal-item.active{background:var(--surface-2);color:var(--ink)}.pal-item .pal-node{color:var(--faint);font-size:11.5px;font-family:var(--f-mono);margin-left:auto}.whoami{align-items:center;gap:6px;min-width:0;display:flex}.whoami .nm{white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:12.5px;font-weight:600;overflow:hidden}.files{flex-direction:column;gap:4px;margin-top:5px;display:flex}.file{align-items:stretch;gap:2px;display:flex}.file-main{text-align:left;cursor:pointer;background:var(--surface-2);border:1px solid var(--hair);min-width:0;color:inherit;font:inherit;border-radius:6px;flex:1;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:4px 7px 4px 5px;display:grid}.file-main:hover{background:var(--accent-soft);border-color:var(--accent-line)}.file-main .ext{font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--surface-3);color:var(--muted);text-align:center;border-radius:3px;min-width:30px;padding:4px 3px;font-size:9px;line-height:1}.file-main:hover .ext{background:var(--accent);color:var(--accent-ink)}.file-main .nm{min-width:0}.file-main .nm b,.file-main .nm i{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.file-main .nm b{font-size:12px;font-weight:600}.file-main .nm i{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px;font-style:normal}.file .x{cursor:pointer;width:24px;color:var(--faint);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;font-size:13px;line-height:1}.file .x:hover{color:var(--crit);background:var(--crit-soft);border-color:var(--crit-soft)}.file .x:disabled{opacity:.35;cursor:not-allowed}.file .x:disabled:hover{color:var(--faint);background:0 0;border-color:#0000}.attach{cursor:pointer;white-space:nowrap;border:1px dashed var(--line-2);font:inherit;color:var(--muted);background:0 0;border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;display:inline-flex}.attach:hover{border-color:var(--accent);color:var(--accent);border-style:solid}.attach:disabled{opacity:.45;cursor:not-allowed}.attach:disabled:hover{border-color:var(--line-2);color:var(--muted);border-style:dashed}.partband{border-bottom:2px solid var(--line-2);flex-wrap:wrap;align-items:baseline;gap:10px;margin:22px 0 -2px;padding-bottom:7px;display:flex}.partband:first-of-type{margin-top:4px}.partband h2{font-family:var(--f-disp);letter-spacing:-.01em;margin:0;font-size:19px}.jump{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.auditform{min-width:880px}.auditform th:nth-child(2),.auditform td:nth-child(2){min-width:240px}.lp{background:var(--bg);min-height:100vh;color:var(--ink);font-size:15px;line-height:1.7;overflow-x:clip}.lp h1,.lp h2,.lp h3{font-family:var(--f-disp);letter-spacing:-.015em}.lp-rv{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(14px)}.lp-rv.lp-in{opacity:1;transform:none}.lp-rv.lp-in>*{animation:.5s both lp-up;animation-delay:var(--d,0s)}@keyframes lp-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.lp-nav{z-index:20;border-bottom:1px solid #0000;transition:background .25s,border-color .25s;position:sticky;top:0}.lp-nav.stuck{background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);backdrop-filter:blur(12px)saturate(1.3);border-bottom-color:var(--hair)}.lp-nav-in{align-items:center;gap:20px;max-width:1120px;margin:0 auto;padding:13px 22px;display:flex}.lp-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.lp-brand svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.lp-brand:hover svg{transform:rotate(-8deg)scale(1.06)}.lp-brand span{flex-direction:column;line-height:1.2;display:flex}.lp-brand b{font-family:var(--f-disp);font-size:17px}.lp-brand i{color:var(--muted);font-size:11px;font-style:normal}.lp-links{gap:24px;margin:0 auto;display:flex}.lp-links a{color:var(--ink-2);padding:3px 0;font-size:14px;font-weight:600;text-decoration:none;position:relative}.lp-links a:after{content:"";background:var(--accent);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:0;left:0}.lp-links a:hover{color:var(--accent)}.lp-links a:hover:after{width:100%}.lp-navbtn{flex-shrink:0}.lp-big{border-radius:10px;padding:12px 24px;font-size:15px;text-decoration:none}.btn.primary.lp-big{box-shadow:0 6px 20px -8px color-mix(in srgb, var(--accent) 70%, transparent)}.lp-arrow{transition:transform .25s;display:inline-block}.btn:hover .lp-arrow{transform:translate(3px)}.lp-hero{text-align:center;max-width:1120px;margin:0 auto;padding:78px 22px 0;position:relative}.lp-aura{pointer-events:none;z-index:0;background:radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 70%);filter:blur(20px);width:min(900px,120%);height:520px;position:absolute;top:-80px;left:50%;transform:translate(-50%)}.lp-hero-in{z-index:1;position:relative}.lp-hero h1{text-wrap:balance;margin:0 0 22px;font-size:clamp(30px,5.4vw,60px);font-weight:700;line-height:1.14}.lp-hl{color:var(--accent)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.lp-hl{background:linear-gradient(96deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--blue)));color:#0000;-webkit-background-clip:text;background-clip:text}}.lp-lead{max-width:620px;color:var(--ink-2);margin:0 auto 30px;font-size:clamp(15px,2vw,17px)}.lp-cta{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.lp-trust{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 26px;margin:28px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.lp-trust li:before{content:"✓";color:var(--ok);margin-right:7px;font-weight:700}.lp-frame{margin-top:52px;position:relative}.lp-glow{pointer-events:none;background:radial-gradient(60% 60% at 50% 40%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 72%);filter:blur(46px);border-radius:40px;position:absolute;inset:14% 6% -6%}.lp-shot{text-align:left;background:var(--surface);border:1px solid var(--line);max-width:840px;box-shadow:var(--shadow-lg);border-radius:14px;margin:0 auto;position:relative;overflow:hidden}.lp-chrome{background:var(--surface-3);border-bottom:1px solid var(--hair);align-items:center;gap:6px;padding:10px 14px;display:flex}.lp-chrome i{background:var(--line-2);border-radius:50%;width:9px;height:9px}.lp-chrome span{color:var(--muted);margin-left:10px;font-size:11px}.lp-shot-hd{border-bottom:1px solid var(--hair);background:var(--surface-2);flex-wrap:wrap;align-items:baseline;gap:10px;padding:14px 18px;display:flex}.lp-shot-tag{font-family:var(--f-disp);font-size:15px;font-weight:700}.lp-shot-sub{color:var(--muted);font-size:12px}.lp-shot-score{border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:28px;padding:20px 18px;display:flex}.lp-shot-fig{min-width:120px}.lp-shot-num{font-family:var(--f-disp);color:var(--accent);font-size:44px;font-weight:700;line-height:1}.lp-shot-lbl{color:var(--muted);margin-top:5px;font-size:11.5px}.lp-shot-bars{flex-direction:column;flex:1;gap:8px;min-width:230px;display:flex}.lp-bar{grid-template-columns:1fr 92px 34px;align-items:center;gap:10px;font-size:11.5px;display:grid}.lp-bar i{background:var(--surface-3);border-radius:3px;height:5px;display:block;overflow:hidden}.lp-bar i b{background:linear-gradient(90deg, var(--accent), var(--ok));border-radius:3px;width:0;height:100%;transition:width 1.1s cubic-bezier(.2,.75,.25,1) .25s;display:block}.lp-bar em{text-align:right;color:var(--muted);font-style:normal}.lp-shot-tbl{border-collapse:collapse;width:100%;font-size:12.5px}.lp-shot-tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--hair);padding:9px 18px;font-size:11px;font-weight:600}.lp-shot-tbl td{border-bottom:1px solid var(--hair);padding:10px 18px}.lp-shot-tbl tr:last-child td{border-bottom:0}.lp-app{color:var(--ink-2)}.lp-pill{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.lp-pill.ok{background:var(--ok-soft);color:var(--ok)}.lp-pill.warn{background:var(--warn-soft);color:var(--warn)}.lp-pill.crit{background:var(--crit-soft);color:var(--crit)}.lp-pill.dim{background:var(--surface-3);color:var(--muted)}.lp-shot-ft{background:var(--surface-2);color:var(--faint);padding:11px 18px;font-size:11px}.lp-stats{max-width:1120px;margin:0 auto;padding:74px 22px 0}.lp-stats-in{background:var(--line);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;display:grid;overflow:hidden}.lp-stat{background:var(--surface);text-align:center;padding:24px 20px;transition:background .25s}.lp-stat:hover{background:var(--surface-2)}.lp-stat-n{font-family:var(--f-disp);color:var(--accent);font-size:40px;font-weight:700;line-height:1}.lp-stat-l{margin-top:9px;font-size:13.5px;font-weight:600}.lp-stat-note{color:var(--muted);margin-top:3px;font-size:11.5px}.lp-marquee{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--surface);margin-top:74px;padding:16px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.lp-marquee-track{gap:10px;width:max-content;animation:46s linear infinite lp-slide;display:flex}.lp-marquee:hover .lp-marquee-track{animation-play-state:paused}.lp-chip{background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:13px}@keyframes lp-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.lp-sec{max-width:1120px;margin:0 auto;padding:84px 22px 0;scroll-margin-top:72px}.lp-sec h2{text-align:center;margin:0 0 12px;font-size:clamp(26px,4.4vw,38px)}.lp-sec-lead{text-align:center;max-width:640px;color:var(--ink-2);margin:0 auto 40px;font-size:15px}.lp-std{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;display:grid}.lp-std-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s;position:relative;overflow:hidden}.lp-std-card:before{content:"";background:linear-gradient(90deg, var(--accent), transparent);transform-origin:0;height:2px;transition:transform .35s;position:absolute;inset:0 0 auto;transform:scaleX(0)}.lp-std-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.lp-std-card:hover:before{transform:scaleX(1)}.lp-std-hd{justify-content:space-between;align-items:center;gap:10px;display:flex}.lp-std-hd b{font-family:var(--f-disp);font-size:17.5px}.lp-tag{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:600}.lp-std-name{color:var(--ink-2);margin:9px 0 15px;font-size:13.5px}.lp-std-card dl{flex-direction:column;gap:8px;margin:0;display:flex}.lp-std-card dl div{border-top:1px solid var(--hair);justify-content:space-between;gap:12px;padding-top:8px;font-size:12.5px;display:flex}.lp-std-card dt{color:var(--muted);white-space:nowrap}.lp-std-card dd{text-align:right;margin:0;font-weight:600}.lp-std-ref{background:var(--surface-2)}.lp-refs{flex-wrap:wrap;gap:8px;display:flex}.lp-refs span{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 13px;font-size:12.5px;font-weight:600}.lp-grid{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px;display:grid}.lp-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .28s}.lp-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.lp-ico{border-radius:11px;place-items:center;width:42px;height:42px;margin-bottom:14px;font-size:20px;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:grid}.lp-card:hover .lp-ico{transform:scale(1.1)rotate(-5deg)}.lp-ico.ta{background:var(--accent-soft)}.lp-ico.tb{background:var(--blue-soft)}.lp-ico.tc{background:var(--warn-soft)}.lp-ico.td{background:var(--ok-soft)}.lp-card h3{margin:0 0 8px;font-size:16px}.lp-card p{color:var(--ink-2);margin:0;font-size:13.5px}.lp-hgrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.lp-hcard{background:linear-gradient(160deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft) 35%, var(--surface)));border:1px solid var(--accent-line);border-radius:14px;padding:24px 22px 22px;transition:transform .28s cubic-bezier(.2,.8,.2,1);position:relative}.lp-hcard:hover{transform:translateY(-4px)}.lp-hnum{font-family:var(--f-mono);color:var(--accent);opacity:.65;letter-spacing:.08em;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.lp-hcard h3{color:var(--accent);margin:0 0 9px;font-size:16.5px}.lp-hcard p{color:var(--ink-2);margin:0;font-size:13.5px}.lp-final{text-align:center;max-width:1120px;margin:96px auto 0;padding:0 22px 96px;position:relative}.lp-final-in{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:56px 26px;position:relative;overflow:hidden}.lp-final-in:before{content:"";pointer-events:none;background:radial-gradient(50% 60% at 50% 50%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);filter:blur(30px);height:240px;position:absolute;inset:-40% -10% auto}.lp-final h2{margin:0 0 10px;font-size:clamp(26px,4.4vw,38px);position:relative}.lp-final p{max-width:520px;color:var(--ink-2);margin:0 auto 26px;position:relative}.lp-final .btn{position:relative}.lp-foot{border-top:1px solid var(--hair);background:var(--surface)}.lp-foot-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:26px 22px;display:flex}.lp-brand-sm b{font-size:15px}.lp-foot-std{color:var(--muted);font-size:12px}@media (width<=760px){.lp-links{display:none}.lp-navbtn{margin-left:auto}.lp-hero{padding-top:52px}.lp-sec,.lp-stats{padding-top:62px}.lp-final{margin-top:66px;padding-bottom:66px}.lp-final-in{padding:40px 20px}.lp-shot-tbl th:nth-child(3),.lp-shot-tbl td:nth-child(3){display:none}.lp-cta .btn{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){.pdpa,.pdpa *,.lp *,.lp :before,.lp :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.lp-rv{opacity:1;transform:none}.lp-marquee-track{flex-wrap:wrap;justify-content:center;width:auto;padding:0 20px;animation:none}.lp-bar i b{width:var(--w,0)}}.lp-contact{background:var(--surface);border:1px solid var(--line);border-radius:18px;grid-template-columns:minmax(260px,.85fr) 1.15fr;gap:0;display:grid;overflow:hidden}.lp-contact-side{border-right:1px solid var(--hair);background:linear-gradient(165deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft) 25%, var(--surface)));padding:32px 30px}.lp-contact-side h3{margin:0 0 10px;font-size:20px}.lp-contact-side>p{color:var(--ink-2);margin:0 0 18px;font-size:13.5px}.lp-contact-pts{flex-direction:column;gap:9px;margin:0 0 22px;padding:0;list-style:none;display:flex}.lp-contact-pts li{color:var(--ink-2);padding-left:24px;font-size:13px;position:relative}.lp-contact-pts li:before{content:"✓";background:var(--accent);width:17px;height:17px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid;position:absolute;top:-1px;left:0}.lp-mail{background:var(--surface);border:1px solid var(--accent-line);color:var(--accent);word-break:break-all;border-radius:9px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.lp-mail:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.lp-form{flex-direction:column;gap:14px;padding:32px 30px;display:flex}.lp-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lp-form .field span{color:var(--ink-2);font-size:12.5px;font-weight:600}.lp-form input,.lp-form textarea{border:1px solid var(--line-2);background:var(--bg);width:100%;color:var(--ink);border-radius:9px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.lp-form input:focus,.lp-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.lp-form textarea{resize:vertical}.lp-form-btn{justify-content:center;margin-top:2px}.lp-form-note{color:var(--muted);margin:0;font-size:11.5px;line-height:1.6}.lp-form-note a{color:var(--accent)}.lp-sent{color:var(--ok)}.lp-copy{border-top:1px solid var(--hair);text-align:center;color:var(--muted);padding:14px 22px;font-size:12px}@media (width<=860px){.lp-contact{grid-template-columns:1fr}.lp-contact-side{border-right:0;border-bottom:1px solid var(--hair)}}@media (width<=560px){.lp-form-row{grid-template-columns:1fr}.lp-contact-side,.lp-form{padding:24px 20px}}.pdpa{z-index:40;padding:12px;animation:.4s cubic-bezier(.2,.8,.2,1) both pdpa-rise;position:fixed;bottom:0;left:0;right:0}@keyframes pdpa-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.pdpa-in{background:var(--surface);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-2);max-width:1000px;max-height:80vh;box-shadow:var(--shadow-lg);border-radius:14px;flex-wrap:wrap;align-items:flex-start;gap:18px;margin:0 auto;padding:16px 18px;display:flex;overflow-y:auto}.pdpa-body{flex:1;min-width:240px}.pdpa-body b{font-size:14px}.pdpa-body p{color:var(--ink-2);margin:6px 0 0;font-size:12.5px;line-height:1.65}.pdpa-tbl{border-collapse:collapse;width:100%;margin-top:12px;font-size:11.5px}.pdpa-tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--hair);padding:6px 8px;font-weight:600}.pdpa-tbl td{border-bottom:1px solid var(--hair);color:var(--ink-2);vertical-align:top;padding:7px 8px}.pdpa-tbl tr:last-child td{border-bottom:0}.pdpa-more{cursor:pointer;color:var(--accent);text-underline-offset:3px;background:0 0;border:0;margin-top:10px;padding:0;font-family:inherit;font-size:12px;font-weight:600;text-decoration:underline}.pdpa-act{align-items:center;gap:8px;display:flex}@media (width<=620px){.pdpa-act{width:100%}.pdpa-act .btn{flex:1;justify-content:center}}.lp-final-alt{color:var(--muted);font-size:13px;margin-top:18px!important}.lp-linkbtn{cursor:pointer;color:var(--accent);font-family:inherit;font-size:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.modal-h1{font-family:var(--f-disp);margin:0;font-size:19px;font-weight:700}.lp :focus-visible,.pdpa :focus-visible,.modal :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.lp-skip{z-index:60;background:var(--accent);color:var(--accent-ink);border-radius:0 0 8px;padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:0;left:-9999px}.lp-skip:focus{left:0}.lp-err{color:var(--crit)}.doc{max-width:760px;margin:0 auto;padding:48px 22px 80px}.doc h1{margin:0 0 12px;font-size:clamp(26px,4.4vw,36px)}.doc-lead{color:var(--ink-2);margin:0 0 34px;font-size:15.5px}.doc h2{border-top:1px solid var(--hair);margin:34px 0 10px;padding-top:18px;font-size:18px}.doc p{color:var(--ink-2);margin:0 0 12px}.doc a{color:var(--accent)}.doc-list{color:var(--ink-2);margin:0 0 12px;padding-left:20px}.doc-list li{margin-bottom:6px}.doc-tbl{border-collapse:collapse;width:100%;margin:6px 0 14px;font-size:13px}.doc-tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-weight:600}.doc-tbl td{border-bottom:1px solid var(--hair);vertical-align:top;padding:9px 10px}.doc-foot{border-top:1px solid var(--hair);color:var(--muted);margin-top:40px;padding-top:18px;font-size:12px}.lp-foot-link{color:var(--accent);font-size:12.5px;font-weight:600;text-decoration:none}.lp-foot-link:hover{text-decoration:underline}.lp-ed{color:var(--muted);margin-left:1px;font-size:12px;font-weight:600}.lp-std-note{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:12px 0 0;padding:8px 11px;font-size:12px}.lp-price{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.lp-price-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}.lp-price-card h3{margin:0 0 12px;font-size:16px}.lp-price-card ul{color:var(--ink-2);margin:0;padding-left:18px;font-size:13.5px}.lp-price-card li{margin-bottom:7px}.lp-price-note{text-align:center;max-width:620px;color:var(--muted);margin:18px auto 0;font-size:13px}.lp-agent-hd{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.lp-stage{background:var(--surface-3);color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.lp-kind{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.lp-kind.model{background:var(--accent-soft);color:var(--accent)}.lp-kind.rule{background:var(--blue-soft);color:var(--blue)}.lp-agent h3{margin:0 0 8px;font-size:15.5px}.lp-agent-notes{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px;display:grid}.lp-llm{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px;display:grid}.lp-std-en{color:var(--muted);margin:-6px 0 14px;font-size:11.5px;line-height:1.5}.lp-legend{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:-14px 0 24px;display:grid}.lp-legend>div{background:var(--surface-2);border:1px solid var(--hair);border-radius:12px;padding:14px 16px}.lp-legend p{color:var(--ink-2);margin:8px 0 0;font-size:12.5px}.lang-sw{border:1px solid var(--line-2);border-radius:8px;flex-shrink:0;display:inline-flex;overflow:hidden}.lang-sw button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:6px 11px;font-family:inherit;font-size:12px;font-weight:600}.lang-sw button:hover{color:var(--ink);background:var(--surface-3)}.lang-sw button.on{background:var(--accent);color:var(--accent-ink)}@media (width<=760px){.lang-sw{margin-left:auto}}.lp-brand svg{flex-shrink:0;width:30.8px;height:30px}.lp-brand-sm svg{width:26.7px;height:26px}.mark svg{width:28.7px;height:28px}.lp-tag-warn{background:var(--warn-soft);color:var(--warn)}
