/* The classifier demos' look: the court v2 step-by-step page's styles (prototypes/ite-court/web/v2/index.html), plus score and word chips. */
:root{--bg:#f2f4f6;--card:#fff;--ink:#1d232b;--muted:#5d6672;--faint:#8a929c;--line:#e3e6ea;--accent:#0f6e5c;--accent-bg:#e4f3ef;--pass:#1f7a3a;--pass-bg:#e8f5ec;--block:#b42318;--block-bg:#fdecea;--warn:#8a5a00;--warn-bg:#fdf3dc}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.top{max-width:980px;margin:0 auto;padding:16px 16px 0;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.top h1{font-size:17px;margin:0;font-weight:600}
.note{font-size:11px;color:var(--muted);background:#fff7e8;border:1px solid #f1dfb7;border-radius:6px;padding:2px 8px}
.layout{max-width:980px;margin:10px auto 0;padding:0 16px;display:grid;grid-template-columns:minmax(0,560px);justify-content:center;gap:16px;align-items:start}
.layout.open{grid-template-columns:minmax(0,560px) minmax(0,380px)}
@media (max-width:900px){.layout.open{grid-template-columns:minmax(0,1fr)}}
.explain{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
@media (max-width:900px){.explain{position:static;max-height:none}}
.explain h2{font-size:16px;margin:0 0 4px}
.explain .lead{color:var(--muted);font-size:14px;margin:0 0 12px}
.xs{border-top:1px solid var(--line);padding:10px 0}
.xs .n{font-weight:600;font-size:15px}
.xs .p{font-size:14px;margin:3px 0}
.xs .run{font-size:13px;background:#f6f7f9;border-radius:8px;padding:6px 8px;margin:6px 0}
.xg{display:flex;gap:8px;padding:6px 0 0;font-size:13px}
.xg .i{flex:none;width:18px;font-weight:700}
.xg.pass .i{color:var(--pass)}.xg.block .i{color:var(--block)}.xg.warn .i{color:var(--warn)}
.xg .w{color:var(--muted)}.xg .r{color:var(--faint);font-size:12px}
.xbtn{font-size:14px;padding:6px 12px}
.bar{height:5px;background:var(--line);border-radius:5px;overflow:hidden;margin-bottom:6px}
.bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}
.stepno{font-size:13px;color:var(--muted);margin:0 0 6px;min-height:20px}
.screen{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;min-height:380px;display:flex;flex-direction:column}
.q{font-size:22px;font-weight:600;margin:0 0 14px;line-height:1.3}
.sub{color:var(--muted);font-size:15px;margin:0 0 12px}
textarea{width:100%;min-height:96px;font:inherit;padding:10px 12px;border:1px solid #cfd5dc;border-radius:10px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.chip{font-size:14px;padding:6px 12px;border:1px solid #cfd5dc;border-radius:20px;background:#fff;cursor:pointer}
.chip:hover{background:#f3f5f7}
.card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 10px}
.big{font-size:18px;font-weight:600}
.k{color:var(--muted);font-size:14px}
.actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
button{font:inherit;cursor:pointer;border-radius:10px;padding:11px 16px;border:1px solid #cfd5dc;background:#fff;color:var(--ink)}
button:hover{background:#f3f5f7}
button.go{background:var(--accent);border-color:var(--accent);color:#fff;flex:1;font-weight:600}
button.go:hover{background:#0c5a4b}
button.red{border-color:#f0b9b3;color:var(--block)}
button.link{border:0;background:none;padding:4px 0;color:var(--accent);text-decoration:underline;font-size:14px}
button:disabled{opacity:.55;cursor:default}
.safe{margin-top:auto;padding-top:14px}
.safe .h{font-size:13px;color:var(--muted);margin:14px 0 6px;border-top:1px solid var(--line);padding-top:12px}
.tick{display:flex;gap:8px;font-size:14px;line-height:1.45;padding:2px 0}
.tick .i{flex:none;width:18px;font-weight:700}
.tick.pass .i{color:var(--pass)}.tick.block .i{color:var(--block)}.tick.warn .i{color:var(--warn)}
.ok{background:var(--pass-bg);color:#14532d;border-color:#bfe3cc}
.bad{background:var(--block-bg);color:#7a1d16;border-color:#f3c7c1}
.warnbox{background:var(--warn-bg);color:#5c3d00;border-color:#f1dfb7}
.center{text-align:center}
.foot{max-width:980px;margin:12px auto 28px;padding:0 16px;font-size:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
.foot a{color:var(--muted)}
.home{font-size:14px;color:var(--accent);font-weight:600;text-decoration:none;border:1px solid #bfe2d8;border-radius:8px;padding:5px 10px;background:#fff}
.site{max-width:980px;margin:0 auto;padding:10px 16px 0;font-size:13px}.site a{color:#5b6475;text-decoration:none}.site a:hover{text-decoration:underline}
/* classifier additions */
.quote{font-size:15px;background:#f6f7f9;border-left:3px solid #cfd5dc;border-radius:6px;padding:8px 10px;margin:0 0 12px;white-space:pre-wrap;word-break:break-word}
.toks{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 10px}
.tok{font:13px/1.2 ui-monospace,Menlo,Consolas,monospace;padding:4px 7px;border-radius:6px;background:#eef0f3;color:var(--faint)}
.tok.known{background:var(--accent-bg);color:#0b4f42}
.tok.place{background:#e7ecfb;color:#23408e;font-weight:600}
.tok.up{background:var(--block-bg);color:#7a1d16}
.tok.down{background:var(--pass-bg);color:#14532d}
.score{font-size:46px;font-weight:700;line-height:1;margin:6px 0}
.pill{display:inline-block;font-weight:600;font-size:15px;border-radius:20px;padding:4px 12px;border:1px solid}
.pill.bad{border-color:#f3c7c1}.pill.ok{border-color:#bfe3cc}.pill.warn{background:var(--warn-bg);color:#5c3d00;border-color:#f1dfb7}
.meter{position:relative;height:14px;border-radius:7px;background:linear-gradient(90deg,#cfeedd 0,#cfeedd 30%,#fbeac2 30%,#fbeac2 70%,#f7cdc8 70%,#f7cdc8 100%);margin:10px 0 4px}
.meter b{position:absolute;top:-4px;width:4px;height:22px;background:var(--ink);border-radius:2px;transform:translateX(-2px)}
.meterk{display:flex;justify-content:space-between;font-size:11px;color:var(--faint)}
table.m{width:100%;border-collapse:collapse;font-size:14px;margin:4px 0 12px}
table.m th,table.m td{text-align:left;padding:5px 6px;border-bottom:1px solid var(--line)}
table.m th{color:var(--muted);font-weight:600;font-size:13px}
.hb{display:flex;align-items:center;gap:8px;font-size:13px;margin:3px 0}
.hb span{flex:none;width:92px;color:var(--muted)}
.hb i{display:block;height:12px;border-radius:4px}
.hb .o{background:#c7cdd4}.hb .n{background:var(--accent)}
.hbw{flex:1;display:flex;flex-direction:column;gap:2px}
ul.plain{margin:4px 0 10px;padding-left:20px;font-size:15px}
ul.plain li{margin:3px 0}
.small{font-size:13px;color:var(--muted)}
.tabs{display:flex;gap:0;margin:0 0 12px;border:1px solid var(--line);border-radius:9px;overflow:hidden;width:max-content}
.tab{border:0;border-radius:0;padding:6px 14px;font-size:14px;background:#fff;color:var(--muted)}
.tab.on{background:var(--accent);color:#fff;font-weight:600}
.th{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px}
ol.seq{margin:0;padding-left:20px;font-size:14px}
ol.seq li{margin:0 0 6px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:13px;background:#f6f7f9;border-radius:8px;padding:8px 10px}
.kv span{color:var(--muted)}
.kv strong{font-weight:600;word-break:break-word}
details.qa{border-top:1px solid var(--line);padding:6px 0;font-size:14px}
details.qa summary{cursor:pointer;font-weight:600;color:var(--accent)}
details.qa p{margin:6px 0 2px}
