:root{--honey:#EEBB58;--cocoa:#221A15;--cream:#FEFCF8;--brown:#934F00;--muted:#8b8780;--line:#e6e3dc;--green:#419849;--red:#dc514f;--blue:#319cac;--section:#EEBB58;--shadow:#934F00;font-family:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI",system-ui,sans-serif;color:var(--cocoa);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:var(--blue);text-decoration:none;font-weight:800}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #486EC4;outline-offset:4px}h1,h2,h3,p{margin:0 0 16px}h1{font-size:30px;line-height:1.2;letter-spacing:-.5px;font-weight:850}h2{font-size:23px;line-height:1.25;font-weight:850}h3{font-size:19px;font-weight:800}p{line-height:1.5}small,.muted{color:var(--muted)}small{font-size:12px;line-height:1.5}.label{font-size:12px;letter-spacing:1px;font-weight:850;text-transform:uppercase}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.btn{border:0;border-bottom:4px solid var(--brown);background:var(--honey);border-radius:14px;padding:15px 22px;min-height:52px;font-size:14px;font-weight:850;letter-spacing:1px;text-transform:uppercase;display:inline-flex;justify-content:center;align-items:center;gap:9px;transition:transform .12s,border .12s}.btn:active:not(:disabled){transform:translateY(3px);border-bottom-width:1px}.btn:disabled{background:#e8e6e1;color:#aaa69e;border-color:#d7d4ce}.btn.secondary{background:var(--cream);border:2px solid var(--line);border-bottom-width:4px;color:var(--blue)}.btn.white{background:white;border-color:#d5d5dd;color:#664d89}.btn.danger{background:var(--red);border-color:#a62f32;color:white}.btn.good{background:var(--green);border-color:#277a31;color:white}.btn.block{width:100%}.link-button{background:none;border:0;color:var(--blue);font-weight:850;font-size:13px;letter-spacing:.8px;text-transform:uppercase;padding:15px 6px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:7px;color:#99958e}.row{display:flex;align-items:center;gap:14px}.between{justify-content:space-between}.stack{display:grid;gap:14px}.center{text-align:center}.card{border:2px solid var(--line);border-radius:17px;padding:20px;background:var(--cream);margin-bottom:18px}.card h3{margin-bottom:8px}.card p{font-size:14px;color:#78736b;margin-bottom:12px}.progress{height:16px;border-radius:20px;background:#e9e6df;overflow:hidden;flex:1}.progress>span{display:block;background:var(--honey);height:100%;border-radius:inherit;min-width:0;transition:width .4s}.progress>span:after{content:'';display:block;height:5px;border-radius:4px;background:#fff5;position:relative;top:3px;margin:0 8px}.brand{font-size:23px;letter-spacing:-.7px;color:var(--cocoa);font-weight:850;display:flex;align-items:center;gap:9px}.brand-tile{width:34px;height:36px;border-radius:10px;background:var(--honey);border-bottom:3px solid var(--brown);display:inline-grid;place-items:center;letter-spacing:0}.shell{max-width:1280px;margin:auto}.rail{position:fixed;bottom:0;left:0;right:0;background:var(--cream);border-top:2px solid var(--line);z-index:30;padding:9px 5px max(9px,env(safe-area-inset-bottom));display:flex;justify-content:space-around}.rail .brand{display:none}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;letter-spacing:.3px;color:#a29e96;text-transform:uppercase;min-width:48px;padding:6px 2px;border:2px solid transparent;border-radius:12px;font-weight:850}.tab.active{color:#934F00;background:#FFF2D7;border-color:#f3d492}.tab .icon{width:27px;height:27px}.main{padding:0 18px 125px;max-width:650px;margin:auto}.main>h1{margin-top:28px}.right-column{display:none}.stats{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--cream);height:66px;border-bottom:2px solid var(--line);z-index:20;margin:0 -18px;padding:0 20px}.stat{background:none;border:0;display:flex;align-items:center;gap:6px;font-weight:850;font-size:16px;padding:8px 0;color:var(--muted)}.stat.fire.on{color:#F28C28}.stat.gems{color:var(--blue)}.stat.hearts{color:#e76067}.stat.flag{color:var(--section)}.unit-head{position:sticky;top:66px;z-index:15;margin:15px 0 12px;border-radius:15px;background:var(--section);color:white;padding:19px 16px;display:flex;align-items:center;gap:12px;border-bottom:4px solid var(--shadow)}.unit-head.honey{color:#5e360a}.unit-head h2{font-size:20px;margin:5px 0 0}.unit-head .label{opacity:.85;font-size:11px}.guide-btn{background:#fff1;border:2px solid #ffffff55;border-bottom:4px solid #0002;border-radius:12px;padding:9px;color:inherit;flex-shrink:0}.path-intro{display:flex;justify-content:center;gap:8px;align-items:center;color:var(--muted);font-size:12px;font-weight:750;padding:10px}.path{position:relative;padding:36px 0 14px;overflow:hidden}.path-node-wrap{height:108px;display:flex;align-items:center;justify-content:center;position:relative;transform:translateX(var(--offset))}.node{width:73px;height:69px;border-radius:50%;border:0;border-bottom:8px solid var(--shadow);background:var(--section);color:white;box-shadow:inset 0 2px 0 #fff4;position:relative;display:grid;place-items:center}.node:active{transform:translateY(5px);border-bottom-width:3px}.node.locked{background:#e7e5e0;border-color:#cbc8c0;color:#afaba3;box-shadow:none}.node.current{width:82px;height:78px;outline:7px solid #eee9de;outline-offset:6px;animation:node-pulse 2.5s ease-in-out infinite}.node.chest{background:transparent;border:0;width:87px;height:80px;box-shadow:none}.node.chest.locked{opacity:.38}.node.legendary{background:#b185cc;border-color:#765098}.start-bubble{position:absolute;bottom:91px;left:50%;transform:translateX(-50%);border:2px solid var(--line);border-radius:11px;padding:9px 14px;background:var(--cream);color:#ad740e;white-space:nowrap;font-size:14px;letter-spacing:.7px;font-weight:900;z-index:2;animation:bob 2s ease-in-out infinite}.start-bubble:after,.speech:after{content:'';position:absolute;width:12px;height:12px;transform:rotate(45deg);background:inherit;border-right:2px solid var(--line);border-bottom:2px solid var(--line);bottom:-8px;left:calc(50% - 7px)}.node-caption{position:absolute;bottom:-4px;font-size:10px;color:#a09b91;font-weight:750;white-space:nowrap}.path-friend{position:absolute;left:calc(50% + 53px);top:130px;pointer-events:none}.path-friend.left{left:calc(50% - 178px);top:455px}.section-break{border-top:2px solid var(--line);text-align:center;padding:27px 10px 5px;color:var(--muted)}.section-break h3{margin-bottom:8px}.section-break p{font-size:13px}.path-footer{font-size:11px;color:#9b968e;text-align:center;line-height:1.6;padding:55px 24px 10px}.next-section{margin-top:30px;background:#f3f1ec;border-color:#e4e0d8;color:#918b80}.quest{padding:14px 0;border-bottom:2px solid #eeeae2}.quest:last-child{border-bottom:0}.quest .row{margin-bottom:11px}.quest p{font-size:14px;font-weight:750;margin:0;color:var(--cocoa)}.quest .progress{height:18px}.quest small{display:block;margin-top:6px}.quest-icon{color:var(--honey)}.practice-card{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;width:100%;color:inherit;background:var(--cream);cursor:pointer}.practice-card.feature{background:#fff3d7;border-color:#efcf8e}.practice-card h2{margin:0 0 7px}.practice-card p{margin:0}.concept-row{padding:17px 0;border-bottom:2px solid var(--line);display:grid;gap:9px}.concept-row .progress{height:9px}.concept-row .progress>span{background:#8bc388}.league-hero{text-align:center;padding:28px 0 14px}.league-badge{color:#b67b49;filter:drop-shadow(0 5px 0 #825023);margin-bottom:17px}.league-strip{display:flex;gap:12px;justify-content:center;color:#d7d3cd;margin-bottom:20px}.rank-row{display:flex;align-items:center;gap:15px;padding:14px 12px;border-radius:13px;margin:3px 0}.rank-row.self{background:#FFF0CF;border:2px solid #edc572}.rank{width:24px;text-align:center;font-weight:850;color:#938b80}.avatar{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#ddeacf;color:#43644b;font-size:20px;font-weight:900;border-bottom:3px solid #0002;flex-shrink:0}.avatar.a1{background:#efd8cb;color:#975c43}.avatar.a2{background:#d9e6f8;color:#4b649b}.avatar.a3{background:#eddbf3;color:#8d5e9e}.avatar.a4{background:#f8e4b5;color:#946b1e}.avatar.a5{background:#d5eeed;color:#467b80}.rank-name{flex:1;font-weight:750}.rank-xp{white-space:nowrap;color:var(--muted);font-size:14px}.zone{color:var(--green);text-align:center;padding:16px 0;border-top:2px dashed #b9d7b7;border-bottom:2px dashed #b9d7b7;font-size:11px;letter-spacing:1.5px;font-weight:850;margin:10px 0}.zone.down{color:var(--red);border-color:#eebdb9}.shop-row{display:flex;gap:17px;padding:22px 0;border-bottom:2px solid var(--line)}.shop-row>.icon{margin-top:7px;color:#55afbf}.shop-row .shop-copy{flex:1}.shop-copy h3{margin-bottom:6px}.shop-copy p{font-size:14px;color:var(--muted)}.shop-copy .btn{min-height:43px;padding:9px 15px;color:var(--blue)}.promo{background:linear-gradient(120deg,#42395c,#775886);color:white;border:0;overflow:hidden}.promo p{color:#e4ddeb}.promo .label{color:#efd087}.profile-hero{padding:25px 0}.profile-avatar{width:100px;height:100px;border-radius:28px;background:#f8e2ac;border-bottom:5px solid #e4c077;display:grid;place-items:center;margin-bottom:18px}.profile-hero h1{margin:0 0 5px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.stat-tile{border:2px solid var(--line);border-radius:14px;padding:16px 12px;display:flex;align-items:center;gap:10px}.stat-tile strong{display:block;font-size:18px}.stat-tile small{display:block;font-size:11px;margin-top:3px}.achievements{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 26px}.badge{border:2px solid var(--line);border-radius:16px;display:grid;justify-items:center;gap:7px;padding:15px 4px;text-align:center}.badge .icon{color:#cbb9d6}.badge.earned .icon{color:var(--honey)}.badge strong{font-size:11px}.badge small{font-size:10px}.settings label{display:grid;gap:7px;font-weight:750;margin-bottom:20px}input,select,textarea{width:100%;padding:15px;border:2px solid var(--line);border-radius:12px;color:var(--cocoa);background:#f8f6f1;min-height:52px}input[type=checkbox]{width:23px;height:23px;min-height:0;accent-color:#c48a24}.settings label.row,.adult-check{display:flex;align-items:center;gap:12px}.privacy{font-size:13px;color:#827b70;line-height:1.6;padding-top:35px}.splash{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 24px 30px;text-align:center;gap:18px}.splash .brand{position:absolute;top:28px}.splash-art{margin-top:65px}.splash h1{max-width:470px;font-size:32px}.splash p{color:#948b7e;max-width:350px;font-size:17px}.splash-actions{display:grid;gap:14px;width:100%;max-width:365px}.splash small{margin-top:16px}.onboard,.session-page{min-height:100svh;padding:22px 20px 120px;max-width:760px;margin:auto}.session-top{display:flex;gap:13px;align-items:center;margin-bottom:27px}.session-top .progress{height:17px}.session-top .hearts{font-weight:850;color:#e76067;display:flex;gap:5px;align-items:center}.onboard .conversation{margin:0 auto 24px;max-width:600px}.conversation{display:flex;align-items:center;gap:12px;margin:22px 0}.speech{position:relative;border:2px solid var(--line);border-radius:16px;padding:17px 18px;line-height:1.5;font-size:17px;font-weight:700;flex:1}.speech:after{left:-8px;bottom:calc(50% - 7px);transform:rotate(135deg)}.choices{display:grid;gap:12px}.choice{width:100%;border:2px solid var(--line);border-bottom:4px solid var(--line);border-radius:14px;background:var(--cream);padding:15px;text-align:left;display:flex;align-items:center;gap:12px;font-weight:700;min-height:63px;line-height:1.4}.choice.selected{background:#fff1ce;border-color:#d7a038;color:#87540b}.choice .number{border:2px solid currentColor;border-radius:7px;width:25px;height:26px;display:grid;place-items:center;font-size:12px;opacity:.55;flex-shrink:0}.choice strong{flex:1}.choice small{font-size:12px;white-space:nowrap}.pinned{position:fixed;bottom:0;left:0;right:0;padding:18px 20px max(21px,env(safe-area-inset-bottom));border-top:2px solid var(--line);background:var(--cream);z-index:35}.pinned-inner{max-width:640px;margin:auto}.pinned .btn{width:100%}.session-page{max-width:850px;padding-top:22px}.exercise-content{max-width:620px;margin:auto}.instruction{font-size:24px;margin:25px 0 23px}.exercise-prompt{font-size:19px;font-weight:750;line-height:1.5;white-space:pre-line}.session-page .conversation .pip{width:95px;height:95px;flex-shrink:0}.session-page .speech{font-size:16px;padding:16px}.scenario{border:2px solid #e8d4a7;background:#fff7e5;border-radius:18px;padding:23px;font-size:18px;line-height:1.6;margin:15px 0 24px}.scenario .label{color:#b58223;margin-bottom:10px}.exercise-content .choices{margin-bottom:20px}.exercise-content .choice{font-size:15px;padding:14px}.word-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:26px 0}.tile{background:var(--cream);border:2px solid var(--line);border-bottom:4px solid var(--line);border-radius:12px;padding:12px 16px;font-weight:700;font-size:15px}.tile.used{color:transparent;background:#ebe7df;border-color:#ebe7df}.answer-line{min-height:110px;border-top:2px solid var(--line);border-bottom:2px solid var(--line);padding:15px 0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;margin-top:28px}.match-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin:24px 0}.match-col{display:grid;gap:12px}.match-card{min-height:104px;border:2px solid var(--line);border-bottom:4px solid var(--line);border-radius:13px;background:var(--cream);padding:12px 9px;font-size:13px;line-height:1.4;font-weight:700}.match-card.selected{border-color:#e4b654;background:#fff0ce}.match-card.matched{background:#f0efeb;color:#bfbbb3;border-color:#e9e7e1}.combo{font-size:12px;text-align:center;color:#c17b13;font-weight:850;letter-spacing:.7px;margin:-12px 0 15px;min-height:16px}.feedback{background:#dff0d8;border-color:#c0dfb6;color:#2c8035;animation:slide-up .2s ease-out}.feedback.wrong{background:#ffe2e0;border-color:#f0bab6;color:#ba3839}.feedback-inner{max-width:700px;margin:auto;display:flex;align-items:center;gap:17px}.feedback-copy{flex:1}.feedback h2{font-size:23px;margin-bottom:5px}.feedback p{font-size:14px;margin:0;max-height:110px;overflow:auto;white-space:pre-line}.feedback .btn{margin-top:17px}.celebration{min-height:100svh;max-width:680px;margin:auto;padding:45px 22px 130px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.celebration h1{color:#ca922e;margin-top:18px}.celebration .stats-grid{width:100%;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.result-stat{border:2px solid var(--honey);border-radius:15px;overflow:hidden;animation:slide-up .6s both}.result-stat:nth-child(2){animation-delay:.15s;border-color:#8abe73}.result-stat:nth-child(3){animation-delay:.3s;border-color:#6cacc6}.result-stat label{display:block;background:#f3c96e;font-size:10px;font-weight:850;padding:9px}.result-stat:nth-child(2) label{background:#b1d69d}.result-stat:nth-child(3) label{background:#a3d1df}.result-stat strong{display:block;padding:18px 3px;font-size:22px}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-20px;left:var(--x);width:9px;height:16px;background:var(--c);animation:confetti 3.2s var(--d) infinite ease-in}.big-flame{color:#F28C28;animation:bob 2s infinite}.week{display:flex;justify-content:center;gap:11px;margin:28px 0}.week-day{display:grid;gap:10px;font-size:12px;color:#a69d91}.week-day b{width:33px;height:33px;display:grid;place-items:center;background:#eee9df;border-radius:50%;color:#c4baac}.week-day.lit b{background:#F28C28;color:white}.week-day.frozen b{background:#67adce;color:white}.paywall{min-height:100svh;background:linear-gradient(145deg,#fff4d8 0%,#eee1f4 60%,#d3e3db 100%);padding:20px 20px 40px}.paywall-inner{max-width:580px;margin:auto}.paywall h1{font-size:31px}.paywall .pip{display:block;margin:auto}.plus-title{font-size:12px;letter-spacing:2px;font-weight:900;color:#77517e;text-transform:uppercase;margin-bottom:15px}.features{width:100%;border-collapse:collapse;margin:24px 0}.features th{font-size:12px;text-align:center;color:#786389}.features th:first-child{width:66%;text-align:left}.features td{padding:10px 4px;border-bottom:1px solid #ddd1df;font-size:13px;line-height:1.4}.features td:not(:first-child){text-align:center;font-size:20px;font-weight:850;color:#805391}.price-box{border:2px solid #9475a8;border-radius:16px;background:#fff8;padding:15px;text-align:center;margin:20px 0}.price-box strong{font-size:27px}.price-box p{margin:5px 0 0;font-size:13px}.paywall .btn{background:#7c548f;color:white;border-color:#52355f}.paywall .link-button{width:100%;color:#745083}.sheet-backdrop{position:fixed;inset:0;background:#221a1566;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding-top:25px}.sheet{background:var(--cream);border-radius:24px 24px 0 0;padding:23px;max-height:92svh;overflow:auto;width:100%;max-width:600px;box-shadow:0 -8px 60px #221a1522;animation:slide-up .2s}.sheet .handle{height:5px;width:42px;border-radius:10px;background:#d8d3ca;margin:-9px auto 19px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sheet-head h2{margin:0}.sheet .row>.btn{flex:1;padding:12px 8px}.sheet .btn{margin-top:8px}.sheet .pip{display:block;margin:auto}.guidebook{padding-bottom:20px}.guidebook p{font-size:15px}.guidebook h3{margin-top:26px}.guidebook .source{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}.guidebook .source span{color:#908879;display:block;margin-top:5px}.guide-note{padding:14px;border-radius:12px;background:#fff0cf;font-size:13px;margin:20px 0}.result-page{padding-top:26px}.result-page .result-body{font-size:15px;line-height:1.65}.result-page h1{font-size:27px}.result-page .dimension{margin:20px 0}.result-page .dimension strong{font-size:14px}.result-page .dimension .progress{margin:8px 0;height:12px}.result-page .dimension p{font-size:13px;color:var(--muted)}#poc{position:fixed;bottom:90px;right:12px;z-index:45;border:2px solid #d7caaa;border-bottom:4px solid #c7b58d;border-radius:12px;padding:8px 11px;background:#fff8e9;color:#836223;font-size:11px;font-weight:900;letter-spacing:1px;box-shadow:0 3px 12px #221a1510}body.fullscreen #poc{bottom:105px;right:8px;font-size:9px;padding:5px 7px}#toast{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100% - 30px);padding:14px 20px;background:var(--cocoa);color:white;border-radius:14px;box-shadow:0 4px 20px #0002;display:none;font-size:14px;line-height:1.4}#toast.show{display:block}.empty{padding:30px 8px;text-align:center}.empty h3{margin-top:14px}.empty p{font-size:14px;color:var(--muted)}.profile-form{max-width:450px;width:100%;display:grid;gap:15px;margin:22px auto}.profile-form .adult-check{text-align:left;font-size:14px;line-height:1.5}.profile-create{padding-top:25px}.profile-create .privacy{margin-top:38vh}.toggle-line{display:flex;justify-content:space-between;align-items:center;margin:17px 0}.reading{line-height:1.65}.small-note{font-size:12px;color:#91887a;line-height:1.5}.section-menu{display:grid;gap:12px}.section-menu button{width:100%;text-align:left}.legendary-link{display:block;text-align:center;margin:8px auto 20px;color:#9768a7}.storage-warning{padding:10px;background:#fff0cf;font-size:12px}.no-wrap{white-space:nowrap}
@media(min-width:700px){.onboard{padding-top:40px}.onboard .choices{max-width:530px;margin:auto}.pinned{padding:22px}.pinned-inner{display:flex;justify-content:flex-end}.pinned .btn{max-width:320px}.feedback .pinned-inner{display:block}.feedback .btn{display:flex;margin-left:auto}.session-page{padding-top:32px}.session-top{margin-bottom:45px}.exercise-content .choices{grid-template-columns:1fr 1fr}.exercise-content .choice{min-height:86px}.match-card{min-height:108px}.celebration{padding-top:50px}.sheet-backdrop{align-items:center;padding:30px}.sheet{border-radius:24px;max-height:85svh}.splash h1{font-size:39px}.splash-art .pip{width:250px;height:250px}}
@media(min-width:1024px){.shell{display:grid;grid-template-columns:220px minmax(390px,610px) 320px;gap:28px;padding:0 28px 0 0}.rail{position:fixed;top:0;bottom:0;right:auto;width:220px;border-top:0;border-right:2px solid var(--line);display:flex;flex-direction:column;justify-content:flex-start;gap:12px;padding:33px 15px}.rail .brand{display:flex;font-size:19px;margin:0 0 27px}.rail .brand-tile{width:28px;height:30px;font-size:20px}.tab{flex-direction:row;justify-content:flex-start;padding:13px 17px;gap:17px;font-size:13px;border-radius:13px;min-height:58px}.tab .icon{width:31px;height:31px}.main{grid-column:2;width:100%;padding:0 0 70px;min-width:0}.stats{margin:0;padding:0 12px}.right-column{display:block;grid-column:3;padding-top:30px;position:sticky;top:0;align-self:start;max-height:100svh;overflow:auto;scrollbar-width:none}.right-column .stats{height:auto;border:0;position:static;padding:0;flex-wrap:wrap;gap:12px}.right-column .card{padding:20px}.right-column .card h3{font-size:19px}.unit-head{margin-top:24px}.path-node-wrap{height:110px}.path-friend{left:calc(50% + 70px)}.path-friend.left{left:calc(50% - 203px)}#poc{bottom:20px;right:22px}.main>h1{margin-top:30px}.stats-grid{gap:13px}.tab:hover{background:#f4f0e7}.splash{flex-direction:row;gap:65px}.splash .brand{top:40px;left:55px}.splash-art{margin-top:0}.splash-art .pip{width:330px;height:330px}.splash-copy{max-width:390px}.splash h1{font-size:35px}.splash-actions{max-width:none}.splash p{margin:0 auto 26px}.splash small{display:block}.right-column .quest p{font-size:12px}.right-column .quest .icon{width:25px;height:25px}}
@media(min-width:1280px){.rail{left:calc(50% - 640px)}.shell{grid-template-columns:230px minmax(430px,610px) 320px;gap:34px}.rail{width:230px}.unit-head{padding:21px}.main{padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@keyframes node-pulse{50%{outline-color:#edddba}}@keyframes bob{50%{transform:translateY(-5px)}}.start-bubble{animation:none}.pip-celebrating .pip-body{transform-origin:110px 180px;animation:cheer .7s ease-in-out infinite alternate}@keyframes cheer{to{transform:rotate(-5deg) translateY(-6px)}}@keyframes slide-up{from{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes confetti{to{transform:translateY(100vh) rotate(600deg)}}

.streak-number{display:inline-block}.streak-number.counted{animation:count-up .4s ease-out}@keyframes count-up{from{transform:translateY(12px) scale(.8);opacity:.3}to{transform:translateY(0) scale(1);opacity:1}}

/* v2.1: tracks as courses, Duolingo path details */
.track-tile{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;border-bottom:4px solid;flex:none}
.track-tile.small{width:34px;height:34px;border-radius:10px;border-bottom-width:3px}
.stat.flag{padding:0}
.track-menu .choice{align-items:center}
.track-menu .choice.current{border-color:var(--honey);background:#FFF2D7}
.track-menu .choice strong small{display:block;font-weight:600;color:var(--muted);font-size:12px;margin-top:3px}
.unit-divider{display:flex;align-items:center;gap:12px;margin:30px 0 4px;color:#a09b91;font-weight:850;font-size:12px;letter-spacing:.7px;text-transform:uppercase}
.unit-divider::before,.unit-divider::after{content:'';flex:1;height:2px;background:var(--line)}
.jump-pill{border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;background:var(--cream);color:#ad740e;font-weight:900;font-size:11px;letter-spacing:.7px;padding:7px 11px}
.node.legendary{background:#f6c344;border-color:#c98d0c;color:#7a4d00;box-shadow:inset 0 2px 0 #fff8}
.node.legendary.locked{background:#e7e5e0;border-color:#cbc8c0;color:#afaba3;box-shadow:none}
.node.legendary.done{background:#f0a41f;border-color:#a56a00;color:#fff}
@media(max-width:1023px){.tab span{display:none}.tab{min-width:54px;padding:9px 6px;border-radius:14px}.tab svg{width:30px;height:30px}}

/* ===== v2.2 identity: Psychology.com Learn. Warm, editorial, unmistakably ours. ===== */
:root{--honey:#EEBB58;--cocoa:#221A15;--cream:#FEFCF8;--paper:#F6F1E7;--brown:#934F00;--cedar:#1F3A30;--terra:#B5462F;--slate:#3E5C76;--muted:#7C7469;--line:#E8E1D4;--green:#1F3A30;--red:#B5462F;--blue:#934F00;--section:#EEBB58;--shadow:#934F00;font-family:"Inter","SF Pro Text","Segoe UI",system-ui,sans-serif}
h1,h2,h3,.splash h1,.celebration h1,.profile-hero h1,.paywall h1,.sheet-head h2,.unit-head h2,.speech{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;font-weight:700;letter-spacing:-.2px}
h1{font-size:32px}h2{font-size:24px}h3{font-size:19px}.splash h1{font-size:38px}
.label{font-weight:700;letter-spacing:1.2px;font-size:11px}
.btn{border:0;border-bottom:0;border-radius:999px;background:var(--honey);color:var(--cocoa);box-shadow:0 2px 0 #c9922e,0 10px 22px -12px #934f0088;text-transform:none;letter-spacing:0;font-weight:700;font-size:16px;padding:15px 26px}
.btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 #c9922e}
.btn:disabled{background:var(--paper);color:#b8b0a3;box-shadow:none}
.btn.secondary{background:var(--cream);color:var(--brown);border:1.5px solid var(--line);box-shadow:0 2px 0 var(--line)}
.btn.white{background:var(--cream);color:var(--brown);box-shadow:0 2px 0 var(--line)}
.btn.small{padding:10px 18px;min-height:40px;font-size:14px}
.link-button{color:var(--brown);text-transform:none;letter-spacing:0;font-size:14px;font-weight:700}
.card{border:1.5px solid var(--line);border-radius:20px;background:var(--cream);box-shadow:0 12px 30px -24px #221a1566}
.choice,.tile,.match-card{border:1.5px solid var(--line);border-bottom-width:1.5px;border-radius:16px;background:var(--cream);box-shadow:0 2px 0 var(--line);font-weight:600}
.choice.selected,.tile.selected,.match-card.selected{background:#FFF4DA;border-color:var(--honey);box-shadow:0 2px 0 var(--honey);color:var(--cocoa)}
.match-card.matched{background:var(--paper);color:#b8b0a3;border-color:var(--line);box-shadow:none}
.choice .number{border-radius:999px;border-color:var(--line);opacity:1;color:var(--muted);background:var(--paper)}
.speech{border:1.5px solid var(--line);border-radius:18px 18px 18px 6px;background:var(--paper);font-weight:600;font-size:18px}
.progress{background:var(--paper);height:12px}.progress>span{background:var(--honey)}
.feedback{background:#E7F0EA;border-color:#cfe0d5;color:var(--cedar)}.feedback .btn{background:var(--cedar);color:#fff;box-shadow:0 2px 0 #112620}
.feedback.wrong{background:#F9E7E2;border-color:#f0cfc6;color:var(--terra)}.feedback.wrong .btn{background:var(--terra);color:#fff;box-shadow:0 2px 0 #7d2e1e}
.combo{color:var(--brown)}
.stats{border-bottom:1.5px solid var(--line)}.stat{font-weight:700;color:var(--muted)}.stat.fire.on{color:#D9762B}.stat.gems{color:var(--slate)}.stat.hearts,.session-top .hearts{color:var(--terra)}
.rail{border-top:1.5px solid var(--line)}.tab{color:#a9a196;border-radius:999px}.tab.active{color:var(--cocoa);background:var(--paper);border-color:transparent}
.unit-head{border-bottom:0;border-radius:20px;box-shadow:0 16px 32px -20px var(--shadow);padding:20px 18px;overflow:hidden;color:#fff}
.unit-head.honey{color:var(--cocoa)}
.unit-head.has-art::after{content:'';position:absolute;top:0;right:0;bottom:0;width:48%;background:var(--art) center/cover no-repeat;-webkit-mask:linear-gradient(90deg,transparent,#000 60%);mask:linear-gradient(90deg,transparent,#000 60%);opacity:.95;pointer-events:none}
.unit-head>*{position:relative;z-index:1}
.unit-head-link{text-decoration:none}
.guide-btn{border:1.5px solid #ffffff77;border-bottom-width:1.5px;border-radius:14px;background:#ffffff33;backdrop-filter:blur(6px)}
.unit-head.honey .guide-btn{border-color:#00000022;background:#ffffff66}
.node{border:0;border-bottom:0;box-shadow:0 3px 0 var(--shadow),0 12px 24px -14px var(--shadow);width:70px;height:70px}
.node.locked{background:var(--paper);color:#b8b0a3;box-shadow:0 2px 0 var(--line);border:2px dashed #d9d1c2}
.node.done{background:var(--cocoa);color:var(--honey);box-shadow:0 3px 0 #000,0 12px 24px -14px #000}
.node.current{width:80px;height:80px;outline:3px solid var(--honey);outline-offset:6px;animation:node-pulse 2.4s ease-in-out infinite}
@keyframes node-pulse{50%{outline-color:transparent}}
.node.chest,.node.chest.locked{box-shadow:none;border:0;background:transparent}
.node.chest{color:var(--brown)}.node.chest.locked{color:#c9c2b5;opacity:1}
.node.legendary{background:#F5D98F;color:var(--brown);box-shadow:0 3px 0 #c9922e}.node.legendary.done{background:var(--honey);color:var(--cocoa)}.node.legendary.locked{background:var(--paper);color:#b8b0a3;box-shadow:0 2px 0 var(--line);border:2px dashed #d9d1c2}
.start-bubble{border:1.5px solid var(--line);color:var(--brown);border-radius:999px;box-shadow:0 2px 0 var(--line);letter-spacing:.4px;font-size:13px}
.node-caption{color:var(--muted);letter-spacing:.6px;font-weight:700}
.unit-divider{color:#a9a196;letter-spacing:.9px}
.jump-pill{border-radius:999px;color:var(--brown);border:1.5px solid var(--line);border-bottom-width:1.5px;box-shadow:0 2px 0 var(--line)}
.promo{background:linear-gradient(135deg,#2a1f18,#4a2e14);color:#fff}
.paywall{background:linear-gradient(180deg,#FFF1CF,#FEFCF8 62%);color:var(--cocoa)}.paywall h1{color:var(--cocoa)}.paywall .link-button{color:var(--brown)}.plus-title{color:var(--brown)}
.features th{color:var(--brown)}.price-box{border-color:var(--honey);background:#fff}
.result-stat{border-color:var(--line)}.celebration h1{color:var(--cocoa)}.big-flame{color:#D9762B}
.sheet{border-radius:26px 26px 0 0}
.review-card{display:flex;align-items:center;gap:14px;text-align:left;width:100%;background:#FFF4DA;border-color:#f1d79a;margin-top:14px}.review-card strong{display:block}.review-card small{display:block;color:var(--muted)}.review-icon{color:#D9762B;flex:none}
.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}.image-choice{position:relative;border:1.5px solid var(--line);border-radius:18px;overflow:hidden;background:var(--cream);padding:0;box-shadow:0 2px 0 var(--line);aspect-ratio:4/3}.image-choice img{width:100%;height:100%;object-fit:cover;display:block}.image-choice .number{position:absolute;left:10px;bottom:10px;background:var(--cream);border-radius:999px;width:26px;height:26px;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted)}.image-choice.selected{border-color:var(--honey);box-shadow:0 0 0 3px #eebb5877}
.listen-box,.speak-box{display:flex;gap:16px;align-items:center;border:1.5px solid var(--line);border-radius:20px;padding:18px;background:var(--paper);margin-bottom:20px;text-align:left}.listen-box small,.speak-box small{display:block;margin-top:4px;color:var(--muted)}.speak-box .exercise-prompt{margin:6px 0 0;font-style:italic}
.play-btn,.mic-btn{width:78px;height:78px;border-radius:999px;border:0;background:var(--honey);color:var(--cocoa);display:grid;place-items:center;box-shadow:0 3px 0 #c9922e;flex:none}.mic-btn.live{background:var(--terra);color:#fff;box-shadow:0 0 0 8px #b5462f33}.mic-btn:disabled,.play-btn:disabled{background:var(--paper);color:#b8b0a3;box-shadow:none}
.course-grid{display:grid;gap:16px;margin-top:18px}.course-card{border:1.5px solid var(--line);border-radius:20px;overflow:hidden;background:var(--cream);box-shadow:0 12px 30px -24px #221a1566}.course-card img,.course-art-tile{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.course-art-tile{display:grid;place-items:center;color:#fff}.course-body{padding:16px 18px 18px}.course-body h3{margin:6px 0 10px}.course-card.reviewed{border-color:var(--honey)}
.guide-art{width:100%;border-radius:16px;aspect-ratio:4/3;object-fit:cover;margin:0 0 14px;display:block}
.track-tile{border-bottom:0;box-shadow:0 2px 0 #0002;border-radius:14px}.track-tile.small{border-radius:10px}
.brand-tile{border-radius:10px;box-shadow:0 2px 0 #c9922e}
@media(min-width:700px){.course-grid{grid-template-columns:1fr 1fr}}
.features td{color:var(--cedar)}.features td:not(:first-child){color:var(--cedar)}.features th:first-child{color:var(--brown)}

/* keyboard layer */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
.key{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:1.5px solid var(--line);border-bottom-width:2.5px;border-radius:7px;background:var(--cream);font:700 11px/1 "Inter","SF Pro Text","Segoe UI",system-ui,sans-serif;color:var(--muted);flex:none;letter-spacing:0;text-transform:none}
.key.inv{border-color:#0002;background:#00000012;color:inherit;margin-left:10px;height:20px;min-width:20px;font-size:10px}
.feedback .key.inv{border-color:#ffffff55;background:#ffffff22}
.tile .key{margin-right:8px;vertical-align:middle}
.match-card{position:relative}.match-card .key{position:absolute;top:7px;left:7px}
.choice .number{font-family:"Inter","SF Pro Text","Segoe UI",system-ui,sans-serif;border-radius:7px;border-bottom-width:2.5px}
.key-hints{display:none;gap:16px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--muted);margin:0 0 12px}
.key-hints span{display:inline-flex;align-items:center;gap:6px}
.path-keys{margin:12px 0 2px}
.kb-only{display:none}
.kb .kb-only{display:inline-grid}.kb .key-hints{display:flex}
@media(min-width:700px){.kb-only{display:inline-grid}.key-hints{display:flex}}
.key-table{display:grid;gap:10px;margin-top:8px}.key-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;font-size:14px;padding:8px 0;border-bottom:1px solid var(--line)}.key-row em{font-style:normal;color:var(--muted);margin:0 2px}.key-row>span:first-child{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.pinned-inner{flex-wrap:wrap}.key-hints{width:100%}
@media(min-width:700px){.pinned .key-hints{justify-content:flex-end}.feedback .key-hints{justify-content:flex-start;margin:6px 0 10px}}
/* room for the pinned footer plus key hints: nothing scrollable may hide under it */
.session-page,.onboard{padding-bottom:190px}
.kb .session-page,.kb .onboard{padding-bottom:240px}
@media(min-width:700px){.session-page,.onboard,.kb .session-page,.kb .onboard{padding-bottom:170px}}
