@font-face{font-family:'Outfit';src:url('fonts/Outfit.ttf') format('truetype');font-weight:100 900;font-display:swap}@font-face{font-family:'DM Sans';src:url('fonts/DMSans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--ink:#183d38;--muted:#697b72;--paper:#f7f7ef;--line:#e2e7db;--green:#2e6652;--lime:#deefad;--gold:#efc875;--white:#fff;--shadow:0 12px 40px #193c3610}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:15px}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ca9841;outline-offset:4px}a{color:var(--green)}h1,h2,h3,.brand,.display{font-family:'Outfit',system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,48px);line-height:1.09;letter-spacing:-1.5px;margin-bottom:16px;font-weight:600}h2{font-size:26px;font-weight:600;letter-spacing:-.7px;margin-bottom:10px}h3{font-size:18px;font-weight:600;margin-bottom:8px}p{line-height:1.65}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:12px}.tiny{font-size:12px}.skip{position:absolute;top:-60px;left:20px;z-index:99;padding:14px;background:#fff}.skip:focus{top:8px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{background:#fffef9;border-right:1px solid var(--line);padding:32px 24px;position:fixed;inset:0 auto 0 0;width:235px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:600;line-height:1.04;text-decoration:none;color:var(--ink)}.brand-icon{width:39px;height:43px;border-radius:13px;background:var(--green);display:grid;place-items:center;color:var(--lime);font-size:25px}.brand small{font-family:'DM Sans',sans-serif;display:block;font-size:9px;letter-spacing:2.3px;font-weight:600;margin-top:6px}.sidebar-label{font-size:10px;letter-spacing:1.8px;color:#98a396;margin:46px 12px 15px}.nav{display:grid;gap:8px}.nav button{border:0;background:transparent;text-align:left;color:#788479;padding:13px 15px;border-radius:12px;display:flex;gap:12px;align-items:center;font-size:13px;font-weight:600}.nav button.active{background:#eaf0df;color:var(--ink)}.nav button:hover{background:#f1f4e9}.nav-icon{font-size:19px;width:21px}.sidebar-bottom{margin-top:auto}.pip-card{margin-top:30px;background:#f1f3e7;border:1px solid #e4e8d9;border-radius:16px;padding:19px 16px}.pip-card .fox{font-size:35px;display:block;margin-bottom:9px}.pip-card p{font-size:12px;margin:6px 0 0;color:var(--muted)}.prototype{font-size:10px;letter-spacing:.6px;text-align:center;color:#899486;margin:18px 0 0}.body{grid-column:2;min-width:0}.topbar{height:91px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:16px}.breadcrumb{font-size:12px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:14px}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:25px;background:#fffef9;padding:9px 13px;font-size:12px;font-weight:600}.avatar-btn{border:1px solid #d9dfcd;background:#ecf0e1;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:30px;color:var(--ink)}.avatar-btn span:first-child{font-size:23px}.main{max-width:1440px;margin:auto;padding:35px 42px 26px}.welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.welcome h1{font-size:32px;letter-spacing:-.9px;margin-bottom:8px}.welcome p{font-size:13px;margin-bottom:0}.path-tag{border:1px solid #dce3ce;border-radius:8px;background:#f0f3e5;color:var(--green);padding:9px 11px;font-size:11px;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px}.hero{background:#e9eedb;border:1px solid #dce5c9;min-height:211px;border-radius:20px;padding:28px 30px;position:relative;overflow:hidden}.hero-copy{max-width:60%;position:relative;z-index:1}.hero h2{font-size:30px;line-height:1.1;max-width:340px;margin-bottom:11px}.hero p{font-size:12px;max-width:290px;color:#5d7059;margin-bottom:18px}.hero-deco{position:absolute;right:-7px;bottom:-10px;width:43%;height:100%;min-width:190px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;padding:12px 18px;background:var(--green);color:white;font-size:12px;font-weight:700;text-decoration:none;min-height:43px}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:#eef1e6;color:var(--ink);border:1px solid #dae2ce}.btn.ghost{background:transparent;color:var(--green);padding-left:0}.btn.gold{background:var(--gold);color:var(--ink)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:29px 0 15px}.section-head h2{font-size:20px;margin:0}.section-head span{color:var(--muted);font-size:11px}.map-card{position:relative;border-radius:20px;overflow:hidden;background:#edf0df;border:1px solid #e0e5d2;min-height:365px}.map-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-top{position:absolute;top:20px;left:22px;color:#63806b;font-size:9px;letter-spacing:2px}.map-node{position:absolute;transform:translate(-50%,-50%);text-align:center;border:0;background:transparent;padding:0;color:var(--ink);min-width:100px}.node-circle{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 8px;border:5px solid #fffdf3;border-radius:50%;box-shadow:0 4px 0 #223e3720;background:#cee2ac;font-size:26px;transition:transform .2s}.map-node:hover .node-circle{transform:translateY(-4px)}.map-node.locked{opacity:.6}.map-node.current .node-circle{outline:2px dashed #71935f;outline-offset:5px;background:#e6f1c3}.node-name{font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;display:block;background:#fffdf2d9;padding:3px 8px;border-radius:5px}.node-sub{font-size:9px;display:block;margin-top:4px;color:#57705e}.map-key{position:absolute;bottom:15px;left:20px;display:flex;gap:15px;font-size:9px;color:#637b64}.map-key span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#699455;margin-right:5px}.map-key span:last-child:before{background:#b0baa7}.right-rail{display:grid;gap:18px;align-content:start}.card{background:#fffef9;border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:0 2px 4px #193c3602}.card h3{font-size:17px}.daily{background:#173f37;color:#fff;border-color:#173f37;position:relative;overflow:hidden}.daily .eyebrow{color:#bdd49c;font-size:9px}.daily .big{font-family:'Outfit',sans-serif;font-size:32px;line-height:1;margin:15px 0 10px}.daily p{color:#c2d1c1;font-size:11px;line-height:1.7}.progress{height:6px;background:#ffffff25;border-radius:10px;overflow:hidden;margin:13px 0}.progress span{display:block;background:var(--lime);height:100%;border-radius:10px;max-width:100%}.daily .tiny{font-size:10px;color:#c1d5b2}.skill-row{display:flex;align-items:center;gap:11px;padding-top:15px}.skill-icon{width:34px;height:34px;background:#f2f1df;border-radius:10px;display:grid;place-items:center}.skill-row strong{font-size:11px;display:block}.skill-row small{font-size:10px;color:var(--muted)}.mini-track{height:4px;background:#e8ecdf;margin-top:6px;border-radius:5px;width:145px}.mini-track span{height:100%;display:block;background:#8cac72;border-radius:5px}.thought{padding:18px;background:#eeeedd;border:1px solid #e4e5d3;border-radius:14px}.thought p{font-size:11px;color:#728067;margin:6px 0 0}.thought strong{font-size:11px}.footer{display:flex;justify-content:space-between;gap:15px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line);font-size:10px;color:#89927f}.world-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.world-mini{background:#fffef8;padding:15px;border:1px solid var(--line);border-radius:13px;text-align:left;color:var(--ink)}.world-mini strong{font-size:12px;display:block;margin:8px 0 4px}.world-mini small{font-size:10px;color:var(--muted)}.world-mini .emoji{font-size:23px}.empty{padding:35px;text-align:center;border:1px dashed #cad4bd;border-radius:14px;color:var(--muted)}.full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.collection-card{min-height:170px}.collection-card .relic{font-size:42px;margin-bottom:14px}.collection-card.unearned{filter:grayscale(1);opacity:.6}.page-intro{max-width:700px;margin-bottom:27px}.page-intro p{color:var(--muted);font-size:14px}.panel-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.form-row{display:grid;gap:8px;margin-bottom:18px}.form-row label{font-size:12px;font-weight:600}input,select{border:1px solid #d2dbc8;padding:12px;border-radius:9px;background:#fffefa;color:var(--ink);max-width:100%}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.toggle-row input{width:20px;height:20px;accent-color:var(--green)}.modal-backdrop{position:fixed;inset:0;background:#0c292a83;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:20;padding:24px;overflow-y:auto}.modal{background:var(--paper);border:1px solid #fff7;border-radius:24px;padding:33px;max-width:730px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 30px 100px #001b2240}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.close{border:1px solid var(--line);border-radius:50%;background:#fffef7;color:var(--ink);width:34px;height:34px;font-size:20px}.band-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.band-option{border:1px solid #d9e0cd;background:#fffef7;border-radius:14px;padding:20px 15px;text-align:left;color:var(--ink)}.band-option.selected{border:2px solid var(--green);background:#e9f0da;padding:19px 14px}.band-option .emoji{font-size:28px}.band-option strong{display:block;font-family:'Outfit',sans-serif;font-size:17px;margin:12px 0 5px}.band-option small{display:block;line-height:1.5;font-size:11px;color:var(--muted)}.game-wrap{max-width:950px;margin:0 auto}.game-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.game-progress{display:flex;gap:7px}.game-dot{height:7px;width:32px;border-radius:6px;background:#dce3d0}.game-dot.done{background:#6c955c}.game-dot.now{background:var(--gold)}.quest-stage{background:#fffef8;border:1px solid var(--line);border-radius:22px;overflow:hidden}.scene{height:230px;position:relative;background:#e5eddb;overflow:hidden}.scene svg{width:100%;height:100%}.scene-caption{position:absolute;top:18px;left:23px;font-size:10px;letter-spacing:1px;text-transform:uppercase;background:#fffef4d9;border-radius:20px;padding:7px 12px}.scene-fox{position:absolute;bottom:22px;left:12%;font-size:47px;filter:drop-shadow(0 5px 0 #0001)}.question-area{padding:30px 36px}.question-area h2{font-size:23px;line-height:1.4;margin-bottom:20px;letter-spacing:-.3px}.visual{border:1px solid #e5e8da;border-radius:12px;background:#f5f6ec;padding:17px;margin-bottom:23px;min-height:65px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.unit-square{width:19px;height:19px;background:#c5d9a8;border:1px solid #9dbb7c;border-radius:3px}.dot-item{width:18px;height:18px;background:#82a773;border-radius:50%;display:inline-block}.dot-item.missing{background:#e5e9d8;border:1px dashed #a4b68c}.fraction-unit{width:38px;height:39px;background:#e0e5d6;border:1px dashed #9aaa86;border-radius:4px}.fraction-unit.filled{background:#8ba96c;border-style:solid}.visual-number{font-family:'Outfit',sans-serif;font-size:30px;letter-spacing:3px}.visual svg{max-height:135px;width:190px}.answer-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.answer-field{display:grid;gap:7px;flex:1;min-width:150px}.answer-field label{font-size:11px;color:var(--muted)}.answer-field input{font-family:'Outfit',sans-serif;font-size:25px;width:100%;min-height:55px}.answer-row .btn{min-height:55px;font-size:13px}.help-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:19px}.link-btn{border:0;background:transparent;color:var(--green);font-size:12px;padding:7px 0;text-decoration:underline;text-underline-offset:4px}.feedback{margin-top:18px;padding:17px 19px;border-radius:12px;background:#edf2e1;color:#365b31;line-height:1.6;font-size:13px}.feedback.wrong{background:#fff2d7;color:#775e29}.hint-box{background:#eef2e5;border-radius:12px;padding:18px;margin:17px 0;font-size:13px;line-height:1.7}.hint-box h3{font-size:15px}.hint-box p:last-child{margin-bottom:0}.choice-row{display:flex;gap:10px}.choice-row button{min-width:56px;min-height:50px;border:1px solid #d2dcc8;background:#f2f5e8;border-radius:10px;color:var(--ink);font-size:21px}.choice-row button.selected{background:#d2e5b3;border:2px solid var(--green)}.game-note{margin-top:16px;text-align:center;font-size:11px;color:var(--muted)}.complete{text-align:center;padding:30px 10px}.complete .relic{font-size:74px;margin-bottom:15px}.complete h1{font-size:37px}.complete .panel-row{justify-content:center;margin-top:25px}.stat-box{padding:22px;border:1px solid var(--line);background:#fffef9;border-radius:15px}.stat-number{font-family:'Outfit',sans-serif;font-size:35px;margin:8px 0}.report-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:15px}.report-table th,.report-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px}.report-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.8px}.notice{background:#edeedc;border-radius:12px;padding:16px 18px;font-size:12px;line-height:1.7;margin:20px 0}.research-list{display:grid;gap:16px}.research-list p{font-size:13px;margin-bottom:10px}.research-list a{font-size:12px}.badge{display:inline-block;background:#e7efda;color:#496537;padding:5px 8px;border-radius:6px;font-size:10px;margin-bottom:12px}.badge.hypothesis{background:#f8ead0;color:#8a6a29}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#173f37;color:#fff;padding:13px 20px;border-radius:12px;font-size:12px;box-shadow:var(--shadow);z-index:30;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.profile-list{display:grid;gap:12px;margin:20px 0}.profile-choice{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffef8;color:var(--ink);text-align:left}.profile-choice .emoji{font-size:27px;margin-right:12px}.profile-choice strong{display:block;font-size:14px}.profile-choice small{font-size:11px;color:var(--muted)}.danger{color:#9b4f34}.table-scroll{overflow:auto}.mobile-brand{display:none}.no-wrap{white-space:nowrap}
@media(min-width:1500px){.main{padding-top:45px}.hero{min-height:240px}.map-card{min-height:420px}}
@media(max-width:1150px){.sidebar{width:205px;padding:28px 17px}.shell{grid-template-columns:205px minmax(0,1fr)}.main{padding:28px 25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 235px;gap:17px}.card{padding:18px}.hero{padding:24px}.hero h2{font-size:27px}.hero-copy{max-width:65%}.hero-deco{right:-45px}.map-node{min-width:80px}.node-name{font-size:10px}.full-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.right-rail .thought{display:none}.hero-copy{max-width:64%}.hero-deco{right:0}.map-card{min-height:380px}.settings-grid{grid-template-columns:1fr}.welcome{flex-wrap:wrap}.welcome .path-tag{display:none}.top-actions .pill:first-child{display:none}}
@media(max-width:650px){.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;height:70px;width:100%;padding:5px 8px;background:#fffef9f5;border:0;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.sidebar>.brand,.sidebar-label,.sidebar-bottom{display:none}.nav{display:flex;justify-content:space-around;height:100%;gap:0}.nav button{flex:1;justify-content:center;gap:2px;font-size:9px;flex-direction:column;padding:5px 2px;border-radius:8px}.nav-icon{font-size:21px}.body{padding-bottom:70px}.topbar{height:73px;padding:0 18px}.breadcrumb{display:none}.mobile-brand{display:flex;font-size:17px}.mobile-brand .brand-icon{width:30px;height:34px;font-size:20px;border-radius:9px}.mobile-brand small{font-size:7px}.top-actions{gap:7px}.top-actions .pill{padding:7px 9px;font-size:10px}.avatar-btn{padding:5px 7px;font-size:10px}.avatar-btn span:first-child{font-size:20px}.main{padding:25px 18px}.welcome{margin-bottom:20px}.welcome h1{font-size:28px}.welcome p{font-size:12px}.hero{padding:24px;min-height:235px}.hero h2{font-size:28px}.hero-copy{max-width:70%}.hero p{font-size:11px}.hero-deco{right:-40px;min-width:175px;width:45%;opacity:.8}.hero .eyebrow{font-size:9px}.map-card{min-height:365px}.node-circle{width:49px;height:49px;font-size:22px;border-width:4px}.node-name{font-size:10px;padding:3px}.node-sub{font-size:8px}.map-node{min-width:73px;max-width:90px}.right-rail{gap:12px}.card{padding:17px}.daily h3{font-size:16px}.skill-row{gap:7px}.skill-icon{width:25px;height:28px}.mini-track{width:95px}.world-strip{gap:8px}.world-mini{padding:12px 9px}.world-mini strong{font-size:11px}.world-mini small{font-size:9px}.footer{font-size:9px;flex-wrap:wrap}.band-options{grid-template-columns:1fr}.band-option{padding:14px;display:grid;grid-template-columns:35px 1fr;column-gap:12px}.band-option.selected{padding:13px}.band-option strong{margin:0 0 4px;font-size:16px}.band-option small{grid-column:2}.band-option .emoji{grid-row:1/3}.modal-backdrop{padding:12px}.modal{padding:23px;border-radius:18px}.full-grid{grid-template-columns:1fr 1fr;gap:12px}.full-grid .card{padding:16px}.question-area{padding:23px 20px}.question-area h2{font-size:20px}.scene{height:180px}.game-top{gap:10px}.game-top .btn{padding:10px}.game-dot{width:23px}.answer-row .btn{width:100%;min-height:46px}.visual{padding:13px;gap:6px}.fraction-unit{width:27px;height:32px}.report-table th,.report-table td{padding:12px 8px}.complete h1{font-size:30px}.page-intro h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.reduced *{animation:none!important;transition:none!important}

