:root{--bg: #edefe9;--surface: #fafaf7;--ink: #20242a;--muted: #5d646e;--line: #d2d6cb;--accent: #3451b2;--deny: #a42d22;--allow: #1d7a46;--sheet-bg: #23282e;--sheet-ink: #e9ece6;--sheet-dim: #8d949c;--sheet-deny: #ff9384;--sheet-allow: #8bdcac;--sans: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}.page{max-width:1060px;margin:0 auto;padding:40px 20px 64px}.masthead{max-width:44rem;margin-bottom:36px}.masthead h1{margin:0 0 12px;font-size:clamp(1.7rem,4.5vw,2.5rem);line-height:1.12;letter-spacing:-.02em;font-weight:700}.masthead-sub{margin:0;color:var(--muted);max-width:40rem}.columns{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}@media(min-width:880px){.columns{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px}.sheet{position:sticky;top:24px}}.settings{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px 22px 26px}.settings-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px}.settings-head h2{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.category-list{list-style:none;margin:0;padding:0}.category{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line)}.category-main{flex:1 1 15rem;min-width:0}.category.is-off .category-desc,.category.is-off .category-controls{opacity:.45}.category-name{font-weight:600}.category-desc{margin:4px 0 0 46px;font-size:.875rem;color:var(--muted)}.category-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.switch{display:inline-flex;align-items:center;gap:12px;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{flex:none;width:34px;height:20px;border-radius:10px;background:var(--line);border:1px solid #b9bdb1;position:relative;transition:background .12s ease}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #20242a4d;transition:transform .12s ease}.switch input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.field{display:inline-flex;align-items:center;gap:8px}.field-label{font-size:.8125rem;color:var(--muted)}select{font:inherit;font-size:.875rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:5px 8px}select:focus-visible,.rule-input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select:disabled{cursor:not-allowed}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface)}.segment{position:relative;padding:5px 12px;font-size:.875rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.segment+.segment{border-left:1px solid var(--line)}.segment input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.segment input:disabled{cursor:not-allowed}.segment.is-on{color:#fff;font-weight:600}.segment-allow.is-on{background:var(--allow)}.segment-deny.is-on{background:var(--deny)}.segment:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.custom-rules{margin-top:22px}.custom-rules h3{margin:0 0 2px;font-size:1rem}.section-hint{margin:0 0 14px;font-size:.875rem;color:var(--muted)}.empty-hint{margin:0 0 14px;font-size:.875rem;color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:12px 14px}.custom-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}.custom-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rule-input{flex:1 1 12rem;min-width:0;font:inherit;font-size:.9375rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:7px 10px}.rule-input::placeholder{color:#9aa0a9}button{font:inherit;cursor:pointer}.button-solid{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:7px;padding:7px 14px;font-size:.9375rem;font-weight:600}.button-solid:hover{background:#2c4498}.button-ghost{background:transparent;color:var(--accent);border:1px solid var(--line);border-radius:7px;padding:5px 11px;font-size:.875rem;font-weight:600}.button-ghost:hover{border-color:var(--accent)}.sheet{background:var(--sheet-bg);color:var(--sheet-ink);border-radius:10px;padding:20px 22px;font-family:var(--mono);font-size:.875rem}.sheet-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:.01em}.sheet-counts{margin:4px 0 16px;color:var(--sheet-dim)}.sheet-subtitle{margin:18px 0 6px;font-size:.8125rem;font-weight:400;color:var(--sheet-dim)}.sheet-list{list-style:none;margin:0;padding:0}.sheet-row{display:flex;align-items:baseline;gap:12px;padding:5px 0;border-bottom:1px solid rgba(233,236,230,.12)}.sheet-row.is-dim .sheet-name{color:var(--sheet-dim);text-decoration:line-through}.verb{flex:none;width:3.5em}.verb-deny{color:var(--sheet-deny)}.verb-allow{color:var(--sheet-allow)}.verb-off{color:var(--sheet-dim)}.sheet-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.sheet-sev{flex:none;color:var(--sheet-dim)}.sheet-note{margin:18px 0 0;padding-top:12px;border-top:1px solid rgba(233,236,230,.12);color:var(--sheet-dim);font-size:.8125rem}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
