.shell{min-height:100vh;display:flex;flex-direction:column;background:var(--felt-noise),var(--paper)}.shell-head{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:12px clamp(16px,3vw,40px);background:rgba(251,245,234,.86);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--line)}.shell-logo{text-decoration:none;border-radius:12px}.shell-nav{display:flex;gap:6px;margin:0 auto;padding:5px;border-radius:99px;background:var(--paper-2)}.shell-nav a{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:99px;text-decoration:none;font-weight:800;color:var(--ink-2);transition:background var(--t-quick),color var(--t-quick)}.shell-nav a:hover{color:var(--ink);background:rgba(255,255,255,.6)}.shell-nav a.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-1)}.shell-right{display:flex;align-items:center;gap:12px}.class-switch{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:99px;border:2px solid var(--line-2);background:var(--card);font-weight:800}.class-switch-dot{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sun);font-family:var(--font-display);font-weight:700;font-size:14px}.account{display:flex;align-items:center;gap:8px}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sky);color:#fff;font-family:var(--font-display);font-weight:700}.shell-main{flex:1 1;width:min(1280px,100%);margin:0 auto;padding:clamp(20px,3vw,40px) clamp(16px,3vw,40px) 64px;outline:none}.shell-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px clamp(16px,3vw,40px);border-top:1px solid var(--line);color:var(--ink-3);font-size:14px;font-weight:700}.shell-foot span{display:inline-flex;align-items:center;gap:8px}.class-list{display:grid;gap:8px}.class-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r-md);border:2px solid var(--line);cursor:pointer;font-weight:700}.class-option:has(input:checked){border-color:var(--ink);background:var(--sun-soft)}.class-option input{width:20px;height:20px;accent-color:var(--ink)}.class-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper-2);font-family:var(--font-display);font-weight:700}.class-add{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding-top:6px;border-top:2px dashed var(--line)}.card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;font-weight:800;color:var(--ink-2);text-decoration:none}.back-link:hover{color:var(--ink)}.page-intro{display:grid;gap:10px;margin-bottom:28px;max-width:760px}.album-head h1,.dash-greet h1,.page-intro h1{font-size:clamp(34px,4.6vw,58px)}.album-head p,.dash-greet p,.page-intro p{font-size:18px;color:var(--ink-2);font-weight:600}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{font-size:26px}.center{text-align:center}.dash{display:grid;grid-template-columns:minmax(0,1fr);gap:36px}.dash-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:stretch}.dash-greet{display:flex;flex-direction:column;justify-content:center;gap:10px}.resume-card{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;padding:14px 18px;border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow-1);border:2px solid var(--sun)}.resume-card div{display:grid;flex:1 1;min-width:180px}.resume-card span{color:var(--ink-2);font-weight:700;font-size:15px}.draft-card{border:2px dashed #c79b1c;background:#fff8e0}.draft-card>svg{color:#8a6400;flex:none}.resume-dot{width:12px;height:12px;border-radius:50%;background:var(--tomato);box-shadow:0 0 0 0 rgba(232,85,61,.5);animation:ping 1.8s infinite}@keyframes ping{70%{box-shadow:0 0 0 12px rgba(232,85,61,0)}to{box-shadow:0 0 0 0 rgba(232,85,61,0)}}.album-mini{position:relative;display:grid;gap:12px;padding:20px;border-radius:var(--r-lg);background:linear-gradient(160deg,var(--night-2),var(--night));color:#fff;text-decoration:none;overflow:hidden;box-shadow:var(--shadow-2);transition:transform var(--t-base) var(--ease-out)}.album-mini:hover{transform:translateY(-3px) rotate(-.4deg)}.album-mini:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.1) 1.2px,transparent 2px) 0 0 /18px 18px;pointer-events:none}.album-mini .eyebrow{color:rgba(255,255,255,.78)}.album-mini-head{display:flex;justify-content:space-between;align-items:baseline}.album-mini-head strong{font-family:var(--font-display);font-weight:700;font-size:44px;line-height:1}.album-mini-head small{font-size:20px;opacity:.7}.album-mini-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}.album-mini-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sun),#ff9f7a)}.album-mini-stickers{display:flex;justify-content:center;align-items:center;height:104px}.album-mini-stickers img{height:96px;width:auto;margin:0 -8px;filter:drop-shadow(0 8px 8px rgba(0,0,0,.35));transition:transform var(--t-base) var(--ease-pop)}.album-mini:hover .album-mini-stickers img{transform:translateY(-6px)}.album-mini-stickers .mini-pack{height:100px;transform:rotate(-8deg)}.album-mini-foot{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:15px}.featured{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--card);box-shadow:var(--shadow-2)}.featured-cover{width:100%;height:100%;min-height:300px;object-fit:cover}.featured-body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:clamp(22px,3vw,44px);overflow-wrap:anywhere}.featured-body h2{font-size:clamp(30px,3.4vw,46px)}.featured-body p{color:var(--ink-2);font-weight:600;font-size:17px}.featured-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--ink-2);font-weight:800;font-size:14px}.featured-meta span{display:inline-flex;align-items:center;gap:6px}.featured-actions{margin-top:6px}.ai-banner .btn,.featured-actions .btn{white-space:normal;text-align:start;padding-block:8px}.library{display:grid;gap:16px}.library-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.library-head h2{font-size:clamp(26px,3vw,36px);margin-top:4px}.grade-pills,.subject-pills{display:flex;flex-wrap:wrap;gap:8px}.grade-pills button,.subject-pills button{min-height:44px;padding:0 16px;border-radius:99px;border:2px solid var(--line-2);background:var(--card);font-weight:800;color:var(--ink-2);transition:all var(--t-quick)}.grade-pills button{min-width:52px;font-family:var(--font-display);font-weight:600;font-size:17px}.grade-pills button[aria-pressed=true],.subject-pills button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.subject-pills button[aria-pressed=true][data-tone=sky]{background:var(--sky-deep);border-color:var(--sky-deep)}.subject-pills button[aria-pressed=true][data-tone=tomato]{background:var(--tomato-deep);border-color:var(--tomato-deep)}.subject-pills button[aria-pressed=true][data-tone=leaf]{background:var(--leaf-deep);border-color:var(--leaf-deep)}.subject-pills button[aria-pressed=true][data-tone=amber]{background:var(--amber-deep);border-color:var(--amber-deep)}.subject-pills button[aria-pressed=true][data-tone=teal]{background:var(--teal-deep);border-color:var(--teal-deep)}.subject-pills button[aria-pressed=true][data-tone=plum]{background:var(--plum-deep);border-color:var(--plum-deep)}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.lesson-card{height:100%}.lesson-card-btn{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;border-radius:var(--r-lg);background:var(--card);text-align:left;overflow:hidden;box-shadow:var(--shadow-1);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base)}.lesson-card-btn:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}.lesson-cover{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper-2)}.lesson-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.lesson-card-btn:hover .lesson-cover img{transform:scale(1.06)}.lesson-best{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:rgba(255,253,248,.95);font-weight:900;font-size:13px}.lesson-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1 1}.lesson-chips{display:flex;flex-wrap:wrap;gap:6px}.lesson-title{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.12;margin-top:4px}.lesson-sub{color:var(--ink-2);font-weight:600;font-size:15px;line-height:1.4}.lesson-meta{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:2px dashed var(--line);color:var(--ink-2);font-weight:800;font-size:13px;container-type:inline-size}.lesson-stops{display:inline-flex;align-items:center;gap:6px;flex:none}.lesson-stops:has(.lesson-kind){flex:0 1 auto;min-width:0}.lesson-patches{display:inline-flex;flex:none}.lesson-patches>*{width:28px;height:28px;margin-left:-10px;border-radius:50%;background:var(--card);filter:drop-shadow(0 1px 1px rgba(60,36,10,.28))}.lesson-patches>:first-child{margin-left:0}.lesson-patches b{display:grid;place-items:center;background:var(--felt-noise),var(--sun-soft);box-shadow:inset 0 0 0 2px var(--card);color:var(--ink);font-size:11px;font-weight:900}.lesson-kind{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (max-width: 320px){.lesson-stops .lesson-kind{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.lesson-count{white-space:nowrap}.lesson-access{margin-left:auto;flex:none}.empty-state{display:grid;justify-items:center;gap:10px;padding:40px;text-align:center;border-radius:var(--r-lg);border:3px dashed var(--line-2)}.empty-state img{width:110px}.ai-banner{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;padding:24px 28px;border-radius:var(--r-xl);background:var(--sun-soft);border:3px dashed #eac36a}.ai-banner-art{width:92px;transform:rotate(-12deg)}.ai-banner div{flex:1 1;min-width:min(240px,100%)}.ai-banner h2{font-size:28px}.ai-banner p{color:var(--ink-2);font-weight:600}.editor{display:grid;gap:22px}.ed-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0;border-radius:var(--r-xl);overflow:hidden;background:var(--card);box-shadow:var(--shadow-2)}.ed-cover{width:100%;height:100%;min-height:260px;object-fit:cover}.ed-hero-body{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,3vw,36px)}.title-input{width:100%;border:2px solid transparent;border-radius:var(--r-sm);background:transparent;padding:4px 8px;margin-left:-10px;font-family:var(--font-display);font-weight:600;font-size:clamp(30px,3.4vw,44px);line-height:1.1;color:var(--ink)}.title-input:hover{border-color:var(--line)}.title-input:focus{outline:none;border-color:var(--sky);background:var(--card)}.ed-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:24px;align-items:start}.q-list{display:grid;gap:12px}.q-edit{border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow-1);overflow:hidden;border:2px solid transparent;transition:border-color var(--t-base)}.q-edit.expanded{border-color:var(--line-2)}.q-edit-trigger{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:0;background:none;text-align:left;font-weight:700}.q-edit-trigger strong{flex:1 1;font-weight:700;font-size:17px}.q-edit-trigger svg{flex:none;transition:transform var(--t-base)}.expanded .q-edit-trigger svg{transform:rotate(180deg)}.q-edit-no{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-display);font-weight:600}.q-edit-no[data-gold]{background:var(--sun);color:var(--ink)}.q-edit-fields{display:grid;gap:16px;padding:4px 18px 20px}.options-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px}.field,.q-edit-fields>*{min-width:0}.option-input{display:flex;align-items:center;gap:8px}.option-input b{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--paper-2);font-family:var(--font-display)}.correct-field span{display:inline-flex;align-items:center;gap:6px;color:var(--leaf-deep)}.solution-order{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:12px;border:2px dashed var(--line-2);border-radius:var(--r-md);padding:14px;margin:0;min-inline-size:0}.solution-order legend{font-weight:900;padding:0 6px}.quantity-edit{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:14px;border-radius:var(--r-md);background:var(--paper-2);font-weight:800}.quantity-edit>span{width:100%}.quantity-edit .field{width:120px}.quantity-edit small{width:100%;color:var(--ink-3);font-weight:600}.answer-preview{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:12px 14px;border-radius:var(--r-md);background:var(--leaf-soft)}.answer-preview span{font-weight:900;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--leaf-deep)}.answer-preview strong{font-family:var(--font-display);font-weight:600;font-size:18px}.teacher-note{display:grid;gap:10px;padding:20px;margin-top:16px}.teacher-note textarea{min-height:90px;border-radius:var(--r-sm);border:2px solid var(--line-2);padding:12px;font-weight:600;resize:vertical}.ed-side{position:sticky;top:92px;max-height:calc(100dvh - 110px);overflow-y:auto}.ed-side,.play-card{display:grid;gap:16px}.play-card{padding:22px}.play-card h2{font-size:26px}.mode-cards{display:grid;gap:10px}.mode-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:14px;border-radius:var(--r-md);border:3px solid var(--line);cursor:pointer;transition:border-color var(--t-quick),background var(--t-quick)}.mode-card input{position:absolute;opacity:0;pointer-events:none}.mode-card:has(input:focus-visible){outline:4px solid var(--sky);outline-offset:2px}.mode-card.on{border-color:var(--ink);background:var(--sun-soft)}.mode-art{grid-row:1/3;display:flex;align-items:flex-end;width:92px;height:64px;justify-content:center}.mode-art img{height:60px;width:auto;margin:0 -9px}.mode-card strong{font-family:var(--font-display);font-weight:600;font-size:19px}.mode-card span:last-child{font-size:14px;font-weight:600;color:var(--ink-2);line-height:1.35}.team-picker{display:grid;gap:10px}.field-label{font-weight:800;font-size:15px}.team-count{display:flex;gap:8px}.team-count label{position:relative;display:grid;place-items:center;width:56px;height:48px;border-radius:14px;border:2px solid var(--line-2);font-family:var(--font-display);font-weight:600;font-size:20px;cursor:pointer}.team-count label.on{background:var(--ink);color:#fff;border-color:var(--ink)}.team-count input{position:absolute;opacity:0}.team-count label:has(input:focus-visible){outline:4px solid var(--sky);outline-offset:2px}.team-preview{display:flex;flex-wrap:wrap;gap:8px}.team-preview span{display:inline-flex;align-items:center;gap:4px;padding:3px 12px 3px 3px;border-radius:99px;background:var(--paper-2);font-weight:800;font-size:14px}.team-preview img{width:32px;height:32px;object-fit:contain}.play-btn{width:100%}.question-count{display:grid;gap:6px;padding:16px;border:2px solid var(--line-2);border-radius:var(--r-md);background:var(--sky-soft)}.question-count-head{display:flex;gap:10px;justify-content:space-between;align-items:center;font-weight:900}.question-count-head output{min-width:44px;padding:5px 10px;text-align:center;border-radius:12px;background:var(--ink);color:#fff;font-family:var(--font-display);font-size:24px}.question-count input[type=range]{width:100%;min-width:0;min-height:44px;accent-color:var(--ink);cursor:pointer}.question-count-ends{display:flex;justify-content:space-between;font-weight:800;font-size:13px}.question-count p{font-size:14px;font-weight:700;color:var(--ink-2)}.question-add{display:grid;gap:8px;margin-top:16px}.question-add .btn,.question-delete{justify-self:start}.play-secondary{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pace-card{padding:18px 20px;display:grid;gap:6px}.pace-card p{color:var(--ink-2);font-weight:600;font-size:15px}.auth,.generator,.print-page{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.gen-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:24px;align-items:start}.gen-card{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:clamp(18px,3vw,30px)}.segmented{display:inline-flex;gap:4px;padding:5px;border-radius:99px;background:var(--paper-2);justify-self:start}.segmented button{min-height:42px;padding:0 18px;border-radius:99px;border:0;background:transparent;font-weight:800;color:var(--ink-2)}.segmented button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-1)}.gen-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.generating{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;border-radius:var(--r-md);background:var(--sky-soft)}.generating img{width:64px;animation:scribble 1s ease-in-out infinite alternate}.generating div{flex:1 1}@keyframes scribble{0%{transform:rotate(-12deg) translateX(-4px)}to{transform:rotate(8deg) translateX(4px)}}.gen-guide{display:grid;gap:14px;padding:24px;border-radius:var(--r-lg);background:rgba(255,253,248,.6);border:2px dashed var(--line-2)}.gen-art{width:110px;transform:rotate(-6deg)}.gen-guide h2{font-size:30px}.gen-guide p{color:var(--ink-2);font-weight:600}.gen-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:s}.gen-steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;column-gap:10px;color:var(--ink-2);font-weight:600}.gen-steps li:before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-display)}.gen-steps strong{color:var(--ink)}.note-box{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.auth-grid{display:grid;grid-template-columns:1fr minmax(320px,460px);gap:clamp(24px,5vw,72px);align-items:center}.auth-story{display:grid;gap:14px}.auth-art{display:flex;align-items:flex-end;height:150px}.auth-art img{height:100%;width:auto}.auth-art img+img{height:76%;margin-left:-18px}.auth-story h1{font-size:clamp(36px,4.6vw,60px)}.auth-story p{font-size:19px;font-weight:600;color:var(--ink-2)}.auth-benefits{display:grid;gap:10px;margin:6px 0 0;padding:0;list-style:none;font-weight:800}.auth-benefits li{display:flex;gap:10px;align-items:center}.auth-benefits svg{color:var(--leaf-deep)}.auth-card{display:grid;gap:16px;padding:clamp(22px,3vw,34px)}.auth-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--sun)}.auth-card h2{font-size:30px}.auth-card>p{color:var(--ink-2);font-weight:600}.auth-form{display:grid;gap:14px}.otp-input{font-family:var(--font-display)!important;font-size:34px!important;letter-spacing:.35em;text-align:center}.offline-inbox{display:grid;gap:4px;padding:14px;border-radius:var(--r-md);background:var(--night);color:#fff;text-align:center}.offline-inbox span{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}.offline-inbox strong{font-family:var(--font-display);font-size:38px;letter-spacing:.3em}.offline-inbox small{color:rgba(255,255,255,.78);font-weight:600}.otp-expiry{font-weight:800;color:var(--ink-2)}.otp-expiry.is-expired{color:var(--tomato-deep)}.auth-secondary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.privacy-note{display:flex;gap:10px;align-items:flex-start;padding-top:12px;border-top:2px dashed var(--line);color:var(--ink-2);font-weight:700;font-size:14px}.print-intro{display:grid;gap:10px;max-width:760px;margin-bottom:24px}.print-intro h1{font-size:clamp(34px,4.6vw,56px)}.print-intro p{color:var(--ink-2);font-weight:600;font-size:17px}.print-intro .btn{justify-self:start}.print-sheet{display:grid;grid-template-columns:1fr 1fr;gap:0;width:min(100%,760px);aspect-ratio:210/297;background:#fff;box-shadow:var(--shadow-2);border-radius:8px;overflow:hidden}.print-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed #9a9a9a;color:#111}.print-card .shape{width:42%;height:auto;fill:none;stroke:#111;stroke-width:2.5}.print-card b{font-family:var(--font-display);font-weight:700;font-size:clamp(60px,14vw,150px);line-height:1}.lesson-edited{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:var(--ink);color:#fff;font-weight:900;font-size:13px}dialog.modal.lesson-sheet{width:min(1040px,calc(100vw - 32px))}.lesson-sheet .modal-head h2{font-size:clamp(26px,3vw,36px);line-height:1.05}.sheet-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}.sheet-info{display:grid;gap:14px}.sheet-cover{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/8;background:var(--paper-2)}.sheet-cover img{width:100%;height:100%;object-fit:cover}.sheet-edited{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:var(--ink);color:#fff;font-weight:900;font-size:14px}.sheet-sub{color:var(--ink-2);font-weight:700;font-size:17px}.sheet-block{display:grid;gap:8px}.sheet-block h3{font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.sheet-block>p{font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.3}.sheet-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:step}.sheet-steps li{display:flex;align-items:flex-start;gap:12px;font-weight:700;font-size:16px;line-height:1.4;color:var(--ink)}.sheet-steps li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--paper-2);flex:none}.sheet-steps li:first-child>span{background:var(--sky-soft)}.sheet-steps li:nth-child(2)>span{background:var(--leaf-soft)}.sheet-steps li:nth-child(3)>span{background:var(--sun-soft)}.sheet-steps li:nth-child(4)>span{background:var(--tomato-soft)}.sheet-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--ink-2);font-weight:800;font-size:15px}.sheet-meta span{display:inline-flex;align-items:center;gap:6px}.sheet-play{position:sticky;top:0;display:grid;gap:14px;padding:20px;border-radius:var(--r-lg);background:var(--paper);box-shadow:inset 0 0 0 2px var(--line)}.sheet-play>h3{font-size:22px}.sheet-actions{display:grid;gap:10px}.sheet-actions .btn{width:100%}.play-setup{display:grid;gap:14px}.play-setup.compact .mode-card{padding:10px 12px}.play-setup.compact .mode-art{width:78px;height:52px}.play-setup.compact .mode-art img{height:50px}.play-setup.compact .mode-card span:last-child{font-size:13px}.sheet-quick{display:none}.sheet-credit{font-size:13px;font-weight:600;color:var(--ink-3);line-height:1.4}.area-cards,.area-picker{display:grid;gap:8px}.area-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.area-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 10px;border-radius:var(--r-md);border:3px solid var(--line);text-align:center;cursor:pointer;transition:border-color var(--t-quick),background var(--t-quick)}.area-card input{position:absolute;opacity:0;pointer-events:none}.area-card:has(input:focus-visible){outline:4px solid var(--sky);outline-offset:2px}.area-card.on{border-color:var(--ink);background:var(--sun-soft)}.area-card[data-disabled]{cursor:not-allowed;border-style:dashed;background:var(--paper-2)}.area-art{display:block;width:52px;height:62px;margin-bottom:4px}.area-card strong{font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1.1}.area-card span:last-child{font-size:12px;font-weight:700;color:var(--ink-2);line-height:1.25}.mode-card[data-disabled]{cursor:not-allowed;border-style:dashed;background:var(--paper-2)}.mode-card[data-disabled] .mode-art img{filter:grayscale(1);opacity:.55}@media (max-width:520px){.area-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.map-edit{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-md);background:var(--teal-soft)}.map-edit .map-mini{width:92px;height:110px;flex:none}.map-edit .field,.map-edit p{flex:1 1 200px;min-width:0}.map-edit p span{display:block;font-weight:900;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep)}.map-edit p strong{display:block;font-family:var(--font-display);font-weight:600;font-size:22px}.map-edit p small{display:block;color:var(--ink-2);font-weight:600;font-size:14px}.team-row{gap:10px 14px}.draft-banner,.team-row{display:flex;flex-wrap:wrap;align-items:center}.draft-banner{gap:14px 18px;padding:16px 20px;border-radius:var(--r-lg);background:repeating-linear-gradient(-45deg,#fff6d6,#fff6d6 14px,#fff0c2 0,#fff0c2 28px);border:2px dashed #c79b1c;color:#4d3800}.draft-banner>svg{flex:none;color:#8a6400}.draft-banner>div{flex:1 1 320px;display:grid;gap:2px}.draft-banner strong{font-family:var(--font-display);font-weight:600;font-size:20px}.draft-banner span{font-weight:700;font-size:15px}.save-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;font-weight:800;font-size:14px;color:var(--ink-2);text-align:center}.save-status[data-kind=saved]{color:var(--leaf-deep)}.save-status[data-kind=error]{color:#9c2b14}@media print{@page{size:A4;margin:0}body{background:#fff}.no-print,.shell-foot,.shell-head,.skip-link,.toast{display:none!important}.shell,.shell-main{padding:0;margin:0;width:100%;background:#fff}.print-sheet{width:210mm;height:297mm;box-shadow:none;border-radius:0}.print-card b{font-size:120pt}}@media (max-width:980px){.sheet-grid{grid-template-columns:minmax(0,1fr)}.sheet-play{position:static}.sheet-start{display:none!important}.sheet-quick{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin:0 -28px -28px;padding:14px 28px calc(14px + env(safe-area-inset-bottom));background:rgba(255,253,248,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -10px 24px -14px rgba(31,37,68,.35)}.sheet-quick span{font-weight:800;color:var(--ink-2);font-size:15px}.sheet-quick .btn{flex:1 1 220px}.auth-grid,.dash-top,.ed-grid,.gen-grid{grid-template-columns:minmax(0,1fr)}.ed-side{position:static;max-height:none;overflow-y:visible}.ed-hero,.featured{grid-template-columns:1fr}.ed-cover,.featured-cover{min-height:0;aspect-ratio:16/9}}@media (max-width:720px),(max-width:980px) and (pointer:coarse){html:has(dialog.lesson-sheet[open]){overflow:hidden}dialog.modal.lesson-sheet{top:calc(var(--modal-viewport-top, 0px) + 16px + env(safe-area-inset-top));bottom:auto;left:calc(var(--modal-viewport-left, 0px) + 16px + env(safe-area-inset-left));right:auto;margin:0;width:calc(var(--modal-viewport-width, 100vw) - 32px - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:none;height:calc(var(--modal-viewport-height, 100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(var(--modal-viewport-height, 100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden}.lesson-sheet>.modal-inner{height:100%;padding:0;gap:0;grid-template-rows:auto minmax(0,1fr) auto}.lesson-sheet>.modal-inner>.modal-head{padding:24px 24px 16px}.lesson-sheet>.modal-inner>.modal-head h2{line-height:1.15}.lesson-sheet>.modal-inner>.modal-head .modal-close{flex-shrink:0}.lesson-sheet .sheet-grid{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:8px 24px 32px;gap:32px}.lesson-sheet .sheet-info{gap:24px}.lesson-sheet .sheet-block{gap:12px}.lesson-sheet .sheet-block>p{line-height:1.45}.lesson-sheet .sheet-steps{gap:22px}.lesson-sheet .sheet-steps li{gap:14px;line-height:1.55}.lesson-sheet .sheet-meta{flex-direction:column;align-items:flex-start;gap:12px}.lesson-sheet .sheet-play{gap:22px}.lesson-sheet .play-setup{gap:24px}.lesson-sheet .mode-cards,.lesson-sheet .sheet-actions{gap:16px}.lesson-sheet .sheet-actions .btn{white-space:normal;padding:12px 16px;text-align:center}.lesson-sheet .play-setup.compact .mode-card{padding:16px 14px;row-gap:8px}.lesson-sheet .sheet-quick{position:static;margin:0;padding:16px 24px 20px;gap:12px}.lesson-sheet .sheet-quick .btn{min-height:56px}}@media (max-width:720px){.shell-head{flex-wrap:wrap;gap:10px}.shell-nav{order:3;width:100%;justify-content:space-between;margin:0}.shell-nav a{padding:9px 12px;flex:1 1;justify-content:center}.shell-right{margin-left:auto}.class-switch-label{display:none}.class-add,.form-grid{grid-template-columns:minmax(0,1fr)}.shell-foot{flex-direction:column;align-items:flex-start}}@media (max-width:420px){.shell-nav a span{font-size:14px}.shell-nav a svg{display:none}.shell-right .btn-sm{padding:0 12px;font-size:14px}}@media (max-width:359px){.ai-banner{padding:20px 16px}.ai-banner .btn,.featured-actions .btn{padding-inline:1em}}.mode-cards,.play-setup,.sheet-actions,.sheet-info,.sheet-play,.team-picker{grid-template-columns:minmax(0,1fr)}.mode-card{grid-template-columns:auto minmax(0,1fr)}