body.teacher{background:var(--paper)}.t-wrap{max-width:1040px}.t-gate{max-width:480px;margin:6vh auto 0;display:grid;gap:16px}.t-gate h1{font-size:28px}.t-gate .stack{gap:10px}.small{font-size:14px}.lbl{font-weight:700;font-size:15px;color:var(--muted);display:block}.type{width:100%;font:inherit;font-size:17px;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink)}.type:focus{outline:3px solid var(--focus);outline-offset:1px;border-color:transparent}.type.pin{font:800 34px/1 var(--display);letter-spacing:.5em;text-align:center;padding:12px 0 12px .5em;max-width:240px;justify-self:center}textarea.type,.t-fact textarea{width:100%;font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink);resize:vertical}select{font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink);max-width:100%}.bad-note{color:var(--bad);font-weight:700}.bad-note ul{margin:6px 0 0;padding-left:1.2em;font-weight:400}.forgot summary{cursor:pointer;color:var(--muted);font-weight:700}.forgot{display:grid;gap:8px}.forgot[open]{gap:10px}.t-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.t-brand .t-logo{height:46px;width:auto;display:block}.t-brand .wm,#print .wm{font:800 26px/1 var(--display);letter-spacing:-.03em;color:var(--wordmark)}.t-brand .pill{font:700 13px/1 var(--display);color:#fff;background:#0a2256;border-radius:999px;padding:4px 10px 5px}.t-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.t-tabs{display:flex;gap:4px;flex-wrap:wrap;flex:1;justify-content:center;background:var(--card);border-radius:14px;padding:4px;box-shadow:var(--shadow)}.t-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;border-radius:10px;padding:10px 14px;font-weight:700;font-size:16px;color:var(--muted);cursor:pointer}.t-tabs button[aria-current=page]{background:color-mix(in oklab,var(--brand-a) 14%,var(--card));color:var(--ink);box-shadow:inset 0 0 0 2px var(--brand-a)}.t-grow{flex:1}.t-menu{display:none;position:relative;margin-left:auto}.t-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 2px var(--line);font-weight:700;font-size:16px}.t-menu>summary::-webkit-details-marker{display:none}.t-menu>summary svg{transition:transform .15s}.t-menu[open]>summary svg{transform:rotate(180deg)}.t-menu>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.t-menu nav{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:200px;display:grid;gap:2px;padding:6px;background:var(--card);border-radius:14px;box-shadow:inset 0 0 0 1px var(--line),0 12px 30px #0a1e3c2e}.t-menu nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;text-align:left;border-radius:10px;padding:12px 14px;font:inherit;font-weight:700;font-size:16px;color:var(--ink);cursor:pointer}.t-menu nav button:hover{background:var(--soft)}.t-menu nav button[aria-current=page]{background:color-mix(in oklab,var(--brand-a) 12%,var(--card));box-shadow:inset 3px 0 0 var(--brand-a)}@media (max-width:760px){.t-head{flex-wrap:nowrap;gap:8px}.t-tabs{display:none}.t-menu{display:block}.t-brand .t-logo{height:38px}.t-lock{min-height:44px}}@media (max-width:380px){.t-brand .pill{display:none}}.t-flash{background:var(--good-bg);color:var(--ink);border-radius:14px;padding:12px 14px;font-weight:700;margin-bottom:12px}.t-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.t-week{display:flex;align-items:center;gap:10px}.t-week span{display:grid;text-align:center;min-width:120px}.t-week b{font:800 22px var(--display)}.t-week small{color:var(--muted);font-size:14px}.t-week .icon-btn{font-size:26px;line-height:1}.t-sync{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:15px}.t-dot{width:10px;height:10px;border-radius:50%;background:var(--good);flex:none}.t-dot.busy{background:#f5b400}.t-dot.bad{background:var(--bad)}.t-chips{display:flex;gap:8px;flex-wrap:wrap}.t-chips button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:8px 14px;font-weight:700;background:var(--card);box-shadow:inset 0 0 0 2px var(--line);cursor:pointer}.t-chips button[aria-pressed=true]{background:var(--brand-a);color:#fff;box-shadow:none}.t-list{border-radius:20px;padding:16px;display:grid;gap:12px}.t-list h2{display:flex;align-items:center;gap:10px;font-size:22px}.t-list.t-done{background:color-mix(in oklab,#1B7F43 14%,var(--card));box-shadow:inset 0 0 0 3px #1b7f43}.t-list.t-todo{background:color-mix(in oklab,#E8590C 12%,var(--card));box-shadow:inset 0 0 0 3px #e8590c}.t-badge{min-width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font:800 19px var(--display);color:#fff;padding:0 10px}.t-done .t-badge{background:#1b7f43}.t-todo .t-badge{background:#c2410c}.t-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.t-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:100%;text-align:left;border-radius:14px;padding:10px 12px;background:var(--card);cursor:pointer;display:grid;gap:2px;box-shadow:var(--shadow)}.t-name b{font-size:17px;overflow-wrap:anywhere}.t-name span{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.t-name.ok{box-shadow:inset 4px 0 #1b7f43,var(--shadow)}.t-name.no{box-shadow:inset 4px 0 #e8590c,var(--shadow)}.t-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.t-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:15px}.t-table th,.t-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;vertical-align:top}.t-table th:first-child,.t-table td:first-child{text-align:left}.t-table thead th{color:var(--muted);font-size:13px}.t-table td small,.t-table th small{display:block;color:var(--muted);font-size:12px;font-weight:400}.t-table tr.sum th,.t-table tr.sum td{font-weight:700}.t-table td.hit{color:var(--good);font-weight:700}.t-table.compact td,.t-table.compact th{text-align:left}.t-link{padding:0;text-align:left;color:var(--ink);font-size:15px;font-weight:700}.t-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.t-row h2 small{font-family:var(--body);font-size:15px;font-weight:400}.t-roster{list-style:none;margin:0;padding:0;display:grid}.t-roster li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.t-roster li>span:first-child{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.t-roster code{font:700 15px/1 ui-monospace,Menlo,monospace;color:var(--muted);letter-spacing:.06em}.t-acts{display:flex;gap:6px}.t-maps{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.t-map{display:grid;gap:4px;font-weight:700;font-size:14px;color:var(--muted)}.t-check{display:flex;gap:10px;align-items:flex-start;font-weight:700}.t-check input{width:22px;height:22px;margin-top:2px;flex:none}.t-modal{max-width:560px;width:100%}.t-qr{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:16px;align-items:center}.t-qr .qr{width:100%;height:auto;border-radius:10px;box-shadow:0 0 0 1px var(--line)}.t-code{font:800 30px/1.1 var(--display);letter-spacing:.1em}.t-mini{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end;height:120px}.t-mini div{display:grid;grid-template-rows:1fr auto auto;height:100%;text-align:center;gap:2px}.t-mini i{align-self:end;display:block;background:#e8590c;border-radius:6px 6px 2px 2px;min-height:3px}.t-mini i.hit{background:#1b7f43}.t-mini b{font-size:13px}.t-mini small{font-size:11px;color:var(--muted)}.t-subjbars{margin-top:14px;display:grid;gap:6px}.t-subjbar{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;font-size:13px}.t-subjname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-subjtrack{display:block;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.t-subjtrack i{display:block;height:100%;background:var(--brand-a);border-radius:999px;min-width:3px}.t-subjmins{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.t-subjmins small{color:var(--muted);font-weight:400}@media (max-width:520px){.t-qr{grid-template-columns:1fr}.t-qr .qr{max-width:220px;justify-self:center}.t-subjbar{grid-template-columns:90px 1fr auto;gap:6px}}.t-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.t-grid label{display:grid;gap:4px}.t-skips{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.t-holiday{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.t-holiday .type{width:auto}.t-holiday .icon-btn{margin-left:auto}.t-skips>.btn{align-self:flex-start}.t-sub{border-top:1px solid var(--line);padding-top:10px}.t-sub summary{cursor:pointer;font-size:18px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.t-wk{display:grid;gap:10px;margin:12px 0 18px;padding:12px;border-radius:14px;background:var(--soft)}.t-wkn{display:flex;align-items:center;gap:8px;font-weight:700}.t-wkn .type{width:80px}.t-wk .grow{flex:1;min-width:180px}.t-facts{margin:0;padding-left:1.3em;display:grid;gap:12px}.t-fact{display:grid;gap:8px;background:var(--card);border-radius:12px;padding:12px}.t-fact label{display:grid;gap:4px}.t-fact .t-row{align-items:flex-end;justify-content:flex-start}.t-fact .t-row .grow{flex:1;min-width:200px}.auto{display:inline-block;font-size:12px;font-weight:700;color:#7a4b00;background:#ffe8a3;border-radius:999px;padding:2px 8px;margin-left:4px}#print{display:none}@media print{@page{size:A4;margin:10mm}body.teacher>*:not(#print){display:none!important}body.teacher #bg,body.teacher #fx{display:none!important}#print{display:grid!important;grid-template-columns:1fr 1fr;gap:6mm;color:#000;font-family:Lexend,Arial,sans-serif}#print .card{break-inside:avoid;border:1.5px dashed #888;border-radius:4mm;padding:4mm 5mm;height:64mm;display:grid;gap:1.5mm;align-content:start}#print header{display:flex;align-items:center;gap:2mm}#print header .plogo{height:11mm;width:auto}#print header .cls{margin-left:auto;font-weight:700;font-size:11pt}#print .nm{font-weight:700;font-size:15pt;line-height:1.1}#print .cbody{display:grid;grid-template-columns:30mm 1fr;gap:4mm;align-items:center}#print .qr{width:30mm;height:30mm}#print .lab{font-size:8pt;text-transform:uppercase;letter-spacing:.08em;color:#444}#print .code{font:800 17pt/1.1 Lexend,Arial,sans-serif;letter-spacing:.06em}#print .how,#print .par{font-size:8.5pt;line-height:1.3}#print .keep{font-size:7.5pt;color:#444}}.t-fact textarea{min-height:0;height:auto}.t-pick{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.t-pick .lbl{margin:0}.t-pick select{min-width:min(100%,260px)}.t-ask{border-radius:14px;padding:12px 14px;background:color-mix(in srgb,#0068B8 10%,var(--card));box-shadow:inset 0 0 0 2px color-mix(in srgb,#0068B8 35%,transparent)}.t-ask p{margin:0 0 8px}.t-mine{display:grid;gap:12px;max-height:55vh;overflow:auto}.t-mine fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.t-mine legend{grid-column:1/-1;font-weight:800;padding:0;margin-bottom:4px;display:flex;gap:10px;align-items:baseline}.panel h2 .pill{font:800 13px/1 var(--display);color:#fff;background:#1b7f43;border-radius:999px;padding:4px 10px 5px;vertical-align:middle;margin-left:6px}.t-others>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.t-others>summary::-webkit-details-marker{display:none}.t-others>summary:before{content:"▸";font-size:18px;transition:transform .15s}.t-others[open]>summary:before{transform:rotate(90deg)}.t-others[open]>summary{margin-bottom:16px}.t-others>summary:after{content:"Show";margin-left:auto;font-weight:700;text-decoration:underline}.t-others[open]>summary:after{content:"Hide"}.t-gate.wide{max-width:640px}.t-roles{display:grid;gap:12px}.t-role{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:0;cursor:pointer;background:var(--card);color:var(--ink);border-radius:16px;padding:16px 18px;box-shadow:inset 0 0 0 2px var(--line);display:grid;gap:6px;font:inherit}.t-role b{font:800 20px/1.15 var(--display)}.t-role span{color:var(--muted);line-height:1.4}.t-role:hover,.t-role:focus-visible{box-shadow:inset 0 0 0 3px var(--brand-a)}.t-again{display:grid;gap:8px}.t-again p{margin:0}.t-again .btn{justify-self:start}.t-steps{list-style:none;margin:0 0 14px;padding:0;display:flex;gap:6px 14px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.t-steps li{display:flex;align-items:center;gap:6px}.t-steps li span{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font:800 13px var(--display);box-shadow:inset 0 0 0 2px var(--line)}.t-steps li.now{color:var(--ink);font-weight:700}.t-steps li.now span{background:var(--brand-a);color:#fff;box-shadow:none}.t-steps li.is-done span{background:#1b7f43;color:#fff;box-shadow:none}.t-intro h1{font-size:28px;margin-bottom:6px}.t-intro p{margin:0}.t-current{box-shadow:inset 0 0 0 3px var(--brand-a)}.t-step-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}.t-num{width:32px;height:32px;flex:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font:800 16px var(--display);background:var(--brand-a);color:#fff}.t-num.is-done{background:#1b7f43}.t-example{display:grid;gap:8px;margin:6px 0 14px}.t-example p{margin:0}.t-help{margin:4px 0 14px}.t-help>summary{cursor:pointer;font-weight:700}.t-todo-list{margin:0 0 16px;padding-left:22px;display:grid;gap:14px}.t-todo-list .btn{margin-top:6px;display:inline-flex}.t-msg{margin:8px 0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--brand-a) 8%,transparent);border-left:4px solid var(--brand-a);line-height:1.45}.t-ok{color:#1b7f43;font-weight:700;font-size:14px;margin-left:8px}.t-center{text-align:center}.t-saved{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#e5f4ea;color:#14532d;line-height:1.45}:root[data-theme=dark] .t-saved{background:#14321f;color:#cfefda}.t-chips-mine{margin-top:8px}.t-chips-mine button small{font-weight:400;opacity:.75;margin-left:4px}.t-subgroup{margin-top:14px}.t-subgroup:first-child{margin-top:0}.t-subgroup h3{font:700 15px var(--display);margin:0 0 8px;color:var(--muted);display:flex;align-items:center;gap:8px}.t-subgroup h3 span{font-weight:400}tr.t-subrow th{text-align:left;padding-top:16px;font:700 13px var(--display);color:var(--muted);border-bottom:1px solid var(--line)}tr.t-subrow:first-child th{padding-top:8px}tr.t-subrow th span{font-weight:400}.t-chips-other{margin:4px 0 16px}.t-others.t-add>summary:after{content:"Add";font-weight:700;text-decoration:underline}.t-others.t-add[open]>summary:after{content:"Hide"}.t-others.t-add>summary{font-size:19px;font-family:var(--display);font-weight:800}.btn.t-danger{color:#c92f35}.t-demo{margin:0 0 14px;padding:12px 16px;border-radius:14px;background:color-mix(in oklab,var(--warn) 12%,var(--card));box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--warn) 55%,transparent);color:var(--ink)}.t-demo-link{margin-top:14px}
