:root{--paper:#f3f6f5;--card:#fff;--ink:#17232a;--muted:#5a6a70;--line:#d8e1df;--soft:#e9efee;--green:#1c7a4e;--green-soft:#dff1e7;--purple:#6b3fb8;--purple-soft:#eee6fb;--amber:#9a5a00;--amber-soft:#fcefd9;--accent:#1c7a4e;--accent-ink:#fff;--font-display:"Gabarito", ui-rounded, system-ui, sans-serif;--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--r:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#111a1d;--card:#18242a;--ink:#e6eeec;--muted:#9db0b4;--line:#2b3b41;--soft:#203036;--green:#5cc796;--green-soft:#173a2b;--purple:#b593f2;--purple-soft:#2c2342;--amber:#f0b45c;--amber-soft:#3a2b14;--accent:#5cc796;--accent-ink:#0d1a14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#111a1d;--card:#18242a;--ink:#e6eeec;--muted:#9db0b4;--line:#2b3b41;--soft:#203036;--green:#5cc796;--green-soft:#173a2b;--purple:#b593f2;--purple-soft:#2c2342;--amber:#f0b45c;--amber-soft:#3a2b14;--accent:#5cc796;--accent-ink:#0d1a14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}header.top{z-index:5;background:var(--card);border-bottom:1px solid var(--line);padding:10px 16px;position:sticky;top:0}.top-row{flex-wrap:wrap;align-items:center;gap:12px 20px;max-width:1180px;margin:0 auto;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;font-size:1.35rem;font-weight:800;display:flex}.brand .nib{background:var(--green);width:14px;height:14px;box-shadow:5px -5px 0 -1px var(--purple);border-radius:3px 3px 3px 10px;transform:rotate(45deg)}.tabs{background:var(--soft);border-radius:999px;gap:4px;padding:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-weight:700}.tabs button[aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000001f}.progress{flex:1;align-items:center;gap:10px;min-width:180px;display:flex}.bar{background:var(--soft);border-radius:999px;flex:1;height:10px;overflow:hidden}.bar i{background:var(--green);border-radius:999px;height:100%;transition:width .4s;display:block}.progress b{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.saved{color:var(--muted);white-space:nowrap;font-size:.8rem}main{max-width:1180px;margin:0 auto;padding:18px 16px 60px}.banner{background:var(--amber-soft);color:var(--ink);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;padding:10px 14px;display:flex}.banner p{flex:1;min-width:220px;margin:0}.write{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=760px){.write{grid-template-columns:minmax(0,1fr)}}.roster{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px;position:sticky;top:76px}@media (width<=760px){.roster{position:static}}.roster h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 8px;font-size:.8rem}.plist{flex-direction:column;gap:2px;max-height:52vh;display:flex;overflow:auto}@media (width<=760px){.plist{flex-flow:wrap;max-height:none}}.pbtn{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}@media (width<=760px){.pbtn{background:var(--soft);width:auto}}.pbtn:hover{background:var(--soft)}.pbtn[aria-current=true]{background:var(--green-soft);font-weight:700}.dot{border:2px solid var(--line);border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.dot.marked{border-color:var(--amber);background:var(--amber-soft)}.dot.written{border-color:var(--purple);background:var(--purple)}.dot.done{border-color:var(--green);background:var(--green)}.pname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.roster-actions{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:8px;padding:10px 4px 4px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;padding:4px 8px;font-size:.78rem;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend .dot{width:9px;height:9px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);min-width:0;padding:20px}.card-head{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:6px;display:flex}.card-head h1{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:2rem;line-height:1.1}.badge{text-transform:uppercase;letter-spacing:.08em;background:var(--amber-soft);color:var(--amber);border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}.seg{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);background:0 0;border:0;padding:5px 12px;font-weight:700}.seg button[aria-pressed=true]{background:var(--ink);color:var(--card)}.hint{color:var(--muted);margin:0 0 14px;font-size:.86rem}.hint .g{color:var(--green);font-weight:700}.hint .p{color:var(--purple);font-weight:700}.subj{border-top:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:8px 16px;padding-block:14px;display:grid}@media (width<=560px){.subj{grid-template-columns:minmax(0,1fr)}}.subj h3{font-family:var(--font-display);margin:4px 0 0;font-size:1.1rem}.subj .mark{color:var(--muted);align-items:center;gap:6px;margin-top:4px;font-size:.82rem;display:flex}.subj .mark input{border:1px solid var(--line);background:var(--paper);border-radius:6px;width:64px;padding:3px 6px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:.92rem;font-weight:700;line-height:1.2}.chip:hover{border-color:var(--muted)}.chip.band[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--card)}.chip.out{font-size:.88rem;font-weight:400}.chip.out.s{background:var(--green-soft);border-color:var(--green);color:var(--ink)}.chip.out.s:before{content:"✓ ";color:var(--green);font-weight:700}.chip.out.n{background:var(--purple-soft);border-color:var(--purple);color:var(--ink)}.chip.out.n:before{content:"→ ";color:var(--purple);font-weight:700}.outs{margin-top:8px}.note{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:14px;display:flex}label{font-size:.92rem;font-weight:700}.small{color:var(--muted);font-size:.84rem;font-weight:400}input.text,textarea,select{border:1.5px solid var(--line);background:var(--paper);border-radius:10px;width:100%;padding:9px 11px}textarea{resize:vertical}textarea.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.45}.go{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.btn{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:8px 14px;font-weight:700}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);padding:11px 20px;font-size:1.05rem}.btn.primary:hover{filter:brightness(1.07)}.btn.next{background:var(--ink);border-color:var(--ink);color:var(--card)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.danger{color:var(--amber)}.btn:disabled{opacity:.55;cursor:default}.out-wrap{flex-direction:column;gap:8px;margin-top:14px;display:flex}.out-wrap textarea{background:var(--card);border-color:var(--green);min-height:150px;font-size:1.02rem;line-height:1.6}.out-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.out-meta .wc{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:auto;font-size:.84rem}.status{color:var(--muted);min-height:1.3em;font-size:.88rem}.status.warn{color:var(--amber)}.panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}@media (width<=860px){.panel{grid-template-columns:minmax(0,1fr)}}.panel .card h2{font-family:var(--font-display);margin:0 0 4px;font-size:1.2rem}.panel .card p.hint{margin-bottom:10px}.panel .card .go{margin-top:10px}.wide{grid-column:1/-1}.confirm{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.toast{opacity:0;background:var(--ink);color:var(--card);pointer-events:none;z-index:20;border-radius:999px;max-width:calc(100% - 32px);padding:10px 18px;font-weight:700;transition:all .25s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
