:root.vi-font{--font-display:"Be Vietnam Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-sans:"Be Vietnam Pro", "Helvetica Neue", Helvetica, Arial, sans-serif}:root:not(.vi-font) :is(.card,p,span)[lang=vi]{font-family:Be Vietnam Pro,Helvetica Neue,Helvetica,Arial,sans-serif}html,body{background:var(--color-bg);color:var(--color-ink)}body{font:var(--fs-md)/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:40;background:var(--color-surface);position:fixed;inset:0 0 auto}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;color:var(--color-ink);margin:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}table{font:inherit;color:inherit;border-collapse:collapse}.mono{font-family:var(--font-mono)}.muted{color:var(--color-muted)}.eyebrow{font:500 var(--fs-xs)/1.3 var(--font-mono);color:var(--color-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ico{flex:none;width:16px;height:16px;display:inline-flex}.ico svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.bar{top:env(safe-area-inset-top,0px);z-index:30;min-height:64px;padding-block:8px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));background:var(--color-surface);border-bottom:1px solid var(--color-line);align-items:center;gap:12px;display:flex;position:sticky}.brand{font:700 var(--fs-lg)/1 var(--font-display);letter-spacing:-.025em;white-space:nowrap;cursor:pointer;color:var(--color-primary);background:0 0;border:0;align-items:center;gap:8px;margin-right:12px;padding:0;text-decoration:none;display:flex}.brand .logo{flex:none;width:32px;height:32px;display:block}.brand .logo-dark,:root[data-theme=dark] .brand .logo-light{display:none}:root[data-theme=dark] .brand .logo-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand .logo-light{display:none}:root:not([data-theme=light]) .brand .logo-dark{display:block}}.bar-skill{align-items:center;gap:8px;min-width:0;margin-left:8px;display:flex}.bar-skill .name{font:500 var(--fs-md) var(--font-mono);white-space:nowrap;text-overflow:ellipsis;border-radius:var(--r-sm);border:1px solid var(--color-line);background:var(--color-surface-2);max-width:32ch;padding:4px 8px;overflow:hidden}.bar-spacer{flex:1}.bar-score{border-right:1px solid var(--color-line);align-items:center;gap:8px;padding-right:12px;display:flex}.bar-score .total{font:600 var(--fs-xs) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-ink-2)}.bar-score .gauge .seg{width:6px;height:14px}.bar .icon-btn{border-color:var(--color-line);width:36px;height:36px}.save-state{font:var(--fs-xs) var(--font-mono);color:var(--color-muted);white-space:nowrap}.lang-switch{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface);flex:none;align-items:center;height:36px;padding:0 4px;display:inline-flex}.lang-switch button{min-width:28px;color:var(--color-muted);font:500 var(--fs-xs)/1.2 var(--font-mono);cursor:pointer;background:0 0;border:0;padding:4px}.lang-switch button:hover{color:var(--color-ink)}.lang-switch button[aria-pressed=true]{color:var(--color-primary);font-weight:600}.lang-switch button+button{margin-left:8px;position:relative}.lang-switch button+button:before{content:"/";color:var(--color-line-strong);font-weight:400;position:absolute;left:-8px}.account{flex:none;align-items:center;gap:8px;min-width:0;display:inline-flex}.account .avatar{background:color-mix(in srgb, var(--color-primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);width:36px;height:36px;color:var(--color-primary);font:600 var(--fs-xs)/1 var(--font-mono);border-radius:50%;place-items:center;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:18ch;font-size:var(--fs-sm);color:var(--color-muted);overflow:hidden}.account form{display:contents}.btn{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface);min-height:40px;color:var(--color-ink-2);font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;line-height:1.2;text-decoration:none;transition:background-color .15s cubic-bezier(.22,1,.36,1),border-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1);display:inline-flex}.btn:hover{border-color:var(--color-line-strong);background:var(--color-surface-2)}.btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-ink);box-shadow:var(--shadow-control)}.btn.primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn.primary.locked{background:var(--color-surface-2);border-color:var(--color-line-strong);color:var(--color-muted);box-shadow:none}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--color-surface-2)}.btn.sm{min-height:32px;font-size:var(--fs-xs);padding:0 12px}.btn.danger{color:var(--color-fail);border-color:var(--color-fail);background:0 0}.btn.danger.solid{background:var(--color-fail);color:var(--color-surface)}.btn[disabled]{opacity:.5;cursor:not-allowed}.link-btn{color:var(--color-primary);font:600 var(--fs-sm)/1.2 var(--font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;text-decoration:none;transition:color .15s cubic-bezier(.22,1,.36,1);display:inline-flex}.link-btn:hover{color:var(--color-primary-hover)}.link-btn .ico{width:14px;height:14px}.icon-btn{border-radius:var(--r);width:32px;height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--color-surface-2);color:var(--color-ink);border-color:var(--color-line)}.icon-btn[disabled]{opacity:.35;cursor:not-allowed}.chip{border-radius:var(--r-pill);border:1px dashed var(--color-line-strong);color:var(--color-muted);font:var(--fs-xs) var(--font-mono);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:4px 12px;display:inline-flex}.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.pill{border-radius:var(--r-pill);font:500 var(--fs-xs)/1.5 var(--font-sans);white-space:nowrap;background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-line);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.pill .ico{width:12px;height:12px}.pill .ico svg{stroke-width:2.5px}.pill.ship,.pill.shipped{background:var(--color-pass-soft);color:var(--color-pass);border-color:#0000}.pill.fix,.pill.changed{background:var(--color-warn-soft);color:var(--color-warn);border-color:#0000}.pill.prompt{background:var(--color-fail-soft);color:var(--color-fail);border-color:#0000}.pill.testing{background:var(--color-primary-soft);color:var(--color-primary);border-color:#0000}.pill.example{color:var(--color-primary);border:1px dashed var(--color-primary);background:0 0}.gauge{align-items:center;gap:4px;display:inline-flex}.gauge .grp{gap:2px;display:inline-flex}.gauge .seg{background:var(--color-pending);border-radius:2px;width:8px;height:14px}.gauge .seg.on{background:var(--color-primary)}.gauge.ship .seg.on{background:var(--color-pass)}.gauge .seg.lost{box-shadow:inset 0 0 0 1.5px var(--color-fail);background:0 0}.gauge.big{gap:12px}.gauge.big .seg{border-radius:var(--r);width:16px;height:40px}.gauge.big .grp{gap:4px}.stamp{border-radius:var(--r-sm);font:700 var(--fs-2xs)/1.4 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;border:2px dashed;padding:2px 8px;display:inline-block;transform:rotate(-6deg)}.stamp.ship{color:var(--color-pass)}.stamp.fix{color:var(--color-warn)}.stamp.prompt{color:var(--color-fail)}.stamp.pending{color:var(--color-muted)}.main{max-width:1440px;padding-block:32px 80px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));margin:0 auto}.wizard{grid-template-columns:232px minmax(0,1fr) 336px;align-items:start;gap:0;min-height:calc(100vh - 64px);display:grid}.rail,.side{top:calc(env(safe-area-inset-top,0px) + 64px);height:calc(100vh - 64px - env(safe-area-inset-top,0px));position:sticky;overflow:auto}.side{border-left:1px solid var(--color-line);padding:24px}.rail{border-right:1px solid var(--color-line);background:color-mix(in srgb, var(--color-surface) 70%, transparent);padding:16px}.main:has(>.wizard){max-width:none;padding:0}.wizard>.panel{width:calc(100% - 64px);max-width:840px;margin:24px auto 64px}.rail-group{gap:2px;margin-bottom:20px;display:grid}.rail-group>.eyebrow{font:500 var(--fs-2xs)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:0 8px 4px}.rail-step{border-radius:var(--r);text-align:left;cursor:pointer;width:100%;min-height:36px;color:var(--color-ink-2);background:0 0;border:1px solid #0000;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:4px;padding:0 12px;display:grid}.rail-step:hover:not([disabled]){background:var(--color-surface-2)}.rail-step .n{font:500 var(--fs-xs) var(--font-mono);color:var(--color-muted)}.rail-step .t{font-weight:400;font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rail-step .s{color:var(--color-muted);place-items:center;display:grid}.rail-step.is-current{background:var(--color-primary-soft);border-color:color-mix(in srgb, var(--color-primary) 25%, transparent);color:var(--color-primary)}.rail-step.is-current .t{font-weight:600}.rail-step.is-current .n{color:var(--color-primary);font-weight:600}.rail-step.is-current .s{color:var(--color-primary)}.rail-step.is-current .s .ico{width:12px;height:12px}.rail-step.is-done .s{color:var(--color-pass)}.rail-step.is-warn .s{color:var(--color-warn)}.rail-step.is-warn:not(.is-current){background:var(--color-warn-soft);color:var(--color-warn)}.rail-step.is-warn:not(.is-current) .n{color:var(--color-warn)}.rail-step[disabled]{cursor:not-allowed}.rail-step[disabled] .t,.rail-step[disabled] .n{color:var(--color-muted);opacity:.7}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);box-shadow:var(--shadow-control);min-width:0}.panel-head{gap:6px;padding:28px 28px 0;display:grid}.panel-head h1{font-size:var(--fs-2xl);letter-spacing:-.025em;font-weight:700;line-height:1.2}.panel-head .ask{font:600 var(--fs-xs) var(--font-mono);color:var(--color-primary)}.panel-head .lede{font-size:var(--fs-md);color:var(--color-ink-2);max-width:70ch;padding-top:4px}.without{font-size:var(--fs-md);color:var(--color-muted);align-items:baseline;gap:10px;max-width:70ch;display:flex}.without b{font:600 var(--fs-md) var(--font-sans);color:var(--color-fail);white-space:nowrap}.panel-body{gap:20px;min-width:0;padding:24px 28px;display:grid}.panel-foot{border-top:1px solid var(--color-line);gap:16px;margin:0 28px;padding:20px 0 28px;display:grid}.field{gap:8px;min-width:0;display:grid}.lbl{font-weight:600;font-size:var(--fs-sm);color:var(--color-ink-2)}.hint{font-size:var(--fs-sm);color:var(--color-muted)}.inp{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-width:0;min-height:40px;color:var(--color-ink);font-size:var(--fs-md);padding:8px 12px;line-height:1.45}.inp::placeholder{color:var(--color-muted);opacity:.75}.inp:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.inp.mono{font-family:var(--font-mono);font-size:var(--fs-sm)}textarea.inp{resize:vertical}.inp.narrow{max-width:120px}select.inp{cursor:pointer}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.choices{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:8px;display:grid}.choice{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.choice:hover{border-color:var(--color-primary)}.choice:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft)}.choice input{accent-color:var(--color-primary);flex:none;margin:3px 0 0}.choice-body{gap:2px;min-width:0;display:grid}.choice-title{font-weight:600;font-size:var(--fs-md)}.choice-desc{font-size:var(--fs-sm);color:var(--color-muted)}.check{font-size:var(--fs-md);cursor:pointer;align-items:flex-start;gap:8px;display:inline-flex}.check input{accent-color:var(--color-primary);margin:3px 0 0}.seg-ctl{border:1px solid var(--color-line-strong);border-radius:var(--r);flex:none;display:inline-flex;overflow:hidden}.seg-ctl label{cursor:pointer;position:relative}.seg-ctl input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg-ctl span{font:500 var(--fs-sm) var(--font-mono);color:var(--color-muted);padding:6px 12px;display:block}.seg-ctl label+label span{border-left:1px solid var(--color-line-strong)}.seg-ctl input:checked+span{background:var(--color-primary);color:var(--color-primary-ink)}.seg-ctl input:focus-visible+span{outline:2px solid var(--color-primary);outline-offset:-3px}.list{gap:8px;display:grid}.row{align-items:center;gap:8px;min-width:0;display:flex}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.msgs{gap:4px;display:grid}.msgs:empty{display:none}.msg{font-size:var(--fs-sm);align-items:flex-start;gap:8px;line-height:1.45;display:flex}.msg .ico{width:16px;height:16px;margin-top:1px}.msg.error{color:var(--color-fail)}.msg.issue .ico,.msg.error .ico{margin-top:0}.msg.issue .tag{background:color-mix(in srgb, var(--color-warn) 20%, transparent)}.hub>.msg.error,.more>.msg.error{font-size:var(--fs-md);padding:12px 16px}.hub>.msg.error .btn,.more>.msg.error .btn{margin-left:auto}.msg.issue{color:var(--color-warn)}.msg.tip{color:var(--color-muted)}.msg.good{color:var(--color-pass)}.msg.issue,.msg.error{border-radius:var(--r);background:var(--color-warn-soft);border:1px solid color-mix(in srgb, var(--color-warn) 25%, transparent);align-items:center;padding:8px 12px}.msg.error{background:var(--color-fail-soft);border-color:color-mix(in srgb, var(--color-fail) 25%, transparent)}.msg .tag{font:600 var(--fs-2xs)/1.7 var(--font-mono);border-radius:var(--r-sm);background:var(--color-warn-soft);color:var(--color-warn);white-space:nowrap;margin-right:2px;padding:0 6px}.note{border-radius:var(--r);background:var(--color-surface-2);border:1px solid var(--color-line);font-size:var(--fs-md);color:var(--color-muted);gap:4px;padding:14px 16px;display:grid}.note b{color:var(--color-ink);font-size:var(--fs-md)}.live{font:var(--fs-sm)/1.6 var(--font-mono);color:var(--color-muted)}.fixed{font:var(--fs-md) var(--font-mono);color:var(--color-muted)}.fixed.pre{white-space:nowrap}.fixed-line{font:var(--fs-md) var(--font-mono);color:var(--color-muted);align-items:center;gap:8px;display:flex}.phrases{gap:8px;display:grid}.phrase{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.phrase .q{color:var(--color-muted);font-size:var(--fs-lg)}.phrase .msgs{grid-column:2/3}.desc-preview{border:1px solid var(--color-line);border-radius:var(--r);background:var(--color-bg);gap:8px;padding:12px 16px;display:grid}.desc-head{justify-content:space-between;gap:12px;display:flex}.desc-text{font:var(--fs-sm)/1.65 var(--font-mono);color:var(--color-ink-2);overflow-wrap:anywhere}.count{font:var(--fs-xs) var(--font-mono);color:var(--color-muted);font-variant-numeric:tabular-nums}.count.over{color:var(--color-fail)}.proc{gap:10px;margin:0;padding:0;list-style:none;display:grid}.proc-row{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:12px;display:grid}.proc-num{font:500 var(--fs-xs) var(--font-mono);color:var(--color-muted);padding-top:14px}.proc-card{border:1px solid var(--color-line);border-radius:var(--r);background:var(--color-surface);gap:8px;min-width:0;padding:12px 16px;display:grid}.proc-card.fixed-card{background:var(--color-surface-2);border-style:dashed}.proc-card .proc-label{font:500 var(--fs-md) var(--font-sans);color:var(--color-ink);align-items:center;gap:8px;display:flex}.proc-card .proc-label .ico{color:var(--color-muted)}.proc-fill{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.proc-fill .inp{flex:220px}.proc-edit{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.proc-tools{gap:2px;display:flex}.pairs{width:100%;font-size:var(--fs-md)}.pairs th{text-align:left;font:400 var(--fs-xs) var(--font-mono);color:var(--color-muted);padding:0 12px 8px 0}.pairs td{border-top:1px solid var(--color-line);vertical-align:top;padding:8px 12px 8px 0}.pairs td:first-child{color:var(--color-fail);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--color-fail) 50%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--color-fail) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--color-fail) 50%, transparent)}.pairs td:last-child{font-family:var(--font-mono);font-size:var(--fs-sm)}.table-wrap{border:1px solid var(--color-line);border-radius:var(--r);background:var(--color-bg);padding:16px;overflow-x:auto}.res{border:1px solid var(--color-line);border-radius:var(--r);background:var(--color-surface);gap:14px;padding:14px 16px;display:grid}.res-top{align-items:center;gap:10px;display:flex}.file-name{border:1px solid var(--color-line-strong);border-radius:var(--r);background:var(--color-surface-2);flex:1;align-items:center;min-width:0;padding-left:12px;display:flex}.file-name:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.file-name .prefix{font-size:var(--fs-md);color:var(--color-muted);white-space:nowrap}.file-name .inp{box-shadow:none;background:0 0;border:0;padding-left:1px}.sub{gap:4px;display:grid}.sub h2{font-size:var(--fs-ui);font-family:var(--font-mono);font-weight:600}.empty-note{font-size:var(--fs-md);color:var(--color-muted);border:1px dashed var(--color-line-strong);border-radius:var(--r);padding:12px 14px}.run-line{font:var(--fs-sm) var(--font-mono);color:var(--color-muted);overflow-wrap:anywhere}.checklist{gap:10px;display:grid}.check-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:start;gap:10px;display:grid}.check-row .box{font:600 var(--fs-md) var(--font-mono);color:var(--color-muted);padding-top:8px}.check-main{gap:6px;min-width:0;display:grid}.tiers{gap:14px;display:grid}.tier{border:1px solid var(--color-line);border-radius:var(--r);gap:10px;padding:14px 16px;display:grid}.tier-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.tier-head h2{font-size:var(--fs-base)}.tier-head p{font-size:var(--fs-sm);color:var(--color-muted)}.tier.never{background:var(--color-surface-2)}.fixed-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fixed-list li{font:var(--fs-sm) var(--font-mono);color:var(--color-ink);align-items:center;gap:8px;display:flex}.fixed-list .ico{color:var(--color-muted);width:14px;height:14px}.risk-list{gap:6px;display:grid}.risk-item{font-size:var(--fs-md);align-items:center;gap:8px;display:flex}.risk-item.ok{color:var(--color-pass)}.risk-item.no{color:var(--color-fail)}.log{gap:8px;display:grid}.log-row{grid-template-columns:150px 90px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.quiz{gap:10px;display:grid}.quiz-item{border:1px solid var(--color-line);border-radius:var(--r);grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:8px 14px;padding:12px 14px;display:grid}.quiz-item q{font-size:var(--fs-md)}.quiz-item .msgs{grid-column:1/-1}.score-hero{border-block:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:24px 32px;padding:20px 0;display:flex}.score-num{font:700 64px/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.score-num span{font:400 var(--fs-2xl) var(--font-mono);color:var(--color-muted);letter-spacing:0;margin-left:4px}.score-meta{justify-items:start;gap:10px;display:grid}.srows{gap:12px;display:grid}.srow{gap:4px;display:grid}.srow-line{font-size:var(--fs-md);align-items:baseline;gap:6px;display:flex}.srow-line .nm{font-weight:600}.srow-line .leader{border-bottom:1px dotted var(--color-line-strong);flex:1;min-width:12px;transform:translateY(-3px)}.srow-line .pts{font:600 var(--fs-sm) var(--font-mono);font-variant-numeric:tabular-nums}.srow-line .pts.full{color:var(--color-pass)}.srow-line .pts.short{color:var(--color-warn)}.srow-line .pts.zero{color:var(--color-fail)}.srow-line .pts.pending{color:var(--color-muted);font-weight:500}.srow-notes{font-size:var(--fs-sm);color:var(--color-muted);gap:2px;padding-left:0;display:grid}.srow-fix{font-size:var(--fs-sm);color:var(--color-primary);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.panel-body .srows{gap:16px}.panel-body .srow-line{font-size:var(--fs-ui)}.panel-body .srow:has(.pts.short),.panel-body .srow:has(.pts.zero){border-radius:var(--r);border:1px solid color-mix(in srgb, var(--color-warn) 25%, transparent);background:var(--color-warn-soft);padding:12px 16px}.panel-body .srow:has(.pts.zero){border-color:color-mix(in srgb, var(--color-fail) 25%, transparent);background:var(--color-fail-soft)}.panel-body .srow:has(.pts.short) .nm,.panel-body .srow:has(.pts.short) .srow-notes{color:var(--color-warn)}.panel-body .srow:has(.pts.zero) .nm,.panel-body .srow:has(.pts.zero) .srow-notes{color:var(--color-fail)}.panel-body .srow .srow-fix{font-family:var(--font-mono);justify-self:end}.export{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface-2);gap:16px;padding:20px;display:grid}.export h2{font-size:var(--fs-lg)}.install{gap:8px;margin-top:8px;display:grid}.install h2{font:600 var(--fs-xs)/1.3 var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);margin:0}.install .hint{margin:0}.cmd{border-radius:var(--r);background:var(--color-code);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:grid}.cmd pre{font:var(--fs-sm)/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-code-ink);margin:0}.cmd .icon-btn{color:var(--color-code-ink);background:#ffffff1a;border-color:#ffffff26}.cmd .icon-btn:hover{color:#fff;background:#fff3;border-color:#ffffff26}.files{border:1px solid var(--color-line);border-radius:var(--r);background:var(--color-surface);padding:0 16px;display:grid}.file-row{font:var(--fs-sm) var(--font-mono);border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.file-row:first-child{border-top:0}.file-row span{overflow-wrap:anywhere;min-width:0}.howto{font-size:var(--fs-md);color:var(--color-muted);gap:4px;margin:0;padding-left:20px;display:grid}.tc{border:1px solid var(--color-line-strong);border-radius:var(--r);overflow:hidden}.tc-sec{gap:10px;padding:14px 16px;display:grid}.tc-sec+.tc-sec{border-top:1px solid var(--color-line)}.tc-sec h2{font:600 var(--fs-md) var(--font-sans);color:var(--color-ink-2)}.tc-line{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.tc-line .lead{font:var(--fs-md) var(--font-mono);align-items:baseline;gap:6px;min-width:0;display:flex}.tc-line .lead .leader{border-bottom:2px dotted var(--color-line-strong);flex:1;min-width:10px;transform:translateY(-4px)}.tc-q{font:var(--fs-sm) var(--font-mono);color:var(--color-muted);white-space:nowrap;align-items:center;gap:8px;display:flex}.tc-num{font:var(--fs-sm) var(--font-mono);align-items:center;gap:4px;display:inline-flex}.tc-num .inp{text-align:right;width:64px;padding:6px 8px}.inputs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.banner{border-radius:var(--r);border:1px solid color-mix(in srgb, var(--color-warn) 25%, transparent);background:var(--color-warn-soft);color:var(--color-warn);font-size:var(--fs-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 16px;display:flex}.gate-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.gate-title .eyebrow{font:600 var(--fs-xs)/1.3 var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-2)}.reqs{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 16px;margin:0;padding:0;list-style:none;display:grid}.reqs li{font-size:var(--fs-sm);color:var(--color-muted);align-items:flex-start;gap:8px;font-weight:500;display:flex}.reqs li .ico{width:16px;height:16px;margin-top:2px}.reqs li.ok{color:var(--color-ink)}.reqs li.ok .ico{color:var(--color-pass)}.reqs li.no.attempted,.reqs li.no.attempted .ico{color:var(--color-fail)}.nav{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.prod{border:1px solid var(--color-line);border-radius:var(--r);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.prod li{border-top:1px solid var(--color-line);min-height:48px;font-size:var(--fs-md);grid-template-columns:24px 20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 16px;display:grid}.prod li:first-child{border-top:0}.prod li.no{background:color-mix(in srgb, var(--color-fail) 4%, transparent)}.prod li .n{font:400 var(--fs-xs) var(--font-mono);color:var(--color-muted)}.prod li.ok .ico{color:var(--color-pass)}.prod li.no .ico{color:var(--color-fail)}.prod li small{border-radius:var(--r-sm);background:var(--color-surface-2);font:var(--fs-xs) var(--font-mono);color:var(--color-ink-2);padding:2px 8px}.ship-cta{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:20px;display:flex}.ship-done{border-radius:var(--r);border:1px solid color-mix(in srgb, var(--color-pass) 30%, transparent);background:var(--color-pass-soft);gap:12px;padding:20px;display:grid}.ship-done h2{color:var(--color-pass);font-size:var(--fs-lg)}.care{gap:10px;display:grid}.care ul{font-size:var(--fs-md);gap:6px;margin:0;padding-left:18px;display:grid}.care code{font-size:var(--fs-xs);overflow-wrap:anywhere;color:var(--color-muted)}.side-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);box-shadow:var(--shadow-control);overflow:hidden}.tabs{border-bottom:1px solid var(--color-line);gap:16px;margin:0 20px;display:flex}.tab{font:500 var(--fs-sm) var(--font-sans);color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:16px 0 10px}.tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.side-body{gap:20px;padding:20px;display:grid}.side-total{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.side-total .big{font:800 48px/1 var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums}.side-total .big span{font:400 var(--fs-xl) var(--font-mono);letter-spacing:0;color:var(--color-muted);margin-left:4px}.side-total .hint{margin-top:8px;display:block}.side-body>.gauge{gap:4px;width:100%;display:flex}.side-body>.gauge .grp{display:contents}.side-body>.gauge .seg{border-radius:var(--r-sm);flex:1;width:auto;height:8px}.side-body .srows{gap:10px}.side-body .srow-line{font-size:var(--fs-sm)}.side-body .srow-line .nm{color:var(--color-ink-2);font-weight:500}.side-body .srow-line .pts{font-weight:500}.md-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.md{font:var(--fs-xs)/1.6 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--r);max-height:62vh;margin:0;padding:16px;overflow:auto}.lib{gap:24px;display:grid}.lib-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;display:flex}.lib-head .intro{gap:8px;max-width:768px;display:grid}.lib-head .eyebrow{font:600 var(--fs-xs)/1.3 var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.lib-head h1{font-size:var(--fs-2xl);letter-spacing:-.025em;font-weight:700;line-height:1.2}.lib-head .lede{font-size:var(--fs-md);color:var(--color-ink-2);line-height:1.6}.lib-actions{justify-items:end;gap:8px;display:grid}.store-note{font:var(--fs-xs) var(--font-mono);color:var(--color-muted);align-items:center;gap:8px;display:flex}.store-note .dot{background:var(--color-pass);border-radius:50%;width:8px;height:8px}.store-note.browser .dot{background:var(--color-warn)}.store-note.memory .dot,.store-note.pending .dot{background:var(--color-pending)}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);box-shadow:var(--shadow-control);flex-direction:column;gap:8px;min-width:0;padding:16px;transition:border-color .15s cubic-bezier(.22,1,.36,1);display:flex}.card:hover{border-color:var(--color-line-strong)}.card.example{border-style:dashed;border-color:var(--color-line-strong);box-shadow:none;background:0 0}.card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card-top h3{font:600 var(--fs-md) var(--font-mono);letter-spacing:-.01em;overflow-wrap:anywhere}.card-desc{font-size:var(--fs-sm);color:var(--color-ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:4px;line-height:1.6;display:-webkit-box;overflow:hidden}.card-score{font:600 var(--fs-xs) var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-foot{font-size:var(--fs-xs);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:4px;display:flex}.card-score:has(.qbar)~.card-foot{margin-top:0}.card-score:has(.qbar){border-top:1px solid var(--color-line);gap:8px;margin-top:auto;padding-top:12px}.card-score:has(.qbar) .muted,.card-score:has(.qbar) .pill{margin-left:auto;font-weight:400}.card-score:has(.qbar) .pill{font-weight:500}.card-score .qbar{flex:0 0 100%;order:10;width:100%;height:6px}.card-btns{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.empty{border:1px dashed var(--color-line-strong);border-radius:var(--r-lg);justify-items:start;gap:12px;padding:24px;display:grid}.empty h2{font-size:var(--fs-xl)}.empty p{color:var(--color-muted);max-width:60ch}.how{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;display:grid}.how>div{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);align-content:start;gap:16px;padding:24px;display:grid}.how h2{font-size:var(--fs-xl)}.how-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.how-steps li{font-size:var(--fs-md);grid-template-columns:30px 92px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.how-steps .n{font:600 var(--fs-sm) var(--font-mono);color:var(--color-muted)}.how-steps .t{font-weight:600}.how-steps .a{color:var(--color-muted)}.how-steps .grp{font:500 var(--fs-sm) var(--font-sans);color:var(--color-muted);grid-column:1/-1;padding-top:8px}.bands{gap:8px;display:grid}.band{font-size:var(--fs-md);align-items:center;gap:12px;display:flex}.band .stamp{font-size:var(--fs-xs);text-align:center;min-width:82px;padding:2px 8px;transform:none}.source{font-size:var(--fs-sm);color:var(--color-muted)}.loading{color:var(--color-muted);border:1px dashed var(--color-line-strong);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:12px;padding:24px;display:flex}.import{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);gap:16px;padding:24px;display:grid}.import-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.import-head h2{font-size:var(--fs-xl)}.import-head p{color:var(--color-muted);font-size:var(--fs-md);max-width:70ch;margin-top:4px}.import-ways{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.import-way{border:1px dashed var(--color-line-strong);border-radius:var(--r);align-content:start;gap:10px;min-width:0;padding:14px 16px;display:grid}.import-way h3{font-size:var(--fs-ui)}.import-way .hint code,.import-head code{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--r-sm);padding:0 4px}.import-busy{font:var(--fs-sm) var(--font-mono);color:var(--color-primary)}.import-result{gap:8px;display:grid}.import-list{border-top:1px solid var(--color-line);max-height:320px;display:grid;overflow:auto}.import-row{border-bottom:1px solid var(--color-line);font-size:var(--fs-md);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:8px 2px;display:grid}.import-row .nm{font:600 var(--fs-md) var(--font-mono);overflow-wrap:anywhere}.import-row .pts{font:600 var(--fs-sm) var(--font-mono);font-variant-numeric:tabular-nums}.scoreboard{border:1px solid var(--color-line);border-radius:var(--r);background:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding:12px 16px;display:flex}.scoreboard .tally{font:var(--fs-sm) var(--font-mono);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.scoreboard .tally b{color:var(--color-ink);font-size:var(--fs-ui)}.scoreboard label{font-size:var(--fs-sm);color:var(--color-muted);align-items:center;gap:8px;display:flex}.scoreboard select{width:auto;font-size:var(--fs-sm);padding:6px 10px}.import-box{border-radius:var(--r);border:1px solid var(--color-primary);background:var(--color-primary-soft);gap:8px;padding:14px 16px;display:grid}.import-box-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;display:flex}.import-box-head .mono{font-size:var(--fs-sm);color:var(--color-primary)}.import-box ul{font-size:var(--fs-md);gap:4px;margin:0;padding-left:18px;display:grid}.file-note{font-size:var(--fs-sm);color:var(--color-warn)}.orig{background:0 0;border-style:dashed}.kept{font-size:var(--fs-sm);color:var(--color-muted)}.kept span{font-family:var(--font-mono);overflow-wrap:anywhere}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:50;border-radius:var(--r);background:var(--color-ink);max-width:min(520px,100vw - 32px);color:var(--color-bg);font-size:var(--fs-md);box-shadow:var(--shadow-float);padding:12px 16px;position:fixed;transform:translate(-50%)}.site-nav{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface-2);flex:none;gap:2px;padding:4px;display:inline-flex}.site-tab{color:var(--color-ink-2);font:500 var(--fs-md)/1.2 var(--font-display);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}.site-tab:hover{color:var(--color-ink)}.site-tab[aria-current=page]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-control);font-weight:600}.site-tab .ico{width:16px;height:16px}.site-tab .tab-short{display:none}.hub{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.filters{border:1px solid var(--color-line);border-radius:var(--r-lg);background:var(--color-surface);box-shadow:var(--shadow-control);z-index:5;gap:0;padding:0;display:grid;position:relative}.filter-row{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.filters .inp{background:var(--color-bg);font-size:var(--fs-sm)}.search{flex:260px;min-width:0;position:relative}.search .ico{color:var(--color-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .inp{padding-left:36px}.filters .search .inp,.filters .occ-btn,.filters .ver-toggle,.filters .src-pick{min-height:40px}.filter-pair{align-items:center;gap:12px;min-width:0;display:flex}.src-pick{align-items:center;min-width:0;display:inline-flex;position:relative}.src-pick .src-label{font-size:var(--fs-sm);color:var(--color-muted);pointer-events:none;position:absolute;left:12px}.src-pick select.inp{width:auto;max-width:100%;font-size:var(--fs-sm);color:var(--color-ink-2);padding:8px 32px 8px 68px;font-weight:500}.filter-active{border-top:1px solid var(--color-line);background:var(--color-bg);border-radius:0 0 var(--r-lg) var(--r-lg);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.filter-active-label{font-size:var(--fs-xs);color:var(--color-muted)}.filter-active .filter-chip{font-family:var(--font-sans);font-size:var(--fs-xs);border-radius:var(--r);font-weight:500}.filter-active .filter-chip.occ{background:var(--color-primary-soft);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);color:var(--color-primary)}.filter-chip .icon-btn{width:24px;height:24px;min-height:0}.link-plain{color:var(--color-primary);font:600 var(--fs-sm) var(--font-sans);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px 2px}.link-plain:hover{text-decoration:underline}.results-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.results-bar .tally-line{font:600 var(--fs-sm) var(--font-sans);color:var(--color-ink);margin:0}.sort-pick{font-size:var(--fs-sm);color:var(--color-muted);align-items:center;gap:8px;display:inline-flex}.sort-pick select.inp{width:auto;font-size:var(--fs-sm);color:var(--color-ink-2);background-color:var(--color-surface);padding:6px 32px 6px 12px;font-weight:500}.occ-pick{min-width:0;display:inline-flex;position:relative}.occ-btn{border:1px solid var(--color-line-strong);border-radius:var(--r);background:var(--color-surface);min-width:0;max-width:360px;color:var(--color-ink-2);font:500 var(--fs-sm)/1.2 var(--font-sans);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.occ-btn:hover:not([disabled]){border-color:var(--color-primary)}.occ-btn.on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.occ-btn[disabled]{cursor:default;color:var(--color-muted)}.occ-btn .ico{flex:none;width:16px;height:16px}.occ-btn .occ-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.occ-btn .occ-short{display:none}.occ-btn[aria-expanded=true]>.ico:last-child{transform:rotate(180deg)}.occ-scrim{display:none}.occ-panel{z-index:30;border:1px solid var(--color-line);border-radius:var(--r-lg);background:var(--color-surface);width:600px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-float);display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.occ-sheet-head,.occ-sheet-foot{display:none}.occ-cols{grid-template-columns:minmax(0,5fr) minmax(0,6fr);max-height:min(440px,70vh);display:grid}.occ-col{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:12px;display:grid}.occ-fields{background:var(--color-bg);border-right:1px solid var(--color-line)}.occ-col-head{font:600 var(--fs-xs) var(--font-sans);color:var(--color-muted);text-transform:none;margin:0 0 8px;padding:0 8px}.occ-job-box{grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;display:grid}.occ-filter .inp{padding-block:6px}.occ-list{overscroll-behavior:contain;align-content:start;gap:2px;min-height:0;display:grid;overflow-y:auto}.occ-row{width:100%;min-height:36px;color:var(--color-ink-2);font:var(--fs-sm)/1.3 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.occ-row:hover{background:var(--color-surface-2);color:var(--color-ink)}.occ-row .occ-name{overflow-wrap:anywhere;flex:1;min-width:0}.occ-row small{font-size:var(--fs-xs);color:var(--color-primary);display:block}.occ-row .occ-count{font:500 var(--fs-xs) var(--font-mono);color:var(--color-muted);flex:none}.occ-row .ico{width:14px;height:14px;color:var(--color-muted);flex:none}.occ-row[aria-current=true],.occ-row[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.occ-row[aria-pressed=true] .ico,.occ-row[aria-pressed=true] .occ-count,.occ-row[aria-current=true] .ico{color:var(--color-primary)}.occ-jobs .hint{padding:0 8px}.tally-line{font:500 var(--fs-xs) var(--font-mono);color:var(--color-muted)}.head-meta{font:var(--fs-sm)/1.5 var(--font-mono);color:var(--color-muted);margin-top:2px}.reg-src{font:var(--fs-xs) var(--font-sans);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.reg-src>span{overflow-wrap:anywhere;align-items:center;gap:4px;min-width:0;display:inline-flex}.reg-src .ico{color:#d99a1c;width:14px;height:14px}.reg-src .ico svg{fill:currentColor}.reg-src>span+span:before{content:"·";margin-right:8px}.reg-path{font:var(--fs-xs) var(--font-mono);color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reg-src .role{color:var(--color-ink-2)}.roles-line{font-size:var(--fs-sm);color:var(--color-muted);overflow-wrap:anywhere;margin:0}.roles-line a{color:var(--color-primary);font-weight:500;text-decoration:none}.credit{max-width:100ch;font-size:var(--fs-xs);color:var(--color-muted);overflow-wrap:anywhere;text-align:center;margin:8px auto 0;line-height:1.5}.credit a{color:inherit}.pill.verified{background:color-mix(in srgb, var(--color-pass) 10%, transparent);color:var(--color-pass);border-color:color-mix(in srgb, var(--color-pass) 20%, transparent)}.more{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.hint.more{text-align:center}.filter-chip{border:1px solid var(--color-line-strong);border-radius:var(--r-pill);background:var(--color-surface-2);font:var(--fs-sm) var(--font-mono);color:var(--color-ink-2);align-items:center;gap:4px;min-width:0;max-width:100%;padding:2px 4px 2px 12px;display:inline-flex}.filter-chip>span{overflow-wrap:anywhere}.vote{border:1px solid var(--color-line);background:var(--color-surface);min-height:28px;color:var(--color-ink-2);font:500 var(--fs-xs) var(--font-mono);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.vote:hover:not([disabled]){border-color:var(--color-pass);color:var(--color-pass)}.vote[aria-pressed=true]{background:var(--color-pass-soft);border-color:var(--color-pass);color:var(--color-pass)}.vote[disabled]{cursor:default}.vote .ico{width:14px;height:14px}.detail{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:32px;display:grid}.detail-main,.detail-side{gap:24px;min-width:0;display:grid}.detail-side{top:calc(env(safe-area-inset-top,0px) + 88px);position:sticky}.detail-head{justify-items:start;gap:12px;display:grid}.detail-head h1{font:700 var(--fs-3xl)/1.15 var(--font-mono);letter-spacing:-.02em;overflow-wrap:anywhere}.detail-head .lede{font-size:var(--fs-base);color:var(--color-ink-2);max-width:72ch;line-height:1.6}.detail-head .install{justify-self:stretch}.meta{border-block:1px solid var(--color-line);font:var(--fs-sm) var(--font-mono);color:var(--color-muted);flex-wrap:wrap;justify-self:stretch;align-items:center;gap:8px 12px;padding:12px 0;display:flex}.meta>span{align-items:center;gap:4px;display:inline-flex}.meta>span+span:before{content:"·";color:var(--color-line-strong);margin-right:8px}.meta>.pill:before{content:none}.meta>span:first-child .ico svg{fill:#d99a1c;stroke:#d99a1c}.meta .ico{width:14px;height:14px}.box{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);box-shadow:var(--shadow-control);gap:16px;min-width:0;padding:20px;display:grid}.box h2{font-size:var(--fs-base);font-weight:600}.box>.gauge{gap:4px;width:100%;display:flex}.box>.gauge .grp{display:contents}.box>.gauge .seg{border-radius:var(--r-sm);flex:1;width:auto;height:8px}.box .srows{gap:10px}.box .srow-line{font-size:var(--fs-sm)}.box .srow-line .nm{color:var(--color-ink-2);font-weight:400}.box .srow-line .pts{font-weight:500}.box .srow .spec{border-left:2px solid var(--color-line);font-size:var(--fs-xs);color:var(--color-muted);margin:2px 0 4px;padding-left:8px}.box .srow:has(.pts.short) .spec,.box .srow:has(.pts.zero) .spec{border-left-color:color-mix(in srgb, var(--color-warn) 50%, transparent)}.box .md{max-height:70vh}.spec{font-size:var(--fs-md);gap:6px;margin:0;padding:0;list-style:none;display:grid}.spec li{align-items:flex-start;gap:8px;display:flex}.spec li .ico{width:16px;height:16px;margin-top:2px}.spec li.ok .ico{color:var(--color-pass)}.spec li.no .ico{color:var(--color-fail)}.box ul.plain{font-size:var(--fs-md);color:var(--color-muted);gap:4px;margin:0;padding-left:18px;display:grid}a.btn{color:var(--color-ink)}a.btn.primary{color:var(--color-primary-ink)}.ai{gap:24px;max-width:960px;display:grid}.share{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface-2);gap:12px;padding:20px;display:grid}.share h2{font-size:var(--fs-lg)}.grade{border-radius:var(--r-sm);min-width:20px;height:20px;font:700 var(--fs-2xs)/1 var(--font-mono);background:var(--color-surface-2);color:var(--color-muted);border:1px solid var(--color-line);flex:none;place-items:center;padding:0 4px;display:inline-grid}.grade.g-A{background:var(--color-pass-soft);color:var(--color-pass);border-color:color-mix(in srgb, var(--color-pass) 25%, transparent)}.grade.g-B{background:var(--color-primary-soft);color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 25%, transparent)}.grade.g-C{color:var(--color-ink)}.grade.g-D{background:var(--color-warn-soft);color:var(--color-warn);border-color:color-mix(in srgb, var(--color-warn) 25%, transparent)}.grade.g-F{background:var(--color-fail-soft);color:var(--color-fail);border-color:color-mix(in srgb, var(--color-fail) 25%, transparent)}.side-total .grade{min-width:40px;height:36px;font-size:var(--fs-xl);border-radius:var(--r)}.qbar{border-radius:var(--r-pill);background:var(--color-pending);flex:none;width:88px;height:8px;display:inline-block;position:relative;overflow:hidden}.qbar.big{width:100%;height:10px}.qbar>span{border-radius:var(--r-pill);background:var(--color-muted);position:absolute;inset:0 auto 0 0}.qbar.g-A>span{background:var(--color-pass)}.qbar.g-B>span{background:var(--color-primary)}.qbar.g-D>span{background:var(--color-warn)}.qbar.g-F>span{background:var(--color-fail)}.spec li.part .ico{color:var(--color-warn)}.ver-toggle{border:1px solid var(--color-line-strong);border-radius:var(--r);background:var(--color-surface);color:var(--color-ink-2);font:600 var(--fs-sm)/1.2 var(--font-sans);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:6px 10px 6px 12px;display:inline-flex}.ver-toggle.on{border-color:color-mix(in srgb, var(--color-pass) 45%, transparent);background:var(--color-pass-soft);color:var(--color-pass)}.ver-toggle .ico{flex:none;width:16px;height:16px}.ver-toggle .n{border-radius:var(--r-pill);background:var(--color-surface-2);font:500 var(--fs-xs) var(--font-mono);color:var(--color-ink-2);padding:1px 6px}.ver-toggle.on .n{background:color-mix(in srgb, var(--color-pass) 14%, transparent);color:var(--color-pass)}.ver-toggle .switch{margin-left:auto}.ver-toggle .switch:checked{background:var(--color-pass)}.switch{appearance:none;border-radius:var(--r-pill);background:var(--color-line-strong);cursor:pointer;flex:none;width:40px;height:24px;margin:0 0 0 4px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--color-primary)}.switch:checked:after{transform:translate(16px)}.switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cmd-strip{border-radius:var(--r);background:var(--color-code);align-items:center;gap:8px;min-width:0;padding:8px 8px 8px 12px;display:flex}.cmd-strip code{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--fs-xs) var(--font-mono);color:var(--color-code-ink);flex:1;overflow:hidden}.cmd-strip .btn{border-radius:var(--r-sm);color:#fff;min-height:24px;font:500 var(--fs-2xs) var(--font-sans);background:#ffffff1a;border-color:#ffffff26;padding:0 8px}.cmd-strip .btn:hover{background:#fff3;border-color:#ffffff26}.cmd-strip .btn .ico{display:none}.app{flex-direction:column;min-height:100vh;display:flex}.app>.main{flex:1 0 auto;width:100%}.foot{border-top:1px solid var(--color-line);background:var(--color-surface)}.foot-in{max-width:1440px;padding:24px max(24px, env(safe-area-inset-right,0px)) 24px max(24px, env(safe-area-inset-left,0px));font-size:var(--fs-xs);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:0 auto;display:flex}.foot-brand{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.foot-brand b{font:700 var(--fs-md)/1.2 var(--font-display);letter-spacing:-.02em;color:var(--color-primary)}.foot-nav{flex-wrap:wrap;gap:8px 24px;display:flex}.foot-nav a{color:var(--color-muted);text-decoration:none}.foot-nav a:hover{color:var(--color-primary)}.bar-help{text-decoration:none}.rail{flex-direction:column;display:flex}.rail-foot{border-top:1px solid var(--color-line);gap:8px;margin-top:auto;padding:16px 8px 4px;display:grid}.rail-progress{justify-content:space-between;align-items:baseline;display:flex}.rail-progress .eyebrow{font:500 var(--fs-2xs)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.rail-progress .count{font:600 var(--fs-xs)/1.3 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-ink-2)}.rail-meter{border-radius:var(--r-pill);background:var(--color-pending);height:4px;overflow:hidden}.rail-meter>span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.req-tag{border-radius:var(--r-sm);background:var(--color-surface-2);color:var(--color-muted);font:500 var(--fs-2xs)/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-left:auto;padding:2px 8px}.proc-label:has(.req-tag){align-items:center;width:100%;display:flex}.side-note{border-top:1px solid var(--color-line);font-size:var(--fs-xs);color:var(--color-muted);align-items:flex-start;gap:8px;margin:0;padding-top:16px;line-height:1.5;display:flex}.side-note .ico{flex:none;width:16px;height:16px;margin-top:1px}.side-tip{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface-2);font-size:var(--fs-xs);color:var(--color-ink-2);align-items:flex-start;gap:12px;padding:12px;line-height:1.5;display:flex}.side-tip .ico{flex:none;width:18px;height:18px}.side-tip b{font:600 var(--fs-sm)/1.4 var(--font-sans);color:var(--color-ink);display:block}.side-tip p{margin:2px 0 0}.side-tip.pass{border-color:color-mix(in srgb, var(--color-pass) 25%, transparent);background:var(--color-pass-soft)}.side-tip.pass .ico,.side-tip.pass b{color:var(--color-pass)}.manifest{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface);gap:8px;padding:12px;display:grid}.manifest .eyebrow{font:500 var(--fs-2xs)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.manifest-row{font:var(--fs-xs)/1.5 var(--font-mono);justify-content:space-between;gap:12px;display:flex}.manifest-row>span:first-child{color:var(--color-muted)}.manifest-row>span:last-child{color:var(--color-ink);text-align:right;overflow-wrap:anywhere}.md .md-rule{color:var(--color-muted)}.md .md-key{color:var(--color-primary);font-weight:500}.md .md-h{color:var(--color-ink);font-weight:600}.md .md-n{color:var(--color-primary)}.file-row .size{font:var(--fs-xs) var(--font-mono);margin-left:auto}@media (max-width:1500px){.bar-score .pill{display:none}}@media (max-width:1220px){.bar-score .gauge{display:none}.wizard{grid-template-columns:200px minmax(0,1fr)}.wizard>.panel{margin-bottom:24px}.side{border-left:0;grid-column:2;width:calc(100% - 64px);max-width:840px;height:auto;margin:0 auto 64px;padding:0;position:static;overflow:visible}}@media (max-width:960px){.bar-help{display:none}.detail{grid-template-columns:minmax(0,1fr)}.detail-side{position:static}}@media (max-width:820px){.rail-foot{display:none}.foot-in{flex-direction:column;align-items:flex-start}.bar{flex-wrap:wrap;row-gap:8px}.site-nav{order:10;width:100%;min-width:0;overflow-x:auto}.site-tab{flex:auto;min-width:0}.rail,.side,.detail-side{top:auto}.wizard{grid-template-columns:minmax(0,1fr);gap:20px;min-height:0;padding:16px 16px 64px}.wizard>.panel,.side{width:100%;max-width:none;margin:0}.side{grid-column:auto}.rail{background:0 0;border-right:0;gap:8px;height:auto;padding:0 0 4px;display:flex;position:static;overflow-x:auto}.rail-group{gap:4px;margin:0;display:flex}.rail-group>.eyebrow{display:none}.rail-step{white-space:nowrap;grid-template-columns:auto auto auto;width:auto}.panel-head,.panel-body,.panel-foot{padding-left:20px;padding-right:20px}.panel-head h1{font-size:var(--fs-2xl)}.grid2,.inputs-grid,.how,.import-ways{grid-template-columns:minmax(0,1fr)}.import{padding:20px}.import-row{grid-template-columns:minmax(0,1fr) auto auto}.import-row .gauge{display:none}.choices,.quiz-item{grid-template-columns:minmax(0,1fr)}.log-row{grid-template-columns:minmax(0,1fr) 80px auto}.log-row .note-inp{grid-column:1/-1}.check-row{grid-template-columns:auto minmax(0,1fr) auto}.check-row .seg-ctl{grid-column:2;justify-self:start}.bar-skill .name{max-width:16ch}.lib-head h1{font-size:var(--fs-3xl)}.lib-actions{justify-items:start}}@media (max-width:640px){.filter-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px;display:grid}.filters .search .inp,.filters .occ-btn,.filters .ver-toggle,.filters .src-pick select.inp{min-height:44px}.ver-toggle{width:100%}.filter-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.filter-pair.solo{grid-template-columns:minmax(0,1fr)}.occ-pick,.src-pick,.src-pick select.inp{width:100%}.occ-btn{width:100%;max-width:none}.occ-btn .occ-long{display:none}.occ-btn .occ-short{text-align:left;flex:1;display:block}.src-pick .src-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden}.src-pick select.inp{padding-left:12px}.filter-active{padding:10px 12px}.filter-active-label{flex-basis:100%}.link-plain{margin-left:0}.occ-scrim{z-index:40;background:#0f172a66;display:block;position:fixed;inset:0}.occ-panel{z-index:41;border-bottom:0;border-radius:16px 16px 0 0;grid-template-rows:auto minmax(0,1fr) auto;width:auto;max-width:none;max-height:85vh;position:fixed;inset:auto 0 0}.occ-sheet-head{align-items:center;gap:8px;padding:16px 12px 8px 16px;display:flex}.occ-sheet-title{flex:1;min-width:0;display:grid}.occ-sheet-title strong{font:700 var(--fs-lg) var(--font-display);color:var(--color-ink)}.occ-sheet-title span{font-size:var(--fs-xs);color:var(--color-muted)}.occ-sheet-foot{padding:12px 16px max(12px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-line);justify-content:space-between;gap:12px;display:flex}.occ-sheet-foot .btn.primary{flex:1;justify-content:center;min-height:48px}.occ-cols{grid-template-columns:minmax(0,1fr);min-height:0;max-height:none}.occ-col{padding:4px 12px 12px}.occ-col-head{display:none}.occ-fields{background:0 0;border:0}.occ-panel[data-step="1"] .occ-jobs,.occ-panel[data-step="2"] .occ-fields{display:none}.occ-row{min-height:48px;font-size:var(--fs-md);padding:10px 12px}html.sheet-open{overflow:hidden}html.sheet-open .filters{z-index:45}}@media (max-width:560px){.bar{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));gap:8px}.main{padding-block:24px 64px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.brand{font-size:var(--fs-ui);gap:8px}.bar-skill,.save-state,.bar .btn-label,.bar-score .pill,.account-name,.bar-score .gauge{display:none}.score-num{font-size:52px}.prod li{grid-template-columns:28px 20px minmax(0,1fr)}.prod li .btn{grid-column:3;justify-self:start}.how-steps li{grid-template-columns:28px minmax(0,1fr)}.how-steps .a{grid-column:2}.without{flex-direction:column;gap:2px}}.describe{text-align:center;justify-items:center;gap:16px;width:100%;max-width:760px;margin:8px auto 16px;display:grid}.describe h1{font-size:var(--fs-3xl);letter-spacing:-.03em;font-weight:800;line-height:1.15}.describe .lede{max-width:60ch;color:var(--color-ink-2);font-size:var(--fs-base)}.describe .eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);font-weight:600}.describe-box{text-align:left;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-card);gap:12px;padding:16px;display:grid}.describe-box textarea{box-shadow:none;resize:vertical;min-height:84px;font-size:var(--fs-base);border:0;padding:4px}.describe-box textarea:focus{box-shadow:none}.describe-box:focus-within{border-color:var(--color-primary)}.describe-foot{border-top:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.describe-foot .muted{font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.starters{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.starters .muted{font-size:var(--fs-sm);margin-right:4px}.other-ways{text-align:left;gap:12px;width:100%;margin-top:8px;display:grid}.other-ways>.eyebrow{text-align:center;letter-spacing:.05em;text-transform:uppercase;font-weight:600}.way-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.way{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);align-content:start;gap:8px;padding:16px;display:grid}.way h3{font-size:var(--fs-ui);align-items:center;gap:6px;line-height:1.3;display:flex}.way p{font-size:var(--fs-sm);color:var(--color-ink-2)}.way .link-btn,.way .btn{justify-self:start;margin-top:4px}.way-top{justify-content:space-between;align-items:center;display:flex}.way-ico{border-radius:var(--r);background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);flex:none;place-items:center;display:inline-grid}.way-ico .ico{width:18px;height:18px}#my-skills h2{font-size:var(--fs-xl)}.flow-steps{font-size:var(--fs-sm);color:var(--color-muted);flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.flow-steps li{align-items:center;gap:8px;display:inline-flex}.flow-steps .n{border:1px solid var(--color-line-strong);width:24px;height:24px;font:600 var(--fs-xs) var(--font-mono);border-radius:50%;place-items:center;display:inline-grid}.flow-steps .n .ico{width:14px;height:14px}.flow-steps .done{color:var(--color-ink-2)}.flow-steps .done .n{background:var(--color-pass-soft);color:var(--color-pass);border-color:#0000}.flow-steps .now{color:var(--color-primary);font-weight:600}.flow-steps .now .n{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-ink)}.ai{width:100%;max-width:860px;margin-inline:auto}.ai-head{justify-items:start;gap:10px;display:grid}.ai-head h1{font-size:var(--fs-2xl);letter-spacing:-.025em;font-weight:700;line-height:1.2}.ai-head .lede{color:var(--color-ink-2);max-width:70ch}.ai-head .side-tip{width:100%}.ai-goal{border-left:3px solid var(--color-primary);border-radius:var(--r);background:var(--color-primary-soft);justify-content:space-between;align-items:flex-start;gap:12px;width:100%;margin:0;padding:12px 16px;display:flex}.ai-goal p{font-size:var(--fs-ui);color:var(--color-ink)}.ai-card{gap:12px;padding:20px;display:grid}.ai-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.ai-card-head h2{font-size:var(--fs-lg)}.ai-card .tabs{border-radius:var(--r);background:var(--color-surface-2);border:0;gap:4px;margin:0;padding:3px}.ai-card .tab{border-bottom:0;border-radius:6px;padding:4px 12px}.ai-card .tab[aria-selected=true]{background:var(--color-surface);box-shadow:var(--shadow-control)}.ai-prompt{max-height:180px;color:var(--color-ink-2);background:var(--color-surface-2)}.ai-card-foot{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.ai-card-foot .muted{font-size:var(--fs-xs)}.ai-card-foot>.btn.primary:last-child{margin-left:auto}.ai-tips{font-size:var(--fs-xs);color:var(--color-muted);flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.ai-tips li{align-items:center;gap:6px;display:inline-flex}.habits{gap:8px;margin:0;padding:0;list-style:none;display:grid}.habit{border:1px solid var(--color-line);border-radius:var(--r);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.habit.on{border-color:var(--color-primary);background:var(--color-primary-soft)}.habit input{accent-color:var(--color-primary);margin-top:4px}.habit>span{justify-items:start;gap:2px;display:grid}.habit .muted{font-size:var(--fs-sm)}.fix-list{font-size:var(--fs-sm);color:var(--color-warn);gap:4px;margin:0;padding:0;list-style:none;display:grid}.fix-list li{align-items:flex-start;gap:6px;display:flex}.fix-list .ico{width:14px;height:14px;margin-top:2px}.connect{gap:24px;width:100%;max-width:960px;margin-inline:auto;display:grid}.conn-url{gap:10px;padding:16px;display:grid}.conn-url-row{align-items:stretch;gap:12px;display:flex}.conn-url-field{border:1px solid var(--color-line);border-radius:var(--r);background:var(--color-surface-2);min-width:0;min-height:44px;color:var(--color-muted);flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.conn-url-field code{font:500 var(--fs-sm) var(--font-mono);color:var(--color-ink);overflow-wrap:anywhere}.conn-url-note{font-size:var(--fs-xs);align-items:center;gap:6px;display:flex}.conn-url-note .ico,.conn-note .ico,.conn-foot .ico{flex:none;width:14px;height:14px}.conn-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.conn-how .tabs{flex-wrap:wrap}.conn-how .tab{white-space:nowrap}.conn-steps{gap:14px;margin:4px 0 0;padding:0;list-style:none;display:grid}.conn-steps li{font-size:var(--fs-ui);align-items:flex-start;gap:12px;display:flex}.conn-steps li>div{flex:1;gap:10px;min-width:0;padding-top:1px;display:grid}.conn-num{background:var(--color-primary-soft);width:24px;height:24px;color:var(--color-primary);font:600 var(--fs-xs) var(--font-sans);border-radius:50%;flex:none;place-items:center;display:inline-grid}.conn-code{position:relative}.conn-code pre{border-radius:var(--r);background:var(--color-surface-2);border:1px solid var(--color-line);font:400 var(--fs-xs)/1.6 var(--font-mono);color:var(--color-ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px 44px 12px 14px}.conn-code .icon-btn{position:absolute;top:6px;right:6px}.conn-note,.conn-foot{border-top:1px solid var(--color-line);font-size:var(--fs-xs);align-items:flex-start;gap:8px;margin:0;padding-top:12px;line-height:1.5;display:flex}.conn-note .ico,.conn-foot .ico{margin-top:2px}.conn-count{color:var(--color-pass);background:var(--color-pass-soft);border-color:#0000}.conn-count .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.conn-empty{font-size:var(--fs-sm)}.conn-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.conn-app{border:1px solid var(--color-line);border-radius:var(--r);align-items:center;gap:12px;padding:10px 12px;display:flex}.conn-app-mark{border-radius:var(--r);background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);font:700 var(--fs-sm) var(--font-display);flex:none;place-items:center;display:inline-grid}.conn-app-text{flex:1;gap:2px;min-width:0;display:grid}.conn-app-text b{font-weight:600;font-size:var(--fs-ui);overflow-wrap:anywhere}.conn-app-text .muted{font-size:var(--fs-xs)}.conn-asks-head{gap:4px;margin-top:8px;display:grid}.conn-asks-head h2{font-size:var(--fs-xl)}.conn-asks{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.conn-ask{align-content:start;gap:10px;padding:16px;display:grid}.conn-ask-ico{border-radius:var(--r);background:var(--color-primary-soft);width:32px;height:32px;color:var(--color-primary);place-items:center;display:inline-grid}.conn-ask h3{font-size:var(--fs-ui);font-weight:600}.conn-ask q{border-left:2px solid var(--color-line);border-radius:0 var(--r) var(--r) 0;background:var(--color-surface-2);font-size:var(--fs-sm);color:var(--color-ink-2);padding:8px 12px;font-style:italic;display:block}@media (max-width:820px){.conn-grid{grid-template-columns:minmax(0,1fr)}.conn-asks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.conn-url-row{flex-direction:column}.conn-url-row .btn{justify-content:center}.conn-asks{grid-template-columns:minmax(0,1fr)}.conn-app{flex-wrap:wrap}.conn-app .btn{margin-left:44px}}.review{gap:20px;width:100%;display:grid}.review-head{gap:12px;display:grid}.review-title{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.review-title h1{font:700 var(--fs-xl) var(--font-mono);letter-spacing:-.01em;overflow-wrap:anywhere}.review-title .btn{margin-left:auto}.review-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.review-main{gap:16px;min-width:0;display:grid}.review-side{gap:12px;display:grid;position:sticky;top:88px}.review-side h2{font-size:var(--fs-lg)}.rcard{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);box-shadow:var(--shadow-control);gap:14px;padding:20px;display:grid}.rcard.warn{border-color:color-mix(in srgb, var(--color-warn) 35%, var(--color-line))}.rcard>header{align-items:flex-start;gap:12px;display:flex}.rcard>header>div{flex:1;gap:2px;min-width:0;display:grid}.rcard h2{font-size:var(--fs-ui);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rcard header .muted{font-size:var(--fs-sm)}.rbody{gap:10px;display:grid}.rquote{border-radius:var(--r);background:var(--color-surface-2);color:var(--color-ink);padding:10px 14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip.static{cursor:default}.chip.static:hover{border-color:var(--color-line);color:inherit}.rsteps,.rchecks,.rscripts,.plain-list,.plain-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rsteps{counter-reset:rs}.rsteps li{counter-increment:rs;border-radius:var(--r);background:var(--color-surface-2);flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:10px 12px;display:flex}.rsteps li:before{content:counter(rs);font:600 var(--fs-xs) var(--font-mono);color:var(--color-muted);min-width:1.2em}.rcard .tag{font:600 var(--fs-2xs)/1.7 var(--font-mono);border-radius:var(--r-sm);background:var(--color-primary-soft);color:var(--color-primary);white-space:nowrap;padding:0 6px}.rchecks li{border-radius:var(--r);background:var(--color-surface-2);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.rchecks .lbl{flex:1}.rchecks .ico{color:var(--color-pass);margin-top:2px}.rscripts details{border:1px solid var(--color-line);border-radius:var(--r)}.rscripts summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;list-style:none;display:flex}.rscripts summary::-webkit-details-marker{display:none}.rscripts summary>span:first-child{flex:1;min-width:12ch}.rscripts code{font:var(--fs-xs) var(--font-mono);border-radius:var(--r-sm);background:var(--color-surface-2);color:var(--color-muted);padding:1px 6px}.rscripts .link{font-size:var(--fs-sm);color:var(--color-primary);font-weight:600}.rscript-body{font-size:var(--fs-sm);gap:8px;padding:0 12px 12px;display:grid}.rguard{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.rguard>div{align-content:start;gap:6px;display:grid}.plain-list li{font-size:var(--fs-sm);border-left:2px solid var(--color-line-strong);padding-left:12px}.plain-rows li{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.plain-rows .lbl{flex:1}.plain-rows .pts{font:500 var(--fs-xs) var(--font-mono);color:var(--color-muted)}.plain-rows .ok .ico{color:var(--color-pass)}.plain-rows .no{color:var(--color-warn)}.review-side .side-body>.btn{justify-content:center;width:100%}.review-side .small{font-size:var(--fs-xs);align-items:flex-start;gap:6px;display:flex}.advanced{padding:0}.advanced>summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);color:var(--color-ink-2);padding:14px 20px}.advanced>.rbody{padding:0 20px 20px}.take-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.take-grid .way p{overflow-wrap:anywhere}.cmp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.cmp-head>div:first-child{flex:1;gap:4px;min-width:240px;display:grid}.cmp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cmp-box{border-radius:var(--r);border:1px solid var(--color-line);background:var(--color-surface-2);align-content:start;gap:8px;padding:12px 14px;display:grid}.cmp-box ul{font-size:var(--fs-sm);gap:6px;margin:0;padding:0;list-style:none;display:grid}.cmp-box.old{color:var(--color-muted)}.cmp-box.new{background:var(--color-primary-soft);border-color:color-mix(in srgb, var(--color-primary) 45%, transparent);color:var(--color-ink)}.cmp-box.new .eyebrow{color:var(--color-primary)}.side-total .big .was{font:400 var(--fs-xl) var(--font-mono);color:var(--color-muted);margin-right:4px}@media (max-width:960px){.review-grid{grid-template-columns:minmax(0,1fr)}.review-side{order:-1;position:static}.way-grid,.take-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.describe h1{font-size:var(--fs-2xl)}.rguard,.cmp-grid{grid-template-columns:minmax(0,1fr)}.ai-card,.rcard{padding:16px}.ai-card-foot>.btn.primary:last-child{justify-content:center;width:100%;margin-left:0}.review-title .btn{margin-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:480px){.site-tab{font-size:var(--fs-sm);gap:4px;padding:6px}.site-tab .tab-long{display:none}.site-tab .tab-short{display:inline}}@media (max-width:360px){.site-tab .ico{display:none}}.skip{z-index:60;border-radius:var(--r);background:var(--color-ink);color:var(--color-bg);font:600 var(--fs-sm)/1.2 var(--font-sans);padding:10px 14px;text-decoration:none;position:absolute;top:-48px;left:16px}.skip:focus{top:12px}main:focus,h1[tabindex="-1"]:focus{outline:none}.describe-box:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.lang-switch button{min-height:24px}.foot-nav a{justify-content:center;align-items:center;min-width:24px;min-height:24px;display:inline-flex}.link-btn{min-height:24px}.occ-row{scroll-margin-block:8px}.occ-list{scroll-padding-block:8px}