:root{--bg: #fbfbfa;--panel: #ffffff;--line: #d7dedb;--line-soft: #e4e9e7;--text: #111112;--muted: #5c6360;--amber: #ff7a1a;--amber-deep: #c24e00;--amber-tint: #fff3e9;--mint: #96dece;--ink: #111112;--ink-text: #eaeef4;--ink-muted: #c3cbc9;--good: #2e7d4f;--bad: #b00020;--display: "Montserrat", "Segoe UI", system-ui, sans-serif;--body: "Inter", "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, "JetBrains Mono", Consolas, monospace}*{box-sizing:border-box;border-radius:0!important}html,body,#root{margin:0;padding:0;min-height:100vh}body{background:var(--ink);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.5}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--mint);clip-path:polygon(0 0,100% 0,100% 38%,0 80%)}button{font-family:var(--body);cursor:pointer}.app-header{display:flex;align-items:center;gap:14px;padding:18px 28px}.app-header .crumb{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.app-header .crumb b{color:var(--text);font-weight:400}.user-chip{margin-left:auto;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:7px 12px;color:var(--text);background:#fff}.user-chip button{background:none;border:none;color:var(--muted);font:inherit;letter-spacing:inherit;text-transform:inherit}.user-chip button:hover{color:var(--amber-deep)}.logo-word{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.06em;text-transform:uppercase;color:#fff}.logo-img{height:26px;width:auto;display:block}.hero{font-family:var(--display);font-weight:800;font-size:56px;line-height:1.04;letter-spacing:.04em;text-transform:uppercase;color:#fff;text-align:center;transform:rotate(-6deg);margin:56px auto 44px}.card{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--amber);padding:32px}.auth-wrap{max-width:520px;margin:24px auto 64px;padding:0 28px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber-deep);margin:0 0 10px}.page-h1{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:.04em;text-transform:uppercase;margin:0;color:var(--ink)}.card p{color:#39414e;font-size:15px;margin:14px 0 26px}.btn-cta{background:var(--ink);color:#f8f8f7;border:2px solid var(--ink);font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:12px 22px}.btn-cta:hover{background:var(--amber);border-color:var(--amber);color:var(--ink)}.btn-ghost{background:none;border:1px solid var(--line);color:var(--muted);font-size:13px;padding:8px 12px}.btn-ghost:hover{border-color:var(--ink);color:var(--text)}.btn-ghost.danger:hover{color:var(--bad);border-color:var(--bad)}.tables-wrap{max-width:1100px;margin:0 auto;padding:24px 28px 80px}.tables-head{display:flex;align-items:flex-end;gap:18px;margin-bottom:24px}.tables-head .btn-cta{margin-left:auto}.tables-head .eyebrow,.tables-head .page-h1{color:var(--ink)}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tcard{background:#fff;border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:12px}.tcard .t-name{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase}.tcard .t-meta{color:var(--muted);font-size:13px}.chip{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--line);color:var(--muted);width:fit-content}.chip.published{background:var(--mint);border-color:var(--mint);color:var(--ink)}.tcard .actions{display:flex;gap:8px;border-top:1px solid var(--line-soft);padding-top:12px;margin-top:auto}.tcard .actions .btn-ghost{flex:1;text-align:center;padding:8px 6px}.note{color:var(--ink-muted);font-size:13px;background:#111112d1;display:inline-block;padding:8px 12px}.mono-note{font-family:var(--mono);font-size:11px;letter-spacing:.06em}.editor-wrap{display:flex;gap:20px;max-width:1240px;margin:0 auto;padding:12px 28px 60px;align-items:flex-start}.editor-rail{display:flex;flex-direction:column;gap:2px;position:sticky;top:16px;flex:none}.editor-rail button{display:flex;align-items:baseline;gap:10px;background:none;border:none;cursor:pointer;padding:10px 16px 10px 12px;border-left:3px solid var(--line-soft);color:var(--muted);font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-align:left}.editor-rail button .n{font-family:var(--display);font-weight:700;font-size:16px;min-width:20px}.editor-rail button:hover{color:var(--text)}.editor-rail button.current{color:var(--text);border-left-color:var(--amber);background:var(--amber-tint)}.editor-rail button.done{color:var(--amber-deep);border-left-color:var(--amber-deep)}.editor-panel{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--amber);padding:22px;flex:1;min-width:360px}.metric-row{display:flex;align-items:baseline;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);padding:4px 0}.metric-row .k{min-width:150px;text-transform:uppercase}.metric-row .v{color:var(--text)}.metric-row.warn .v{color:var(--amber-deep)}.big-score{font-family:var(--display);font-weight:800;font-size:40px;letter-spacing:.03em;color:var(--amber)}.big-score .grade{font-size:15px;color:var(--muted);font-family:var(--mono);letter-spacing:.12em;margin-left:10px}.advice{font-size:12px;color:var(--amber-deep);padding:3px 0}.editor-preview{background:var(--ink);border:1px solid #2a2a2e;border-top:4px solid var(--amber);padding:18px}.field-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}.tool-row{display:flex;gap:8px;flex-wrap:wrap}.tool-row button.armed{background:var(--amber);border-color:var(--amber);color:var(--ink)}.icon-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.icon-btn{width:80px;height:78px;background:#fff;border:1px solid var(--line);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:8px 4px}.icon-btn:hover{border-color:var(--ink);color:var(--text)}.icon-btn.armed{background:var(--amber);border-color:var(--amber);color:var(--ink)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn:disabled:hover{border-color:var(--line);color:var(--muted)}.glyph-svg{width:30px;height:30px;display:block}.icon-btn .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.1}.lede{color:var(--muted);margin:6px 0 4px;font-size:14px;max-width:560px}.cc-note{color:var(--muted);font-size:12px;margin-top:14px;max-width:560px}.shape-grid{display:flex;flex-direction:column;gap:8px;margin-top:4px;max-width:620px}.shape-card{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;text-align:left;background:var(--panel);border:1px solid var(--line);padding:10px 12px;cursor:pointer}.shape-card:hover{border-color:var(--ink)}.shape-card.selected{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.shape-thumb{display:block;width:64px;height:104px;background:#fff;border:1px solid var(--line-soft)}.shape-thumb svg{width:100%;height:100%;display:block}.shape-name{display:block;font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.04em}.shape-desc{display:block;color:var(--muted);font-size:12px;margin-top:3px}.shape-spec{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px}.vec-legend{display:flex;flex-wrap:wrap;gap:6px;width:430px;max-width:100%;margin-top:10px}.vec-legend button{display:flex;align-items:center;gap:6px;background:#1c1c1f;border:1px solid #2f2f33;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:4px 8px}.vec-legend button .key{width:9px;height:9px;display:inline-block;flex:none}.vec-legend button.off{opacity:.35}.vec-legend button:hover{border-color:#4a4a50}.art-slider{display:flex;align-items:center;gap:10px;margin:6px 0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.art-slider input[type=range]{flex:1}.status{font-size:13px;color:var(--muted);margin-top:12px}.status.good{color:var(--good)}.status.bad{color:var(--bad)}.rule-row{display:flex;gap:10px;align-items:baseline;border:1px solid var(--line-soft);padding:8px 10px;margin-top:8px;font-size:13px}.rule-row .t-meta{color:var(--muted)}.rule-row .spacer{margin-left:auto}input[type=text]{width:100%;border:1px solid var(--line);padding:10px 12px;font:inherit;letter-spacing:.04em}input[type=text]:focus{outline:2px solid var(--amber);outline-offset:1px}.center-box{max-width:560px;margin:80px auto;padding:0 28px}@keyframes tfhue{to{filter:hue-rotate(360deg)}}.tf-rgb{filter:hue-rotate(0deg);animation:tfhue 6s linear infinite}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.model-card{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:0;border:1px solid var(--line);background:#fff;cursor:pointer;overflow:hidden;font:inherit;text-align:left}.model-card:hover:not(:disabled){border-color:var(--amber)}.model-card:disabled{opacity:.45;cursor:default}.model-card img,.model-card .model-noimg{width:100%;aspect-ratio:1;object-fit:cover;background:#ecefee;display:block}.model-card .model-name{padding:5px 7px;font-size:11px;line-height:1.25;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-card .model-badge{position:absolute;top:4px;right:4px;background:#111112d1;color:#fff;font-size:9px;padding:2px 5px;letter-spacing:.03em}
