:root{--blue: #3d5cff;--blue-dark: #2b44c9;--gold: #ffb020;--gold-dark: #d98f0c;--green: #2fbf71;--green-dark: #219256;--red: #ff5a5f;--red-dark: #d43a3f;--purple: #8b5cf6;--purple-dark: #6d3fd1;--orange: #ff8a3d;--orange-dark: #d96a22;--ink: #232946;--ink-soft: #6b7194;--line: #e4e7f2;--bg: #f6f7fb;--card: #ffffff;--radius: 18px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-weight:700;-webkit-font-smoothing:antialiased}#root{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3{font-weight:900;letter-spacing:-.02em}p{color:var(--ink-soft);line-height:1.5}a{color:var(--blue);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border:none;border-radius:var(--radius);font:inherit;font-weight:900;font-size:17px;text-transform:uppercase;letter-spacing:.04em;color:#fff;cursor:pointer;background:var(--blue);box-shadow:0 4px 0 var(--blue-dark);transition:transform .06s,box-shadow .06s}.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--blue-dark)}.btn:disabled{background:var(--line);box-shadow:0 4px #cfd3e4;color:var(--ink-soft);cursor:not-allowed}.btn.green{background:var(--green);box-shadow:0 4px 0 var(--green-dark)}.btn.green:active{box-shadow:none}.btn.red{background:var(--red);box-shadow:0 4px 0 var(--red-dark)}.btn.red:active{box-shadow:none}.btn.ghost{background:#fff;color:var(--blue);box-shadow:0 4px 0 var(--line);border:2px solid var(--line)}@media (prefers-reduced-motion: reduce){.btn,.node-btn{transition:none}}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:18px}.screen{flex:1;padding:16px 16px calc(84px + env(safe-area-inset-bottom))}.screen:first-child{padding-top:calc(16px + env(safe-area-inset-top,0px))}.topbar{position:sticky;top:0;z-index:10;display:flex;gap:14px;align-items:center;justify-content:flex-end;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;background:var(--bg);border-bottom:2px solid var(--line)}.stat{display:flex;align-items:center;gap:5px;font-weight:900;font-size:15px}.stat.streak{color:var(--orange)}.stat.xp{color:var(--gold-dark)}.stat.energy{color:var(--red)}.unit-header{border-radius:var(--radius);padding:16px 18px;color:#fff;margin:20px 0 26px}.unit-header.blue{background:var(--blue);box-shadow:0 4px 0 var(--blue-dark)}.unit-header.orange{background:var(--orange);box-shadow:0 4px 0 var(--orange-dark)}.unit-header.purple{background:var(--purple);box-shadow:0 4px 0 var(--purple-dark)}.unit-header.green{background:var(--green);box-shadow:0 4px 0 var(--green-dark)}.unit-header.gold{background:var(--gold);box-shadow:0 4px 0 var(--gold-dark)}.unit-header.red{background:var(--red);box-shadow:0 4px 0 var(--red-dark)}.unit-header .unit-goal{font-weight:800;margin:4px 0 2px}.unit-header p{color:#ffffffd9;font-size:14px}.path{display:flex;flex-direction:column;align-items:center;gap:26px}.path-node{display:flex;flex-direction:column;align-items:center;gap:6px}.path-node:nth-child(4n+1){transform:translate(0)}.path-node:nth-child(4n+2){transform:translate(-56px)}.path-node:nth-child(4n+3){transform:translate(0)}.path-node:nth-child(4n){transform:translate(56px)}.node-btn{width:74px;height:74px;border-radius:50%;border:none;cursor:pointer;font-size:30px;color:#fff;display:grid;place-items:center;background:var(--blue);box-shadow:0 6px 0 var(--blue-dark);transition:transform .06s,box-shadow .06s}.node-btn:active{transform:translateY(6px);box-shadow:0 0 0 var(--blue-dark)}.node-btn.done{background:var(--gold);box-shadow:0 6px 0 var(--gold-dark)}.node-btn.locked{background:#d7dbea;box-shadow:0 6px #bfc4da;cursor:not-allowed}.node-btn.interview{background:var(--purple);box-shadow:0 6px 0 var(--purple-dark)}.node-label{font-size:13px;font-weight:800;color:var(--ink-soft);max-width:130px;text-align:center}.progressbar{display:block;height:14px;background:var(--line);border-radius:99px;overflow:hidden;flex:1}.progressbar>*{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .3s}.lesson-top{display:flex;align-items:center;gap:12px;margin-bottom:20px}.lesson-top .close{font-size:22px;color:var(--ink-soft);background:none;border:none;cursor:pointer}.bubble{background:#fff;border:2px solid var(--line);border-radius:20px 20px 20px 4px;padding:16px;font-size:18px;font-weight:800;line-height:1.45}.hint{margin-top:10px;font-size:14px;color:var(--ink-soft)}.rec-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin:26px 0}.rec-btn{width:92px;height:92px;border-radius:50%;border:none;cursor:pointer;font-size:38px;color:#fff;background:var(--blue);box-shadow:0 6px 0 var(--blue-dark);display:grid;place-items:center}.rec-btn.recording{background:var(--red);box-shadow:0 6px 0 var(--red-dark);animation:pulse 1.2s infinite}@keyframes pulse{50%{transform:scale(1.06)}}@media (prefers-reduced-motion: reduce){.rec-btn.recording{animation:none}}.timer{font-variant-numeric:tabular-nums;font-weight:900;font-size:18px;color:var(--ink-soft)}.feedback{border-radius:var(--radius);padding:18px;border:2px solid}.feedback.good{background:#eafaf1;border-color:var(--green)}.feedback.mid{background:#fff7e8;border-color:var(--gold)}.feedback.bad{background:#ffefef;border-color:var(--red)}.feedback h3{display:flex;justify-content:space-between;margin-bottom:8px}.feedback ul{margin:8px 0 0 18px;color:var(--ink);font-size:15px}.feedback .better{margin-top:12px;padding:12px;background:#ffffffb3;border-radius:12px;font-size:15px}.bottomnav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;display:flex;background:#fff;border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;font-size:11px;font-weight:800;color:var(--ink-soft)}.bottomnav a.active{color:var(--blue)}.bottomnav .icon{font-size:24px}.auth{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:calc(24px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px))}.auth input{width:100%;padding:14px 16px;border:2px solid var(--line);border-radius:14px;font:inherit;font-weight:700;background:#fff}.auth input:focus{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.logo{font-size:40px;font-weight:900;text-align:center;color:var(--blue)}.logo span{color:var(--gold)}.error{color:var(--red);font-weight:800;font-size:14px;text-align:center}.info{color:var(--green-dark);font-weight:700;font-size:14px;text-align:center}.danger-zone{border-color:var(--red)!important}.danger-zone h3{color:var(--red-dark)}.danger-zone .confirm{margin-top:12px;padding-top:12px;border-top:2px dashed var(--line)}.danger-zone .confirm input{width:100%;padding:14px 16px;border:2px solid var(--line);border-radius:14px;font:inherit;font-weight:700;background:#fff}.danger-zone .confirm input:focus{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.chatlog{display:flex;flex-direction:column;gap:10px;margin:16px 0}.msg{max-width:85%;padding:12px 14px;border-radius:16px;font-size:15px;font-weight:700}.msg.client{background:#fff;border:2px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.msg.me{background:var(--blue);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.locked-banner{text-align:center;padding:40px 20px}.locked-banner .big{font-size:56px}.journey-section{margin-bottom:26px}.journey-cat{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.journey-cat-icon{font-size:30px;line-height:1.2}.journey-cat h2{font-size:19px}.journey-cat p{font-size:13px}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.journey-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 0 var(--line);padding:14px;font:inherit;text-align:left;cursor:pointer;transition:transform .06s,box-shadow .06s}.journey-card:active{transform:translateY(4px);box-shadow:0 0 0 var(--line)}.journey-card.active{border-color:var(--blue);box-shadow:0 4px 0 var(--blue-dark)}.journey-icon{font-size:30px}.journey-title{font-weight:900;font-size:14px;line-height:1.3;color:var(--ink)}.journey-progress{display:flex;align-items:center;gap:8px;width:100%}.journey-progress .progressbar{height:10px}.journey-count{font-size:12px;font-weight:800;color:var(--ink-soft);white-space:nowrap}.journey-cta{font-size:12px;font-weight:900;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}.journey-card.active .journey-cta{color:var(--green)}.journey-soon{color:var(--ink-soft);text-align:center;font-weight:800;background:transparent;border-style:dashed}.soon-note{margin-top:10px;padding:8px 12px;border:2px dashed var(--line);border-radius:99px;color:var(--ink-soft);text-align:center;font-weight:800;font-size:13px}.journey-switch{display:flex;align-items:center;gap:10px;width:100%;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 0 var(--line);padding:12px 14px;font:inherit;cursor:pointer;margin-bottom:6px}.journey-switch-icon{font-size:24px}.journey-switch-title{flex:1;text-align:left;font-weight:900;font-size:15px;color:var(--ink)}.journey-switch-cta{font-size:12px;font-weight:900;color:var(--blue);text-transform:uppercase;white-space:nowrap}.choices{display:flex;flex-direction:column;gap:10px;margin-top:16px}.choice{width:100%;text-align:left;padding:14px 16px;font:inherit;font-weight:700;background:var(--card);border:2px solid var(--line);border-radius:14px;box-shadow:0 3px 0 var(--line);cursor:pointer;color:var(--ink);line-height:1.4}.choice:active{transform:translateY(3px);box-shadow:none}.choice.correct{background:#eafaf1;border-color:var(--green);box-shadow:0 3px 0 var(--green-dark)}.choice.wrong{background:#ffefef;border-color:var(--red);box-shadow:0 3px 0 var(--red-dark)}.choice.muted{opacity:.55}.choice:disabled{cursor:default}.answer-tabs{display:flex;gap:8px;margin-top:18px;background:var(--line);border-radius:99px;padding:4px}.answer-tabs button{flex:1;padding:9px 0;border:none;border-radius:99px;font:inherit;font-weight:900;font-size:14px;color:var(--ink-soft);background:transparent;cursor:pointer}.answer-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 2px 0 var(--line)}.text-answer{display:flex;flex-direction:column;gap:12px;margin-top:14px}.text-answer textarea{width:100%;padding:14px 16px;border:2px solid var(--line);border-radius:14px;font:inherit;font-weight:700;background:#fff;resize:vertical;line-height:1.5}.text-answer textarea:focus{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.chat-screen{display:flex;flex-direction:column}.chat-objective{font-size:13px;padding:10px 14px;margin-bottom:8px;color:var(--ink-soft)}.chat-scroll{flex:1;overflow-y:auto;min-height:200px}.chat-entry{display:flex;flex-direction:column;gap:6px}.chat-entry .msg.me{align-self:flex-end}.coach-chip{align-self:flex-end;max-width:85%;display:flex;gap:8px;align-items:flex-start;font-size:12px;font-weight:700;padding:8px 10px;border-radius:12px;border:1.5px dashed;line-height:1.4}.coach-chip.good{color:var(--green-dark);border-color:var(--green);background:#eafaf1}.coach-chip.mid{color:var(--gold-dark);border-color:var(--gold);background:#fff7e8}.coach-chip.bad{color:var(--red-dark);border-color:var(--red);background:#ffefef}.coach-score{flex-shrink:0;min-width:30px;text-align:center;border-radius:8px;background:#ffffffd9;padding:2px 4px;font-weight:900}.msg.typing{color:var(--ink-soft);font-style:italic}.chat-input{display:flex;gap:8px;align-items:flex-end;margin-top:8px}.chat-input textarea{flex:1;padding:12px 14px;border:2px solid var(--line);border-radius:14px;font:inherit;font-weight:700;background:#fff;resize:none;line-height:1.4}.chat-input textarea:focus{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.chat-send{width:54px;flex-shrink:0;padding:12px 0;font-size:18px}.xp-toast{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);background:var(--gold);color:#5b3c00;padding:10px 22px;border-radius:99px;font-weight:900;box-shadow:0 4px 0 var(--gold-dark);z-index:50}.primer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#2329468c}.primer-card{width:100%;max-width:420px}.primer-list{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:8px}.primer-list li{color:var(--ink-soft);font-size:14px;line-height:1.45}.notif-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:2px solid var(--line);cursor:pointer}.notif-row:last-of-type{border-bottom:none}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:52px;height:30px;border-radius:99px;background:var(--line);position:relative;cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .15s}.switch:checked{background:var(--green)}.switch:checked:after{transform:translate(22px)}.lang-switch{display:flex;gap:8px;background:var(--line);border-radius:99px;padding:4px;align-self:center}.lang-btn{flex:1;padding:8px 16px;border:none;border-radius:99px;font:inherit;font-weight:900;font-size:14px;color:var(--ink-soft);background:transparent;cursor:pointer;white-space:nowrap}.lang-btn.active{background:#fff;color:var(--blue);box-shadow:0 2px 0 var(--line)}.lang-btn:disabled{opacity:.6;cursor:default}.legal-links{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center}.legal-links a{font-size:13px;font-weight:800;color:var(--ink-soft)}.legal-links a:hover,.legal-links a:focus-visible{color:var(--blue);text-decoration:underline}.legal-consent{font-size:13px;text-align:center;line-height:1.45}.legal-consent a{font-weight:800;text-decoration:underline}.legal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.legal-back{background:none;border:none;font:inherit;font-weight:900;font-size:15px;color:var(--ink-soft);cursor:pointer;padding:4px 0}.legal-head .lang-switch{align-self:auto}.legal-head .lang-btn{padding:6px 12px;font-size:13px}.legal h1{font-size:26px}.legal h2{font-size:17px;margin:24px 0 8px}.legal p{font-size:15px;margin-bottom:10px;white-space:pre-line}.legal .legal-updated{font-size:13px;margin-top:6px}.legal .legal-intro{margin-top:14px;color:var(--ink)}.legal ul{margin:0 0 12px 20px}.legal li{font-size:15px;color:var(--ink-soft);line-height:1.5;margin-bottom:6px}.legal a{text-decoration:underline}.legal a.legal-item{text-decoration:none}.legal-warning{margin-top:16px;padding:12px 14px;border-radius:var(--radius);background:#fff7e8;border:2px solid var(--gold);color:var(--ink);font-size:14px;line-height:1.45}.legal-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--ink);font-size:16px}.legal-item span{color:var(--ink-soft);font-size:22px}
