:root{color:#f5f7ff;--bg:#070916;--panel:#0d1124;--line:#252c4c;--muted:#8e97b8;--cyan:#41d9ff;--violet:#7b5cff;--magenta:#ef4fcb;--grad:linear-gradient(135deg,#ef4fcb 0%,#7b5cff 48%,#41d9ff 100%);background:#070916;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 5%,#4f5aff29,transparent 28%),radial-gradient(circle at 10% 90%,#ef4fcb17,transparent 26%),var(--bg);min-height:100vh;margin:0}button,textarea,input{font:inherit}.app-shell{grid-template-columns:270px 1fr;min-height:100vh;display:grid}.sidebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070916e6;border-right:1px solid #7c89be2e;flex-direction:column;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0}.brand-wrap{align-items:center;gap:13px;margin-bottom:38px;display:flex}.brand-mark{background:var(--grad);border-radius:14px;place-items:center;width:48px;height:48px;font-size:23px;font-weight:900;animation:4s ease-in-out infinite float;display:grid;box-shadow:0 10px 34px #7054ff3d}.brand{letter-spacing:-.8px;font-size:25px;font-weight:850}.brand span{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.tagline{color:var(--muted);max-width:180px;margin-top:3px;font-size:10px;line-height:1.35}.sidebar nav{gap:8px;display:grid}.sidebar nav button,.ghost,.primary,.tabs button,.back-link{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:all .22s;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#11162b;border-color:#293153;transform:translate(3px)}.sidebar nav button.active{box-shadow:inset 3px 0 #7b5cff}.sidebar-progress{background:linear-gradient(#141834e6,#0b0e1fe6);border:1px solid #252c4c;border-radius:14px;margin-top:auto;padding:16px}.sidebar-progress span,.eyebrow,.result-label{letter-spacing:.16em;color:#7d88ad;font-size:11px}.sidebar-progress strong{margin:7px 0 10px;font-size:13px;display:block}.progress{background:#1d2341;border-radius:99px;height:6px;overflow:hidden}.progress i{background:var(--grad);height:100%;transition:width .6s;display:block}.reset-link{color:#70799a;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:13px;padding:0;font-size:11px;display:flex}.content{width:100%;max-width:1500px;margin:0 auto;padding:34px}.panel{background:linear-gradient(#11162ded,#0a0d1ded);border:1px solid #727fb433;border-radius:22px;box-shadow:0 18px 50px #00000038}.hero{flex-direction:column;justify-content:center;min-height:430px;padding:56px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";background:var(--grad);filter:blur(100px);opacity:.18;border-radius:50%;width:360px;height:360px;animation:7s ease-in-out infinite alternate drift;position:absolute;top:-100px;right:-80px}.signal-orbit{border:1px solid #41d9ff1f;border-radius:50%;width:190px;height:190px;animation:14s linear infinite spin;position:absolute;top:15%;right:10%}.signal-orbit:before,.signal-orbit:after{content:"";background:var(--cyan);box-shadow:0 0 22px var(--cyan);border-radius:50%;position:absolute}.signal-orbit:before{width:7px;height:7px;top:50%;left:-4px}.signal-orbit:after{background:var(--magenta);width:5px;height:5px;top:20px;right:20px}.hero h1{letter-spacing:-.055em;max-width:850px;margin:14px 0 20px;font-size:clamp(44px,6vw,84px);line-height:.95}.hero h1 span{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.hero p,.section-copy{color:#aab1cf;max-width:760px;font-size:17px;line-height:1.6}.section-copy{margin:8px 0 0;font-size:14px}.hero-actions,.share-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.primary,.ghost{justify-content:center}.primary{background:var(--grad);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:13px 18px;font-weight:750;transition:all .2s;box-shadow:0 10px 26px #7153ff33}.primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px #7153ff52}.ghost{color:#d8dcf0;border-color:#31395f}.primary.small,.ghost.small{padding:10px 14px;font-size:13px}.morse-stream{color:#69ddff;letter-spacing:.2em;opacity:.6;font-family:Courier New,monospace;animation:3s ease-in-out infinite signal;position:absolute;bottom:28px;right:40px}.stats-row,.lesson-grid,.mode-grid{gap:18px;margin-top:18px;display:grid}.stats-row{grid-template-columns:repeat(4,1fr)}.mini-stat{padding:18px;transition:all .2s}.mini-stat:hover{border-color:#36426d;transform:translateY(-3px)}.mini-stat span{color:#7d88ad;letter-spacing:.12em;font-size:10px;display:block}.mini-stat strong{margin-top:8px;font-size:24px;display:block}.section-head{justify-content:space-between;align-items:end;margin:4px 0 22px;display:flex}.section-head h2{margin:6px 0 0;font-size:38px}.status{color:#68dcff;background:#0d202b;border:1px solid #244f63;border-radius:999px;padding:8px 11px;font-size:12px}.status.magenta{color:#ff79dc;background:#241222;border-color:#61315a}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson{cursor:pointer;padding:22px;transition:all .25s;position:relative;overflow:hidden}.lesson:not(.locked):hover{border-color:#69d9ff8c;transform:translateY(-5px);box-shadow:0 22px 50px #4380ff21}.lesson.current{border-color:#69d9ff80}.lesson.done{border-color:#41d9ff38}.lesson.locked{cursor:not-allowed;filter:grayscale();opacity:.42;box-shadow:none;background:linear-gradient(#11131a,#0b0c11)}.lesson.locked .codes span{color:#6c6d73;background:#15161a;border-color:#2b2c30}.lesson-top{color:#8f98b9;letter-spacing:.12em;justify-content:space-between;font-size:12px;display:flex}.lesson-top svg{color:#5fe2ff}.letters{letter-spacing:.18em;margin:22px 0 8px;font-size:30px;font-weight:800}.codes{color:#6ddfff;flex-wrap:wrap;gap:10px;font-family:Courier New,monospace;display:flex}.codes span{background:#0c1b28;border:1px solid #1e4152;border-radius:8px;padding:6px 8px}.lesson p,.training p,.mode-card p{color:#919ab9;line-height:1.55}.lesson-cta{color:#62ddff;letter-spacing:.12em;margin-top:20px;font-size:11px;font-weight:800}.pulse-dot{background:#ef4fcb;border-radius:50%;width:9px;height:9px;animation:1.3s infinite pulse;box-shadow:0 0 18px #ef4fcb}.lesson-session,.training{max-width:1050px;padding:30px;animation:.3s enter}.back-link{color:#8f9abb;padding:0 0 20px}.session-top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.session-top h2{margin:7px 0;font-size:34px}.mastery-pills{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.mastery-pills span{color:#69ddff;background:#0a202a;border:1px solid #285064;border-radius:9px;padding:8px 10px;font-family:Courier New,monospace}.training-prompt{letter-spacing:.12em;color:#66e3ff;text-shadow:0 0 28px #41d9ff47;margin:34px 0 12px;font-family:Courier New,monospace;font-size:clamp(52px,8vw,92px);font-weight:800;animation:.25s promptIn}.training-answer-row{grid-template-columns:1fr auto;gap:12px;margin-top:18px;display:grid}.training-answer-row input{color:#fff;background:#090d1f;border:1px solid #2d3457;border-radius:12px;outline:none;width:100%;padding:15px 16px;font-family:Courier New,monospace;font-size:20px}.training-answer-row input:focus{border-color:#6d5fe8;box-shadow:0 0 0 3px #6d5fe81f}.feedback{border-radius:12px;margin-top:16px;padding:12px 14px;font-size:13px}.feedback.ok{color:#75e8ff;background:#0c232c;border:1px solid #1d5667}.feedback.error{color:#ff83df;background:#2a1226;border:1px solid #69315e}.keyboard-tip{color:#697394;margin-top:24px;font-size:12px}.keyboard-tip kbd{color:#dce2ff;background:#090c18;border:1px solid #30395e;border-radius:6px;margin:0 5px 0 12px;padding:4px 8px;display:inline-block;box-shadow:0 2px #252b45}.mode-grid{grid-template-columns:repeat(3,1fr)}.mode-card{cursor:pointer;min-height:310px;padding:28px;transition:all .25s;position:relative}.mode-card:hover{border-color:#46548b;transform:translateY(-6px)}.mode-card>svg{color:#6ee0ff;width:32px;height:32px}.mode-card h3{margin:24px 0 10px;font-size:21px}.mode-card .primary{position:absolute;bottom:25px;left:28px}.game-index{color:#59617e;font-family:Courier New,monospace;position:absolute;top:25px;right:25px}.training-meta{color:#7d88ad;letter-spacing:.12em;justify-content:space-between;font-size:11px;display:flex}.game-over{text-align:center;padding:50px 0}.translator{max-width:1000px;padding:26px}.tabs{gap:8px;margin-bottom:26px;display:flex}.tabs button{border-color:#2d3457}.tabs button.active{color:#fff;background:linear-gradient(135deg,#ef4fcb2b,#41d9ff24);border-color:#6d5fe8}.translator label{color:#cfd5ec;margin-bottom:10px;font-size:13px;display:block}.translator textarea{resize:vertical;color:#fff;background:#090d1f;border:1px solid #293153;border-radius:16px;outline:none;width:100%;min-height:180px;padding:18px}.translator textarea:focus{border-color:#6d5fe8;box-shadow:0 0 0 3px #6d5fe81f}.result-label{margin:24px 0 10px}.result-box{color:#61e1ff;letter-spacing:.08em;word-break:break-word;background:#07121b;border:1px solid #174355;border-radius:16px;min-height:120px;padding:18px;font-family:Courier New,monospace;line-height:1.8}.share-row{justify-content:flex-end}@keyframes float{50%{transform:translateY(-5px)}}@keyframes drift{to{transform:translate(-70px,60px)scale(1.15)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5;transform:scale(1.5)}}@keyframes signal{50%{opacity:.25;letter-spacing:.3em}}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}@keyframes promptIn{0%{opacity:0;transform:scale(.94)}}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar-progress{display:none}.content{padding:20px}.lesson-grid,.mode-grid,.stats-row{grid-template-columns:1fr 1fr}.hero{padding:34px}.morse-stream{margin-top:30px;position:static}}@media (width<=680px){.sidebar nav{grid-template-columns:1fr 1fr}.lesson-grid,.mode-grid,.stats-row{grid-template-columns:1fr}.hero h1{font-size:48px}.section-head,.session-top{flex-direction:column;align-items:flex-start;gap:14px}.content{padding:14px}.training-answer-row{grid-template-columns:1fr}.mastery-pills{justify-content:flex-start}}.account-dock{z-index:50;position:fixed;top:18px;right:22px}.account-trigger,.account-user{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#e8ecff;background:#0a0e1fe6;border:1px solid #30385f;border-radius:13px;box-shadow:0 14px 35px #00000047}.account-trigger{cursor:pointer;align-items:center;gap:8px;padding:10px 14px;transition:all .2s;display:flex}.account-trigger:hover{border-color:#675ee7;transform:translateY(-2px)}.account-user{align-items:center;gap:9px;min-width:210px;padding:9px 10px 9px 12px;display:flex}.account-user strong{font-size:12px;display:block}.account-user small{color:#7f89aa;align-items:center;gap:4px;margin-top:2px;font-size:10px;display:flex}.account-user button,.auth-close,.auth-switch{color:#8993b4;cursor:pointer;background:0 0;border:0}.account-user button{margin-left:auto;padding:7px}.sync-dot{background:#42dcff;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse;box-shadow:0 0 13px #42dcff}.auth-card{width:min(390px,100vw - 30px);padding:25px;animation:.25s enter;position:absolute;top:50px;right:0}.auth-card h3{margin:8px 0;font-size:25px}.auth-card p{color:#929bbb;margin:0 0 18px;font-size:13px;line-height:1.5}.auth-card input{color:#fff;background:#090d1f;border:1px solid #2b3356;border-radius:10px;outline:none;width:100%;margin:9px 0;padding:12px 13px;display:block}.auth-card input:focus{border-color:#7164f0;box-shadow:0 0 0 3px #7164f01a}.auth-close{position:absolute;top:12px;right:12px}.auth-main{width:100%;margin-top:8px}.auth-sep{color:#68718f;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:17px 0;font-size:10px;display:grid}.auth-sep span{background:#252c49;height:1px}.social-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.social-row button{color:#dce2f8;cursor:pointer;background:#0c1023;border:1px solid #30385d;border-radius:10px;padding:10px}.social-row button:hover{border-color:#5d69a0}.auth-message{color:#ff8ce2;background:#2a1226;border:1px solid #66305d;border-radius:9px;margin-top:12px;padding:9px 10px;font-size:11px}.auth-switch{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:15px;font-size:11px;display:flex}.auth-switch:hover{color:#69ddff}@media (width<=680px){.account-dock{top:10px;right:12px}.account-trigger{padding:8px 10px;font-size:11px}.account-user{min-width:0}.account-user small{display:none}}.lesson-session{max-width:1120px;padding:28px 30px 34px}.lesson-session>.back-link{opacity:.7;padding-bottom:12px;font-size:13px}.lesson-session .session-top{opacity:.62;transition:opacity .2s}.lesson-session .session-top:hover{opacity:.9}.lesson-session .session-top .eyebrow{letter-spacing:.18em;font-size:9px}.lesson-session .session-top h2{letter-spacing:.12em;color:#aeb7d7;margin:5px 0;font-size:22px;font-weight:650}.lesson-session .mastery-pills span{color:#77b8c9;background:#0819228c;border-color:#203c4b;padding:6px 8px;font-size:11px}.lesson-session .training-prompt{letter-spacing:.14em;text-shadow:0 0 38px #41d9ff52;margin:58px 0 26px;font-size:clamp(78px,10vw,126px);line-height:1}.lesson-session .training-prompt+p{color:#727c9e;max-width:650px;margin:0 0 8px;font-size:13px}.lesson-session .training-answer-row{margin-top:12px}.lesson-session .training-answer-row input{letter-spacing:.08em;min-height:62px;font-size:26px}.lesson-session .keyboard-tip{opacity:.7;margin-top:18px;font-size:11px}@media (width<=680px){.lesson-session .training-prompt{margin-top:38px;font-size:76px}.lesson-session .session-top{opacity:.72}}
