@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');

/* A single classroom task: attendance -> all rounds -> checked hand-off. */
.classroom-page .tool-tabs{display:none}.classroom-page .intro-stamp{display:none}.classroom-page h1 br{display:block}.classroom-page .intro p{max-width:640px}.classroom-page .workspace-heading{margin-bottom:18px}.classroom-presets{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;font-size:11px;color:var(--muted)}.classroom-presets .btn{min-height:32px;padding:7px 11px;font-size:11px}.classroom-grid .input-panel{align-self:start}.classroom-grid textarea{height:145px}.classroom-grid details textarea{height:72px;min-height:60px}.classroom-grid label.field{font-size:12px;font-weight:600}.classroom-grid .save-field{flex-direction:row;align-items:center;color:var(--ink);font-size:11px}.classroom-grid .plain-btn{font-size:11px}.attendance-chips{display:flex;gap:6px;flex-wrap:wrap;max-height:190px;overflow:auto;padding:8px 0}.attendance-chip{border:1px solid var(--line);border-radius:30px;padding:6px 9px;font-size:11px;background:var(--surface)}.attendance-chip.is-absent{color:var(--muted);background:var(--bg);text-decoration:line-through}.attendance-chip small{text-decoration:none;font-size:9px}.history-note:empty{display:none}.history-note{display:flex;gap:8px;align-items:center;justify-content:space-between;background:var(--mint);border-radius:8px;padding:10px;margin:15px 0;font-size:11px}.classroom-result-title{font-size:22px;font-weight:600;letter-spacing:-.6px;line-height:1.4;margin:0 0 5px}.classroom-grid .stat-strip{margin-top:15px}.classroom-verdict{padding:9px 11px;background:color-mix(in srgb,var(--primary) 9%,var(--paper));border-radius:8px;font-size:12px;margin-bottom:7px}.classroom-verdict.has-repeats{background:var(--yellow);color:var(--yellow-ink)}.round-time{font-size:11px;color:var(--muted);margin:12px 0 9px}.observer-card{border-style:dashed;background:color-mix(in srgb,var(--yellow) 19%,var(--paper))}.classroom-grid .team-card-heading strong{font-size:11px;font-weight:600}.classroom-grid .person-chip{font-size:12px}.classroom-grid .observer-card .hint{font-size:10px;margin-top:4px}.classroom-audit{margin-top:22px}.classroom-audit .table-wrap{max-height:300px}.classroom-audit .hint{margin-top:10px}.repeat-list{font-size:11px;line-height:1.7;padding-left:18px;margin-bottom:14px;max-height:170px;overflow:auto}.next-session{border-top:1px solid var(--line);padding-top:15px;margin-top:16px;display:flex;align-items:flex-start;gap:12px}.next-session .hint{flex:1}.classroom-guide{padding:30px 0 20px}.classroom-guide h2{font-size:19px;font-weight:600;margin:0 0 18px;letter-spacing:-.4px}.classroom-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.classroom-guide article{border-top:1px solid var(--line);padding-top:15px}.classroom-guide h3{font-size:13px;margin:9px 0}.classroom-guide p{font-size:12px;color:var(--muted);line-height:1.7}.classroom-stage{max-width:none;width:min(1280px,95vw);max-height:93vh;padding:26px;background:var(--surface);color:var(--ink);overflow:auto}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.stage-toolbar h2{font-size:24px;margin:0}.stage-time{font-size:15px;color:var(--muted);margin-bottom:15px}.classroom-stage .team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.classroom-stage .team-card{padding:19px;background:var(--paper);animation:none}.classroom-stage .person-chip{font-size:22px;padding:5px 8px;background:var(--surface)}.classroom-stage .team-card-heading strong{font-size:14px}.classroom-stage .observer-card{background:color-mix(in srgb,var(--yellow) 16%,var(--paper))}.classroom-stage .hint{font-size:13px}.stage-controls{display:flex;justify-content:space-between;gap:15px;margin-top:22px}.classroom-stage::backdrop{background:#14281ae0}.classroom-page #tool-index,.classroom-page .divider-dot{display:none}
@media(max-width:760px){.classroom-page h1{font-size:28px;letter-spacing:-.8px}.classroom-page .intro{padding:19px 0 22px}.classroom-page .intro p{max-width:100%;font-size:12px}.classroom-presets{gap:6px}.classroom-result-title{font-size:21px}.classroom-guide-grid{grid-template-columns:1fr;gap:15px}.next-session{flex-direction:column;gap:8px}.classroom-stage{padding:17px}.stage-toolbar h2{font-size:18px}.classroom-stage .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.classroom-stage .team-card{padding:11px}.classroom-stage .person-chip{font-size:16px}.classroom-stage .hint{font-size:10px}.classroom-stage .team-card-heading strong{font-size:11px}.classroom-guide{padding:24px 0 12px}}
@media print{.classroom-presets,.classroom-guide,.next-session,.classroom-audit{display:none!important}}

:root{--bg:#eeeae0;--surface:#f9f7f1;--paper:#fffdf8;--ink:#26382f;--muted:#627066;--line:#d6dacd;--primary:#264d3b;--on-primary:#fbfff7;--mint:#dfedda;--mint-ink:#2c523d;--yellow:#f2d775;--yellow-ink:#584316;--orange:#eab897;--error:#a23f32;--shadow:0 8px 30px #26382f09;--focus:#546f46;color-scheme:light}
:root[data-theme=dark]{--bg:#19271f;--surface:#23342a;--paper:#2b3e32;--ink:#edf1e5;--muted:#b1bdaf;--line:#4a5e4d;--primary:#c2deb1;--on-primary:#1c3825;--mint:#344d37;--mint-ink:#d1e6c7;--yellow:#e4c46b;--yellow-ink:#33290f;--orange:#ce9d7d;--error:#ffb3a3;--shadow:0 8px 30px #00000014;--focus:#d3e6ab;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Noto Sans KR',sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:focus:not(:focus-visible){outline:none}.page-shell{max-width:1400px;padding:0 42px;margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;height:92px;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1.2px;white-space:nowrap}.brand-period{color:var(--primary)}.brand-mark{width:29px;height:29px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:rotate(-8deg)}.brand-mark i{background:var(--ink);border-radius:4px}.brand-mark i:nth-child(2){border-radius:50%;background:var(--primary)}.brand-mark i:nth-child(3){background:var(--yellow);border-radius:50%}.brand-mark i:nth-child(4){background:var(--orange)}.header-actions{display:flex;gap:12px;align-items:center}.privacy-badge{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px}.privacy-badge:before{content:'';display:block;width:6px;height:6px;background:var(--primary);border-radius:100%}.language-picker select{border:1px solid var(--line);border-radius:100px;background:var(--surface);padding:9px 28px 9px 14px;max-width:180px;font-size:12px}.icon-btn{width:38px;height:38px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:20px;flex-shrink:0}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0 27px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}h1{font-family:Manrope,'Noto Sans KR',sans-serif;font-size:38px;line-height:1.32;font-weight:600;letter-spacing:-1.7px;margin:12px 0 10px}h1 br{display:none}h1 em{font-style:normal;font-weight:500}p{margin:0}.intro p{color:var(--muted);font-size:13px}.intro-stamp{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--ink);border:1px solid var(--line);border-radius:100%;width:110px;height:80px;transform:rotate(-12deg);font-size:12px;line-height:1.1;font-weight:600;text-transform:uppercase;letter-spacing:-.3px}.intro-stamp svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.tool-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:26px}.tool-tab{display:flex;align-items:center;gap:9px;position:relative;border:1px solid var(--line);background:transparent;border-radius:11px;padding:13px 12px;text-align:left;font-weight:600;transition:background .2s;min-width:0}.tool-tab:hover{background:var(--surface)}.tool-tab.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.tool-tab-icon{font-size:23px;font-family:Manrope,sans-serif;line-height:1}.tab-no{margin-left:auto;font-size:9px;opacity:.6}.workspace{border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:28px}.workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:23px}.workspace-heading h2{font-size:26px;font-weight:600;letter-spacing:-1px;margin:9px 0 7px;line-height:1.3}.workspace-heading p{font-size:13px;color:var(--muted)}.tool-tag{font-size:11px;font-weight:600;background:var(--yellow);color:var(--yellow-ink);border-radius:30px;padding:7px 12px;margin-top:4px;white-space:nowrap}.divider-dot{opacity:.5}.tool-grid{display:grid;grid-template-columns:minmax(300px,.84fr) minmax(0,1.3fr);gap:22px;align-items:stretch}.input-panel{border:1px solid var(--line);border-radius:15px;padding:22px;background:var(--paper);min-width:0}.result-panel{border-radius:15px;padding:22px;background:var(--mint);color:var(--ink);min-width:0;position:relative}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:19px}.panel-header h3{margin:0;font-size:15px;font-weight:600}.panel-header .eyebrow{color:var(--muted)}h3{font-weight:600;font-size:15px;margin:0 0 12px}h4{margin:0 0 8px;font-size:13px;font-weight:600}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;min-width:0}.field label,label.field{font-size:12px;font-weight:600}.field label>span{font-weight:400;color:var(--muted)}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-row .field{margin-bottom:12px}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:10px 11px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;line-height:1.65;min-height:110px}input:hover,textarea:hover,select:hover{border-color:var(--muted)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:16px;height:16px;flex-shrink:0}.hint{color:var(--muted);font-size:11px;line-height:1.65;font-weight:400}.hint a{color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:600;line-height:1.3;min-height:38px;transition:transform .15s,background .15s;white-space:normal}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--primary);color:var(--on-primary)}.input-panel>.btn-primary,.input-panel form>.btn-primary,form>.btn-primary{width:100%;padding:13px}.btn-secondary{border-color:var(--line);background:var(--paper);color:var(--ink)}.btn-link{border-color:var(--line);background:transparent;color:var(--ink);white-space:nowrap}.plain-btn{border:none;background:none;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:0}.error{background:color-mix(in srgb,var(--error) 10%,var(--paper));border-radius:8px;color:var(--error);padding:10px 12px;font-size:12px;margin-bottom:12px;overflow-wrap:anywhere}.error:empty{display:none}.result-metric{font-family:Manrope,'Noto Sans KR',sans-serif;font-size:38px;font-weight:700;letter-spacing:-1.5px;line-height:1.2;margin:8px 0 10px;overflow-wrap:anywhere}.result-metric small{font-size:14px;font-weight:500;letter-spacing:0;margin-left:6px}.result-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.result-actions .btn{font-size:11px;min-height:34px;padding:8px 11px;background:transparent;border-color:color-mix(in srgb,var(--ink) 25%,transparent)}.stat-strip{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0 15px;margin:0 0 14px;border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}.stat-strip>div{flex:1;min-width:90px}.stat-strip strong{display:block;font-size:18px;font-family:Manrope,'Noto Sans KR',sans-serif;line-height:1.3}.stat-strip span,.stat-strip small{font-size:10px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:4px;border-radius:30px;background:var(--paper);padding:4px 8px;font-size:10px;font-weight:600}.pill.warning{background:var(--yellow);color:var(--yellow-ink)}.pill.success{background:var(--primary);color:var(--on-primary)}.round-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.round-tabs button{padding:7px 11px;border:1px solid var(--line);background:transparent;border-radius:30px;font-size:11px}.round-tabs button.active,.round-tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.team-card{border-radius:11px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);padding:12px;background:color-mix(in srgb,var(--paper) 55%,transparent);min-width:0}.team-card h4{font-size:11px;margin:0 0 10px;color:var(--muted)}.person-chip{display:inline-flex;border-radius:50px;background:var(--paper);padding:5px 9px;font-size:11px;margin:0 4px 5px 0;gap:5px;max-width:100%;overflow-wrap:anywhere}.person-chip small{opacity:.7}.team-card ul{list-style:none;margin:0;padding:0}.team-card li{font-size:12px;padding:3px 0}.empty-state{padding:36px 18px;text-align:center;color:var(--muted);font-size:13px}.empty-state strong{display:block;color:var(--ink);font-size:18px;margin-bottom:10px}details{border-top:1px solid var(--line);padding-top:12px;margin:9px 0 16px}summary{font-size:12px;font-weight:600;cursor:pointer;margin-bottom:10px}.gift-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.gift-color{display:flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:9px;background:color-mix(in srgb,var(--paper) 65%,transparent);padding:9px;font-size:11px}.gift-color:before{content:'';width:10px;height:10px;border-radius:50%;background:var(--primary)}.checklist{list-style:none;padding:0;margin:16px 0}.checklist li,.checklist label{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin:10px 0}.checklist input:checked+span{text-decoration:line-through;opacity:.6}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.purchase-card{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:color-mix(in srgb,var(--paper) 65%,transparent);border-radius:12px;padding:14px;min-width:0}.purchase-card.winner{border:2px solid var(--primary)}.purchase-card .result-metric{font-size:27px}.purchase-card dt{font-size:10px;color:var(--muted)}.purchase-card dd{margin:2px 0 10px;font-size:14px;font-weight:600}.purchase-card dl{margin:10px 0}.bar-track{height:6px;background:color-mix(in srgb,var(--ink) 10%,transparent);border-radius:20px;overflow:hidden;margin:10px 0}.bar-fill{height:100%;background:var(--primary);border-radius:20px}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}.data-table{width:100%;border-collapse:collapse;font-size:11px;background:color-mix(in srgb,var(--paper) 60%,transparent)}.data-table th{text-align:left;color:var(--muted);font-weight:600;background:var(--surface);white-space:nowrap}.data-table td,.data-table th{padding:10px 9px;border-bottom:1px solid var(--line)}.data-table td{white-space:nowrap}.data-table td:first-child{white-space:normal;min-width:90px;overflow-wrap:anywhere}.data-table tr:last-child td{border-bottom:0}.loss-row td{color:var(--error);background:color-mix(in srgb,var(--error) 7%,var(--paper))}.closing-note{display:flex;align-items:center;gap:15px;padding:25px 0;margin-top:8px}.note-mark{font-size:35px;color:var(--primary)}.closing-note strong{font-size:12px;font-weight:600}.closing-note p{font-size:11px;color:var(--muted);margin-top:4px}.closing-note .btn{margin-left:auto}footer{display:flex;align-items:center;gap:20px;padding:19px 0 28px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}footer .plain-btn{margin-left:auto}.footer-brand{font-family:Manrope,sans-serif;font-weight:800;font-size:15px;letter-spacing:-.6px;color:var(--ink)}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,15px);background:var(--ink);color:var(--bg);border-radius:30px;padding:12px 20px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;max-width:calc(100vw - 24px);text-align:center;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:18px;max-width:470px;background:var(--paper);color:var(--ink);padding:26px}dialog::backdrop{background:#0007;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:16px}.dialog-head h2{font-size:20px;line-height:1.4;margin:0}dialog p{color:var(--muted);margin-bottom:22px;font-size:13px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.skip-link{position:fixed;left:10px;top:-60px;z-index:100;background:var(--primary);color:var(--on-primary);padding:10px;border-radius:7px}.skip-link:focus{top:10px}.loading-dot{height:60px;background:var(--mint);border-radius:12px}button svg{width:16px;height:16px} .input-panel form{margin:0}
.tool-heading,.tool-intro{display:none}.panel-header{flex-wrap:wrap}.panel-header h2{font-size:15px;line-height:1.4;margin:0;font-weight:600}.input-panel .panel-header>p,.input-panel .panel-header>.eyebrow{display:none}.input-panel .panel-header{margin-bottom:14px}.input-panel textarea#group-names{height:138px;min-height:110px}.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.form-actions .btn-primary{flex:1}.privacy-note{font-size:10px;color:var(--muted);margin:12px 0}.save-field{display:flex;align-items:center;gap:7px;font-size:11px;margin:12px 0;color:var(--muted)}.team-card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.edited-note{background:var(--yellow);color:var(--yellow-ink);padding:8px 10px;border-radius:8px;font-size:11px;margin:10px 0}.gift-color{flex-wrap:wrap}.gift-color:before{background:var(--gift-color,var(--primary))}.gift-color .field{margin:0;flex:1;min-width:100px}.gift-color .field input{padding:7px;font-size:11px}.result-metric>span{display:block;font-size:12px;font-family:'DM Sans','Noto Sans KR',sans-serif;font-weight:400;letter-spacing:0;margin-top:5px}.stat-strip .result-metric{margin:0;letter-spacing:-.5px}.stat-strip .result-metric strong{font-size:30px}.stat-strip .result-metric span{font-size:11px}.result-panel .team-card{animation:arrive .25s ease-out both}.result-panel .team-card:nth-child(2n){animation-delay:35ms}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}h1 em:before{content:' ';white-space:pre}.site-header{height:78px}.intro{padding:23px 0 22px}
.result-actions .btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.tool-tag{border:0}.tool-tag:hover{filter:brightness(.96)}.shopping-grid{grid-template-columns:minmax(390px,1.08fr) minmax(0,1fr)}.shopping-grid .input-panel .comparison-grid{gap:8px}.shopping-grid .input-panel .purchase-card{padding:12px}.shopping-grid .result-panel .comparison-grid{grid-template-columns:1fr}.shopping-grid .result-panel .purchase-card .stat-strip{margin-bottom:8px}.mobile-result{display:none}.gift-organizer{margin-top:20px;border:1px solid var(--line);padding:16px;border-radius:10px}.stat-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.stat-strip>div{min-width:0}.stat-strip strong{overflow-wrap:anywhere}
@media(min-width:1500px){.page-shell{max-width:1440px}.tool-grid{grid-template-columns:minmax(350px,.8fr) minmax(0,1.4fr)}}
@media(max-width:1000px){.page-shell{padding:0 24px}.tool-tab{padding:12px 9px;font-size:12px;gap:6px}.tab-no{display:none}.workspace{padding:22px}.tool-grid{gap:15px;grid-template-columns:minmax(280px,.92fr) minmax(0,1.1fr)}.input-panel,.result-panel{padding:18px}.privacy-badge{display:none}.result-metric{font-size:31px}}
@media(max-width:760px){.page-shell{padding:0 16px}.site-header{height:72px}.brand{font-size:22px}.header-actions{gap:7px}.language-picker select{max-width:145px;padding:8px 20px 8px 10px;font-size:11px}.icon-btn{width:33px;height:33px}.intro{padding:25px 0 20px}h1{font-size:29px;letter-spacing:-1.2px;line-height:1.4}h1 br{display:block}.intro-stamp{width:78px;height:66px;flex-shrink:0;font-size:9px}.intro-stamp svg{width:28px;height:28px}.intro p{font-size:12px;max-width:290px}.eyebrow{font-size:9px;letter-spacing:1px}.tool-tabs{display:flex;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin;margin-bottom:16px;gap:6px}.tool-tab{flex-shrink:0;font-size:11px;padding:10px 12px;border-radius:8px;gap:7px}.tool-tab-icon{font-size:18px}.workspace{padding:18px;border-radius:17px}.workspace-heading{margin-bottom:18px;gap:8px}.workspace-heading h2{font-size:22px;letter-spacing:-.8px}.workspace-heading p{font-size:12px}.tool-tag{display:none}.tool-grid{grid-template-columns:1fr;gap:14px}.result-panel,.input-panel{padding:18px}.closing-note{align-items:flex-start;flex-wrap:wrap;gap:10px}.closing-note>div{flex:1}.closing-note .btn{margin-left:43px;font-size:11px}.closing-note p{max-width:300px}footer{flex-wrap:wrap;gap:10px;font-size:9px}footer .plain-btn{font-size:10px}footer>span:nth-child(2){flex:1}.result-metric{font-size:35px}.team-grid{gap:8px}.workspace-heading .eyebrow{flex-wrap:wrap}.field-row{gap:10px}.gift-plan{grid-template-columns:1fr 1fr}.comparison-grid{gap:8px}.purchase-card{padding:11px}.purchase-card .result-metric{font-size:24px}dialog{width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.intro-stamp{display:none}.intro{padding:20px 0 18px}.shopping-grid{grid-template-columns:1fr}.shopping-grid .result-panel .comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-strip .result-metric strong{font-size:22px}.stat-strip .result-metric span{font-size:10px}.stat-strip strong{font-size:18px}.mobile-result{display:flex;position:fixed;right:16px;bottom:16px;border-radius:40px;box-shadow:0 5px 20px #0003;z-index:30;padding:12px 17px;min-height:44px}.toast{bottom:78px}.result-panel{scroll-margin-top:16px}footer{padding-bottom:85px}.shopping-grid .input-panel .purchase-card{padding:9px}.shopping-grid .input-panel .field-row{grid-template-columns:1fr}.tool-tab:focus-visible{outline-offset:-3px}}
@media print{body{background:white;color:#222}.site-header,.intro,.tool-tabs,.workspace-heading,.input-panel,.result-actions,.closing-note,footer,.toast,.round-tabs,dialog,.mobile-result{display:none!important}.page-shell{padding:0;max-width:none}.workspace{border:0;padding:0;background:white;box-shadow:none}.tool-grid{display:block}.result-panel{background:white;color:#222;padding:0}.team-card,.purchase-card,.gift-color,.data-table,.data-table th{background:white;color:#222}.team-grid{grid-template-columns:repeat(2,1fr)}.result-panel *{color:#222!important}.table-wrap{overflow:visible}.data-table td{white-space:normal}.team-card{break-inside:avoid}.result-metric{font-size:26px}}

[hidden]{display:none!important}.classroom-library{background:var(--paper);border:1px solid var(--line);padding:12px;border-radius:12px;margin-bottom:18px}.classroom-library summary,.classroom-swap summary{font-weight:600;cursor:pointer}.classroom-library .field{margin-top:12px}.group-preview{background:var(--mint);color:var(--ink);padding:10px 12px;border-radius:8px;font-size:12px;margin:0 0 14px}.classroom-swap{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:16px}.classroom-swap .hint{margin-top:10px}.classroom-swap .result-actions{margin:4px 0}.classroom-swap .field-row{margin-top:12px}@media print{.classroom-swap{display:none!important}}
@media(max-width:760px){.classroom-library button,.classroom-swap button,.classroom-swap select{min-height:44px}}

.classroom-mode{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.classroom-mode button{text-align:left;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--paper);color:var(--ink);min-width:0}.classroom-mode button[aria-pressed=true]{border:2px solid var(--primary);background:var(--mint);padding:15px}.classroom-mode strong{display:block;font-size:14px;margin-bottom:6px}.classroom-mode span{display:block;font-size:11px;color:var(--muted);line-height:1.5}.roster-toolbar{display:flex;justify-content:space-between;margin-bottom:10px}.classroom-options{margin-top:18px}.classroom-options>.field,.classroom-options>div>.field{margin-top:12px}.classroom-generate{width:100%;margin:4px 0 0}.classroom-grid textarea#classroom-names{height:120px}.classroom-grid .needs-generation{background:var(--yellow);color:var(--yellow-ink);min-height:240px}.needs-generation h2{font-size:24px;line-height:1.5;margin:14px 0}.needs-generation p{font-size:13px;margin-bottom:18px}.classroom-show{margin-top:18px}.saved-date{font-size:12px;margin:8px 0;color:var(--muted)}.classroom-page .attendance-chip{min-height:36px}.classroom-page #classroom-confirm-dialog h2{font-size:20px;margin-bottom:18px}.classroom-page .result-actions{flex-wrap:wrap}.classroom-grid .classroom-library{margin-bottom:14px}.classroom-page .classroom-library input{min-width:0}.classroom-mode button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}@media(max-width:760px){.classroom-mode{gap:8px}.classroom-mode button{padding:12px}.classroom-mode button[aria-pressed=true]{padding:11px}.classroom-mode strong{font-size:12px}.classroom-mode span{font-size:10px}.classroom-grid button{min-height:44px}.classroom-show .btn{width:100%}.classroom-page .result-panel{scroll-margin-top:12px}}@media print{.classroom-mode,.classroom-show,.saved-date{display:none!important}.needs-generation{display:none!important}}

.archive-notice{background:var(--yellow);color:var(--yellow-ink);border-radius:10px;padding:16px;margin-bottom:18px}.archive-notice p{font-size:13px;margin:8px 0 12px}@media print{.saved-date{display:block!important}.archive-notice{display:none!important}}
@media(max-width:760px){.classroom-page .classroom-grid .btn,.classroom-page .classroom-grid button,.classroom-mode button{min-height:44px}}
