:root{--midnight:#020617;--deep-navy:#071126;--dark-surface:#0b1224;--blue:#146cff;--blue-strong:#0b5fff;--cyan:#19d3ff;--paper:#fff;--fog:#eef2f6;--warm:#f2eae0;--warm-deep:#b58655;--ink:#101828;--graphite:#344054;--muted:#667085;--divider:#d0d5dd;--max-width:1440px;--content-pad:clamp(20px, 5vw, 84px);--section-y:clamp(76px, 10vw, 152px);--radius-sm:8px;--radius-md:18px;--radius-lg:30px;--shadow-soft:0 28px 80px #0206171f;--font-product:"Open Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f8fafc}body{color:var(--ink);font-family:var(--font-product);background:linear-gradient(#f8fafc 0,#eef2f6 100%);min-height:100vh;margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button,a,textarea{touch-action:manipulation}.skip-link{z-index:1000;background:var(--paper);box-shadow:var(--shadow-soft);border-radius:999px;padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.learning-app{min-height:100vh}.learning-header{z-index:50;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#020617f0;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;min-height:72px;padding:10px clamp(20px,4vw,56px);display:flex;position:sticky;top:0}.learning-brand{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:700;display:flex}.learning-brand small{color:#ffffffa6;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600;display:block}.brand-orb{background:var(--blue);border:1px solid #19d3ff80;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.profile-chip{color:#fffc;border:1px solid #ffffff2e;border-radius:999px;padding:9px 14px;font-size:.82rem}.learning-layout{grid-template-columns:250px minmax(0,1fr);max-width:1440px;margin:0 auto;display:grid}.learning-navigation{border-right:1px solid var(--divider);background:#ffffffbf;flex-direction:column;gap:4px;height:calc(100vh - 72px);padding:28px 20px;display:flex;position:sticky;top:72px}.learning-navigation a{min-height:46px;color:var(--graphite);border-radius:12px;padding:12px 14px;font-size:.92rem;font-weight:600}.learning-navigation a:hover{background:var(--fog);color:var(--ink)}.learning-navigation a[aria-current=page]{background:var(--deep-navy);color:#fff}main{width:min(100%,1080px);min-width:0;margin:0 auto;padding:clamp(40px,6vw,88px) clamp(20px,5vw,72px) 100px}.page-intro{max-width:760px;margin-bottom:36px}.page-intro>span,.truth-label{color:var(--blue-strong);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-size:.74rem;font-weight:750;display:block}.page-intro h1{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(2.45rem,5vw,4.7rem);font-weight:600;line-height:.98}.page-intro p{max-width:660px;color:var(--graphite);margin:20px 0 0;font-size:clamp(1.05rem,1.8vw,1.25rem)}.surface,.metric,.status-panel,.learning-hero,.nims-balance{border-radius:var(--radius-lg);background:var(--paper);border:1px solid #1018281a;box-shadow:0 18px 50px #0206170f}.learning-hero{background:linear-gradient(135deg,#fff 0,#f2eae0 100%);grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:32px;padding:clamp(28px,5vw,56px);display:grid}.learning-hero h2,.surface h2{letter-spacing:-.035em;margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1}.learning-hero p,.surface p{color:var(--graphite)}.primary-link,.primary,.status-panel button,.print-sheet button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;font-weight:700;display:inline-flex}.primary:disabled{cursor:not-allowed;opacity:.55}.metric-grid,.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.metric{flex-direction:column;justify-content:space-between;min-height:130px;padding:22px;display:flex}.metric small{color:var(--muted);font-weight:650}.metric strong{letter-spacing:-.025em;font-size:1.25rem}.card-grid .surface{padding:24px}.journey-map{gap:16px;padding-left:20px;display:grid;position:relative}.journey-map:before{background:var(--divider);content:"";width:2px;position:absolute;top:26px;bottom:26px;left:46px}.journey-node{border:1px solid var(--divider);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:54px 1fr;align-items:center;gap:18px;min-height:112px;padding:20px;display:grid;position:relative}.journey-node h2{margin:3px 0;font-size:1.2rem}.journey-node small{color:var(--muted);text-transform:capitalize;font-weight:650}.node-index{z-index:1;border:2px solid var(--divider);background:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-weight:800;display:grid}.journey-node.current{border-color:var(--blue);box-shadow:0 0 0 4px #146cff14}.journey-node.current .node-index{border-color:var(--blue);background:var(--blue);color:#fff}.journey-node.completed .node-index{color:#185c49;background:#e9f6f1;border-color:#2c7a63}.journey-node.optional{border-style:dashed}.journey-node.locked{color:var(--muted);background:#f8fafc}.mission-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:20px;display:grid}.mission-grid>.surface{padding:clamp(24px,4vw,42px)}label{margin:24px 0 8px;font-weight:700;display:block}textarea{resize:vertical;border:1px solid var(--divider);border-radius:var(--radius-md);width:100%;min-height:140px;color:var(--ink);background:#fbfcfe;margin-bottom:16px;padding:16px;font-size:16px;display:block}.assessment{background:#eef8f4;border-left:4px solid #2c7a63;flex-direction:column;gap:3px;margin-top:18px;padding:16px;display:flex}.assessment span{color:var(--graphite);font-size:.85rem}.character-slot{border-radius:var(--radius-lg);text-align:center;background:#eef2f6bf;border:1px dashed #0b5fff59;flex-direction:column;justify-content:center;align-items:center;min-height:260px;margin:0;padding:24px;display:flex}.placeholder-mark{background:var(--deep-navy);color:#fff;border:1px solid #19d3ff59;border-radius:50%;place-items:center;width:110px;height:110px;margin-bottom:18px;font-size:1.4rem;font-weight:800;display:grid}.character-slot figcaption{flex-direction:column;gap:4px;display:flex}.character-slot figcaption span{color:var(--muted);letter-spacing:.08em;font-size:.66rem}.nims-balance{text-align:center;background:linear-gradient(145deg,#fff,#f2eae0);flex-direction:column;justify-content:center;align-items:center;min-height:340px;padding:40px;display:flex}.nims-balance>span{letter-spacing:-.08em;font-size:clamp(5rem,12vw,9rem);font-weight:600;line-height:1}.nims-balance strong{font-size:1.25rem}.print-sheet{max-width:760px;padding:48px}.boundary-note{color:var(--muted);margin-top:24px}.status-panel{flex-direction:column;gap:8px;margin-bottom:24px;padding:22px;display:flex}.status-panel.error{background:#fff5f5;border-color:#e9b4b4}.status-panel button{background:var(--deep-navy);align-self:flex-start}@media (max-width:900px){.learning-layout{grid-template-columns:1fr}.learning-navigation{z-index:40;border-right:0;border-bottom:1px solid var(--divider);scrollbar-width:thin;flex-direction:row;height:auto;padding:10px 16px;display:flex;position:sticky;top:72px;overflow-x:auto}.learning-navigation a{flex:none}.learning-hero,.mission-grid{grid-template-columns:1fr}.character-slot{min-height:220px}.metric-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.profile-chip{display:none}.learning-header{min-height:64px}.learning-navigation{top:64px}.learning-navigation a{min-height:44px;padding:11px 13px}main{padding-top:38px}.page-intro h1{font-size:2.55rem}.metric-grid,.card-grid{grid-template-columns:1fr}.learning-hero{padding:25px}.journey-map{padding-left:0}.journey-map:before{left:45px}.journey-node{grid-template-columns:50px 1fr;padding:15px}.node-index{width:48px;height:48px}.print-sheet{padding:26px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.learning-header,.learning-navigation,.skip-link,.parent-control{display:none}.learning-layout{display:block}main{padding:0}.page-intro{display:none}.print-sheet{box-shadow:none;border:0}.print-sheet button,.character-slot{display:none}}.parent-control{border:1px solid var(--deep-navy);background:var(--paper);min-height:48px;color:var(--deep-navy);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;margin-top:24px;padding:12px 22px;font-weight:700;display:inline-flex}.parent-control:disabled{cursor:not-allowed;opacity:.55}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mission-workspace{gap:18px;display:grid}.mission-info{border:1px solid var(--divider);border-radius:var(--radius-md);background:#fbfcfe;padding:16px}.mission-info ul,.mission-workspace details ul{margin:8px 0 0;padding-left:20px}.modality-panel,.safety-gate,.fallback{border-radius:var(--radius-md);background:var(--fog);flex-direction:column;gap:4px;padding:16px;display:flex}.modality-panel h3{margin:0;font-size:1rem}.modality-panel p{margin:0}.safety-gate{background:#fff9e8;border:1px solid #d6a850}.fallback{border-left:4px solid var(--blue);background:#f2f6ff}.mission-grid>aside{align-content:start;gap:16px;display:grid}.character-slot{border-radius:var(--radius-lg);text-align:center;background:linear-gradient(145deg,#f5f9ff,#eef5ff);border:0;justify-content:center;align-items:center;min-height:220px;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.character-slot img{object-fit:contain;width:100%;height:100%;max-height:420px;display:block}.character-slot.scene img,.character-slot.hero-art img{object-fit:cover}.asset-fallback{border:1px dashed #0b5fff59;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:24px;display:flex}.asset-fallback>span{background:var(--deep-navy);color:#fff;border-radius:50%;place-items:center;width:88px;height:88px;margin-bottom:14px;font-size:1.4rem;font-weight:800;display:grid}.asset-fallback small{color:var(--muted);letter-spacing:.08em;margin-top:6px;font-size:.66rem}.status-panel .character-slot{max-width:180px;min-height:130px}.nims-balance .character-slot{background:0 0;width:120px;min-height:100px}.journey-art{z-index:1;place-items:center;width:86px;display:grid;position:relative}.journey-art .character-slot:first-child{background:0 0;width:84px;min-height:84px}.journey-art .character-slot:last-child{background:0 0;width:34px;min-height:34px;position:absolute;bottom:-5px;right:-4px}.journey-art .character-slot img{max-height:84px}.journey-art .character-slot:last-child img{max-height:34px}.journey-node{grid-template-columns:88px 1fr}.journey-node.placement_satisfied{background:#f8fafc;border-style:dashed}.profile-settings{grid-template-columns:1fr 1fr;gap:20px;display:grid}.profile-settings>.surface{padding:26px}.band-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.band-grid button{border:1px solid var(--divider);min-height:48px;color:var(--ink);background:#fff;border-radius:14px;font-weight:700}.band-grid button.selected{border-color:var(--blue);background:#eef5ff}.orientation-card{grid-template-columns:120px 1fr;align-items:center;gap:18px;display:grid!important}.orientation-card .character-slot{background:0 0;min-height:130px}.seasonal-callout{border-radius:var(--radius-lg);background:#eaf6ff;grid-template-columns:minmax(220px,.6fr) 1fr;align-items:center;gap:24px;margin-top:24px;padding:20px;display:grid}.seasonal-callout .character-slot{max-height:260px}.hero-art{background:0 0;min-height:360px}@media (max-width:900px){.profile-settings,.seasonal-callout{grid-template-columns:1fr}.hero-art{min-height:300px}}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{gap:16px;width:min(100%,440px);padding:clamp(24px,5vw,44px);display:grid}.login-card form{gap:10px;display:grid}.login-card label{margin:8px 0 0}.login-card input{border:1px solid var(--divider);min-height:48px;font:inherit;border-radius:12px;padding:0 14px}.header-actions{align-items:center;gap:12px;display:flex}.logout-button{color:#fff;min-height:42px;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:999px;padding:8px 14px;font-weight:700}
