:root{--bg:#f4efe7;--surface:#fffdfa;--surface-strong:#ffffff;--surface-dark:#223447;--text:#1f2937;--muted:#6b7280;--line:#d9cfc0;--primary:#79add6;--primary-strong:#2a4057;--secondary:#8fce9d;--gold:#edc95f;--success:#8fce9d;--warning:#edc95f;--danger:#de7a70;--radius-xl:24px;--radius-lg:18px;--radius-md:14px;--shadow-sm:0 1px 1px rgba(31,41,55,0.04),0 6px 20px rgba(31,41,55,0.06);--shadow:0 1px 1px rgba(31,41,55,0.05),0 18px 38px rgba(31,41,55,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-sans),"Pretendard Variable","Pretendard","SUIT","Noto Sans KR",system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(42,64,87,.12),transparent 20%),radial-gradient(circle at right 12%,rgba(143,206,157,.16),transparent 18%),linear-gradient(180deg,#f7f2e9,#f4efe7 56%,#fdfbf7)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.dashboard-shell,.site-shell{width:min(1440px,calc(100vw - 28px));margin:0 auto;padding:18px 0 48px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-radius:22px;border:1px solid var(--line);background:rgba(255,253,250,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.site-header.compact{margin-bottom:22px}.brand-lockup,.card-button-row,.chip-row,.code-chip-row,.header-actions,.hero-pill-row,.inline-meta,.tag-row{display:flex;flex-wrap:wrap;gap:12px}.inline-form{flex:1 1 180px}.brand-lockup{align-items:center}.brand-kicker,.section-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:5px 10px;border-radius:9999px;border:1px solid rgba(42,64,87,.14);background:rgba(42,64,87,.05);color:var(--primary-strong);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.brand-kicker{margin-bottom:6px}.section-badge{margin-bottom:2px}.badge-dot{width:8px;height:8px;flex:0 0 auto;border-radius:9999px;background:linear-gradient(135deg,var(--primary-strong),var(--primary));box-shadow:0 0 0 4px rgba(121,173,214,.12)}.brand-badge{width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#223447,#3f5874);color:#ffffff;font-weight:800;letter-spacing:.08em}.brand-badge.gold{background:linear-gradient(135deg,#3d4b57,#6f7d88);color:#ffffff}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}.brand-title,h2,h3{margin:0}h1,h2,h3{letter-spacing:-.04em}.brand-title{font-size:1.45rem}.brand-subtitle{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.3}.chip-link,.primary-link,.soft-pill,.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:9999px;border:1px solid var(--line);background:rgba(255,255,255,.9);font-weight:700}.primary-link{background:linear-gradient(135deg,var(--primary-strong),#344f69);color:#ffffff;border-color:rgba(42,64,87,.2)}.chip-link.is-active{background:rgba(42,64,87,.08);color:var(--primary-strong);border-color:rgba(42,64,87,.16)}.notice-bar{margin:18px 0 0;padding:14px 18px;border-radius:16px;background:#eaf4fb;border:1px solid #c6deef;color:#223447;font-weight:600}.hero-card{margin-top:32px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:24px;padding:32px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,253,250,.98),rgba(255,250,242,.96));box-shadow:var(--shadow);overflow:visible}.landing-hero{align-items:start}.landing-shell{pointer-events:none}.hero-side-home{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px}.profile-card-home{grid-column:1/-1}.page-hero{margin-top:22px;padding:22px 24px;display:grid;gap:14px;border-radius:24px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);position:relative;overflow:hidden}.page-hero.compact{padding:18px 20px}.page-hero:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,rgba(42,64,87,.8),rgba(121,173,214,.72),rgba(143,206,157,.68))}.page-hero-body{display:flex;flex-wrap:wrap;gap:12px}.admin-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%}.summary-chip{display:grid;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid rgba(42,64,87,.12);background:rgba(255,255,255,.74);box-shadow:var(--shadow-sm)}.summary-chip span{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.summary-chip strong{font-size:1.35rem;line-height:1}.hero-copy,.hero-side,.list-stack,.mini-panel,.page-intro,.queue-card,.request-panel,.stack-blocks,.stack-form,.surface-card{display:grid;gap:14px;align-content:start}.hero-copy-home{gap:12px}.hero-copy h2{margin:0;font-size:clamp(2.8rem,5vw,4.6rem);line-height:1.05;letter-spacing:-.06em;max-width:12ch}.hero-copy-subtitle{color:var(--muted);font-size:.95rem;line-height:1.6;padding-bottom:8px}.hero-lead{max-width:58ch;font-size:1rem}.hero-cta-row,.hero-stats{display:flex;flex-wrap:wrap;gap:12px}.hero-cta-row{margin-top:4px}.stat-chip{min-width:140px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.84);display:grid;gap:6px;box-shadow:var(--shadow-sm)}.stat-chip span{color:var(--muted);font-size:.82rem;font-weight:700}.stat-chip strong{font-size:1.25rem;line-height:1}.card-copy,.hero-text,.info-card p,.profile-card p,.request-panel p{margin:0;color:var(--muted);line-height:1.75}.auth-grid,.dashboard-grid,.entry-grid,.hero-density-grid,.hero-mini-grid,.home-entry-grid,.metric-grid,.metric-strip,.request-grid,.site-section-grid,.split-grid{display:grid;gap:18px}.hero-density-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-grid,.hero-mini-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-entry-grid{margin-top:4px}.site-section-grid{margin-top:22px;grid-template-columns:repeat(3,minmax(0,1fr))}.split-grid{margin-top:22px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.board-card,.info-card,.metric-card,.mini-panel,.profile-card,.queue-card,.request-panel,.surface-card{padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,253,250,.94);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.board-card:before,.info-card:before,.metric-card:before,.mini-panel:before,.profile-card:before,.queue-card:before,.request-panel:before,.surface-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,rgba(42,64,87,.7),rgba(121,173,214,.46),rgba(143,206,157,.42));opacity:.42}.board-card:hover,.info-card:hover,.metric-card:hover,.mini-panel:hover,.profile-card:hover,.queue-card:hover,.request-panel:hover,.surface-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(31,41,55,.12);border-color:rgba(42,64,87,.18)}.assignment-panel{display:grid;gap:20px;min-height:360px;padding:24px}.assignment-panel--student{gap:18px;min-height:340px}.assignment-copy{display:grid;gap:12px;min-width:0;min-height:96px}.assignment-student-row,.assignment-subline-row,.assignment-title-row{display:block}.assignment-student,.assignment-subline span,.assignment-title{min-width:0;word-break:break-word}.assignment-title{line-height:1.3;font-size:1.02rem}.assignment-subline,.assignment-subline-row{display:grid;gap:2px;color:var(--muted);font-size:.92rem}.assignment-student{color:var(--muted);font-size:.88rem}.assignment-meta-row{display:flex;justify-content:flex-start}.assignment-detail-grid{display:grid;gap:10px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:#f8fafc}.assignment-detail-item{display:grid;gap:4px}.assignment-detail-item span{color:var(--muted);font-size:.84rem}.assignment-detail-item strong{min-width:0;word-break:break-word;line-height:1.5;font-size:.95rem}.assignment-panel .review-button{align-self:stretch;width:100%;min-height:50px;padding:0 22px;font-size:.82rem;letter-spacing:0;white-space:nowrap}.whiteboard-shell{display:grid;gap:14px;padding:18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}.whiteboard-shell:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,rgba(143,206,157,.7),rgba(121,173,214,.58),rgba(42,64,87,.72))}.whiteboard-head{display:grid;gap:12px;align-items:start}.whiteboard-title{display:grid;gap:4px}.whiteboard-readonly-banner{padding:10px 14px;border-radius:12px;border:1px solid rgba(217,72,65,.18);background:rgba(217,72,65,.08);color:#b42318;font-size:.88rem;font-weight:700}.whiteboard-reference{display:grid;gap:10px;padding:14px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,#fffdf8,#f8f0e3);position:relative;overflow:hidden}.whiteboard-reference:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,rgba(237,201,95,.6),rgba(121,173,214,.54),rgba(143,206,157,.5))}.whiteboard-reference-viewer{display:grid;gap:10px}.whiteboard-reference-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.whiteboard-reference-toolbar>span{color:var(--muted);font-size:.84rem;font-weight:700}.reference-tools{grid-template-columns:repeat(4,minmax(0,auto));flex:1 1 auto;justify-content:flex-end}.reference-tools .chip-link{min-width:0;padding:0 14px}.whiteboard-reference-viewport{position:relative;overflow:hidden;min-height:280px;border-radius:16px;border:1px solid rgba(107,114,128,.18);background:#fff;cursor:grab;touch-action:none}.whiteboard-reference-viewport.is-zoomed{cursor:move}.whiteboard-reference-viewport:active{cursor:grabbing}.whiteboard-reference-stage{position:absolute;inset:0;display:grid;place-items:center;transform-origin:center center;will-change:transform}.whiteboard-reference-frame,.whiteboard-reference-image{display:block;width:100%;height:100%;object-fit:contain;border:0;background:#ffffff;pointer-events:none}.whiteboard-reference-viewport .whiteboard-reference-image{max-height:none}.whiteboard-reference-hint{position:absolute;right:12px;bottom:12px;padding:6px 10px;border-radius:9999px;background:rgba(17,24,39,.78);color:#ffffff;font-size:.76rem;font-weight:700}.whiteboard-reference-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.whiteboard-reference-head strong{font-size:.95rem}.whiteboard-reference-head span{color:var(--muted);font-size:.84rem}.whiteboard-reference-image-link{display:block;border-radius:14px;overflow:hidden;border:1px solid rgba(107,114,128,.18);background:#fff}.whiteboard-reference-image{display:block;width:100%;max-height:260px;object-fit:contain;background:#ffffff}.whiteboard-reference-empty{padding:18px;border-radius:14px;border:1px dashed var(--line);background:rgba(255,255,255,.7);color:var(--muted);font-size:.88rem}.board-control-box{display:grid;gap:10px;padding:14px;border-radius:12px;border:1px solid var(--line);background:#f8fafc}.whiteboard-canvas{width:100%;min-height:420px;border-radius:26px;border:1px solid var(--line);background:#f6efe4;touch-action:none}.whiteboard-canvas.is-locked{pointer-events:none;opacity:.95;filter:saturate(.9)}.board-color-row button:disabled,.board-tools button:disabled{cursor:not-allowed;opacity:.55}.board-color-row,.board-tools{display:flex;flex-wrap:wrap;gap:10px}.board-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.board-tools .chip-link{width:100%;white-space:nowrap;font-size:.84rem;letter-spacing:-.02em}.classroom-shell{position:relative}.voice-dock{position:fixed;right:18px;bottom:18px;z-index:40;width:min(320px,calc(100vw - 36px));display:grid;gap:8px;padding:14px;border-radius:16px;border:1px solid var(--line);background:#ffffff;box-shadow:var(--shadow)}.voice-button{width:100%;min-height:54px;touch-action:manipulation}.voice-button.recording{animation:voicePulse 1.2s ease-in-out infinite}.voice-help{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.82rem}.voice-help span{padding:4px 8px;border-radius:9999px;background:#f8fafc;border:1px solid var(--line)}.voice-player{width:100%;margin-top:8px}.classroom-message-row{align-items:start}.classroom-message-copy{display:grid;gap:8px;min-width:0;width:100%}.classroom-file-upload{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--line);background:#f8fafc}.classroom-file-upload-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.classroom-file-upload-head strong{display:block;font-size:.96rem}.classroom-file-upload-foot small,.classroom-file-upload-foot span,.classroom-file-upload-head small{color:var(--muted)}.classroom-file-upload-body{display:grid;gap:10px}.classroom-file-upload-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;font-size:.86rem}.file-input{width:100%;padding:12px;border-radius:12px;border:1px dashed var(--line);background:#ffffff}.classroom-attachment-image-link{display:block;max-width:100%}.classroom-attachment-image{width:100%;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.classroom-attachment-link{justify-content:flex-start}.assignment-file-link{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes voicePulse{0%{box-shadow:0 0 0 0 rgba(249,115,22,.28)}70%{box-shadow:0 0 0 12px rgba(249,115,22,0)}to{box-shadow:0 0 0 0 rgba(249,115,22,0)}}.board-color-row{justify-content:flex-start}.color-dot{width:30px;height:30px;border:2px solid rgba(20,30,50,.18);border-radius:999px;box-shadow:0 8px 16px rgba(21,36,65,.12)}.card-head,.mini-panel-head,.request-panel-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-head{align-items:center}.card-note{margin:4px 0 0;color:var(--muted);font-size:.84rem;line-height:1.4}.request-panel-top>.card-copy-block{flex:1 1 auto}.list-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.72);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.list-row:hover{transform:translateY(-1px);border-color:rgba(42,64,87,.16);box-shadow:0 10px 20px rgba(31,41,55,.06)}.list-row strong,.queue-card strong{font-size:.96rem}.list-row span,.metric-card span,.metric-panel span,.queue-card small,.queue-card span,.stacked-block small,.stacked-block span{color:var(--muted)}.metric-card strong,.metric-panel strong{font-size:2.2rem}.metric-card strong{font-size:2.1rem}.auth-grid{margin-top:22px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.surface-card{height:100%}.request-panel,.surface-card{align-content:start}.entry-card{min-height:112px;padding:16px}.entry-card .card-head{min-height:0}.entry-card .button-link{min-height:46px}.metric-card{min-height:106px;padding:18px 20px;align-content:start}.metric-card span{display:block;margin-bottom:10px;line-height:1.2;white-space:nowrap}.metric-card strong{display:block;line-height:1}.empty-hint{color:var(--muted);font-size:.82rem;line-height:1.45}.profile-card{gap:10px;min-height:136px}.blank-panel{min-height:120px;background:rgba(248,244,237,.72)}.blank-panel-card{min-height:196px}.list-row.empty-row{min-height:48px;justify-content:flex-start;color:var(--muted);font-size:.9rem}.hero-side .blank-panel{min-height:164px}.profile-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.stacked-block.compact{padding:10px 12px;gap:4px}.stacked-block{display:grid;gap:6px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(249,246,240,.9)}.field{display:grid;gap:8px}.field span{font-size:.92rem;font-weight:700}input,select,textarea{width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(42,64,87,.28);box-shadow:0 0 0 4px rgba(42,64,87,.1)}.action-button{min-height:48px;border:none;border-radius:16px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.button-link,.wide-button{width:100%}.action-button:hover,.chip-link:hover,.primary-link:hover{transform:translateY(-1px);filter:saturate(1.02)}.action-button,.chip-link,.primary-link{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease}.chip-link:hover,.primary-link:hover{box-shadow:0 10px 20px rgba(31,41,55,.08)}.action-button.primary:after,.primary-link:after{margin-left:8px;font-size:.9em;line-height:1;opacity:.8;content:"→"}.action-button.primary{background:linear-gradient(135deg,var(--primary-strong),#344f69);color:#ffffff;box-shadow:0 12px 24px rgba(42,64,87,.18)}.action-button.primary:hover{box-shadow:0 14px 26px rgba(42,64,87,.22)}.action-button.secondary{background:linear-gradient(135deg,#f7f3ec,#ffffff)}.action-button.ghost,.action-button.secondary{color:var(--text);border:1px solid var(--line)}.action-button.ghost{background:transparent}.action-button.small{min-height:40px;padding:0 14px;border-radius:14px}.google-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#ffffff;color:#4285f4;font-weight:900}.google-auth-stack{display:grid;gap:10px;margin-bottom:16px}.auth-status{margin:0;font-size:.9rem;color:var(--muted)}.status-badge{min-height:36px;padding:0 14px;font-size:.84rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}.status-badge.success{background:rgba(143,206,157,.18);color:#2b6b3b}.status-badge.warning{background:rgba(237,201,95,.22);color:#8a5d00}.status-badge.info{background:rgba(121,173,214,.18);color:#2a4057}.status-badge.info.session-state:before{content:"";width:8px;height:8px;margin-right:8px;border-radius:9999px;background:currentColor;box-shadow:0 0 0 4px rgba(121,173,214,.12)}.status-badge.danger{background:rgba(222,122,112,.16);color:#a23d30}.code-chip,.soft-pill{min-height:36px;padding:0 14px;font-size:.88rem}.code-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.86);font-weight:700}.dashboard-shell .metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.admin-main-grid,.admin-top-grid{display:grid;gap:16px}.admin-top-grid{margin-top:20px;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);align-items:start}.admin-sidebar{display:grid;gap:16px}.admin-slate-wide{min-height:100%}.admin-main-grid{margin-top:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-panel{gap:8px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel-span-2{grid-column:span 2}.request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-stack.compact,.stack-form.tight-form{gap:10px}.card-button-row.roomy{gap:14px;align-items:stretch}.session-drawer{display:grid;gap:14px}.session-drawer-summary{list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;cursor:pointer}.session-drawer-summary::-webkit-details-marker{display:none}.session-drawer-summary strong{display:block;font-size:1rem}.session-drawer-summary span{display:block;color:var(--muted);font-size:.84rem}.session-drawer-chip{pointer-events:none}.session-drawer-body{display:grid;gap:10px}.session-drawer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#ffffff;color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.session-drawer-row:hover{transform:translateY(-1px);border-color:rgba(31,59,115,.28);box-shadow:0 10px 24px rgba(15,23,42,.08)}.session-drawer-row .assignment-copy{gap:6px}.admin-focus-list{display:grid;gap:10px}.admin-focus-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.72)}.admin-focus-item span{color:var(--muted);font-size:.88rem}.admin-focus-item strong{font-size:1rem}.admin-sidebar .card-head{align-items:flex-start}.admin-card-compact{gap:10px}.admin-card-compact .assignment-copy,.admin-card-compact .card-head,.admin-card-compact .request-panel-top{gap:8px}.admin-card-compact .stacked-block{padding:10px 12px}.admin-meta-list{display:grid;gap:7px}.admin-meta-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.65)}.admin-meta-item span{color:var(--muted);font-size:.84rem;flex:0 0 auto}.admin-meta-item strong{text-align:right;font-size:.92rem;line-height:1.45;word-break:break-word}.button-link{display:inline-flex}textarea{resize:vertical;min-height:96px}@media (max-width:1200px){.admin-summary-strip,.dashboard-shell .metric-strip,.hero-density-grid,.hero-mini-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1201px){.dashboard-shell,.site-shell{width:min(1440px,calc(100vw - 40px))}.hero-card{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:28px;padding:32px}.hero-copy h2{font-size:clamp(3rem,4.4vw,5.1rem)}.hero-side-home{gap:16px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-grid{grid-template-columns:minmax(300px,.88fr) minmax(0,1.24fr) minmax(280px,.88fr)}.classroom-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.classroom-grid .panel-span-2{grid-column:auto}.admin-top-grid{grid-template-columns:minmax(0,1.7fr) minmax(340px,.9fr)}.admin-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:821px) and (max-width:1200px){.dashboard-shell,.site-shell{width:min(100vw - 24px,1240px);padding-top:14px}.hero-card{grid-template-columns:1fr;gap:18px;padding:24px}.admin-main-grid,.admin-top-grid,.auth-grid,.entry-grid,.hero-side-home,.request-grid,.site-section-grid,.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-side-home{gap:12px}.profile-card-home{grid-column:1/-1}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid .panel-span-2{grid-column:1/-1}.admin-main-grid,.admin-sidebar,.admin-top-grid{grid-template-columns:1fr}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-grid .panel-span-2,.student-grid>:first-child,.student-grid>:last-child{grid-column:1/-1}.classroom-grid{grid-template-columns:1fr}.classroom-grid .panel-span-2{grid-column:auto}.admin-grid,.classroom-grid,.student-grid{align-items:start}.dashboard-shell .metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.site-section-grid{margin-top:18px}.admin-grid .request-grid,.student-grid .request-grid{grid-template-columns:1fr}.hero-copy h2{font-size:clamp(2.6rem,4.7vw,3.8rem)}}@media (max-width:820px){.dashboard-shell,.site-shell{width:min(100vw - 16px,100%);padding-top:10px}.admin-main-grid,.admin-summary-strip,.admin-top-grid,.auth-grid,.dashboard-grid,.dashboard-shell .metric-strip,.entry-grid,.hero-card,.hero-density-grid,.hero-mini-grid,.metric-grid,.request-grid,.site-header,.site-section-grid,.split-grid{grid-template-columns:1fr}.panel-span-2{grid-column:auto}.hero-side-home{grid-template-columns:1fr}.profile-card-home{grid-column:auto}.card-head,.header-actions,.list-row,.mini-panel-head,.request-panel-top,.site-header,.whiteboard-head{flex-direction:column;align-items:flex-start}.admin-summary-strip{gap:10px}.summary-chip{padding:10px 12px}.summary-chip strong{font-size:1.2rem}.admin-main-grid,.admin-top-grid{gap:14px}.admin-main-grid,.admin-sidebar,.admin-top-grid{grid-template-columns:1fr}.card-button-row.roomy{gap:10px}.card-button-row.roomy .inline-form{flex:1 1 100%}.action-button,.chip-link,.primary-link{min-height:44px}.voice-dock{right:10px;left:10px;bottom:10px;width:auto}.board-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy h2{font-size:2.45rem;max-width:none}.hero-copy-subtitle{font-size:.9rem}.whiteboard-reference-image{max-height:210px}.page-hero-body{width:100%}}