.demo .demo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.demo .demo-head h1{margin:0;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.03em;line-height:1.15}.demo .notice{font-size:.82rem;color:var(--warn);margin:0 0 1rem}.demo .guide{font-size:.88rem;color:var(--ink-soft);margin-bottom:1.1rem}.demo .guide summary{cursor:pointer;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.demo .guide ol{margin:.5rem 0 .3rem;padding-left:1.2rem;line-height:1.6}.demo .guide p,.tl{margin:0}.tl{list-style:none;padding:0}.tl,.tl-step{position:relative}.tl-step{padding:0 0 .9rem 2.6rem}.tl-step:before{content:"";position:absolute;left:.9rem;top:1.9rem;bottom:0;width:2px;background:var(--line)}.tl-step:last-child:before{display:none}.tl-step.done:before{background:var(--accent)}.tl-node{position:absolute;left:0;top:.1rem;width:1.85rem;height:1.85rem;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.8rem;font-weight:600;border:2px solid var(--line);background:var(--paper);color:var(--ink-soft)}.tl-step.done .tl-node{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tl-step.current .tl-node{border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 4px rgba(16,185,129,.2)}.tl-head{display:flex;align-items:baseline;gap:.75rem;width:100%;min-height:2rem;padding:.25rem 0;background:none;border:none;font:inherit;color:inherit;text-align:left}button.tl-head{cursor:pointer}button.tl-head:hover .tl-title{color:var(--accent-ink)}.tl-title{font-weight:700;white-space:nowrap}.tl-summary{color:var(--ink-soft);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tl-step.locked .tl-title{color:var(--ink-faint)}.tl-body{margin-top:.4rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;box-shadow:var(--shadow);animation:rise .35s ease both;display:flex;flex-direction:column;gap:.75rem}.demo .grid{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.demo .grid.two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.demo label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--ink-soft)}.demo input,.demo select,.demo textarea{font:inherit;font-size:.92rem;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.5rem .65rem;background:var(--surface);min-height:2.4rem}.demo textarea{resize:vertical;line-height:1.45}.demo .actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.demo .actions>label{flex:1 1 240px}.demo .btn{min-height:2.4rem;border:none;border-radius:10px;padding:.5rem 1rem;font:inherit;font-weight:600;cursor:pointer;background:var(--accent);color:var(--on-accent);transition:background .15s ease,transform .15s ease;align-self:flex-end}.demo .btn:hover{background:var(--accent-ink);transform:translateY(-1px)}.demo .btn.ghost{background:transparent;color:var(--accent-ink);border:1px solid var(--accent)}.demo .btn.ghost:hover{background:var(--accent-bg)}.demo .chip{display:inline-block;font-family:var(--mono);font-size:.7rem;padding:.12rem .45rem;border-radius:999px;background:var(--paper-2);color:var(--ink-soft);margin-right:.35rem;vertical-align:1px}.demo .chip.warn{background:var(--warn-bg);color:var(--warn)}.demo .chip.ok{background:var(--ok-bg);color:var(--ok)}.demo .chip.conf-low{background:var(--danger-bg);color:var(--danger)}.demo .chip.conf-medium{background:var(--warn-bg);color:var(--warn)}.demo .chip.conf-high{background:var(--ok-bg);color:var(--ok)}.demo .note{margin:0;font-size:.82rem;color:var(--ink-soft)}.demo .warn-text{color:var(--warn)}.demo .meter{display:flex;align-items:center;gap:.75rem;font-size:.88rem}.demo .meter .bar{flex:1 1;height:6px;border-radius:999px;background:var(--paper-2);overflow:hidden}.demo .meter .bar div{height:100%;background:var(--accent)}.demo .meter strong{font-family:var(--mono)}.demo .hyp{margin:0;padding:.45rem .7rem;border-left:3px solid var(--accent);background:var(--surface-2);font-size:.92rem}.demo .list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.3rem;font-size:.88rem}.demo .list-title{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin:0 0 .35rem}.demo details.more summary{cursor:pointer;font-size:.82rem;color:var(--accent-ink)}.demo details.more[open] summary{margin-bottom:.4rem}.demo details.more ol,.demo details.more ul{margin:0;padding-left:1.2rem;font-size:.86rem;line-height:1.5}.demo .kpis{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:baseline}.demo .kpi span{display:block;font-size:.72rem;color:var(--ink-soft)}.demo .kpi strong{font-size:1.45rem;letter-spacing:-.02em}.demo .kpi.main strong{color:var(--accent-ink)}.demo .formula{font-family:var(--mono);font-size:.75rem;color:var(--ink-soft);margin:0}.demo .flow{list-style:none;margin:0;padding:0;display:flex;gap:.4rem;flex-wrap:wrap;counter-reset:flow}.demo .flow li{counter-increment:flow;flex:1 1 150px;font-size:.82rem;padding:.45rem .6rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);position:relative}.demo .flow li:before{content:counter(flow);font-family:var(--mono);font-size:.7rem;color:var(--accent-ink);margin-right:.35rem}.demo .value{margin:0;font-weight:600;color:var(--accent-ink)}.demo .table-wrap{overflow-x:auto}.demo table{width:100%;border-collapse:collapse;font-size:.84rem}.demo td,.demo th{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--paper-2);white-space:nowrap}.demo th{font-family:var(--mono);font-size:.7rem;color:var(--ink-soft);font-weight:500}.demo tr.flagged td{background:var(--warn-bg)}.demo pre{font-family:var(--mono);font-size:.75rem;background:var(--surface);border:1px solid var(--paper-2);border-radius:8px;padding:.5rem;margin:.3rem 0;white-space:pre-wrap}.demo .draft{min-height:12rem}.demo{padding-bottom:7rem}.demo .chip.info{background:var(--info-bg);color:var(--info)}.demo .caution{color:var(--warn)}.funnel{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));grid-gap:.4rem;gap:.4rem;overflow-x:auto}.fn button{width:100%;text-align:left;font:inherit;color:inherit;display:flex;flex-direction:column;gap:.1rem;padding:.6rem .75rem;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.fn button:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.fn button:disabled{cursor:default;opacity:.45}.fn-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.fn.done .fn-label{color:var(--ok)}.fn.current button{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.18)}.fn.current .fn-label{color:var(--accent-ink)}.fn-value{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.fn-sub,.fn-value{white-space:nowrap}.fn-sub{font-size:.7rem;color:var(--ink-faint)}.demo .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.5rem;gap:.5rem}.co-card{font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.3rem;padding:.65rem .8rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.co-card:hover{border-color:var(--ink-faint)}.co-card.active{border-color:var(--accent);background:var(--accent-bg)}.co-top{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.co-name{font-weight:700}.co-score{font-family:var(--mono);font-size:.78rem;padding:.05rem .4rem;border-radius:6px;background:var(--paper-2);color:var(--ink-soft)}.co-score.hot{background:var(--accent-bg);color:var(--accent-ink)}.co-score.warm{background:var(--warn-bg);color:var(--warn)}.co-meta{font-size:.76rem;color:var(--ink-soft)}.demo .chips{display:flex;gap:.4rem;flex-wrap:wrap}.sig-chip{font:inherit;font-size:.84rem;color:var(--ink-soft);padding:.4rem .7rem;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer}.sig-chip.active{color:var(--ink);border-color:var(--accent);background:var(--accent-bg)}.breakdown{display:flex;flex-direction:column;gap:.4rem}.bd-head{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}.bd-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);margin-right:.3rem}.bd-score{font-size:1.35rem;font-weight:800}.bd-of{font-size:.8rem;color:var(--ink-soft);margin-right:.4rem}.bd-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--paper-2)}.bd-seg.evidence,.dot.evidence{background:var(--accent)}.bd-seg.workload,.dot.workload{background:var(--info)}.bd-seg.fit,.dot.fit{background:var(--warn)}.bd-seg+.bd-seg{border-left:2px solid var(--paper)}.bd-legend{list-style:none;margin:0;padding:0;display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--ink-soft)}.bd-legend strong{color:var(--ink);margin-left:.2rem}.dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.35rem}.muted-num{color:var(--ink-faint)}.spotlight .recap,.tl-step.spotlight .tl-body{box-shadow:0 0 0 2px var(--accent),0 0 30px rgba(16,185,129,.25)}.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(15,23,42,.88);border-top:1px solid var(--line)}.ab-inner{max-width:1080px;margin:0 auto;padding:.65rem 1.25rem;display:flex;align-items:center;gap:.75rem}.ab-hint{flex:1 1;font-size:.85rem;text-align:right}.ab-hint,.ab-kbd{color:var(--ink-soft)}.ab-kbd{font-family:var(--mono);font-size:.75rem;padding:.15rem .45rem;border:solid var(--line);border-width:1px 1px 2px;border-radius:6px}.action-bar .btn,.coach .btn,.recap .btn{min-height:2.5rem;border:none;border-radius:10px;padding:.5rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;background:var(--accent);color:var(--on-accent)}.action-bar .btn.primary:hover,.recap .btn.primary:hover{background:var(--ok)}.action-bar .btn.ghost,.recap .btn.ghost{background:transparent;color:var(--accent-ink);border:1px solid var(--accent)}.action-bar .btn:disabled{opacity:.4;cursor:default}.coach{position:fixed;left:1rem;bottom:5rem;z-index:55;width:min(25rem,calc(100% - 2rem));background:#f1f5f9;color:#0f172a;border-radius:14px;padding:1rem 1.1rem;box-shadow:0 24px 60px rgba(0,0,0,.55);animation:rise .3s ease both}.coach-top{display:flex;justify-content:space-between;align-items:center}.coach-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#047857}.coach-x{border:none;background:none;font-size:.95rem;cursor:pointer;color:#475569;padding:.2rem .4rem}.coach-progress{display:flex;gap:3px;margin:.5rem 0 .6rem}.coach-progress span{flex:1 1;height:3px;border-radius:2px;background:#cbd5e1}.coach-progress span.on{background:#059669}.coach h2{margin:0 0 .3rem;font-size:1.05rem}.coach p{margin:0 0 .8rem;font-size:.9rem;line-height:1.45;color:#334155}.coach-actions{display:flex;justify-content:flex-end;gap:.5rem}.coach .btn.primary{background:#059669;color:#fff}.coach .btn.ghost{background:transparent;color:#047857;border:1px solid #059669}.recap{margin-top:1rem;padding:1.2rem 1.3rem;border-radius:var(--radius);border:1px solid var(--accent);background:linear-gradient(135deg,var(--accent-bg),var(--card) 60%);animation:rise .4s ease both}.recap h2{margin:0 0 .8rem;font-size:1.4rem;letter-spacing:-.02em}.recap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.75rem 1.2rem;gap:.75rem 1.2rem;margin:0 0 1rem}.recap-grid dt{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.recap-grid dd{margin:.15rem 0 0}.recap-grid .big dd:first-of-type{font-size:1.6rem;font-weight:800;color:var(--accent-ink)}.recap-grid small{font-size:.85rem;color:var(--ink-soft)}.recap .actions{display:flex;gap:.6rem;flex-wrap:wrap}@media (max-width:720px){.funnel{grid-template-columns:repeat(5,130px)}.ab-hint,.ab-kbd{display:none}.ab-inner{justify-content:space-between}.coach{left:.5rem;right:.5rem;width:auto;bottom:4.5rem}.brand-sub{display:none}}