:root{--font: system-ui, -apple-system, "Segoe UI", sans-serif;--text-primary: #172033;--text-secondary: #526070;--text-inverse: #ffffff;--surface-page: #f7f9fc;--surface-card: #ffffff;--card-border: #cbd5e1;--control-border: #64748b;--primary: #1d4ed8;--primary-hover: #1e40af;--primary-pressed: #1e3a8a;--focus-ring: #7c3aed;--info-text: #175cd3;--info-bg: #eff8ff;--neutral-text: #475569;--neutral-bg: #f1f5f9;--success-text: #166534;--success-bg: #f0fdf4;--active-text: #9a3412;--active-bg: #fff7ed;--danger-text: #b42318;--danger-bg: #fef3f2;--disabled-text: #64748b;--disabled-bg: #e2e8f0;--radius-control: 8px;--radius-card: 12px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--shell-max: 1200px;--reading-col: 760px;--form-col: 640px;--shadow-card: 0 1px 2px rgba(23, 32, 51, .06), 0 8px 24px rgba(23, 32, 51, .06)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--surface-page);color:var(--text-primary);font-size:16px;line-height:1.5}h1,h2,h3,h4{margin:0;font-weight:600}h1{font-size:32px;line-height:40px}h2{font-size:24px;line-height:32px}h3{font-size:20px;line-height:28px}p{margin:0}.supporting{font-size:14px;line-height:20px;color:var(--text-secondary)}.muted{color:var(--text-secondary)}a{color:var(--primary)}button,input,textarea,select{font-family:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--text-primary);color:#fff;padding:10px 16px;border-radius:0 0 8px;z-index:100}.skip-link:focus{left:0}.shell{max-width:var(--shell-max);margin:0 auto;padding:var(--space-5)}.shell--narrow{max-width:var(--form-col)}.shell--reading{max-width:var(--reading-col)}.app-header{position:sticky;top:0;z-index:20;background:var(--surface-card);border-bottom:1px solid var(--card-border)}.app-header__inner{max-width:var(--shell-max);margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-5)}.brand{display:flex;align-items:center;gap:var(--space-2);font-weight:700;white-space:nowrap}.brand__mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--focus-ring));color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700}.top-nav{display:flex;gap:var(--space-5);flex:1;list-style:none;margin:0;padding:0}.top-nav a{text-decoration:none;color:var(--text-secondary);font-weight:600;padding:var(--space-2) 0;border-bottom:3px solid transparent;display:inline-flex;align-items:center;gap:var(--space-1)}.top-nav a[aria-current=page]{color:var(--primary);border-bottom-color:var(--primary)}.nav-badge{background:var(--danger-bg);color:var(--danger-text);border-radius:var(--radius-pill);font-size:12px;font-weight:700;padding:1px 7px;min-width:18px;text-align:center}.profile-pill{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--card-border);border-radius:var(--radius-pill);padding:6px 12px 6px 6px;font-weight:600;font-size:14px}.avatar{width:28px;height:28px;border-radius:50%;background:var(--info-bg);color:var(--info-text);display:grid;place-items:center;font-weight:700;font-size:13px}.bottom-nav{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-control);border:1px solid transparent;font-weight:600;font-size:15px;cursor:pointer}.btn-primary{background:var(--primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:var(--primary-pressed)}.btn-secondary{background:var(--info-bg);color:var(--info-text)}.btn-ghost{background:transparent;border-color:var(--control-border);color:var(--text-primary)}.btn-danger{background:var(--danger-bg);color:var(--danger-text)}.btn:disabled,.btn.is-disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;border-color:transparent}.btn-block{width:100%}.btn-sm{min-height:36px;padding:0 var(--space-3);font-size:14px}.link-btn{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:0}.card{background:var(--surface-card);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-card)}.card--flat{box-shadow:none}.card--tinted{background:var(--info-bg);border-color:#bfdbfe}.card--mission{background:var(--active-bg);border-color:#fdba8c}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.grid{display:grid;gap:var(--space-5)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{display:grid;gap:var(--space-4)}.stack-sm{display:grid;gap:var(--space-2)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:4px 12px;font-size:13px;font-weight:700;white-space:nowrap}.pill-icon{font-size:13px}.pill.neutral{background:var(--neutral-bg);color:var(--neutral-text)}.pill.info{background:var(--info-bg);color:var(--info-text)}.pill.active{background:var(--active-bg);color:var(--active-text)}.pill.success{background:var(--success-bg);color:var(--success-text)}.pill.danger{background:var(--danger-bg);color:var(--danger-text)}.tag-new{background:var(--danger-text);color:#fff;font-size:11px;font-weight:700;border-radius:var(--radius-pill);padding:2px 8px;letter-spacing:.02em}.progress-track{height:10px;border-radius:var(--radius-pill);background:var(--neutral-bg);overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:inherit}.progress-label{display:flex;justify-content:space-between;font-size:14px;color:var(--text-secondary);margin-bottom:var(--space-2)}.field{display:grid;gap:6px}.field label{font-size:14px;font-weight:700;color:var(--text-secondary)}.field input,.field textarea,.field select{border:1px solid var(--control-border);border-radius:var(--radius-control);padding:12px 14px;font-size:15px;background:#fff;min-height:44px;color:var(--text-primary)}.field textarea{min-height:96px;resize:vertical}.course-switcher{width:300px;max-width:100%}.course-switcher select{width:100%;min-width:0;text-overflow:ellipsis}.field-error{color:var(--danger-text);font-size:13px;font-weight:600}.field-hint{color:var(--text-secondary);font-size:13px}.field.has-error input,.field.has-error textarea{border-color:var(--danger-text)}.radio-card{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);cursor:pointer}.radio-card.is-selected{border-color:var(--primary);background:var(--info-bg)}.radio-card.is-correct{border-color:var(--success-text);background:var(--success-bg)}.radio-card.is-incorrect{border-color:var(--danger-text);background:var(--danger-bg)}.divider-or{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:14px;margin:var(--space-4) 0}.divider-or:before,.divider-or:after{content:"";height:1px;background:var(--card-border)}.banner{display:flex;gap:var(--space-3);align-items:flex-start;border-radius:var(--radius-card);padding:var(--space-4)}.banner.info{background:var(--info-bg);color:var(--info-text)}.banner.success{background:var(--success-bg);color:var(--success-text)}.banner.danger{background:var(--danger-bg);color:var(--danger-text)}.banner.active{background:var(--active-bg);color:var(--active-text)}.banner a{color:inherit;text-decoration:underline;font-weight:700}.empty-state{text-align:center;padding:var(--space-7) var(--space-4);color:var(--text-secondary)}.empty-state__icon{font-size:40px;margin-bottom:var(--space-3)}.inline-error{display:flex;gap:8px;align-items:flex-start;color:var(--danger-text);font-size:14px;font-weight:600;margin-top:6px}.skeleton{background:linear-gradient(90deg,#eef1f6 25%,#e3e8f0 37%,#eef1f6 63%);border-radius:var(--radius-control);color:transparent}.table-wrap{overflow-x:auto;border:1px solid var(--card-border);border-radius:var(--radius-card);background:#fff}table.data{width:100%;border-collapse:collapse;min-width:640px}table.data th,table.data td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--card-border);font-size:14px}table.data th{background:var(--surface-page);color:var(--text-secondary);font-weight:700}table.data tr:last-child td{border-bottom:none}table.data tr:hover td{background:var(--surface-page)}.row-actions{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}.list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--card-border);border-radius:var(--radius-card);background:#fff;padding:var(--space-4);text-decoration:none;color:inherit}.list-item:hover{border-color:var(--control-border)}.list-item__main{display:grid;gap:4px}.sidebar{background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--space-4);height:fit-content}.sidebar-nav{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:4px}.sidebar-nav a{display:block;padding:10px 12px;border-radius:var(--radius-control);color:var(--text-secondary);text-decoration:none;font-weight:600}.sidebar-nav a[aria-current=page]{background:var(--info-bg);color:var(--info-text)}.accordion-item{border:1px solid var(--card-border);border-radius:var(--radius-card);background:#fff;overflow:hidden}.accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:none;border:none;font-weight:700;font-size:16px;cursor:pointer;text-align:left}.accordion-body{padding:0 var(--space-4) var(--space-4);display:grid;gap:var(--space-3)}.accordion-item.is-collapsed .accordion-body{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow-y:auto;background:#0f172a73;padding:var(--space-6) var(--space-4);display:grid;place-items:center}.modal{width:min(100%,480px);background:#fff;border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-card);display:grid;gap:var(--space-4)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.sheet{width:min(100%,420px);margin-left:auto;background:#fff;border-radius:var(--radius-card) 0 0 var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-card);display:grid;gap:var(--space-4);min-height:320px}.side-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f172a59;display:flex;justify-content:flex-end}.side-panel{width:min(100%,520px);height:100%;overflow-y:auto;background:#fff;box-shadow:var(--shadow-card);padding:var(--space-5);display:grid;align-content:start;gap:var(--space-4)}.side-panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.side-panel__section{display:grid;gap:var(--space-2);border-top:1px solid var(--card-border);padding-top:var(--space-3)}.side-panel__label{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.evidence-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--card-border);border-radius:var(--radius-control);padding:var(--space-3);cursor:pointer}.choice.is-selected{border-color:var(--primary);background:var(--info-bg)}.video-frame{aspect-ratio:16 / 9;border-radius:var(--radius-card);border:1px dashed var(--control-border);background:repeating-linear-gradient(135deg,#eef2f8,#eef2f8 10px,#e6ebf3 10px,#e6ebf3 20px);display:grid;place-items:center;color:var(--text-secondary);font-weight:700}.resource-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--card-border);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);background:#fff}.state-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.state-chip{border:1px dashed var(--card-border);border-radius:var(--radius-control);padding:var(--space-3);font-size:13px}.state-chip__label{font-weight:700;margin-bottom:4px;display:block}.dropzone{border:2px dashed var(--control-border);border-radius:var(--radius-card);padding:var(--space-6);text-align:center;color:var(--text-secondary);background:var(--surface-page)}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.timeline li{border-left:3px solid var(--card-border);padding-left:var(--space-4);position:relative}.timeline li.is-current{border-left-color:var(--primary)}footer.wf-note{margin-top:var(--space-6);padding:var(--space-4) 0;color:var(--text-secondary);font-size:13px;text-align:center}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-6) var(--space-4)}.auth-card{width:100%}.checklist{margin:0;padding-left:20px;display:grid;gap:6px}.bonus-box{border:1px dashed #fdba8c;background:#fff;border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);font-size:14px}.fab{position:fixed;right:var(--space-5);bottom:88px;z-index:15;border-radius:var(--radius-pill);box-shadow:var(--shadow-card)}.file-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--card-border);border-radius:var(--radius-control);background:#fff;padding:var(--space-3) var(--space-4);font-size:14px}.thumb{width:64px;height:64px;border-radius:var(--radius-control);background:var(--neutral-bg);display:grid;place-items:center;color:var(--text-secondary);font-size:22px;flex:none}.section-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.next-tag{font-size:11px;font-weight:700;color:var(--primary);background:var(--info-bg);border-radius:var(--radius-pill);padding:2px 8px}.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);text-decoration:none;color:inherit}.lesson-row:hover{background:var(--surface-page)}.lesson-row.is-locked{color:var(--text-secondary);cursor:not-allowed}.lesson-row.is-locked:hover{background:none}@media (max-width: 900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.lesson-layout,.teacher-layout{grid-template-columns:1fr!important}.top-nav{display:none}.no-bottom-nav .app-header__inner{flex-wrap:wrap;row-gap:var(--space-2)}.no-bottom-nav .top-nav{display:flex;order:3;flex:1 0 100%;gap:var(--space-4);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.no-bottom-nav .profile-menu{margin-left:auto}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--card-border);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-secondary);font-size:12px;font-weight:600}.bottom-nav a[aria-current=page]{color:var(--primary)}body.has-bottom-nav .shell{padding-bottom:96px}}.teacher-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-5);align-items:start}.nav-card{display:block;text-decoration:none;color:inherit}.nav-card__count{font-size:32px;line-height:40px;font-weight:700;color:var(--text-primary)}.filter-bar{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}.filter-bar .field{min-width:160px}.filter-chip{display:inline-flex;align-items:center;gap:6px;background:var(--info-bg);color:var(--info-text);border-radius:var(--radius-pill);padding:4px 10px 4px 12px;font-size:13px;font-weight:700}.filter-chip button{background:none;border:none;color:inherit;cursor:pointer;font-weight:700}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-control);border:1px solid var(--control-border);background:#fff;color:var(--text-primary);cursor:pointer;font-size:14px}.reorder-group{display:flex;gap:4px}.editor-toolbar{position:sticky;top:0;z-index:15;background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.error-summary{border:1px solid var(--danger-text);background:var(--danger-bg);color:var(--danger-text);border-radius:var(--radius-card);padding:var(--space-4)}.error-summary ul{margin:8px 0 0;padding-left:18px}.error-summary a{color:var(--danger-text)}.scratch-player{margin-top:var(--space-3);width:100%;max-width:485px;aspect-ratio:485 / 402;border-radius:var(--radius-control);overflow:hidden;border:1px solid var(--card-border);background:#fff}.scratch-player iframe{width:100%;height:100%;border:0;display:block}.profile-menu{position:relative}.profile-menu>summary{list-style:none}.profile-menu>summary::-webkit-details-marker{display:none}.profile-menu__panel{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:200px;display:grid;gap:8px;padding:12px;color:var(--text, #111827)}.scratch-code{border:1px solid var(--card-border);border-radius:var(--radius-control);background:#f9f9f9;overflow:hidden}.scratch-code__tabs{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid var(--card-border);background:#fff}.scratch-code__tab{border:1px solid transparent;background:none;border-radius:999px;padding:4px 12px;font:inherit;cursor:pointer}.scratch-code__tab.is-selected{border-color:var(--card-border);background:#eef2ff;font-weight:700}.scratch-code__scripts{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:16px;max-height:640px;overflow:auto}.scratch-code__script svg{display:block;max-width:none}.review-card{border-left:4px solid var(--success-text);padding:var(--space-3) var(--space-4)}.review-card__head{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;background:none;border:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.review-card__icon{font-size:26px;line-height:1}.review-card__title{display:grid;flex:1;min-width:0}.review-card__toggle{color:var(--primary);font-weight:600;white-space:nowrap}.review-card__body{display:grid;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--card-border)}.review-card__body p{margin:var(--space-1) 0 0}.modal--wide{width:min(100%,640px)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-pill);background:var(--info-bg);color:var(--info-text);font-size:14px;font-weight:600;padding:4px 4px 4px 12px}.chip__x{border:none;background:none;color:inherit;cursor:pointer;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:12px}.chip__x:hover{background:#175cd31f}.grant-item{border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--space-4);display:grid;gap:var(--space-3)}.grant-item__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.step-title{display:flex;align-items:center;gap:var(--space-2);font-size:16px;margin:0}.step-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:13px}.grant-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:var(--space-2)}.grant-filters input,.grant-filters select{width:100%;min-width:0}.grant-lessons{border:1px solid var(--card-border);border-radius:var(--radius-control);max-height:240px;overflow-y:auto}.grant-lessons__group{position:sticky;top:0;background:var(--neutral-bg);color:var(--neutral-text);font-size:13px;font-weight:700;padding:6px 12px}.grant-lesson{display:flex;align-items:center;gap:var(--space-3);padding:10px 12px;cursor:pointer;border-top:1px solid var(--neutral-bg)}.grant-lesson:hover{background:var(--surface-page)}.grant-lesson.is-selected{background:var(--info-bg);font-weight:600}.grant-mode{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.grant-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}.student-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);max-height:220px;overflow-y:auto}.student-pick{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--card-border);border-radius:var(--radius-control);padding:8px 12px;cursor:pointer}.student-pick.is-selected{border-color:var(--primary);background:var(--info-bg)}.student-pick.is-disabled{cursor:default;opacity:.6}.grant-summary{background:var(--surface-page);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4)}@media (max-width: 600px){.grant-filters,.grant-mode,.student-picks{grid-template-columns:1fr}}.review-card__head:disabled{cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--info-text);text-transform:uppercase}.lesson-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.stop-image{width:100%;max-height:260px;object-fit:contain;border-radius:var(--radius-card);background:var(--surface-page)}.lesson-story{display:grid;gap:var(--space-2);color:var(--text-secondary)}.flow-header{border-top:1px solid var(--card-border);padding-top:var(--space-3)}.mission-line{font-size:18px;line-height:26px}.flow-cta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.objectives summary,.supporting-details>summary,.help-box>summary{cursor:pointer;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--neutral-bg);color:var(--neutral-text);font-size:13px;font-weight:600;text-decoration:none}.project-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.task-trail{display:grid;gap:var(--space-3)}.task-trail__foot{display:flex;justify-content:flex-end}.trail-map{--leaf: var(--world-leaf, #16a34a);--sun: var(--world-sun, #f59e0b);--sun-deep: var(--world-sun-deep, #b45309);position:relative;list-style:none;margin:0;padding:0;height:270px;border-radius:20px;border:2px solid #e7d3a8;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(185,150,90,.1) 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,rgba(185,150,90,.1) 31px 32px),var(--world-paper, #fdf8ee)}.trail-map__path{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.trail-map__path path{fill:none;stroke:#e6c98d;stroke-width:10;stroke-linecap:round;stroke-dasharray:1 16}.trail-map__path path.walked{stroke:#fbbf24;stroke-dasharray:none;stroke-width:8;opacity:.75}.trail-map__arrow{position:absolute;z-index:1;font-size:18px;line-height:1;color:#d6b46c;pointer-events:none}.trail-map__arrow.is-walked{color:var(--sun-deep)}.trail-stop{position:absolute;left:var(--x);top:var(--y);width:calc(100% / var(--cols));transform:translate(-50%,-28px);z-index:2}.trail-stop>a,.trail-stop>div{display:grid;justify-items:center;gap:6px;text-align:center;text-decoration:none;color:inherit;padding:0 4px}.trail-stop__medal{position:relative;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff;border:3px dashed #d6b46c;font-family:var(--font-display, inherit);font-weight:800;font-size:22px;color:#8a6a2c;box-shadow:0 4px #ecdcbc;transition:transform .15s ease}.trail-stop>a:hover .trail-stop__medal,.trail-stop>a:focus-visible .trail-stop__medal{transform:translateY(-3px)}.trail-stop.is-done .trail-stop__medal{background:var(--leaf);border:3px solid var(--leaf);color:#fff;box-shadow:0 4px #15803d}.trail-stop.is-current .trail-stop__medal{background:var(--sun);border:3px solid var(--sun-deep);color:#3b2300;box-shadow:0 0 0 5px #f59e0b40,0 4px 0 var(--sun-deep)}.trail-stop--finish .trail-stop__medal{border-style:solid;font-size:26px}.trail-stop--finish.is-done .trail-stop__medal{background:#fef3c7;border-color:var(--sun);box-shadow:0 4px #fcd34d}.trail-stop__flag{position:absolute;top:-12px;right:-10px;font-size:18px}.trail-stop__me{position:absolute;top:-30px;left:50%;transform:translate(-50%);width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--sun),0 4px 8px #0003}.trail-stop.is-current:has(.trail-stop__me){z-index:3}.trail-stop__text{display:grid;justify-items:center;gap:2px;min-width:0}.trail-stop__eyebrow{font-size:12px;font-weight:700;color:var(--text-secondary)}.trail-stop__title{font-family:var(--font-display, inherit);font-weight:700;font-size:14px;line-height:17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trail-stop__pill{font-size:12px;padding:2px 8px;min-height:0}@media (prefers-reduced-motion: no-preference){body:not(.is-compact) .trail-stop.is-current .trail-stop__medal{animation:trail-glow 2.4s ease-in-out infinite}@keyframes trail-glow{50%{box-shadow:0 0 0 9px #f59e0b2e,0 4px 0 var(--sun-deep)}}}@media (max-width: 640px){.trail-map{height:auto;padding:var(--space-3);display:grid;gap:var(--space-3)}.trail-map__path,.trail-map__arrow{display:none}.trail-stop{position:relative;left:auto;top:auto;width:auto;transform:none}.trail-stop>a,.trail-stop>div{grid-template-columns:56px 1fr;justify-items:start;align-items:center;text-align:left;gap:var(--space-3);padding:0}.trail-stop__text{justify-items:start}.trail-stop:not(:last-child):after{content:"";position:absolute;left:27px;top:60px;height:calc(100% - 64px + var(--space-3));border-left:4px dotted #e6c98d}.trail-stop.is-done:not(:last-child):after{border-left:4px solid #fbbf24}.trail-stop__me{top:-10px;left:-10px;transform:none;width:30px;height:30px}}.task-card{padding:0;overflow:hidden;scroll-margin-top:120px}.task-card.is-current{border-color:var(--primary);box-shadow:0 0 0 2px var(--info-bg),var(--shadow-card)}.task-card__header{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.task-card__num{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--info-bg);color:var(--info-text);font-weight:800}.task-card.is-done .task-card__num{background:var(--success-bg);color:var(--success-text)}.task-card__title{display:grid;flex:1;min-width:0}.task-card__body{padding:0 var(--space-4) var(--space-4)}.try-box{border:2px solid #86efac;background:var(--success-bg);border-radius:var(--radius-card);padding:var(--space-4);display:grid;gap:var(--space-2);justify-items:start}.try-box__title{margin:0;font-size:16px}.help-box{border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);background:#fff}.supporting-details{padding:var(--space-4)}.content-section{scroll-margin-top:80px}.content-section--reflection{background:#faf5ff;border-color:#e9d5ff}.section-nav{display:flex;flex-wrap:wrap;gap:6px}.md p{margin:0 0 var(--space-2)}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 var(--space-2);padding-left:22px;display:grid;gap:4px}.md code,.question-block code,.checklist-block code,td code{background:var(--neutral-bg);border-radius:4px;padding:1px 5px;font-size:.92em}.block-heading{margin:var(--space-3) 0 0;font-size:18px}.block-heading--sub{font-size:16px;color:var(--text-secondary)}.block-image{margin:0;display:grid;gap:6px}.block-image img{width:100%;height:auto;border-radius:var(--radius-control);border:1px solid var(--card-border);background:#fff}.block-image figcaption{font-size:13px;color:var(--text-secondary);text-align:center}.video-frame:has(iframe),.video-frame:has(video){background:#000;border:0;overflow:hidden}.video-frame iframe,.video-frame video{width:100%;height:100%;border:0}.code-block{position:relative;border-radius:var(--radius-control);background:#0f172a;color:#e2e8f0;overflow-x:auto}.code-block pre{margin:0;padding:var(--space-4);font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.code-block--scratch{background:#fff7ed;color:#7c2d12;border:1px solid #fdba8c}.code-block--scratch pre{padding-top:30px}.code-block__label{position:absolute;top:6px;left:12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#c2410c}.steps-block{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.steps-block li{display:grid;grid-template-columns:28px 1fr;gap:var(--space-2);align-items:start}.steps-block__num{width:28px;height:28px;border-radius:50%;background:var(--info-bg);color:var(--info-text);display:grid;place-items:center;font-weight:800;font-size:14px}.steps-block .md p,.tick .md p{margin:0}.tick{display:flex;gap:var(--space-2);align-items:flex-start;cursor:pointer}.tick input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--success-text)}.tick:has(input:checked)>span{color:var(--text-secondary);text-decoration:line-through;text-decoration-color:#94a3b8}.callout{display:grid;grid-template-columns:28px 1fr;gap:var(--space-2);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);border-left:4px solid}.callout__icon{font-size:20px;line-height:24px}.callout--tip{background:var(--info-bg);border-color:var(--primary)}.callout--warning{background:var(--active-bg);border-color:#ea580c}.callout--note{background:#fefce8;border-color:#ca8a04}.question-block{border:1px dashed #a855f7;background:#faf5ff;border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);display:grid;gap:6px;justify-items:start}.question-block__label{font-weight:800;color:#7e22ce;font-size:14px}.question-block ul{margin:0;padding-left:20px;display:grid;gap:4px}.checklist-block{list-style:none;margin:0;padding:0;display:grid;gap:6px}.table-wrap table{width:100%;border-collapse:collapse;font-size:15px}.table-wrap th,.table-wrap td{padding:8px 12px;border-bottom:1px solid var(--card-border);text-align:left;vertical-align:top}.table-wrap th{background:var(--neutral-bg)}.issue-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.issue-list li{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);font-size:14px}.issue-list--error li{background:var(--danger-bg);color:var(--danger-text)}.issue-list--warning li{background:var(--active-bg);color:var(--active-text)}.issue-loc{font-family:ui-monospace,Menlo,monospace;font-size:12px;opacity:.85}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.kv dt{font-weight:700;color:var(--text-secondary)}.kv dd{margin:0}.preview-frame{border:2px dashed var(--card-border);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-page)}@media (max-width: 640px){.task-card__header{padding:var(--space-3)}.task-card__body{padding:0 var(--space-3) var(--space-3)}.mission-line{font-size:16px}.kv{grid-template-columns:1fr}}a.btn{text-decoration:none}@media (max-width: 480px){.profile-pill__name{display:none}.profile-pill{padding:4px}}body.is-compact .lesson-story,body.is-compact .stop-image{display:none}@media print{.app-header,.bottom-nav,.fab,.row-actions,.skip-link{display:none!important}}.core-panel{border:2px solid #f59e0b;border-radius:12px;padding:12px 14px;margin:0;background:#fffbeb}.core-panel legend{font-weight:700;padding:0 6px}.optional-award{background:#fff;border:1px solid var(--card-border)}.optional-award>summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}body[data-world=cleverworld] .btn:disabled,body[data-world=cleverworld] .btn.is-disabled{background:var(--disabled-bg);color:var(--disabled-text);box-shadow:none;transform:none}.adventure-group{border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);margin:0}.adventure-group legend{font-weight:700;padding:0 6px}.adventure-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.adventure-row select,.adventure-row input{min-height:40px;border:1px solid var(--control-border);border-radius:var(--radius-control);padding:0 10px;font:inherit}.adventure-row--challenge input[aria-label="Nội dung thử thách"]{flex:1;min-width:220px}.step-nav{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.step-nav__count{font-weight:800;color:var(--info-text)}.step-nav__dots{display:inline-flex;gap:6px}.step-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--card-border);background:#fff;padding:0;cursor:pointer}.step-dot.is-current{border-color:var(--primary);background:var(--primary)}.step-dot.is-done{border-color:var(--success-text);background:var(--success-bg)}.step-page{border-left:3px solid var(--info-bg);padding-left:var(--space-3)}.step-page__title{margin:0;font-size:17px}.mini-toggle{border-radius:var(--radius-control);background:var(--surface-page);padding:6px 10px}.mini-toggle>summary{cursor:pointer;font-size:14px;color:var(--text-secondary);font-weight:600}.mini-toggle[open]>summary{margin-bottom:8px}.howto{border:2px solid var(--info-bg);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);background:#fff}.howto__title{margin:0;font-size:16px}.concept-toggle{background:#faf5ff}.step-image{margin:0;display:grid;gap:4px}.step-image img{max-width:100%;max-height:320px;width:auto;border-radius:8px;border:1px solid var(--card-border, #e5e7eb)}.scratch-group{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:0 8px;border:1px solid;border-radius:999px;font-family:var(--font-body, inherit);font-size:12px;color:#374151;background:#fff}.scratch-group__dot{width:8px;height:8px;border-radius:50%;display:inline-block}body[data-world=cleverworld]{--font: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Baloo 2", "Nunito", system-ui, sans-serif;--surface-page: #fff8ec;--surface-card: #ffffff;--card-border: #ecdcbc;--primary: #0369a1;--primary-hover: #075985;--primary-pressed: #0c4a6e;--world-sea: #38bdf8;--world-sea-deep: #0c4a6e;--world-sand: #fde7b0;--world-sand-soft: #fff3d6;--world-paper: #faf5ea;--world-leaf: #16a34a;--world-leaf-deep: #166534;--world-sun: #f59e0b;--world-sun-deep: #b45309;--world-berry: #db2777;--radius-control: 14px;--radius-card: 20px;--shadow-card: 0 2px 0 #ecdcbc, 0 10px 24px rgba(120, 84, 20, .08);background:radial-gradient(circle at 12% 0%,#e0f2fe 0,transparent 38%),radial-gradient(circle at 100% 30%,#fef3c7 0,transparent 35%),var(--surface-page);background-attachment:fixed;min-height:100vh;font-family:var(--font)}body[data-world=cleverworld] h1,body[data-world=cleverworld] h2,body[data-world=cleverworld] h3,body[data-world=cleverworld] .display{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}body[data-world=cleverworld] h1{font-size:34px;line-height:40px}.cw-img{mix-blend-mode:multiply;display:block;max-width:100%;height:auto}body[data-world=cleverworld] .app-header{background:linear-gradient(180deg,#0c4a6e,#075985);border-bottom:none;box-shadow:0 3px #38bdf8}body[data-world=cleverworld] .brand{color:#fff;font-family:var(--font-display);font-size:18px}body[data-world=cleverworld] .brand__mark{background:var(--world-sun);color:#3b2300;border-radius:12px}body[data-world=cleverworld] .brand__world{font-family:var(--font);font-size:12px;font-weight:700;color:#bae6fd;display:block;line-height:1}body[data-world=cleverworld] .top-nav a{color:#e0f2fe}body[data-world=cleverworld] .top-nav a:hover{color:#fff}body[data-world=cleverworld] .top-nav a[aria-current=page]{color:#fff;border-bottom-color:var(--world-sun)}body[data-world=cleverworld] .nav-dot{width:10px;height:10px;border-radius:50%;background:var(--world-sun);box-shadow:0 0 0 2px #0c4a6e;display:inline-block}body[data-world=cleverworld] .nav-badge{background:#fff;color:var(--danger-text)}body[data-world=cleverworld] .profile-pill{background:#ffffff1f;border-color:#ffffff59;color:#fff}.avatar-img{width:32px;height:32px;border-radius:50%;display:block;background:#fff}body[data-world=cleverworld] :focus-visible{outline-color:#7c3aed}body[data-world=cleverworld] .app-header :focus-visible{outline-color:var(--world-sun)}body[data-world=cleverworld] .btn{text-decoration:none;font-family:var(--font-display);font-size:17px;letter-spacing:.01em}body[data-world=cleverworld] .btn-primary{background:var(--primary);box-shadow:0 4px 0 var(--primary-pressed);transform:translateY(0)}body[data-world=cleverworld] .btn-primary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--primary-pressed)}body[data-world=cleverworld] .btn-secondary{background:#e0f2fe;color:#075985;box-shadow:0 3px #bae6fd}body[data-world=cleverworld] .btn-ghost{background:#fff}body[data-world=cleverworld] .btn-lg{min-height:52px;padding:0 24px;font-size:19px}body[data-world=cleverworld] .card{border-width:2px}body[data-world=cleverworld] .card--mission{background:#fff7ed;border-color:#fdba74}.card--paper{background:var(--world-paper)}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--world-sun-deep)}.welcome{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;background:linear-gradient(135deg,#e0f2fe,#f0f9ff 55%,#fef3c7);border:2px solid #bae6fd;border-radius:var(--radius-card);padding:20px 24px}.welcome__avatar{width:84px;height:84px;border-radius:50%;background:#fff;box-shadow:0 4px #7dd3fc}.welcome__hi{font-size:15px;font-weight:700;color:#075985}.village{display:grid;gap:8px}.village__label{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;color:#0c4a6e;flex-wrap:wrap}.village__track{position:relative;height:18px;border-radius:999px;background:#fff;border:2px solid #7dd3fc;overflow:hidden}.village__fill{height:100%;border-radius:999px;background:repeating-linear-gradient(135deg,#22c55e 0,#22c55e 12px,#16a34a 12px,#16a34a 24px)}.village__dots{display:flex;gap:6px;flex-wrap:wrap}.village__dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:#e2e8f0;color:#475569;font-weight:800;border:2px solid #fff}.village__dot.is-done{background:var(--world-leaf);color:#fff}.village__dot.is-current{background:var(--world-sun);color:#3b2300;box-shadow:0 0 0 2px var(--world-sun-deep)}.quest{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;background:#fff;border:3px solid var(--world-sun);border-radius:24px;padding:20px 24px;box-shadow:0 6px #fcd34d,0 16px 32px #b453091f;position:relative}.quest:before{content:"THẺ NHIỆM VỤ";position:absolute;top:-14px;left:24px;background:var(--world-sun);color:#3b2300;font-weight:800;font-size:12px;letter-spacing:.08em;padding:4px 12px;border-radius:999px}.quest__art{background:var(--world-paper);border-radius:18px;padding:8px;display:grid;place-items:center}.quest__title{font-size:30px;line-height:36px}.quest__roles{display:grid;gap:8px;margin:14px 0 16px;padding:0;list-style:none}.quest__roles li{display:grid;grid-template-columns:40px 140px 1fr;gap:10px;align-items:center;font-size:15px}.quest__roles img{width:40px;height:40px;border-radius:50%;background:var(--world-paper);object-fit:cover}.quest__roles .k{color:var(--text-secondary);font-weight:700;font-size:14px}.quest__meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.story{background:var(--world-sand-soft);border:2px dashed #f2c46d;border-radius:18px;padding:16px 20px;font-size:17px;line-height:27px;color:#4a3410}.story__label{font-family:var(--font-display);font-weight:700;color:var(--world-sun-deep);display:block;margin-bottom:4px}.say{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start}.say img{width:52px;height:52px;border-radius:50%}.say__bubble{background:#fff;border:2px solid #bae6fd;border-radius:4px 18px 18px;padding:10px 14px}.say__who{font-weight:800;font-size:13px;color:#075985;display:block}.stars{display:inline-flex;gap:2px;font-size:18px;line-height:1;letter-spacing:0}.stars .on{color:var(--world-sun)}.stars .off{color:#d6c7a6}.stars .wait{color:#fcd34d;opacity:.9}.map{position:relative;border-radius:28px;overflow:hidden;border:3px solid #e7d3a8;background:radial-gradient(circle at 20% 80%,rgba(56,189,248,.18) 0,transparent 40%),radial-gradient(circle at 85% 15%,rgba(56,189,248,.15) 0,transparent 35%),repeating-linear-gradient(0deg,transparent 0 39px,rgba(185,150,90,.1) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(185,150,90,.1) 39px 40px),var(--world-paper);aspect-ratio:16 / 9;min-height:460px}.map__path{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map__path path{fill:none;stroke:#e6c98d;stroke-width:14;stroke-linecap:round;stroke-dasharray:2 22}.map__path path.walked{stroke:#fbbf24;stroke-dasharray:none;stroke-width:10;opacity:.7}.stop{position:absolute;width:12.5%;margin-left:-6.25%;margin-top:-8.5%;display:grid;justify-items:center;gap:4px;text-decoration:none;color:inherit;text-align:center}.stop img{width:100%}.stop__pill{font-size:12px}.stop.is-locked img{filter:grayscale(1) contrast(.85);opacity:.45}.stop.is-locked:after{content:"";position:absolute;top:8%;right:4%;bottom:30%;left:4%;border-radius:50%;background:radial-gradient(circle,#ffffffbf,#fff0 70%);pointer-events:none}.stop.is-current img{filter:drop-shadow(0 0 10px rgba(245,158,11,.9))}.stop.is-done .stop__flag{position:absolute;top:2%;right:8%;font-size:22px}.stop img.stop__me{position:absolute;z-index:2;top:-18px;left:50%;transform:translate(-50%);width:46px;height:46px;mix-blend-mode:normal;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--world-sun),0 6px 10px #0003}.stop:hover img,.stop:focus-visible img{transform:translateY(-3px)}.stop img{transition:transform .15s ease}.stop.is-locked:hover img{transform:none}.map__finish{position:absolute;right:2.5%;bottom:6%;background:#8b5e34;color:#fff;font-family:var(--font-display);border-radius:10px;padding:8px 12px;font-size:14px;line-height:18px;box-shadow:0 4px #5b3a1d;transform:rotate(-4deg)}.journey{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:stop}.journey__item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;background:#fff;border:2px solid var(--card-border);border-radius:18px;padding:8px 14px 8px 8px;text-decoration:none;color:inherit}a.journey__item:hover{border-color:#f2c46d}.journey__item img{width:72px;height:60px;object-fit:contain}.journey__item.is-locked{color:var(--text-secondary);background:#fbf8f1}.journey__item.is-locked img{filter:grayscale(1);opacity:.5}.journey__item.is-current{border-color:var(--world-sun);box-shadow:0 4px #fcd34d}.journey__name{font-family:var(--font-display);font-weight:700;font-size:18px;line-height:22px}.journey__right{display:grid;justify-items:end;gap:4px}.reward-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.reward-chip{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;background:#fff;border:2px solid var(--card-border);border-radius:16px;padding:8px 12px 8px 8px}.reward-chip img,.reward-chip .hex{width:52px;height:52px}.reward-chip strong{display:block;font-size:15px;line-height:19px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-head h2{font-size:26px}.jump-links{display:flex;gap:8px;flex-wrap:wrap}.jump-links a{background:#fff;border:2px solid var(--card-border);border-radius:999px;padding:8px 14px;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:14px;min-height:44px;display:inline-flex;align-items:center}.collect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.collect{background:#fff;border:2px solid var(--card-border);border-radius:20px;padding:12px;display:grid;gap:6px;text-align:center;position:relative}.collect__art{background:var(--world-paper);border-radius:14px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.collect__art img{width:92%}.collect__name{font-family:var(--font-display);font-weight:700;font-size:17px;line-height:21px}.collect__level{position:absolute;top:8px;right:8px;background:var(--world-leaf);color:#fff;font-weight:800;font-size:12px;border-radius:999px;padding:2px 9px}.collect.is-missing{border-style:dashed;background:#fbf8f1}.collect.is-missing .collect__art img{filter:grayscale(1) brightness(1.1);opacity:.28}.collect.is-missing .collect__name{color:var(--text-secondary)}.collect details{text-align:left;font-size:14px}.collect summary{cursor:pointer;font-weight:700;color:var(--primary);min-height:44px;display:flex;align-items:center;justify-content:center}.collect .is-new{position:absolute;top:8px;left:8px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.badge{display:grid;justify-items:center;gap:6px;text-align:center}.hex{width:92px;height:104px;display:grid;place-items:center;font-size:40px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--hx1, #4ade80),var(--hx2, #15803d))}.hex.green{--hx1: #4ade80;--hx2: #15803d}.hex.blue{--hx1: #7dd3fc;--hx2: #1d4ed8}.hex.orange{--hx1: #fdba74;--hx2: #c2410c}.hex.gold{--hx1: #fde047;--hx2: #b45309}.hex.purple{--hx1: #d8b4fe;--hx2: #7e22ce}.hex.teal{--hx1: #5eead4;--hx2: #0f766e}.badge.is-missing .hex{background:#e7e1d3;filter:grayscale(1);opacity:.7}.badge__name{font-family:var(--font-display);font-weight:700;font-size:16px;line-height:20px}.comp{display:grid;grid-template-columns:64px 1fr;gap:14px;background:#fff;border:2px solid var(--card-border);border-radius:20px;padding:14px}.comp__icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:34px;background:var(--world-sand-soft)}.comp__count{font-weight:800;color:var(--world-sun-deep)}.comp ul{margin:6px 0 0;padding-left:18px;font-size:14px;display:grid;gap:4px}.comp.is-missing{border-style:dashed;background:#fbf8f1}.comp.is-missing .comp__icon{filter:grayscale(1);opacity:.5}.bug-tag{display:inline-flex;align-items:center;gap:8px;background:#fef3c7;color:#78350f;border:2px solid #fcd34d;border-radius:999px;padding:4px 12px 4px 4px;font-weight:800;font-size:14px}.bug-tag img{width:30px;height:30px;border-radius:50%;background:#fff}.challenge-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.challenge{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;background:#fff;border:2px dashed #fdba74;border-radius:14px;padding:10px 14px}.challenge.is-confirmed{border-style:solid;border-color:var(--world-sun);background:#fffbeb}.challenge__lvl{font-size:16px;color:var(--world-sun);white-space:nowrap}.trail{display:flex;align-items:center;gap:0}.trail__dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff;border:3px solid #e6c98d;font-weight:800;font-size:13px;color:#8a6a2c}.trail__dot.is-done{background:var(--world-leaf);border-color:var(--world-leaf);color:#fff}.trail__dot.is-current{background:var(--world-sun);border-color:var(--world-sun-deep);color:#3b2300}.trail__seg{height:4px;flex:1;background:repeating-linear-gradient(90deg,#e6c98d 0 6px,transparent 6px 10px)}.trail__seg.is-done{background:var(--world-leaf)}.lesson-hero{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}.lesson-hero__art{background:var(--world-paper);border-radius:18px;padding:6px}.explorer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:none;padding:0;margin:0}.explorer{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;cursor:pointer;background:#fff;border:3px solid var(--card-border);border-radius:22px;padding:16px 12px 14px}.explorer input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.explorer img{width:104px;height:104px;border-radius:50%}.explorer__name{font-family:var(--font-display);font-weight:700;font-size:22px}.explorer__line{font-size:14px;color:var(--text-secondary);line-height:19px}.explorer__line b{color:var(--text-primary)}.explorer:has(input:checked){border-color:var(--primary);background:#f0f9ff;box-shadow:0 5px #7dd3fc}.explorer:has(input:checked):after{content:"✓";position:absolute;top:10px;right:12px;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.explorer:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.reward-dialog{width:min(100%,520px);background:#fff;border-radius:28px;padding:28px 24px 24px;text-align:center;display:grid;gap:14px;border:3px solid var(--world-sun);box-shadow:0 8px #fcd34d;background-image:radial-gradient(circle at 50% 0%,#fef3c7 0,transparent 55%)}.reward-dialog__art{width:200px;margin:-8px auto 0}.reward-dialog h2{font-size:30px;line-height:36px}.reward-dialog__items{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.reward-dialog__item{width:120px;display:grid;justify-items:center;gap:4px;font-size:14px;font-weight:700}.reward-dialog__item img{width:88px;height:88px;object-fit:contain}.reward-dialog__item .hex{width:70px;height:80px;font-size:30px}.confetti{font-size:22px;letter-spacing:6px}@media (prefers-reduced-motion: no-preference){.confetti{animation:pop .9s ease-out 1}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.stop.is-current img{animation:glow 2.4s ease-in-out infinite}@keyframes glow{50%{filter:drop-shadow(0 0 16px rgba(245,158,11,1))}}}.certificate{border:6px double #d4a24c;border-radius:20px;background:#fffdf7;padding:28px;text-align:center;display:grid;gap:10px}@media (max-width: 900px){body[data-world=cleverworld] .bottom-nav{border-top:3px solid #38bdf8;border-radius:18px 18px 0 0;height:68px}body[data-world=cleverworld] .bottom-nav a{font-size:12px;position:relative}body[data-world=cleverworld] .bottom-nav a .ico{font-size:20px}body[data-world=cleverworld] .bottom-nav a[aria-current=page]{color:var(--primary)}body[data-world=cleverworld] .bottom-nav a[aria-current=page] .ico{background:#e0f2fe;border-radius:999px;padding:0 14px}body[data-world=cleverworld] .bottom-nav .nav-dot{position:absolute;top:8px;right:calc(50% - 20px);box-shadow:0 0 0 2px #fff}.welcome{grid-template-columns:auto 1fr}.welcome>.field{grid-column:1 / -1}.quest{grid-template-columns:1fr;padding-top:26px}.quest__art{max-width:220px}.quest__roles li{grid-template-columns:40px 1fr}.quest__roles li .k{grid-column:2}.quest__roles li .v{grid-column:2;margin-top:-10px}.quest__roles li img{grid-row:span 2}.lesson-hero{grid-template-columns:1fr}.lesson-hero__art{max-width:200px}.explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.map,.map-wrap{display:none}}@media (max-width: 420px){.explorer img{width:80px;height:80px}.journey__item{grid-template-columns:56px 1fr}.journey__item img{width:56px;height:48px}.journey__right{grid-column:2;justify-items:start}.challenge{grid-template-columns:1fr}.quest__title{font-size:26px;line-height:32px}}@media print{.app-header,.bottom-nav,.fab,.wf-note,.no-print{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body[data-world=cleverworld] .welcome>*,body[data-world=cleverworld] .quest>*,body[data-world=cleverworld] .stack>*{min-width:0}@media (max-width: 900px){body[data-world=cleverworld] .app-header__inner{padding:10px 16px;gap:12px;justify-content:space-between}body[data-world=cleverworld] .profile-pill{padding:4px;font-size:0}body[data-world=cleverworld] .profile-pill .avatar-img{font-size:14px}body[data-world=cleverworld] .shell{padding-left:16px;padding-right:16px}.welcome{grid-template-columns:64px minmax(0,1fr);padding:16px;gap:14px}.welcome__avatar{width:64px;height:64px}.welcome>.field,.welcome>.btn{min-width:0!important}body[data-world=cleverworld] h1{font-size:28px;line-height:34px}.quest{padding:26px 16px 18px}.reward-strip{grid-template-columns:1fr}.village__dots{gap:4px}.village__dot{width:20px;height:20px}body[data-world=cleverworld] .bottom-nav a{min-width:0}}@media (max-width: 900px){.welcome>.btn{grid-column:1 / -1;justify-self:start}.collect-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}body[data-world=cleverworld] .bottom-nav .nav-badge{position:absolute;top:6px;left:calc(50% + 6px);font-size:11px;padding:0 6px}}.marks{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.mk{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;font-size:13px;font-weight:800;line-height:1}.mk--core{background:#fef3c7;box-shadow:inset 0 0 0 2px #f59e0b}.mk--extra{background:#fff;color:var(--world-sun-deep);box-shadow:inset 0 0 0 2px #fcd34d}.mk--fb{background:var(--info-bg);box-shadow:inset 0 0 0 2px #93c5fd}.legend{margin-top:8px}.layers{display:grid;gap:6px;margin:0}.layer{display:grid;grid-template-columns:190px 1fr;gap:10px;align-items:start;background:#fff;border:2px solid var(--card-border);border-radius:12px;padding:8px 12px}.layer dt{font-weight:800}.layer dd{margin:0}.layer--ok{border-color:#fcd34d;background:#fffbeb}.layer--fb{border-color:#bfdbfe;background:var(--info-bg)}.one-line{margin:0;font-weight:700;color:var(--text-secondary)}.one-line a{font-weight:800}details.extras{border:2px dashed #fdba74;border-radius:14px;padding:10px 14px;background:#fff}details.extras>summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center;gap:6px}.check-row{display:flex;gap:10px;align-items:center;min-height:44px}.hints{display:grid;gap:8px;border-left:4px solid #93c5fd;padding-left:12px}.hint-step{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.hint-step__n{width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.hint-step p{margin:2px 0 0}.hint-step.is-locked .hint-step__n{background:#e2e8f0;color:#475569}.hint-mini{margin-top:6px}.hint-mini>summary{cursor:pointer;font-weight:700;min-height:36px;display:flex;align-items:center}.together{font-size:13px;font-weight:800;color:var(--world-leaf-deep)}.note-entry{text-align:left;border-left:3px solid var(--world-leaf);padding-left:10px;margin-top:8px}.note-entry__isle{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--world-leaf-deep)}.note-entry__recall{font-weight:700;margin:2px 0}.note-entry__ex{font-size:13px;color:var(--text-secondary);margin:0}.upcoming{background:#fff;border:2px dashed #bae6fd;border-radius:20px;padding:14px 18px}.upcoming ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.upcoming li{display:flex;gap:10px;align-items:center}.upcoming img{width:36px;height:36px;border-radius:50%}.hex.mini{width:32px;height:36px;font-size:16px}.seg{display:inline-flex;border:2px solid var(--card-border);border-radius:999px;overflow:hidden;background:#fff}.seg button{border:none;background:none;padding:0 16px;min-height:44px;font-weight:700;cursor:pointer;color:var(--text-secondary)}.seg button[aria-pressed=true]{background:var(--primary);color:#fff}.improve-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.improve-list li{background:#fff;border:2px solid var(--card-border);border-left:6px solid var(--world-leaf);border-radius:14px;padding:10px 14px}.timeline li.improve-mark{border-left:3px dashed var(--world-leaf);color:var(--world-leaf-deep)}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;cursor:pointer}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:52px;height:30px;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .15s}.switch:checked{background:var(--primary)}.switch:checked:after{left:25px}.reward-main{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;background:var(--world-paper);border-radius:18px;padding:10px 14px}.reward-main p{margin:4px 0 0;font-size:17px}.isle__art{width:96px;height:64px;display:grid;place-items:center;font-size:32px;background:#f1f5f9;border-radius:10px}@media (max-width: 600px){.layer{grid-template-columns:1fr;gap:2px}.reward-main{grid-template-columns:80px 1fr}}.upcoming li{display:block;line-height:1.5;padding-left:44px;position:relative;min-height:36px}.upcoming li>img,.upcoming li>.hex{position:absolute;left:0;top:0}details.extras>summary{display:list-item;padding:10px 0;min-height:0}.evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.evidence__panel{background:#f8fafc;border:2px solid #cbd5e1;border-radius:14px;padding:10px 12px}.evidence__who{font-size:13px;font-weight:800;color:#334155;margin-bottom:6px;display:block}.sb{display:table;padding:6px 10px;margin:2px 0;border-radius:6px;font:700 14px/1.35 var(--font);color:#fff}.sb .in{display:inline-block;background:#fff;color:#1f2937;border-radius:10px;padding:0 7px;margin:0 2px;font-weight:700}.sb .hx{display:inline-block;background:#ffffffd9;color:#1f2937;border-radius:4px;padding:0 6px;margin:0 2px}.sb--event{background:#ffd65c;color:#3d2a00;border-top-left-radius:14px}.sb--control{background:#ffab19;color:#3d2a00}.sb--motion{background:#3b7ddd}.sb--looks{background:#8a5cf5}.sb--sensing{background:#5cb1d6;color:#0b2a36}.sb--ind{margin-left:18px}.sb--ind2{margin-left:36px}.lesson-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lesson-bar h1{font-size:24px;line-height:30px}.compact-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;min-height:44px;cursor:pointer}.resume{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#ecfdf5;border:2px solid #86efac;border-radius:14px;padding:10px 14px;font-weight:700;color:#14532d}details.seen{background:#fff;border:2px solid var(--card-border);border-radius:20px;padding:6px 16px}details.seen>summary{cursor:pointer;font-weight:800;padding:10px 0}details.seen .seen__list{color:var(--text-secondary);font-weight:600;font-size:14px}details.seen[open]{padding-bottom:16px}.steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px;counter-reset:st}.steps li{position:relative;padding-left:40px;min-height:30px}.steps li:before{counter-increment:st;content:counter(st);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}.steps code{background:#f1f5f9;padding:1px 6px;border-radius:6px}details.bridge{border:2px solid #bae6fd;background:#f0f9ff;border-radius:14px;padding:6px 14px}details.bridge>summary{cursor:pointer;font-weight:800;padding:8px 0;color:#075985}.jump-nav{position:sticky;top:64px;z-index:6;display:flex;gap:6px;overflow-x:auto;white-space:nowrap;background:#fff8ecf5;padding:8px 0;margin:0;scrollbar-width:thin}.jump-nav a{flex:none;background:#fff;border:2px solid var(--card-border);border-radius:999px;padding:0 12px;min-height:40px;display:inline-flex;align-items:center;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:14px}.recent{background:#fff;border:3px solid #fcd34d;border-radius:20px;padding:14px 18px;box-shadow:0 4px #fde68a}.flash{border-radius:14px;padding:12px 16px;font-weight:700}.flash--ok{background:#ecfdf5;border:2px solid #86efac;color:#14532d}.quiz-feedback{display:none}.quiz-feedback.is-shown{display:block}.hint-step[hidden],.story-line,body.is-compact .story,body.is-compact .say,body.is-compact .lesson-hero__art{display:none}body.is-compact .story-line{display:block}@media (max-width: 900px){body.has-bottom-nav main{padding-bottom:120px!important}.jump-nav{top:56px}}@media (max-width: 600px){.evidence{grid-template-columns:1fr}.list-item{flex-wrap:wrap}.list-item>.pill{margin-left:92px}}@media (max-width: 600px){.lesson-hero{grid-template-columns:1fr!important}.lesson-hero__art{max-width:140px!important}.card-title-row{flex-wrap:wrap}.lesson-bar h1{font-size:22px;line-height:28px}.steps code{word-break:break-word}}.mission-ico{width:40px;height:40px;border-radius:50%;background:var(--world-paper);display:grid;place-items:center;font-size:20px}.catch{font-size:13px;font-style:italic;color:#075985}.note-entry__limit{font-size:13px;margin:4px 0 0;background:#fffbeb;border-radius:8px;padding:4px 8px}.limit-note{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:8px 12px;font-size:15px}.life-lesson{background:#f0fdf4;border:2px dashed #86efac;border-radius:16px;padding:12px 16px;color:#14532d;font-size:16px}.closing{font-weight:700;color:#14532d;margin:-4px 0 0}.group-h{grid-column:1 / -1;font-size:15px;color:var(--text-secondary);margin:4px 0 0}
