:root{color-scheme:dark;font-family:Gill Sans,Trebuchet MS,Segoe UI,sans-serif;background:#0e1013;color:#f1ece6}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#1c1f26,#0f1115 45%,#0b0d10)}.viewer-body{background:#0b0d10}.proofs-body{background:radial-gradient(circle at top left,#101a2b,#0e1013 55%,#05080c)}.proofs-simple-body{background:#0e1013}.proofs-simple-page .lede{max-width:560px}.proofs-simple-grid{grid-template-columns:minmax(260px,320px) 1fr}.proofs-simple-page .proof-card,.proofs-simple-page .panel{background:#13171de6}.proofs-simple-page .rule-list,.proofs-simple-page .proof-list{color:#c9bfb3}.proofs-page{max-width:1200px;margin:0 auto;padding:48px 24px 72px;display:grid;gap:32px}.proofs-hero{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;justify-content:space-between}.proofs-actions{display:flex;gap:12px}.proofs-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr minmax(220px,300px);gap:24px}.proofs-panel h2{margin-bottom:16px}.proof-card{margin-bottom:16px;padding:16px;border-radius:16px;background:#111925bf;border:1px solid rgba(148,163,184,.2)}.proof-card h3{margin:0 0 8px;font-size:1rem}.proof-list{margin:0;padding-left:18px;display:grid;gap:6px;color:#c1b3a6}.goal-text{margin:0;font-weight:600}.rule-list{margin:0;padding-left:18px;display:grid;gap:6px;color:#c1b3a6}.example-card{border:1px dashed rgba(148,163,184,.3)}.example-text{margin:0 0 6px;font-weight:600}.example-meta{margin:0;color:#c1b3a6;font-size:.85rem}.muted{color:#c1b3a6}.small{font-size:.85rem}.step-form{display:grid;gap:14px;margin-bottom:16px}.field{display:grid;gap:6px;font-size:.85rem;color:#c1b3a6}.field input,.field select{padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#090e16cc;color:#f1ece6}.proof-status{margin-bottom:16px}.status-text{margin:0;font-weight:600}.hint-text{margin:6px 0 0;color:#facc15;font-size:.85rem}.status-text.good{color:#4ade80}.status-text.bad{color:#f87171}.status-text.neutral{color:#c1b3a6}.proof-table{display:grid;gap:6px}.proof-subproof{display:grid;gap:8px;margin-bottom:12px}.subproof-actions{display:flex;gap:10px;flex-wrap:wrap}.proof-row{display:grid;grid-template-columns:40px minmax(140px,1fr) 140px 90px 80px;gap:12px;padding:10px 12px;border-radius:12px;background:#090e16b3;border:1px solid rgba(148,163,184,.18);font-size:.9rem}.proof-row.subproof{border-left:4px solid rgba(148,163,184,.5);margin-left:calc(var(--depth, 1) * 12px);padding-left:calc(20px + var(--depth, 1) * 6px);background:#090e16d9}.proof-row .row-hint{grid-column:1 / -1;font-size:.8rem;color:#facc15;margin-top:4px}.proof-row.ok{border-color:#4ade8066}.proof-row.bad{border-color:#f8717166}.proof-header{font-weight:700;color:#f1ece6;background:#0f172ae6}.proof-toolbar{margin:12px 0 8px;display:flex;flex-wrap:wrap;gap:10px}.proof-toolbar input[type=file]{display:none}.file-button{cursor:pointer}.proof-template .template-card{margin-top:12px;padding:14px;border-radius:14px;background:#111925b3;border:1px solid rgba(148,163,184,.2)}.proof-template h3{margin:0 0 8px;font-size:1rem}.proof-template ol{margin:0;padding-left:18px;color:#c1b3a6;display:grid;gap:6px}.proof-checklist{margin-top:18px;padding:14px;border-radius:14px;background:#11192599;border:1px solid rgba(148,163,184,.2)}.proof-checklist h3{margin:0 0 8px;font-size:.95rem}.proof-checklist ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#c1b3a6}.proof-checklist li.done{color:#4ade80}.proof-checklist li.done::marker{color:#4ade80}@media (max-width: 980px){.proofs-grid{grid-template-columns:1fr}.proof-row{grid-template-columns:34px 1fr;grid-auto-rows:auto}}.app{max-width:1200px;margin:0 auto;padding:32px 24px 56px;display:flex;flex-direction:column;gap:32px}.app__header{display:flex;justify-content:space-between;gap:24px;align-items:center}.header-actions{display:flex;flex-wrap:wrap;gap:12px}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:#b69476}h1{margin:0;font-size:clamp(28px,4vw,40px);font-weight:700}.subtitle{margin:8px 0 0;color:#c1b3a6}.app__main{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px}.panel{background:#181b21e6;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:20px;box-shadow:0 18px 32px -20px #000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel--primary{display:flex;flex-direction:column;gap:18px}.panel__title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.panel__title h2{margin:0;font-size:20px}.panel__body{font-size:16px;line-height:1.6;color:#cfc2b6}.panel__body p{margin:0}.about-portrait{display:grid;gap:8px;max-width:320px;margin-bottom:20px}.about-portrait img{width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 30px -18px #000c}.about-portrait .caption{font-size:13px;color:#b7a89a}.panel__title h3{margin:0;font-size:16px}.status{margin:0;font-size:14px;color:#b7a89a}.canvas-frame{border-radius:16px;border:1px dashed rgba(255,255,255,.16);background:linear-gradient(135deg,#20232ae6,#14171cf2);min-height:360px;display:grid;place-items:center;position:relative;overflow:hidden}.chart-frame{display:grid;gap:12px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#0c0e12bf}#chartCanvas{width:100%;height:160px;display:block}.canvas-placeholder{text-align:center;color:#a99a8c}.canvas-placeholder .small{font-size:12px;margin-top:6px}.sim-canvas{width:100%;height:100%;display:block}.panel--secondary{display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 180px);overflow-y:auto;padding-right:8px}.app__footer{display:flex;justify-content:center;padding-bottom:24px}.app__footer a{color:#c1b3a6;text-decoration:none;font-size:14px}.app__footer a:hover{color:#f7b76a}.viewer{min-height:100vh;display:flex;flex-direction:column;gap:16px;padding:20px}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.viewer-frame{flex:1;display:flex}.viewer-canvas{width:100%;height:calc(100vh - 140px);min-height:480px}.control{display:flex;flex-direction:column;gap:6px}.control-group{display:grid;gap:12px;padding:12px;border-radius:16px;background:#0a0c108c;border:1px solid rgba(255,255,255,.06)}.control-group__header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#d6c8bc}.control-group__title{font-weight:600;letter-spacing:.01em}.control-group__about{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);background:#14161cb3;color:#f1ece6;text-decoration:none;font-size:12px;line-height:1;transition:background .2s ease,border-color .2s ease}.control-group__about:hover{background:#262a34e6;border-color:#ffffff59}.control-group__about:focus-visible{outline:2px solid rgba(246,206,127,.8);outline-offset:2px}.control-row{display:flex;flex-wrap:wrap;gap:10px}.toggle-row{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#c1b3a6}.toggle-row input{margin-right:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}label{font-size:13px;color:#bdaea0}input,textarea,select{border-radius:12px;border:1px solid rgba(255,255,255,.14);padding:10px 12px;font-size:14px;font-family:inherit;background:#101216d9;color:#f1ece6}.button{border:none;border-radius:999px;padding:10px 18px;background:#f7b76a;color:#1a1310;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.button:hover{transform:translateY(-1px);box-shadow:0 12px 18px -12px #0009}.button--ghost{background:transparent;color:#f1ece6;border:1px solid rgba(255,255,255,.3)}@media (max-width: 900px){.app__header{flex-direction:column;align-items:flex-start}.app__main{grid-template-columns:1fr}}
