:root{--bg:#f4f2ee;--surface:#fff;--surface-2:#f8f6f2;--line:#e4dfd6;--line-strong:#cfc8bc;--ink:#1f1b16;--ink-2:#4a443b;--ink-3:#7c7468;--act:#e8691a;--act-deep:#c4530c;--act-tint:#fdeee2;--ok:#2f8a4c;--ok-tint:#e6f4ea;--warn:#b26a00;--warn-tint:#fff4dc;--bad:#c0362c;--bad-tint:#fdecec;--r:10px;--r-lg:14px;--shadow:0 1px 2px #1f1b160f, 0 4px 16px #1f1b160d;color:var(--ink);background:var(--bg);font-family:Onest,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);margin:0}body.modal-open{overflow:hidden}a{color:var(--act-deep);text-decoration:none}h1,h2,h3,h4{margin:0;line-height:1.25}h1{font-size:26px}h2{font-size:19px}h3{font-size:17px}h4{align-items:center;gap:6px;font-size:15px;display:flex}p{margin:6px 0;line-height:1.5}code{background:var(--surface-2);border-radius:6px;padding:1px 6px;font-size:.92em}.muted{color:var(--ink-3)}.small{font-size:13px}.spacer{flex:1}.boot,.loading{text-align:center;color:var(--ink-3);padding:40px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);width:100%;padding:9px 11px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:42px;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--act);box-shadow:0 0 0 3px var(--act-tint);outline:none}input[type=checkbox]{width:18px;height:18px;accent-color:var(--act);flex:none}button{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}button:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-3)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--act);border-color:var(--act);color:#fff}button.primary:hover:not(:disabled){background:var(--act-deep);border-color:var(--act-deep)}button.danger{color:var(--bad);border-color:#e9b8b3}button.danger:hover:not(:disabled){background:var(--bad-tint);border-color:var(--bad)}button.danger.armed{background:var(--bad);color:#fff;border-color:var(--bad)}.icon-btn{color:var(--ink-3);background:0 0;border-color:#0000;padding:6px}.icon-btn:hover:not(:disabled){color:var(--ink);background:var(--surface-2);border-color:#0000}.icon-btn.danger{color:var(--ink-3);border-color:#0000}.icon-btn.danger.armed{padding:6px 10px;font-size:13px}.link-btn{color:var(--act-deep);background:0 0;border:none;padding:6px 2px;font-weight:600}.link-btn:hover:not(:disabled){background:0 0;text-decoration:underline}.row{align-items:center;gap:8px;display:flex}.row input{flex:1}.row-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.grid-2,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:1fr}}.field{flex-direction:column;gap:5px;margin:10px 0;display:flex}.field-label{color:var(--ink-2);font-size:14px;font-weight:600}.field-hint{color:var(--ink-3);font-size:12.5px;line-height:1.4}.field-error{color:var(--bad);font-size:13px}.warn-text{color:var(--warn)}.check-row{cursor:pointer;align-items:center;gap:8px;margin:6px 0;line-height:1.35;display:flex}.check-row.big{margin:10px 0;font-size:15.5px}.badge{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:99px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-tint);color:var(--ok);border-color:#bfe0c9}.badge.warn{background:var(--warn-tint);color:var(--warn);border-color:#f0d9a4}.muted-badge{color:var(--ink-3);font-weight:500}.note{background:var(--warn-tint);border-radius:var(--r);border:1px solid #f0d9a4;padding:10px 12px;font-size:14px}.layout{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.sidebar{color:#efe9df;background:#221d17;flex-direction:column;gap:18px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{color:inherit;padding:0 8px;font-family:Unbounded,Onest,sans-serif;font-size:20px;font-weight:700}.brand span{color:var(--act)}.brand.big{color:var(--ink);margin-bottom:8px;padding:0;font-size:22px}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav a{border-radius:var(--r);color:#d6cec2;align-items:center;gap:10px;padding:9px 10px;font-size:14.5px;font-weight:600;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff0f}.sidebar nav a.active{color:#fff;background:#e8691a2e}.me{border-top:1px solid #ffffff1a;margin-top:auto;padding:10px}.me-email{text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.me .muted{color:#a59c8f}.me .link-btn{color:#f2b386;padding-left:0}.main{min-width:0}.page{max-width:1320px;margin:0 auto;padding:24px 28px 60px}.page-head{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 14px;display:flex}.sticky-head{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);margin:0 0 6px;padding:10px 0;position:sticky;top:0}.back{color:var(--ink-3);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.back:hover{color:var(--ink)}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;padding:10px 14px;position:static}.sidebar nav{flex-flow:wrap}.me{border:none;margin:0 0 0 auto;padding:0}.page{padding:16px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);margin:14px 0;padding:18px 20px}.card h3{align-items:center;gap:6px;margin-bottom:6px;display:flex}.empty{padding:10px 0}.chips{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:99px;padding:7px 13px;font-size:14px;font-weight:600}.chip:hover{border-color:var(--ink-3)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.chip.active .muted{color:#c9c0b3}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:6px 0 12px;display:flex}.tabs button{color:var(--ink-3);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 14px}.tabs button:hover:not(:disabled){color:var(--ink);border-color:#0000;border-bottom-color:var(--line-strong);background:0 0}.tabs button.active{color:var(--ink);border-bottom-color:var(--act)}.tab-count{background:var(--surface-2);border-radius:99px;margin-left:6px;padding:0 7px;font-size:12px}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);gap:3px;margin:4px 0 8px;padding:3px;display:inline-flex}.segmented button{background:0 0;border:none;padding:7px 14px}.segmented button.active{background:var(--surface);box-shadow:var(--shadow);color:var(--act-deep)}.section-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.add-wide{border-style:dashed;justify-content:center;width:100%;padding:12px}.sortable{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sortable>li{border-radius:var(--r);align-items:stretch;gap:4px;display:flex;position:relative}.sortable>li.dragging{opacity:.45}.sortable>li.over-before:before,.sortable>li.over-after:after{content:"";background:var(--act);border-radius:2px;height:3px;position:absolute;left:0;right:0}.sortable>li.over-before:before{top:-5px}.sortable>li.over-after:after{bottom:-5px}.handle{color:var(--line-strong);cursor:grab;align-items:center;padding:0 2px;display:flex}.handle:hover{color:var(--ink-3)}.sortable-body{flex:1;min-width:0}.topic-row{border:1px solid var(--line);border-radius:var(--r);color:var(--ink);background:var(--surface);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.topic-row:hover{border-color:var(--act);background:#fffaf6}.topic-title{flex:240px;font-weight:600}.topic-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.plain-list{margin:0;padding:0;list-style:none}.row-btn{white-space:normal;text-align:left;border-color:#0000;justify-content:flex-start;width:100%;font-weight:500}.check-list{border:1px solid var(--line);border-radius:var(--r);gap:8px;max-height:320px;padding:8px 12px;display:grid;overflow:auto}.with-preview{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:20px;display:grid}.preview-col{position:sticky;top:76px}@media (width<=1150px){.with-preview{grid-template-columns:1fr}.preview-col{position:static}}.step-card h3{font-size:18px}.step-n{background:var(--act);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;display:inline-grid}.sub-block{border-top:1px dashed var(--line);margin-top:14px;padding-top:12px}.formula-card,.example-item{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r);margin:10px 0;padding:4px 14px 12px}.chips-line{flex-wrap:wrap;gap:6px;display:flex}.token{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:4px 10px;font-weight:600}.list-editor{flex-direction:column;gap:4px;display:flex}.list-row{align-items:flex-start;gap:6px;display:flex}.list-row input,.list-row textarea{flex:1}.list-num{text-align:right;width:22px;color:var(--ink-3);flex:none;padding-top:10px;font-size:13px}.symbol-bar{z-index:3;flex-wrap:wrap;gap:4px;margin:6px 0;display:flex;position:sticky;top:64px}.symbol-bar button{background:var(--surface);justify-content:center;min-width:32px;padding:3px 9px;font-weight:500}.danger-zone{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:28px;padding-top:16px;display:flex}.danger-card{border-color:#efc9c5}.q-card{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);align-items:flex-start;gap:4px;display:flex}.q-card:hover{border-color:var(--act)}.q-main{text-align:left;white-space:normal;background:0 0;border:none;flex-direction:column;flex:1;align-items:stretch;gap:6px;min-width:0;padding:10px 12px;font-weight:400;display:flex}.q-main:hover:not(:disabled){background:0 0}.q-prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.q-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.q-key{margin-left:auto;font-size:12px}.q-card>button.icon-btn,.q-card>.icon-btn{margin:6px}.solution-editor{border:1px solid var(--line);border-radius:var(--r);background:#fcfbf9;margin:14px 0;padding:6px 14px 14px}.solution-editor.empty{background:var(--surface-2)}.solution-head{justify-content:space-between;align-items:center;padding-top:6px;display:flex}.kind-buttons{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.quad-gen .row select{width:auto}.quad-details summary{cursor:pointer;color:var(--act-deep);margin:8px 0;font-weight:600}.check{border-radius:var(--r);align-items:flex-start;gap:8px;margin:10px 0;padding:10px 12px;font-size:14px;display:flex}.check svg{flex:none;margin-top:2px}.check ul{margin:4px 0 0;padding-left:18px}.check.ok{background:var(--ok-tint);color:#1d5c32}.check.warn{background:var(--warn-tint);color:#6e4300}.check.bad{background:var(--bad-tint);color:#7e1f18}.preview{margin:10px 0}.preview-label{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;font-weight:600;display:flex}.preview iframe{background:#faf7f2;border:8px solid #221d17;border-radius:26px;width:100%;max-width:420px;margin:0 auto;transition:height .2s;display:block}.modal-backdrop{z-index:50;background:#19140f73;place-items:start center;padding:4vh 16px;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);border-radius:16px;flex-direction:column;width:100%;max-width:560px;display:flex;box-shadow:0 20px 60px #00000040}.modal-lg{max-width:820px}.modal-xl{max-width:1240px}.modal-phone{max-width:500px}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:8px 20px 16px}.modal-foot{border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 16px 16px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;display:flex;position:sticky;bottom:0}.editor-split{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:24px;display:grid}.editor-preview{position:sticky;top:0}@media (width<=1000px){.editor-split{grid-template-columns:1fr}}.options{flex-direction:column;gap:6px;display:flex}.option-row{align-items:center;gap:6px;display:flex}.option-row .mark.on{color:var(--ok)}.bulk textarea{font-family:ui-monospace,Consolas,monospace;font-size:13.5px}.bulk-result{margin-top:10px}.bulk-list{max-height:300px;padding-left:22px;overflow:auto}.bulk-list li{margin:4px 0}.filters{flex-wrap:wrap;gap:10px;margin:8px 0 12px;display:flex}.filters select{width:auto}.search{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);flex:280px;align-items:center;gap:6px;padding:0 10px;display:flex}.search input{border:none;padding-left:0;box-shadow:none!important}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:12.5px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}.table td .badge{margin-left:6px}.table tr:last-child td{border-bottom:none}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#fffaf6}.sub-scopes{flex-wrap:wrap;gap:4px;display:inline-flex}.sub-scopes .badge{margin:0}.pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.two-col{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1000px){.two-col{grid-template-columns:1fr}}.scope-groups{border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:6px 0 4px;padding:10px 12px;display:grid}.scope-groups.disabled{opacity:.55}.quick{flex-wrap:wrap;gap:6px;display:flex}.quick button{padding:5px 10px;font-size:13px}.audit-list{margin:0;padding:0;list-style:none}.audit-entry{border-bottom:1px solid var(--line)}.audit-entry:last-child{border-bottom:none}.audit-line{white-space:normal;text-align:left;background:0 0;border:none;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:10px;width:100%;padding:9px 4px;font-weight:400}.audit-line:disabled{opacity:1;cursor:default}.chev-space{width:14px;display:inline-block}.audit-when{color:var(--ink-3);white-space:nowrap;font-size:13px}.audit-who{font-size:13.5px;font-weight:600}.audit-what{flex:300px}.audit-detail{padding:0 8px 12px 28px}.diff{border-collapse:collapse;width:100%;font-size:13px}.diff th{text-align:left;vertical-align:top;color:var(--ink-3);white-space:nowrap;width:1%;padding:4px 10px 4px 0;font-weight:600}.diff td{padding:4px 0}.diff del,.diff ins{white-space:pre-wrap;border-radius:6px;margin:2px 0;padding:3px 8px;text-decoration:none;display:block}.diff del{background:var(--bad-tint)}.diff ins{background:var(--ok-tint)}.diff-raw{white-space:pre-wrap;background:var(--surface-2);border-radius:8px;max-height:240px;padding:8px;font-size:12.5px;overflow:auto}.login-page{place-items:center;min-height:100vh;padding:16px;display:grid}.login{width:100%;max-width:400px}.login .primary{justify-content:center;width:100%;margin-top:8px;padding:11px}.login-or{color:var(--ink-3);align-items:center;gap:10px;margin:14px 0 10px;font-size:13px;display:flex}.login-or:before,.login-or:after{content:"";border-top:1px solid var(--line);flex:1}.google-btn{justify-content:center;min-height:44px;display:flex}.toasts{z-index:100;flex-direction:column;gap:8px;max-width:420px;display:flex;position:fixed;bottom:18px;right:18px}.toast{border-radius:var(--r);color:#fff;background:#221d17;padding:11px 16px;font-size:14px;line-height:1.4;box-shadow:0 8px 24px #0003}.toast.error{background:var(--bad)}.error-box{background:var(--bad-tint);border-radius:var(--r);border:1px solid #efc9c5;padding:14px 16px}textarea.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.q-answer{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:520px;overflow:hidden}
