:root{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#13221d;background:#bb3274;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px}button,input,textarea,select{font:inherit}#root{color:var(--color-text);font-family:var(--font-body)}.app-shell{min-height:100vh;padding:var(--space-3);background:var(--color-splash-background)}.phone-frame{position:relative;max-width:var(--app-width);margin:0 auto;min-height:calc(100vh - (var(--space-3) * 2));padding:var(--space-5) var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.hero-panel,.guide-hero{color:#fff;padding-top:var(--space-2)}.hero-panel h1,.guide-hero h1,.selection-sheet__header h2{margin:0;font-family:var(--font-display);font-size:clamp(2rem,6.8vw,3rem);line-height:.98;max-width:11ch}.hero-copy{margin:var(--space-3) 0 0;max-width:20rem;font-size:.95rem;color:#ffffffe6}.guide-hero__codes{display:grid;gap:.35rem;margin-top:var(--space-3)}.guide-hero__codes p{margin:0;color:#fffffff0;font-size:1rem;font-weight:600}.guide-hero__codes span{font-weight:800}.school-day-groups{display:grid;gap:var(--space-4)}.school-day-section{display:grid;gap:var(--space-2)}.school-day-heading{margin:0;color:#fffffff0;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}.school-list,.creation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.school-card,.student-card,.selection-option,.secondary-button{width:100%;border:0;color:var(--color-text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.school-card{min-height:var(--school-card-min-height);padding:var(--space-4);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf8 0%,var(--color-surface-strong) 100%);box-shadow:0 8px #61153b38,0 14px 24px #0d201924;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.school-card:hover,.school-card:focus-visible,.student-card:hover,.student-card:focus-visible,.selection-option:hover,.selection-option:focus-visible,.secondary-button:hover,.secondary-button:focus-visible{transform:translateY(-2px);outline:none}.school-card:hover,.school-card:focus-visible{box-shadow:0 10px #61153b3d,0 18px 28px #0d20192e;border-color:#ffcf5af2}.school-card:active,.student-card:active,.selection-option:active,.secondary-button:active{transform:translateY(3px) scale(.985)}.school-card:active{box-shadow:0 4px #61153b33,0 8px 14px #0d201924}.school-card__content,.student-card__content{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.school-card__label,.student-card__name{font-family:var(--font-display);font-size:1.15rem;line-height:1.05}.school-card__day{color:var(--color-text-muted);font-size:.85rem;font-weight:700}.school-card__meta,.student-card__status,.roster-panel__meta,.roster-panel__instruction{color:var(--color-text-muted);font-size:.85rem}.school-card__chevron,.student-card__chevron{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-pill);font-size:1.15rem;font-weight:700}.school-card__chevron,.student-card__chevron{background:#bb32741a;color:#8a1f53;transition:transform .14s ease,background .14s ease}.school-card:hover .school-card__chevron,.school-card:focus-visible .school-card__chevron,.student-card:hover .student-card__chevron,.student-card:focus-visible .student-card__chevron{transform:translate(2px);background:#bb327429}.school-card:active .school-card__chevron,.student-card:active .student-card__chevron{transform:translate(1px) scale(.96)}.student-card__chevron--complete,.student-card--complete .student-card__chevron,.student-card--complete:hover .student-card__chevron,.student-card--complete:focus-visible .student-card__chevron{background:#248e54;color:#fff}.guide-screen,.creation-screen{display:flex;flex-direction:column;gap:var(--space-4)}.screen-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.text-button,.sheet-close,.sheet-clear{padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-pill);background:#ffffff2e;color:#fff;font-weight:600;cursor:pointer;transition:background .14s ease,transform .14s ease}.text-button:hover,.text-button:focus-visible,.sheet-close:hover,.sheet-close:focus-visible,.sheet-clear:hover,.sheet-clear:focus-visible{background:#ffffff42;outline:none}.text-button:active,.sheet-close:active,.sheet-clear:active{transform:translateY(1px)}.screen-date{color:#ffffffe0;font-size:.88rem;font-weight:700;text-align:right}.guide-hero__eyebrow,.roster-panel__eyebrow{margin:0 0 var(--space-2);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.guide-hero__eyebrow{color:#ffffffc7}.creation-instruction{margin:0;color:#fffffff0;font-size:.95rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.guide-layout,.guide-list,.selection-options,.roster-list{display:grid;gap:var(--space-3)}.guide-card,.roster-panel,.selection-sheet{padding:var(--space-4);border-radius:var(--radius-lg);background:#fffaf2f5;box-shadow:0 10px 22px #0d201924}.guide-card h2,.roster-panel h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.1rem;line-height:1.1}.guide-card__content-blocks{display:grid;gap:var(--space-3)}.guide-card p,.guide-card li{margin:0;color:var(--color-text-muted);font-size:.95rem}.guide-card__list{margin:0;padding-left:1.25rem;display:grid;gap:var(--space-2)}.roster-panel{display:flex;flex-direction:column;gap:var(--space-3)}.roster-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.roster-panel__eyebrow{color:var(--color-text-muted);font-size:.8rem}.roster-panel__badge{padding:var(--space-1) var(--space-2);font-size:.8rem;background:#ee42251f;color:#b12d17}.roster-panel__instruction{margin:0;font-weight:700}.secondary-button{min-height:3.6rem;padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-md);background:linear-gradient(180deg,#f35a40 0%,var(--color-accent) 100%);color:var(--color-accent-text);box-shadow:0 8px #a627135c,0 14px 22px #4c0e062e;font-family:var(--font-display);font-size:1.05rem;font-weight:700;text-align:center;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.secondary-button:hover,.secondary-button:focus-visible{box-shadow:0 10px #a627136b,0 18px 28px #4c0e0638;filter:brightness(1.03)}.secondary-button:active{box-shadow:0 4px #a6271357,0 8px 14px #4c0e062e}.secondary-button:disabled{cursor:wait;opacity:.78;transform:none}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);border:0;background:#fffdf8;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.attendance-row--present{background:#eef9f1;border-color:#248e5438}.attendance-row--absent{background:#fff0ef;border-color:#d043313d}.attendance-row__main,.attendance-row__chevron{border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.attendance-row__main{min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);text-align:left}.attendance-row__main:focus-visible,.attendance-row__chevron:focus-visible{outline:2px solid rgba(19,34,29,.24);outline-offset:2px;border-radius:var(--radius-sm)}.attendance-row__indicator{width:1.15rem;height:1.15rem;border-radius:var(--radius-pill);border:2px solid rgba(19,34,29,.18);background:#e6e1db;flex:0 0 auto}.attendance-row__indicator--present{border-color:#248e54;background:#248e54;box-shadow:0 0 0 4px #248e541f}.attendance-row__indicator--absent{border-color:#cf4331;background:#cf4331;box-shadow:0 0 0 4px #cf43311f}.attendance-row__name-block{min-width:0;flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) .75rem;align-items:center;column-gap:var(--space-2)}.attendance-row__name{min-width:0;font-size:.96rem;font-weight:600;color:var(--color-text)}.attendance-row__outcome-icon{width:.75rem;height:.75rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;background:#13221d14;border:0;box-shadow:inset 0 0 0 1px #13221d14;flex:0 0 auto}.attendance-row__outcome-icon--game-level{background:#dff4ff}.attendance-row__outcome-icon--character{background:#ffe7ef}.attendance-row__outcome-icon--art-animation{background:#fff0d8}.attendance-row__outcome-icon--background-scene{background:#e7f7e8}.attendance-row__outcome-icon--comic{background:#f0e8ff}.attendance-row__outcome-icon--did-not-create{background:#f7e6de}.attendance-row__outcome-icon--not-here{background:#ececec}.attendance-row__chevron{width:2.5rem;min-height:2.5rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;color:#8a1f53;font-size:1rem;font-weight:800}.attendance-row__chevron:hover{background:#bb327414}.attendance-row__details{grid-column:1 / -1;padding:0 var(--space-2) var(--space-2) calc(1.15rem + var(--space-5));display:grid;gap:var(--space-1)}.attendance-row__details p{margin:0;color:var(--color-text-muted);font-size:.88rem;display:grid;gap:.18rem}.attendance-row__details span{font-weight:700;color:var(--color-text)}.attendance-row__details strong{font-weight:600;color:var(--color-text-muted);word-break:break-word}.guide-actions{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-3)}.primary-button{width:100%;min-height:4.25rem;padding:var(--space-5) var(--space-4);border:0;border-radius:var(--radius-md);background:linear-gradient(180deg,#f35a40 0%,var(--color-accent) 100%);color:var(--color-accent-text);font-family:var(--font-display);font-size:1.28rem;font-weight:700;letter-spacing:.01em;box-shadow:0 10px #a627136b,0 18px 28px #4c0e0638;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.primary-button:hover,.primary-button:focus-visible{transform:translateY(-2px);box-shadow:0 12px #a6271370,0 22px 34px #4c0e063d;filter:brightness(1.03);outline:none}.primary-button:active{transform:translateY(4px) scale(.99);box-shadow:0 5px #a6271361,0 10px 16px #4c0e062e}.student-card{min-height:6rem;padding:var(--space-4);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffdf8 0%,var(--color-surface-strong) 100%);box-shadow:0 8px #61153b38,0 14px 24px #0d201924;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-3);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.student-card:hover,.student-card:focus-visible{box-shadow:0 10px #61153b3d,0 18px 28px #0d20192e;border-color:#ffcf5af2}.student-card:active{box-shadow:0 4px #61153b33,0 8px 14px #0d201924}.student-card__name{font-size:1.3rem}.student-card__status{font-size:.92rem;font-weight:700}.student-card--complete{border-color:#13221d1f}.student-card--game-level{background:linear-gradient(180deg,#edf9ff,#dff4ff)}.student-card--character{background:linear-gradient(180deg,#fff1f6,#ffe7ef)}.student-card--art-animation{background:linear-gradient(180deg,#fff7e9,#fff0d8)}.student-card--background-scene{background:linear-gradient(180deg,#f1fbf1,#e7f7e8)}.student-card--comic{background:linear-gradient(180deg,#f6f0ff,#f0e8ff)}.student-card--did-not-create{background:linear-gradient(180deg,#fbf0ea,#f7e6de)}.student-card--not-here{background:linear-gradient(180deg,#f4f4f4,#ececec)}.student-card--game-level .student-card__chevron:not(.student-card__chevron--complete),.student-card--character .student-card__chevron:not(.student-card__chevron--complete),.student-card--art-animation .student-card__chevron:not(.student-card__chevron--complete),.student-card--background-scene .student-card__chevron:not(.student-card__chevron--complete),.student-card--comic .student-card__chevron:not(.student-card__chevron--complete),.student-card--did-not-create .student-card__chevron:not(.student-card__chevron--complete),.student-card--not-here .student-card__chevron:not(.student-card__chevron--complete){background:#ffffff8c}.selection-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;gap:var(--space-4);border-radius:0;background:linear-gradient(180deg,#d03b7f,#bb3274);padding:calc(env(safe-area-inset-top,0px) + var(--space-6)) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-5));color:#fff}.selection-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.selection-sheet__actions{display:flex;align-items:center;gap:var(--space-2)}.sheet-clear{background:#13221d2e}.selection-options{gap:var(--space-3)}.selection-option{min-height:4.25rem;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:0 8px #61153b38,0 14px 24px #0d201924;font-family:var(--font-display);font-size:1.1rem;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.selection-option:hover,.selection-option:focus-visible{box-shadow:0 10px #61153b3d,0 18px 28px #0d20192e;border-color:#fffffff2}.selection-option:active{box-shadow:0 4px #61153b33,0 8px 14px #0d201924}.selection-option--game-level{background:#dff4ff}.selection-option--character{background:#ffe7ef}.selection-option--art-animation{background:#fff0d8}.selection-option--background-scene{background:#e7f7e8}.selection-option--comic{background:#f0e8ff}.selection-option--did-not-create{background:#f7e6de}.selection-option--not-here{background:#ececec}.helper-note{margin:0;color:#ffffffe0;font-size:.88rem;text-align:center}@media (min-width: 780px){.guide-layout{grid-template-columns:minmax(0,1.8fr) minmax(15rem,.95fr);align-items:start}.roster-panel{position:sticky;top:var(--space-3)}}@media (min-width: 640px){.app-shell{padding:var(--space-5)}.phone-frame{min-height:calc(100vh - (var(--space-5) * 2));padding-left:var(--space-4);padding-right:var(--space-4)}.selection-sheet{padding-left:max(var(--space-6),calc((100vw - var(--app-width)) / 2 + var(--space-4)));padding-right:max(var(--space-6),calc((100vw - var(--app-width)) / 2 + var(--space-4)))}}.roster-panel__feedback{margin:0;color:#8a1f53;font-size:.88rem;font-weight:600}
