@import"https://fonts.googleapis.com/css2?family=Pixelify+Sans:wght@500;700&family=Press+Start+2P&family=VT323&display=swap";:root{--bg-app: #efe7d5;--bg-pattern: #e4dac5;--bg-surface: #fdfaf3;--bg-surface-elevated: #ffffff;--bg-subtle: #ebdccb;--bg-hover: #e0d0bd;--border-color: #2b2520;--border-shadow: #1a1714;--text-main: #2b2520;--text-muted: #6e6155;--text-light: #9e8e7e;--color-primary: #3b82f6;--color-primary-dark: #1d4ed8;--color-accent: #f59e0b;--color-accent-dark: #d97706;--color-success: #10b981;--color-success-dark: #059669;--color-danger: #ef4444;--color-danger-dark: #dc2626;--color-purple: #8b5cf6;--color-teal: #06b6d4;--font-pixel: "Pixelify Sans", cursive, sans-serif;--font-heading: "Pixelify Sans", cursive, sans-serif;--font-mono: "VT323", monospace;--border-w: 3px;--shadow-offset: 4px}[data-theme=dark]{--bg-app: #181926;--bg-pattern: #13141f;--bg-surface: #24273a;--bg-surface-elevated: #363a4f;--bg-subtle: #1e2030;--bg-hover: #494d64;--border-color: #0c0d14;--border-shadow: #000000;--text-main: #cad3f5;--text-muted: #a5adcb;--text-light: #6e738d;--color-primary: #8aadf4;--color-primary-dark: #7aa2f7;--color-accent: #eed49f;--color-accent-dark: #f5a97f;--color-success: #a6da95;--color-success-dark: #8bd5ca;--color-danger: #ed8796;--color-danger-dark: #ee99a0;--color-purple: #c6a0f6;--color-teal: #8bd5ca}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:clamp(15px,1.2vw,18px);-webkit-text-size-adjust:100%}body{font-family:var(--font-pixel);background-color:var(--bg-app);background-image:radial-gradient(var(--bg-pattern) 15%,transparent 16%);background-size:16px 16px;color:var(--text-main);line-height:1.4;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;image-rendering:pixelated;-webkit-user-select:none;user-select:none;overflow-x:hidden;width:100%}svg{display:inline-block;vertical-align:middle;flex-shrink:0}.crt-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:100;background:linear-gradient(#12101000 50%,#0000001f 50%);background-size:100% 4px;opacity:.7}.crt-overlay.disabled{display:none}.retro-header{background-color:var(--bg-surface);border-bottom:var(--border-w) solid var(--border-color);padding:clamp(.5rem,1.2vw,.85rem) clamp(.75rem,2vw,1.5rem);box-shadow:0 var(--shadow-offset) 0 var(--border-shadow);position:sticky;top:0;z-index:40;width:100%}.header-container{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.retro-brand{display:flex;align-items:center;gap:.6rem;cursor:pointer;text-decoration:none;color:var(--text-main);font-family:var(--font-heading);font-size:clamp(1rem,2vw,1.35rem);font-weight:700;letter-spacing:.05em;white-space:nowrap}.brand-text{white-space:nowrap;word-break:keep-all}.retro-brand-icon{width:38px;height:38px;background-color:var(--color-accent);border:3px solid var(--border-color);box-shadow:2px 2px 0 var(--border-shadow);display:flex;align-items:center;justify-content:center;color:#000;flex-shrink:0}.retro-brand-tag{font-size:clamp(.65rem,1vw,.78rem);font-family:var(--font-heading);padding:.2rem .45rem;background-color:var(--color-teal);color:#000;border:2px solid var(--border-color);box-shadow:1px 1px 0 var(--border-shadow);white-space:nowrap}.header-nav-actions{display:flex;gap:.6rem;align-items:center}.main-content{flex:1;max-width:1440px;width:100%;margin:0 auto;padding:clamp(.75rem,2vw,1.5rem) clamp(.75rem,2vw,1.25rem) clamp(2rem,4vw,3rem) clamp(.75rem,2vw,1.25rem)}.view{display:none;width:100%}.view.active{display:block}.pixel-box{background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);padding:clamp(1rem,2.5vw,1.75rem);position:relative;width:100%}.pixel-btn{font-family:var(--font-heading);font-size:clamp(.85rem,1.2vw,1.05rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:3px solid var(--border-color);padding:.6rem 1.15rem;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:inset -2px -2px #0000004d,inset 2px 2px #fff6,3px 3px 0 var(--border-shadow);transition:transform .05s ease,box-shadow .05s ease;color:#000;background-color:var(--bg-surface-elevated);white-space:nowrap}.pixel-btn:hover{filter:brightness(1.08)}.pixel-btn:active{transform:translate(2px,2px);box-shadow:inset -1px -1px #0000004d,1px 1px 0 var(--border-shadow)}.pixel-btn-primary{background-color:var(--color-primary);color:#fff}.pixel-btn-accent{background-color:var(--color-accent);color:#000}.pixel-btn-success{background-color:var(--color-success);color:#fff}.pixel-btn-danger{background-color:var(--color-danger);color:#fff}.pixel-btn-lg{font-size:clamp(.95rem,1.3vw,1.15rem);padding:.75rem 1.4rem;min-height:54px;box-shadow:inset -3px -3px #0000004d,inset 3px 3px #fff6,4px 4px 0 var(--border-shadow)}.pixel-btn-sm{font-size:clamp(.75rem,1vw,.88rem);padding:.4rem .75rem;min-height:38px;border-width:2px;box-shadow:2px 2px 0 var(--border-shadow)}.pixel-btn-submit{font-size:clamp(.95rem,1.3vw,1.15rem);padding:.75rem 1.4rem}.dashboard-hero{margin-bottom:1.75rem;background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);padding:clamp(1.25rem,3vw,2.25rem);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.hero-main-info{flex:1;min-width:280px}.hero-badge{display:inline-block;font-family:var(--font-heading);font-size:.78rem;padding:.25rem .6rem;background-color:var(--color-accent);color:#000;border:2px solid var(--border-color);box-shadow:2px 2px 0 var(--border-shadow);margin-bottom:.6rem}.hero-title{font-family:var(--font-heading);font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:700;color:var(--text-main);letter-spacing:.04em;margin-bottom:.4rem;text-shadow:2px 2px 0 var(--border-shadow)}.hero-desc{font-size:clamp(.95rem,1.8vw,1.15rem);color:var(--text-muted);max-width:600px}.hero-actions-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.vault-section-title{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;border-bottom:3px solid var(--border-color);padding-bottom:.5rem}.vault-title{font-family:var(--font-heading);font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:700}.vault-subtitle{font-size:.95rem;color:var(--text-muted)}.cartridges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(1rem,2vw,1.5rem);width:100%}.cartridge-card{background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .1s ease,box-shadow .1s ease;width:100%}.cartridge-card:hover{transform:translateY(-2px);box-shadow:calc(var(--shadow-offset) + 2px) calc(var(--shadow-offset) + 2px) 0 var(--border-shadow)}.cartridge-ribs{background-color:var(--border-color);height:10px;display:flex;gap:5px;padding:2px 8px}.cartridge-rib{flex:1;background-color:var(--bg-surface);height:100%}.cartridge-label{padding:clamp(.85rem,1.8vw,1.25rem);background-color:var(--bg-surface-elevated);border-bottom:var(--border-w) solid var(--border-color);flex:1;display:flex;flex-direction:column}.cartridge-color-strip{height:6px;margin-bottom:.6rem;border:2px solid var(--border-color)}.cartridge-title{font-family:var(--font-heading);font-size:clamp(.95rem,1.5vw,1.15rem);margin-bottom:.4rem;color:var(--text-main);cursor:pointer;line-height:1.3}.cartridge-desc{font-size:.95rem;color:var(--text-muted);margin-bottom:.6rem;flex:1}.cartridge-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:1.1rem;color:var(--text-muted)}.cartridge-actions{display:flex;gap:.4rem;padding:.5rem .75rem;background-color:var(--bg-subtle);flex-wrap:wrap}.deck-detail-header-box{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem}.deck-detail-info{flex:1;min-width:280px}.deck-title-text{font-family:var(--font-heading);font-size:clamp(1.2rem,2.8vw,1.6rem);margin:.5rem 0 .3rem}.deck-desc-text{font-size:1rem;color:var(--text-muted)}.deck-stats-line{font-family:var(--font-mono);font-size:1.2rem;margin-top:.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.deck-detail-actions-panel{display:flex;flex-direction:column;gap:.85rem;align-items:flex-end}.play-modes-group{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.actions-group-label{font-family:var(--font-heading);font-size:.75rem;color:var(--text-muted);letter-spacing:.05em}.play-btns-row,.deck-manage-group{display:flex;gap:.5rem;flex-wrap:wrap}.purple-btn{background-color:var(--color-purple)!important;color:#fff!important}.deck-controls-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.85rem;margin-bottom:1.25rem;background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);padding:.75rem 1rem}.student-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1.25rem;width:100%}.student-card-item{background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .1s ease,box-shadow .1s ease}.student-card-item:hover{transform:translateY(-2px);box-shadow:calc(var(--shadow-offset) + 2px) calc(var(--shadow-offset) + 2px) 0 var(--border-shadow)}.student-card-photo-box{width:100%;height:200px;border-bottom:var(--border-w) solid var(--border-color);position:relative;overflow:hidden;background-color:var(--bg-subtle);cursor:zoom-in}.student-card-photo-img{width:100%;height:100%;object-fit:cover;display:block}.student-card-badge{position:absolute;top:8px;right:8px;font-family:var(--font-heading);font-size:.7rem;padding:.2rem .45rem;border:2px solid var(--border-color);box-shadow:1px 1px 0 var(--border-shadow)}.student-card-details{padding:.85rem;flex:1;display:flex;flex-direction:column}.student-card-name{font-family:var(--font-heading);font-size:.95rem;margin-bottom:.3rem;color:var(--text-main);word-break:break-word}.student-card-sub{font-size:.88rem;color:var(--text-muted);margin-bottom:.3rem}.student-card-stats{font-family:var(--font-mono);font-size:.95rem;color:var(--text-muted);margin-top:auto;border-top:1px dashed var(--border-color);padding-top:.4rem;display:flex;justify-content:space-between}.student-card-actions{display:flex;gap:.4rem;padding:.5rem .65rem;background-color:var(--bg-subtle);border-top:2px solid var(--border-color)}.game-hud{display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);padding:clamp(.5rem,1vw,.75rem) clamp(.75rem,1.5vw,1.1rem);margin-bottom:clamp(.75rem,2vw,1.25rem);font-family:var(--font-heading);font-size:clamp(.75rem,1.3vw,.92rem);flex-wrap:wrap;gap:.6rem;width:100%}.hud-item{display:flex;align-items:center;gap:.4rem}.hud-points{color:var(--color-accent)}.game-deck-tag{margin-left:.5rem;color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpg-dialogue-stage{max-width:1100px;margin:0 auto;width:100%}.rpg-card-box{background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);padding:clamp(1.25rem,3vw,2.25rem);text-align:center;position:relative;width:100%}@media(min-width:768px){.game-stage-layout{display:grid;grid-template-columns:360px 1fr;gap:2rem;align-items:center;text-align:left}.game-mode-visual-col .rpg-portrait-frame{width:340px;height:340px;margin:0 auto}.game-mode-content-col{display:flex;flex-direction:column;justify-content:center}.game-mode-content-col .rpg-prompt-text{font-size:1.15rem;margin-bottom:1.25rem}.game-mode-content-col .rpg-input-wrapper{max-width:100%;margin-bottom:1.25rem}.game-mode-content-col .rpg-actions-row{justify-content:flex-start}}.game-mode-panel{display:none;width:100%}.game-mode-panel.is-active{display:block}.rpg-portrait-frame{width:min(260px,52vw,32vh);height:min(260px,52vw,32vh);margin:0 auto clamp(.6rem,1.5vw,1.1rem) auto;border:var(--border-w) solid var(--border-color);box-shadow:3px 3px 0 var(--border-shadow);background-color:var(--bg-subtle);overflow:hidden;cursor:zoom-in;position:relative;flex-shrink:0}.rpg-portrait-img{width:100%;height:100%;object-fit:cover;display:block}.rpg-prompt-text{font-family:var(--font-heading);font-size:clamp(.95rem,1.8vw,1.2rem);font-weight:700;color:var(--text-main);margin-bottom:clamp(.6rem,1.5vw,1rem)}.rpg-hint-box{display:none;font-family:var(--font-mono);font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:700;letter-spacing:clamp(.08em,1vw,.16em);background-color:var(--bg-subtle);border:3px dashed var(--border-color);padding:.4rem clamp(.6rem,1.5vw,1rem);margin-bottom:1rem;color:var(--color-primary-dark);max-width:100%;word-break:break-word}.rpg-hint-box.is-active{display:inline-block}.rpg-input-wrapper{max-width:min(100%,420px);margin:0 auto clamp(.6rem,1.5vw,1rem) auto;display:flex;position:relative;width:100%}.rpg-input{width:100%;font-family:var(--font-heading);font-size:clamp(.85rem,1.6vw,1.05rem);padding:.75rem 1rem;min-height:52px;background-color:var(--bg-surface-elevated);border:3px solid var(--border-color);box-shadow:inset 2px 2px #00000026,2px 2px 0 var(--border-shadow);color:var(--text-main);text-align:center;outline:none}.rpg-input:focus{border-color:var(--color-primary)}.rpg-actions-row{display:flex;justify-content:center;gap:clamp(.5rem,1.5vw,.85rem);flex-wrap:wrap}.rpg-feedback-box{display:none;border:var(--border-w) solid var(--border-color);box-shadow:3px 3px 0 var(--border-shadow);padding:clamp(.85rem,2vw,1.25rem);margin:clamp(.75rem,2vw,1.25rem) 0;animation:popFeedback .15s ease-out;width:100%}.rpg-feedback-box.is-active{display:block}@keyframes popFeedback{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.rpg-feedback-correct{background-color:#d1fae5;color:#065f46}.rpg-feedback-incorrect{background-color:#fee2e2;color:#991b1b}.rpg-feedback-title{font-family:var(--font-heading);font-size:clamp(.95rem,1.6vw,1.15rem);margin-bottom:.35rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.rpg-feedback-answer{font-family:var(--font-heading);font-size:clamp(1rem,2vw,1.25rem);margin:.35rem 0;color:#000;word-break:break-word}.rpg-feedback-notes{font-family:var(--font-pixel);font-size:.95rem;margin-top:.45rem}#game-input-section.is-hidden{display:none}.stage-clear-card{max-width:min(100%,540px);margin:0 auto;background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);padding:clamp(1.25rem,3vw,2.25rem) clamp(1rem,2.5vw,1.75rem);text-align:center;width:100%}.stage-clear-title{font-family:var(--font-heading);font-size:clamp(1.3rem,3vw,1.75rem);color:var(--color-accent);text-shadow:2px 2px 0 var(--border-color);margin-bottom:.5rem}.stars-rating{font-size:clamp(2rem,4vw,2.8rem);color:var(--color-accent);margin-bottom:.75rem;text-shadow:2px 2px 0 var(--border-color);display:flex;justify-content:center;gap:.6rem}.stage-stats-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:clamp(.5rem,1.2vw,.85rem);margin:clamp(1rem,2vw,1.5rem) 0;padding:.85rem;background-color:var(--bg-subtle);border:3px solid var(--border-color)}.stage-stat-val{font-family:var(--font-heading);font-size:clamp(.95rem,1.8vw,1.2rem);color:var(--text-main);display:flex;align-items:center;justify-content:center}.stage-stat-lbl{font-family:var(--font-mono);font-size:1.1rem;color:var(--text-muted)}.retro-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background-color:#000000b3;z-index:60;display:none;align-items:center;justify-content:center;padding:clamp(.5rem,2vw,1.25rem)}.retro-modal-overlay.active{display:flex}.retro-modal-window{background-color:var(--bg-surface);border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);width:100%;max-width:min(100%,540px);max-height:90dvh;display:flex;flex-direction:column}.retro-modal-titlebar{background-color:var(--border-color);color:#fff;padding:.5rem .85rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-heading);font-size:clamp(.8rem,1.3vw,.95rem);flex-shrink:0}.retro-modal-content{padding:clamp(.85rem,2vw,1.35rem);overflow-y:auto;flex:1}.retro-modal-footer{padding:clamp(.65rem,1.5vw,1rem) clamp(.85rem,2vw,1.35rem);border-top:3px solid var(--border-color);display:flex;justify-content:flex-end;gap:.6rem;background-color:var(--bg-subtle);flex-shrink:0;flex-wrap:wrap}.pixel-dropzone{border:3px dashed var(--border-color);background-color:var(--bg-subtle);padding:clamp(1rem,2.2vw,1.6rem);text-align:center;cursor:pointer;margin-bottom:1rem;transition:background-color .1s ease;width:100%}.pixel-dropzone:hover,.pixel-dropzone.dragover{background-color:var(--color-accent);color:#000}.pixel-form-group{margin-bottom:1rem;text-align:left;width:100%}.pixel-form-group label{display:block;font-family:var(--font-heading);font-size:clamp(.78rem,1.1vw,.88rem);font-weight:700;margin-bottom:.35rem}.pixel-input,.pixel-select,.pixel-textarea{width:100%;font-family:var(--font-pixel);font-size:clamp(.95rem,1.4vw,1.05rem);padding:.6rem .85rem;border:3px solid var(--border-color);box-shadow:inset 2px 2px #0000001f,2px 2px 0 var(--border-shadow);background-color:var(--bg-surface-elevated);color:var(--text-main);border-radius:0;outline:none}.pixel-input:focus,.pixel-select:focus,.pixel-textarea:focus{border-color:var(--color-primary)}.flashcard-box{perspective:1000px;width:100%;max-width:min(100%,420px);height:min(380px,48vh);margin:0 auto 1.1rem;cursor:pointer}.flashcard-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .4s ease}.flashcard-inner.is-flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border:var(--border-w) solid var(--border-color);box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--border-shadow);background-color:var(--bg-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.flashcard-back{transform:rotateY(180deg)}.choice-buttons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.85rem;margin-top:1rem}.choice-btn{font-family:var(--font-heading);font-size:clamp(.9rem,1.4vw,1.05rem);padding:.85rem 1rem;text-align:left;min-height:52px}.photo-choices-grid{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:1rem;max-width:500px;margin:1rem auto 0}.photo-choice-card{position:relative;aspect-ratio:1 / 1;border:3px solid var(--border-color);background-color:var(--bg-surface);cursor:pointer;overflow:hidden;box-shadow:4px 4px 0 var(--border-shadow);transition:transform .1s,box-shadow .1s,border-color .1s}.photo-choice-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border-shadow);border-color:var(--color-accent)}.photo-choice-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--border-shadow)}.photo-choice-key-badge{position:absolute;top:8px;left:8px;background-color:var(--border-color);color:#fff;font-family:var(--font-heading);font-size:.8rem;padding:3px 8px;z-index:2;box-shadow:1px 1px 0 var(--border-shadow)}.photo-choice-img{width:100%;height:100%;object-fit:cover;display:block}.summary-high-score-box{background-color:var(--bg-surface);border:3px solid var(--border-color);box-shadow:3px 3px 0 var(--border-shadow);padding:1rem;margin:1.1rem 0;text-align:center}.high-scores-table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}.high-scores-table th,.high-scores-table td{padding:.7rem .6rem;border-bottom:2px solid var(--border-color)}.high-scores-table th{font-family:var(--font-heading);font-size:.78rem;color:var(--text-muted);background-color:var(--bg-subtle)}.printable-roster-body{padding:1rem}.roster-header-section{text-align:center;margin-bottom:1.25rem;border-bottom:3px solid var(--border-color);padding-bottom:.75rem}.roster-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;max-height:520px;overflow-y:auto;padding:.5rem}.roster-student-cell{border:3px solid var(--border-color);background-color:var(--bg-surface);box-shadow:3px 3px 0 var(--border-shadow);padding:.75rem;display:flex;flex-direction:column;align-items:center;text-align:center}.roster-student-photo img{width:110px;height:110px;object-fit:cover;border:3px solid var(--border-color);margin-bottom:.5rem}.roster-student-name{font-family:var(--font-heading);font-size:.85rem;margin-bottom:.25rem}.roster-student-alt{font-size:.82rem;color:var(--text-muted);margin-bottom:.25rem}.roster-student-notes{font-size:.85rem;color:var(--text-muted)}@media print{body{background:#fff!important;color:#000!important}.crt-overlay,.retro-header,.main-content,.retro-modal-titlebar button,.retro-modal-footer{display:none!important}#modal-printable-roster{position:static!important;background:none!important;display:block!important;padding:0!important}#modal-printable-roster .retro-modal-window{box-shadow:none!important;border:none!important;max-width:100%!important;width:100%!important}.roster-grid-container{max-height:none!important;overflow:visible!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important}.roster-student-cell{break-inside:avoid;box-shadow:none!important;border:1px solid #000!important}}
