:root{--ink:#171528;--paper:#f5f1e8;--lime:#c7f036;--violet:#7258f6;--orange:#ff9655;--blue:#36c6ed;--red:#ee5a59;--muted:#716e7b;--line:#d9d3c7;--shadow:0 18px 50px #2522381a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid #2db7e8;outline-offset:3px}.app{min-height:100dvh;overflow:hidden}.topbar{height:82px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#f8f5ee;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{border:0;background:none;padding:0;display:flex;align-items:center;gap:11px;font-weight:700;font-size:18px;cursor:pointer}.brand b{font-weight:800}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--ink);color:var(--lime);border-radius:50% 50% 50% 9px;font:800 14px Unbounded}.top-actions{display:flex;gap:10px;align-items:center}.sound,.ghost{border:1px solid var(--line);background:white;border-radius:13px;min-height:44px;padding:0 14px;cursor:pointer}.sound{width:46px;font-size:18px}.ghost:hover,.sound:hover{background:#ece8df}
.hero{min-height:385px;padding:58px clamp(24px,9vw,140px) 50px;background:var(--ink);color:white;position:relative;overflow:hidden}.hero:after{content:"✦";position:absolute;right:10%;top:50px;color:var(--lime);font-size:58px;transform:rotate(15deg)}.hero-orbit{position:absolute;border:1px solid #ffffff18;border-radius:50%}.orbit-a{width:450px;height:450px;right:-80px;top:-150px}.orbit-b{width:290px;height:290px;right:20px;top:-70px}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:2.4px}.eyebrow{color:#d9d4ea}.eyebrow span{color:var(--lime);margin-right:7px}.hero h1,.result-card h1{font:800 clamp(42px,6vw,76px)/1.02 Unbounded;margin:16px 0}.hero h1 em{font-style:normal;color:var(--lime)}.hero>p{font-size:18px;line-height:1.65;max-width:650px;color:#c9c6d2}.hero-badges{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}.hero-badges span{border:1px solid #ffffff26;border-radius:20px;padding:8px 14px;font-size:12px;font-weight:700}.life{color:#ff6c6c;letter-spacing:3px}
.topics-section{padding:55px clamp(24px,6vw,90px) 72px;max-width:1500px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:35px}.kicker{color:#766cf2}.section-head h2,.editor-title h1{font:800 clamp(28px,4vw,45px)/1.1 Unbounded;margin:8px 0}.editor-button{border:0;background:var(--lime);border-radius:19px;padding:14px 18px;display:flex;align-items:center;gap:13px;box-shadow:5px 5px 0 var(--ink);font-weight:800;cursor:pointer}.editor-button>span:first-child{font-size:28px}.editor-button span{display:grid;text-align:left}.editor-button small{font-size:8px;letter-spacing:1.3px}.editor-button b{font-size:22px}.editor-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.topic-card{background:white;border:1px solid var(--line);border-radius:25px;padding:25px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:.2s transform}.topic-card:hover{transform:translateY(-5px)}.topic-card:before{content:"";position:absolute;height:7px;left:0;right:0;top:0;background:var(--accent)}.topic-card.lime{--accent:var(--lime)}.topic-card.violet{--accent:var(--violet)}.topic-card.orange{--accent:var(--orange)}.topic-card.blue{--accent:var(--blue)}.card-top{display:flex;align-items:center;justify-content:space-between}.number{font:800 12px Unbounded;color:#aaa5b1}.topic-icon,.mini-icon{width:57px;height:57px;border-radius:17px;background:var(--accent);display:grid;place-items:center;font-size:27px}.ready{font-size:9px;font-weight:800;letter-spacing:1px;color:#557600;background:#edf8ca;border-radius:12px;padding:7px 9px}.ready.custom{color:#5140c8;background:#e7e2ff}.topic-card h3{font:800 28px Unbounded;margin:22px 0 8px}.topic-card p{color:var(--muted);min-height:24px}.card-meta{display:flex;justify-content:space-between;border-top:1px solid #ece8df;margin-top:24px;padding-top:16px;font-size:12px;color:var(--muted)}.play-button{width:100%;height:54px;border:0;border-radius:14px;background:var(--ink);color:white;font-weight:800;margin-top:18px;cursor:pointer}.play-button span{color:var(--accent);margin-right:8px}.play-button:hover:not(:disabled){background:var(--accent);color:var(--ink)}button:disabled{opacity:.45;cursor:not-allowed}footer{border-top:1px solid var(--line);padding:25px clamp(24px,6vw,90px);display:flex;justify-content:space-between;color:#8b8790;font-size:12px}.footer-stars{color:#b2de21}
.game-page{background:var(--ink);color:white}.game-page .topbar{background:#1d1a31;border-color:#ffffff12}.game-page .ghost,.game-page .sound{background:#27233c;border-color:#ffffff18;color:white}.game-hud{height:98px;display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid #ffffff16;gap:30px}.game-hud small{display:block;color:#938eaa;letter-spacing:2px;font-size:9px}.game-hud strong{font:700 17px Unbounded}.progress span{display:block;text-align:center;font-size:12px;color:#beb9cd;margin-bottom:8px}.progress i{display:block;height:7px;background:#302c47;border-radius:9px;overflow:hidden}.progress b{display:block;height:100%;background:var(--lime);border-radius:9px;transition:.4s}.hud-stats{display:flex;justify-content:flex-end;gap:24px;align-items:center}.score{font:700 16px Unbounded;color:var(--lime)}.hearts{display:flex;gap:6px}.hearts i{font-style:normal;font-size:22px;transition:.3s}.hearts .alive{color:#ff636b}.hearts .lost{color:#403b55}.arena{min-height:calc(100dvh - 180px);position:relative;padding:40px 30px 50px;background:radial-gradient(circle at 50% 30%,#302b4e 0,#171528 48%);overflow:hidden}.arena:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff23 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(to bottom,black,transparent)}.mission-tip{position:relative;text-align:center;color:#a8a3b8;font-size:12px}.mission-tip b{color:var(--lime);font-size:9px;letter-spacing:1.5px;margin-right:10px}.sentence-card{position:relative;max-width:810px;margin:25px auto;background:white;color:var(--ink);border-radius:24px;padding:28px 35px;text-align:center;box-shadow:0 9px 0 #0c0b15}.sentence-card small{font-size:9px;color:#8d8994;letter-spacing:2px;font-weight:800}.sentence-card h2{font:700 clamp(22px,3.2vw,38px)/1.35 Unbounded;margin:12px 0 3px}.blank{color:var(--violet);border-bottom:4px solid var(--lime)}.targets{position:relative;max-width:950px;height:340px;margin:auto}.target{position:absolute;border:0;background:none;color:white;cursor:crosshair;transition:.25s}.target-0{left:3%;top:80px;animation:float 3.2s ease-in-out infinite}.target-1{left:39%;top:140px;animation:float 3.7s ease-in-out infinite reverse}.target-2{right:3%;top:45px;animation:float 3.4s ease-in-out infinite .4s}.target-ring{width:190px;height:190px;border-radius:50%;border:13px solid var(--accent);outline:3px solid #ffffff33;outline-offset:8px;display:grid;place-items:center;background:#242039;box-shadow:inset 0 0 0 3px #171528,0 12px 35px #0008;position:relative}.target-ring:before,.target-ring:after{content:"";position:absolute;background:var(--accent)}.target-ring:before{width:220px;height:3px}.target-ring:after{height:220px;width:3px}.target-ring span{position:relative;z-index:2;background:#242039;padding:14px;max-width:150px;font:700 clamp(16px,2vw,23px) Unbounded}.target-0{--accent:var(--lime)}.target-1{--accent:var(--violet)}.target-2{--accent:var(--orange)}.key{position:absolute;z-index:4;top:-15px;right:10px;width:31px;height:31px;border-radius:50%;background:white;color:var(--ink);display:grid;place-items:center;font-weight:800}.target:hover .target-ring{filter:brightness(1.25);transform:scale(1.04)}.target.hit{transform:scale(.2) rotate(40deg);opacity:0;pointer-events:none}.feedback-slot{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:5}.feedback{padding:15px 23px;border-radius:15px;box-shadow:0 10px 30px #0008;font-weight:800;text-align:center;white-space:nowrap}.feedback.good{background:var(--lime);color:var(--ink)}.feedback.bad{background:var(--red);color:white}@keyframes float{50%{transform:translateY(-15px) rotate(2deg)}}
.result-page{background:radial-gradient(circle at 50% 40%,#332d57,var(--ink));color:white}.result-page .topbar{background:transparent;border-color:#ffffff18}.result-card{text-align:center;max-width:800px;margin:auto;padding:65px 25px}.result-burst{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;margin:0 auto 28px;background:var(--lime);color:var(--ink);font-size:50px;box-shadow:0 0 0 14px #c7f03622}.result-burst.lose{background:var(--orange);box-shadow:0 0 0 14px #ff965522}.result-card h1{font-size:clamp(34px,5vw,58px)}.result-card>p{color:#bbb6cc;font-size:17px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:38px 0;background:#ffffff0d;border:1px solid #ffffff18;border-radius:20px}.result-stats div{padding:24px;border-right:1px solid #ffffff18}.result-stats div:last-child{border:0}.result-stats small{display:block;color:#9e98b2;font-size:9px;letter-spacing:1.8px}.result-stats strong{display:block;margin-top:8px;font:700 24px Unbounded}.result-actions,.save-actions{display:flex;gap:12px;justify-content:center}.primary,.secondary,.topic-list button,.questions-head button,.add-question,.empty button{min-height:48px;border-radius:13px;padding:0 18px;font-weight:800;cursor:pointer}.primary{background:var(--lime);border:0;color:var(--ink);box-shadow:4px 4px 0 #514d65}.secondary{background:white;border:1px solid var(--line)}
.editor-page{background:#f5f1e8}.editor-wrap{max-width:1240px;margin:auto;padding:52px 28px 80px}.editor-title{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.editor-title p{color:var(--muted);margin-bottom:0}.editor-tools{margin:35px 0 28px;padding:16px 20px;border:1px dashed #bcb5a8;border-radius:15px;display:flex;align-items:center;gap:20px;color:var(--muted);font-size:13px}.topic-list{margin-top:30px}.topic-list>h2{font:700 19px Unbounded}.topic-list>h2 span{font:600 11px Manrope;background:var(--ink);color:white;padding:4px 8px;border-radius:12px}.topic-row{display:flex;align-items:center;gap:18px;background:white;border:1px solid var(--line);border-radius:18px;padding:15px 18px;margin-top:11px}.mini-icon{flex:none;width:48px;height:48px;border-radius:14px;background:var(--blue)}.mini-icon.lime{background:var(--lime)}.mini-icon.violet{background:var(--violet);color:white}.mini-icon.orange{background:var(--orange)}.row-copy{flex:1}.topic-row h3{margin:0;font:700 16px Unbounded}.topic-row p{margin:5px 0 0;color:var(--muted);font-size:12px}.row-actions{display:flex;gap:7px}.topic-list button{min-height:38px;padding:0 12px;background:#f7f4ed;border:1px solid var(--line);font-size:11px}.topic-list button:hover{background:var(--lime)}.topic-list button.danger:hover{background:#ffe2e2;color:#a92727}.empty{text-align:center;background:white;border:1px dashed #c4bdb1;border-radius:20px;padding:40px}.empty b{font-size:36px;color:var(--violet)}.empty h3{font:700 18px Unbounded}.empty button{border:0;background:var(--lime)}
.form-wrap{max-width:1320px}.error-summary{margin:25px 0 0;padding:14px 18px;background:#fff0ee;border-left:4px solid var(--red);border-radius:8px;color:#a63131;font-weight:700}.topic-basics{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;background:white;border:1px solid var(--line);border-radius:20px;padding:24px;margin-top:30px}label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#635e69}input{height:48px;padding:0 14px;border:1px solid #cec7bb;border-radius:11px;background:#fbfaf7;color:var(--ink);font-size:14px}label em,.questions-head em,.field-error{font-style:normal;color:#bb3838;font-weight:700}.questions-head{display:flex;align-items:flex-end;justify-content:space-between;margin:35px 0 15px}.questions-head h2{font:700 21px Unbounded;margin:0}.questions-head h2 span{color:var(--violet)}.questions-head p{color:var(--muted);font-size:13px}.questions-head button,.add-question{border:1px solid var(--ink);background:transparent}.question-list{display:grid;gap:12px}.question-editor{display:grid;grid-template-columns:55px 1fr 42px;gap:17px;background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.question-number{font:800 18px Unbounded;color:#aaa4ae;padding-top:25px}.question-fields>label input{width:100%}.answer-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.right-answer input{border-color:#a9cd35;background:#f8fce9}.question-actions{display:grid;align-content:start;gap:7px}.question-actions button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#f8f5ee;cursor:pointer}.question-actions button:hover{background:#ffe5df}.field-error{display:block;margin-top:10px}.add-question{display:block;width:100%;margin-top:14px;border-style:dashed;height:55px}.add-question:hover{background:white}.toast{position:fixed;z-index:100;left:50%;bottom:25px;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:14px;box-shadow:0 12px 40px #0004;font-weight:700}
@media(max-width:900px){.topic-grid{grid-template-columns:1fr 1fr}.game-hud{grid-template-columns:1fr 1fr}.game-hud>div:first-child{display:none}.targets{height:500px}.target-ring{width:155px;height:155px}.target-ring:before{width:180px}.target-ring:after{height:180px}.target-1{left:auto;right:8%;top:90px}.target-2{right:auto;left:31%;top:290px}.topic-row{align-items:flex-start;flex-wrap:wrap}.row-actions{width:100%;padding-left:65px;flex-wrap:wrap}.answer-fields{grid-template-columns:1fr}.editor-title{align-items:flex-start}.save-actions{flex-direction:column}}
@media(max-width:620px){.topbar{height:68px;padding:0 16px}.brand>span:last-child{display:none}.ghost{font-size:12px}.hero{padding:42px 22px}.hero h1{font-size:39px}.hero:after,.hero-orbit{display:none}.topics-section{padding:40px 16px}.section-head{align-items:stretch;flex-direction:column}.editor-button{justify-content:center}.topic-grid{grid-template-columns:1fr}.topic-card{padding:22px}.game-hud{height:82px;padding:0 14px;gap:14px}.hud-stats{gap:10px}.score{font-size:12px}.hearts i{font-size:17px}.arena{padding:24px 10px}.sentence-card{padding:21px 15px}.sentence-card h2{font-size:21px}.targets{height:480px}.target-ring{width:125px;height:125px;border-width:9px}.target-ring:before{width:145px}.target-ring:after{height:145px}.target-ring span{font-size:14px;max-width:100px;padding:7px}.target-0{left:2%;top:70px}.target-1{right:2%;top:75px}.target-2{left:calc(50% - 62px);top:275px}.feedback{white-space:normal;width:90vw}.editor-wrap{padding:35px 14px}.editor-title{display:grid}.editor-title .primary{width:100%}.editor-tools{align-items:flex-start;flex-direction:column}.topic-row{padding:13px}.row-actions{padding-left:0}.row-actions button{flex:1}.topic-basics{grid-template-columns:1fr;padding:16px}.question-editor{grid-template-columns:34px 1fr;padding:14px;gap:7px}.question-actions{grid-column:2;display:flex}.question-number{font-size:13px}.result-stats{grid-template-columns:1fr}.result-stats div{border-right:0;border-bottom:1px solid #ffffff18}.result-actions{flex-direction:column}footer{flex-direction:column;align-items:center;gap:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}
.target.mistake .target-ring{filter:none;background:#4b202b;animation:shake .25s linear 2}.answer-reveal{display:inline-block;margin-top:18px;padding:10px 16px;border-radius:12px;background:#ffffff12}.answer-reveal b{color:var(--lime)}@keyframes shake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}

/* ── Cosmic visual system ─────────────────────────────────────────────── */
:root{--ink:#050b23;--paper:#06102f;--lime:#60f7ff;--violet:#9d4dff;--orange:#ff8b24;--blue:#18bfff;--red:#ff4773;--muted:#aebee8;--line:#3f6fc0;--shadow:0 24px 70px #000b}
body{background:#02071b;color:#f7fbff;font-family:"Trebuchet MS",Arial,sans-serif;background-image:linear-gradient(#03092155,#030921bb),url("space-cockpit.png");background-size:cover;background-position:center;background-attachment:fixed}
button{font-family:inherit}.app{position:relative;background:transparent}.app:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#02071a44,#030827aa),url("space-cockpit.png") center/cover no-repeat}.app:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 38%,transparent 0 30%,#02061c44 65%,#020513cc 100%)}
.topbar{height:88px;background:linear-gradient(180deg,#03091ee8,#04102caa 70%,transparent);border:0;padding:0 clamp(22px,4vw,66px);color:white}.brand{color:white;text-transform:uppercase;font-size:21px;text-shadow:0 0 12px #23c9ff}.brand-mark{width:54px;height:42px;border-radius:11px;background:linear-gradient(180deg,#081537,#02071d);border:2px solid #35cfff;color:#fff;box-shadow:inset 0 0 14px #118cff88,0 0 16px #14bfff99;font-family:Impact,"Arial Black",sans-serif;font-size:17px;font-style:italic}.brand b{color:#ffbd28;text-shadow:0 0 10px #ff9d00}.top-actions{gap:14px}.sound,.ghost{background:linear-gradient(180deg,#163681e8,#0a1749e8);border:2px solid #47bfff;color:#fff;box-shadow:inset 0 0 12px #2b66e6,0 0 13px #118dff77;text-transform:uppercase;font-weight:800}.sound:hover,.ghost:hover{background:linear-gradient(180deg,#244eb0,#101e60)}

/* Home / mission select */
.home{min-height:100dvh;padding-bottom:90px}.home .hero{min-height:215px;padding:20px 24px 10px;text-align:center;background:none;overflow:visible}.home .hero:after,.home .hero-orbit{display:none}.home .eyebrow{display:none}.home .hero h1{margin:0;text-transform:uppercase;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(50px,7.5vw,104px);font-style:italic;letter-spacing:3px;line-height:.85;background:linear-gradient(#fff 20%,#78d8ff 55%,#188be9 72%,#dff7ff 84%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px #d6f7ff;filter:drop-shadow(0 4px 0 #174a9f) drop-shadow(0 0 12px #1bc5ff);transform:scaleX(1.06)}.home .hero h1 br{display:none}.home .hero h1 em{color:transparent}.home .hero>p{margin:18px auto 0;max-width:none;color:#f0e7ff;text-transform:uppercase;font-size:clamp(13px,1.55vw,21px);font-weight:900;letter-spacing:2px;text-shadow:0 2px 8px #000}.home .hero-badges{display:none}.home .topics-section{padding:4px clamp(22px,14vw,250px) 40px;max-width:1700px}.home .section-head{margin:0 0 12px;position:absolute;right:4vw;top:23px}.home .section-head>div{display:none}.editor-button{min-width:265px;color:#fff;background:linear-gradient(180deg,#6b3ddd,#271078);border:2px solid #60e7ff;border-radius:14px;box-shadow:inset 0 0 14px #a84fff,0 0 15px #2ed4ff,5px 6px 0 #02071c;padding:13px 18px;text-transform:uppercase}.editor-button:hover{transform:translateY(-2px);box-shadow:inset 0 0 18px #bd65ff,0 0 22px #2ed4ff,5px 8px 0 #02071c}.editor-button small{color:#cbdcff}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,34px)}.topic-card{--accent:#13bfff;min-height:455px;padding:29px 22px 19px;background:linear-gradient(180deg,#06133cdd,#071334f5);border:2px solid var(--accent);border-radius:20px;box-shadow:inset 0 0 25px #0b245b,0 0 18px color-mix(in srgb,var(--accent) 70%,transparent),0 18px 25px #000b;clip-path:polygon(6% 0,94% 0,100% 5%,100% 95%,94% 100%,6% 100%,0 95%,0 5%);overflow:visible;text-align:center}.topic-card:before{height:5px;left:12%;right:12%;top:-2px;background:var(--accent);box-shadow:0 0 15px var(--accent)}.topic-card:after{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);clip-path:inherit;pointer-events:none}.topic-card.lime{--accent:#1ebcff;background:radial-gradient(circle at 50% 48%,#0961a799,#061333 57%)}.topic-card.violet{--accent:#a64dff;background:radial-gradient(circle at 50% 48%,#5c209599,#0c1237 57%)}.topic-card.orange{--accent:#ff7918;background:radial-gradient(circle at 50% 48%,#8a350d99,#18102a 57%)}.topic-card.blue{--accent:#21d6fa}.topic-card:hover{transform:translateY(-8px) scale(1.015)}.card-top{height:68px;justify-content:center}.number{position:absolute;top:-25px;left:50%;transform:translateX(-50%);width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#1b72ca,#071534 69%);border:3px solid var(--accent);color:white;font-family:Impact,"Arial Black",sans-serif;font-size:25px;box-shadow:inset 0 0 12px var(--accent),0 0 15px var(--accent);z-index:4}.topic-icon{position:absolute;top:116px;left:50%;transform:translateX(-50%);width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,#fff 0 2%,var(--accent) 3%,#101632 55%,#03071b 72%);border:2px solid var(--accent);box-shadow:0 0 33px var(--accent),inset 0 0 25px var(--accent);font-size:65px;color:white;text-shadow:0 0 14px white;z-index:2}.topic-icon:after{content:"";position:absolute;inset:-16px;border:1px dashed var(--accent);border-radius:50%;animation:spin 14s linear infinite}.ready{position:absolute;right:13px;top:13px;color:#c6f6ff;background:#071933dd;border:1px solid var(--accent);box-shadow:0 0 8px var(--accent);z-index:5}.ready.custom{color:#fff}.topic-card h3{font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;font-size:clamp(27px,2.2vw,40px);letter-spacing:1px;color:white;text-shadow:0 0 12px var(--accent);margin:0 0 175px}.topic-card p{min-height:28px;color:#eef5ff;font-weight:800;text-shadow:0 2px 5px #000;margin:0}.card-meta{position:relative;z-index:3;margin:10px -10px 0;padding:12px 11px;border:1px solid #315090;background:#02071dbf;border-radius:8px;color:#dce9ff;font-size:12px}.card-meta b{color:#ffd956}.play-button{position:relative;z-index:3;height:51px;margin-top:9px;border:2px solid var(--accent);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 75%,#191e52),color-mix(in srgb,var(--accent) 45%,#050719));box-shadow:inset 0 0 12px var(--accent),0 0 12px color-mix(in srgb,var(--accent) 70%,transparent);font-family:Impact,"Arial Black",sans-serif;font-size:16px;letter-spacing:1px;text-transform:uppercase}.play-button span{color:white}.play-button:hover:not(:disabled){background:var(--accent);color:#fff;filter:brightness(1.25)}.home footer{position:fixed;left:0;right:0;bottom:0;height:76px;padding:0 clamp(28px,14vw,250px);align-items:center;background:linear-gradient(180deg,#0d225ee8,#03091df5);border-top:3px solid #3465c0;box-shadow:inset 0 8px 20px #08133c,0 -5px 20px #199cff44;color:#e5edff;text-transform:uppercase;font-weight:900;letter-spacing:2px}.home footer span:nth-child(2){color:#ffca28;text-shadow:0 0 10px #ff9700}

/* In-game HUD */
.game-page{background:transparent;min-height:100dvh}.game-page .topbar{height:66px;background:linear-gradient(180deg,#07133ee8,#040b25c9);border-bottom:1px solid #245ccc}.game-hud{height:74px;margin:0 clamp(16px,5vw,72px);padding:0 22px;background:linear-gradient(180deg,#11275ed9,#071330ed);border:2px solid #218ed8;border-radius:0 0 17px 17px;box-shadow:inset 0 0 18px #0b53b3,0 0 14px #00aaff55;grid-template-columns:1fr 1.4fr 1fr}.game-hud small{color:#7fdcff}.game-hud strong{font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;letter-spacing:1px}.progress i{height:9px;border:1px solid #3475ba;background:#030922}.progress b{background:linear-gradient(90deg,#1dbdff,#b1f9ff);box-shadow:0 0 9px #2fd9ff}.score{color:#ffd33d;text-shadow:0 0 8px #ff9e00}.arena{min-height:calc(100dvh - 140px);padding:16px 30px 30px;background:none}.arena:before{background:radial-gradient(#74bfff99 1px,transparent 1px);background-size:67px 67px;opacity:.18}.mission-tip{font-weight:900;color:#c9dbff;text-shadow:0 2px 5px #000}.mission-tip b{color:#55eaff}.sentence-card{max-width:880px;margin:14px auto 0;padding:25px 40px 22px;background:linear-gradient(180deg,#f7fbff,#c6e0ff);color:#071347;border:4px solid #74d8ff;border-radius:8px;clip-path:polygon(4% 0,96% 0,100% 25%,100% 75%,96% 100%,4% 100%,0 75%,0 25%);box-shadow:inset 0 0 20px #60a8de,0 0 0 8px #12265dbb,0 0 24px #22aaff}.sentence-card:before,.sentence-card:after{content:"";position:absolute;top:50%;width:100px;height:12px;background:#18397b;border:2px solid #37c7ff;box-shadow:0 0 10px #11aaff}.sentence-card:before{right:100%}.sentence-card:after{left:100%}.sentence-card small{color:#2259a1;font-weight:900}.sentence-card h2{font-family:"Trebuchet MS",Arial,sans-serif;font-weight:900;text-shadow:0 1px 0 white}.blank{color:#0b4ec7;border-bottom:4px solid #1c78da}.targets{height:390px;max-width:1020px}.target{animation-duration:4s}.target-ring{width:195px;height:178px;border:0;outline:0;border-radius:42% 58% 52% 48%/47% 44% 56% 53%;background:radial-gradient(circle at 34% 28%,#72658f 0 7%,#2d2a4f 8% 18%,#594d73 19% 22%,#27233f 23% 58%,#100e25 77%);box-shadow:inset -15px -18px 25px #080718,inset 12px 10px 22px #8675ac99,0 0 0 3px #665b8b,0 15px 32px #000d,0 0 18px #6639b888;filter:drop-shadow(0 0 7px #754fff);transform:rotate(-4deg)}.target-ring:before{width:38px;height:30px;left:22px;top:92px;border-radius:50%;background:#17142c;box-shadow:inset 5px 5px 7px #090817,65px -75px 0 -6px #18142e,114px -22px 0 -10px #17132a}.target-ring:after{width:25px;height:18px;right:38px;top:76px;border-radius:50%;background:#151229;box-shadow:inset 4px 4px 6px #080716}.target-ring span{background:transparent;max-width:160px;color:#eafaff;font-family:"Trebuchet MS",Arial,sans-serif;font-size:30px;text-shadow:0 0 5px #fff,0 0 13px #24c7ff,0 0 24px #1484ff}.target-0,.target-1,.target-2{--accent:#45d9ff}.target-0{top:64px}.target-1{top:119px}.target-2{top:47px}.key{top:-12px;right:8px;background:#08183e;color:#7cecff;border:2px solid #3dcaff;box-shadow:0 0 10px #29bcff}.target:hover .target-ring{filter:drop-shadow(0 0 16px #3de8ff) brightness(1.25);transform:scale(1.06) rotate(2deg)}.target.hit{opacity:0;transform:scale(1.7);filter:brightness(3);transition:.28s}.target.hit .target-ring{background:radial-gradient(circle,#fff 0 8%,#32d7ff 9% 18%,#743cff 36%,transparent 70%)}.feedback{border:2px solid currentColor;background:#07193def!important;color:#62ff8e!important;text-transform:uppercase;box-shadow:inset 0 0 14px currentColor,0 0 20px currentColor;font-family:Impact,"Arial Black",sans-serif;font-size:20px;letter-spacing:1px}.feedback.bad{color:#ff7593!important}.arena:after{content:"";position:absolute;width:135px;height:115px;left:50%;bottom:-25px;transform:translateX(-50%);clip-path:polygon(35% 0,65% 0,100% 80%,68% 68%,58% 100%,42% 100%,32% 68%,0 80%);background:linear-gradient(90deg,#182d6d,#58c9ff 40%,#eefcff 50%,#58c9ff 60%,#182d6d);box-shadow:0 0 28px #28bdff;filter:drop-shadow(0 -8px 15px #169fff);z-index:1}

/* Results and editor inherit the same game universe */
.result-page{background:transparent}.result-page .topbar{background:linear-gradient(180deg,#07133ee8,#040b25c9);border:0}.result-card{margin-top:25px;padding:45px 40px;background:linear-gradient(180deg,#0b1c4de8,#060c28f2);border:2px solid #37bdff;border-radius:25px;box-shadow:inset 0 0 30px #1b4e9b,0 0 30px #1ebcff88;clip-path:polygon(4% 0,96% 0,100% 7%,100% 93%,96% 100%,4% 100%,0 93%,0 7%)}.result-burst{background:radial-gradient(circle,#fff,#ffe15a 25%,#ff9100 52%,#523100 72%);border:2px solid #ffe787;box-shadow:0 0 0 12px #ffd33d22,0 0 30px #ffb000}.result-card h1{font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;color:white;text-shadow:0 0 13px #35c7ff}.result-stats{background:#02071bc9;border-color:#2e74bf}.primary{color:white;background:linear-gradient(180deg,#168ee8,#0a3a99);border:2px solid #67ddff;box-shadow:inset 0 0 12px #29aaff,0 0 12px #22bfff}.secondary{color:white;background:linear-gradient(180deg,#4e2aa1,#221058);border:2px solid #aa72ff;box-shadow:inset 0 0 12px #8c4dff,0 0 10px #783cff66}
.editor-page{background:transparent;color:white}.editor-page .topbar{background:linear-gradient(180deg,#07133ee8,#040b25c9);border:0}.editor-wrap{margin-top:12px;padding-top:35px;background:linear-gradient(180deg,#07163bdc,#04091fe8);border:2px solid #2b85d1;border-radius:22px;box-shadow:inset 0 0 25px #123878,0 0 25px #000b}.editor-title h1{font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;color:white;text-shadow:0 0 12px #28c8ff}.editor-title p,.editor-tools,.topic-row p,.questions-head p{color:#b9caee}.editor-tools{border-color:#3c7fcc;background:#071534b3}.topic-list>h2{color:#eaf4ff}.topic-row,.topic-basics,.question-editor,.empty{background:linear-gradient(180deg,#102453e8,#081536f2);border-color:#356dc0;box-shadow:inset 0 0 14px #102c66;color:white}.topic-list button,.question-actions button{color:white;background:#122860;border-color:#3d7ad0}.topic-list button:hover{background:#1b72bd}.topic-basics label,.question-editor label{color:#a9c9ff}.topic-basics input,.question-editor input{color:white;background:#030b26;border-color:#3264aa}.right-answer input{border-color:#31e6be;background:#062f3b}.questions-head button,.add-question{color:#8feaff;border-color:#39bfea;background:#071838}.question-number{color:#55d9ff}.error-summary{background:#481630;border-color:#ff4f86;color:#ffb4c8}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:1050px){.home .topics-section{padding-left:5vw;padding-right:5vw}.home .hero h1{font-size:clamp(44px,8vw,82px)}.topic-card{min-height:430px}.topic-icon{width:128px;height:128px}.topic-card h3{margin-bottom:158px}.home .section-head{position:static;justify-content:center;margin-bottom:34px}.home .section-head .editor-button{margin:auto}}
@media(max-width:900px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home{padding-bottom:0}.home footer{position:static}.targets{height:480px}.target-ring{width:155px;height:145px}.target-ring span{font-size:23px}.game-hud{grid-template-columns:1fr 1fr}.arena:after{width:100px;height:90px}}
@media(max-width:620px){.topbar{height:64px}.home .hero{min-height:170px;padding-top:24px}.home .hero h1{font-size:42px;line-height:.92;-webkit-text-stroke:1px #d6f7ff}.home .hero>p{font-size:11px;line-height:1.5}.home .topics-section{padding:6px 15px 35px}.topic-grid{grid-template-columns:1fr;gap:40px}.topic-card{min-height:420px;max-width:390px;width:100%;margin:auto}.editor-button{min-width:240px}.home footer{padding:18px;height:auto}.game-hud{margin:0 8px;padding:0 12px}.arena{padding-top:12px}.sentence-card{margin-top:13px;padding:19px 19px}.sentence-card h2{font-size:20px}.sentence-card:before,.sentence-card:after{display:none}.targets{height:465px}.target-ring{width:125px;height:116px}.target-ring span{font-size:20px}.target-0{top:58px}.target-1{top:61px}.target-2{top:250px}.editor-wrap{margin:8px}.result-card{margin:16px 10px}.save-actions{width:100%}}

/* Keep the editor action clear of the sound control and above the top bar. */
@media(min-width:1051px){.home .section-head{right:calc(4vw + 72px);z-index:30}}

/* ── Illustrated mission posters ─────────────────────────────────────── */
.home .topics-section{max-width:1540px;padding-left:clamp(20px,7vw,120px);padding-right:clamp(20px,7vw,120px)}
.home .topic-grid{gap:clamp(20px,2.3vw,38px);align-items:start}
.home .topic-card{height:670px;min-height:670px;padding:0 18px 17px;display:block;overflow:hidden;border-width:3px;border-radius:24px;background:#06102c;clip-path:polygon(8% 0,92% 0,100% 5%,100% 96%,96% 100%,4% 100%,0 96%,0 5%)}
.home .topic-card:before{height:100%;inset:0;border:0;background:linear-gradient(180deg,#02071877 0,#02071805 38%,#02071822 54%,#020718ee 70%,#020718 100%);box-shadow:inset 0 0 34px color-mix(in srgb,var(--accent) 55%,transparent);z-index:1;pointer-events:none}
.home .topic-card:after{inset:7px;border:2px solid color-mix(in srgb,var(--accent) 62%,transparent);z-index:7;box-shadow:inset 0 0 15px color-mix(in srgb,var(--accent) 38%,transparent)}
.mission-art{position:absolute;inset:0;background-image:linear-gradient(180deg,#02071a33 0,#02071a00 52%,#02071aee 78%,#02071a 100%),url("space-cockpit.png");background-size:cover;background-position:center;z-index:0;transition:transform .45s ease,filter .45s ease}
.topic-card[data-topic="to-be"] .mission-art{background-image:linear-gradient(180deg,#02071a66 0,#02071a00 34%,#02071a22 59%,#02071aec 77%,#02071a 100%),url("mission-to-be-v1.png");background-position:center 45%}
.topic-card[data-topic="can"] .mission-art{background-image:linear-gradient(180deg,#11031e66 0,#11031e00 34%,#11031e22 59%,#0b031bec 77%,#090116 100%),url("mission-can-v1.png");background-position:center 45%}
.topic-card[data-topic="have-got"] .mission-art{background-image:linear-gradient(180deg,#1a080266 0,#1a080200 34%,#1a080222 59%,#160601ec 77%,#100300 100%),url("mission-have-got-v1.png");background-position:center 45%}
.home .topic-card:hover .mission-art{transform:scale(1.035);filter:saturate(1.12) brightness(1.06)}
.home .card-top{position:relative;height:80px;z-index:8}.home .number{top:-25px;width:78px;height:78px;font-size:31px;border-width:3px;background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--accent) 75%,white),color-mix(in srgb,var(--accent) 65%,#06102b) 35%,#030a23 72%);box-shadow:inset 0 0 15px var(--accent),0 0 18px var(--accent),0 7px 14px #000}.home .ready{display:none}
.home .topic-icon{top:82px;width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none;font-size:30px;text-shadow:0 0 13px var(--accent),0 0 4px white}.home .topic-icon:after{display:none}
.mission-copy{position:absolute;left:18px;right:18px;top:111px;z-index:4;text-align:center}.home .topic-card .mission-copy h3{margin:22px 0 3px;font-size:clamp(33px,2.6vw,46px);line-height:1;color:#fff;text-shadow:0 0 5px #fff,0 0 14px var(--accent),0 3px 4px #000}.home .topic-card .mission-copy p{min-height:0;margin:8px 0;color:#f5f6ff;font-size:16px;text-shadow:0 2px 5px #000,0 0 8px var(--accent)}
.grammar-panel{position:absolute;left:24px;right:24px;bottom:151px;z-index:5;padding:10px 11px 12px;background:linear-gradient(180deg,#07132ce8,#020718f5);border:1px solid var(--accent);clip-path:polygon(8% 0,92% 0,100% 18%,100% 100%,0 100%,0 18%);box-shadow:inset 0 0 17px color-mix(in srgb,var(--accent) 45%,transparent),0 0 12px #000}.grammar-panel small{display:block;margin-bottom:9px;color:color-mix(in srgb,var(--accent) 55%,white);font-weight:900;font-size:10px;letter-spacing:1.2px}.grammar-panel>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grammar-panel span{min-width:0;padding:9px 4px;border:1px solid var(--accent);border-radius:9px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 18%,#102247),#03091d);color:#eafcff;box-shadow:inset 0 0 9px color-mix(in srgb,var(--accent) 30%,transparent),0 0 7px color-mix(in srgb,var(--accent) 25%,transparent);font-size:clamp(13px,1.25vw,19px);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 7px var(--accent)}
.home .topic-card .card-meta{position:absolute;left:22px;right:22px;bottom:88px;height:53px;margin:0;padding:0 15px;display:flex;justify-content:center;align-items:center;gap:13px;border:1px solid var(--accent);border-radius:0;background:#020615e8;box-shadow:inset 0 0 13px color-mix(in srgb,var(--accent) 30%,transparent);color:#d8e5ff;font-size:17px;font-weight:900;text-transform:uppercase}.record-star{font-size:27px;color:#ffd65a;text-shadow:0 0 9px #ff9800}.home .topic-card .card-meta b{color:#fff;font-size:21px;text-shadow:0 0 8px var(--accent)}
.home .topic-card .play-button{position:absolute;left:21px;right:21px;bottom:19px;width:auto;height:58px;margin:0;border-width:2px;font-size:clamp(15px,1.35vw,20px);box-shadow:inset 0 0 18px var(--accent),0 0 13px var(--accent),0 5px 0 #020411;clip-path:polygon(5% 0,95% 0,100% 22%,100% 78%,95% 100%,5% 100%,0 78%,0 22%)}

@media(max-width:1050px){.home .topic-card{height:650px;min-height:650px;max-width:410px;width:100%;margin:auto}.home .topic-icon{width:auto;height:auto}.home .topic-card .mission-copy h3{margin-bottom:3px}.home .topic-card h3{margin-bottom:0}}
@media(max-width:620px){.home .topic-card{height:630px;min-height:630px}.mission-copy{top:105px}.home .topic-card .mission-copy h3{font-size:38px}.home .topic-card .mission-copy p{font-size:14px}.grammar-panel{left:18px;right:18px;bottom:147px}.home .topic-card .card-meta{left:18px;right:18px}.home .topic-card .play-button{left:17px;right:17px}}

/* ── Local display typography and compact mission labels ─────────────── */
@font-face{font-family:"Russo One";font-style:normal;font-display:swap;font-weight:400;src:url("fonts/russo-one-cyrillic-400.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Russo One";font-style:normal;font-display:swap;font-weight:400;src:url("fonts/russo-one-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:500;src:url("fonts/exo2-cyrillic-500.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:500;src:url("fonts/exo2-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url("fonts/exo2-cyrillic-600.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url("fonts/exo2-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:800;src:url("fonts/exo2-cyrillic-800.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:800;src:url("fonts/exo2-latin-800.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body,button,input{font-family:"Exo 2","Trebuchet MS",Arial,sans-serif}.home .hero h1,.home .topic-card .mission-copy h3,.home .topic-card .play-button,.result-card h1,.editor-title h1{font-family:"Russo One","Arial Black",sans-serif;font-weight:400}.brand,.number,.grammar-panel,.card-meta{font-family:"Exo 2","Trebuchet MS",sans-serif}
.home .number{width:70px;height:70px;font-family:"Russo One",sans-serif;font-size:27px}.home .topic-icon{top:76px;font-size:25px}.mission-copy{top:101px}.home .topic-card .mission-copy h3{margin:19px 0 2px;font-size:clamp(29px,2.25vw,39px);letter-spacing:.5px}.home .topic-card .mission-copy p{margin:6px 0;font-size:13px;font-weight:600}
.grammar-panel{left:32px;right:32px;bottom:124px;padding:7px 9px 8px}.grammar-panel small{margin-bottom:6px;font-size:8px;letter-spacing:1px;font-weight:600}.grammar-panel>div{gap:6px}.grammar-panel span{padding:6px 3px;border-radius:7px;font-family:"Exo 2",sans-serif;font-size:clamp(11px,1vw,16px);font-weight:600}
.home .topic-card .card-meta{left:30px;right:30px;bottom:69px;height:42px;padding:0 11px;gap:9px;font-size:13px;font-weight:600}.record-star{font-size:21px}.home .topic-card .card-meta b{font-family:"Exo 2",sans-serif;font-size:16px;font-weight:800}
.home .topic-card .play-button{left:28px;right:28px;bottom:15px;height:45px;font-size:clamp(12px,1.1vw,16px);letter-spacing:.5px}.home .topic-card .play-button span{margin-right:6px}
.editor-button{font-family:"Exo 2",sans-serif;font-weight:800}.editor-button small{font-family:"Exo 2",sans-serif}
@media(max-width:620px){.mission-copy{top:97px}.home .topic-card .mission-copy h3{font-size:33px}.home .topic-card .mission-copy p{font-size:12px}.grammar-panel{left:26px;right:26px;bottom:122px}.home .topic-card .card-meta{left:25px;right:25px;bottom:68px}.home .topic-card .play-button{left:23px;right:23px}}

/* Desktop mission select fits inside one viewport. */
.home .hero h1{font-size:clamp(34px,4.7vw,66px);letter-spacing:2px}.home .hero>p{margin-top:10px;font-size:clamp(11px,1.15vw,16px)}.home .number{top:-7px}
@media(min-width:901px){html,body,#app{height:100%;overflow:hidden}.home{height:100dvh;min-height:0;padding-bottom:54px;overflow:hidden}.home .topbar{height:64px}.home .hero{min-height:105px;height:105px;padding:4px 24px 3px}.home .topics-section{height:calc(100dvh - 169px);padding-top:0;padding-bottom:8px}.home .section-head{position:absolute;right:calc(4vw + 72px);top:10px;margin:0;z-index:30}.home .topic-grid{height:100%;align-items:start}.home .topic-card{height:clamp(420px,calc(100dvh - 230px),670px);min-height:0}.home footer{height:54px}.home .editor-button{padding-top:9px;padding-bottom:9px}}
@media(min-width:901px) and (max-height:740px){.home .topic-card{height:calc(100dvh - 222px)}.home .hero{min-height:96px;height:96px}.home .hero h1{font-size:clamp(34px,4.2vw,54px)}.home .topic-icon{top:68px}.mission-copy{top:88px}.home .topic-card .mission-copy h3{font-size:clamp(25px,2vw,34px)}.home .topic-card .mission-copy p{font-size:11px}.grammar-panel{bottom:115px}.home .topic-card .card-meta{bottom:64px;height:38px}.home .topic-card .play-button{bottom:13px;height:42px}}

/* Left-aligned hero and highlighted author credit. */
.home .hero{text-align:left;padding-left:clamp(20px,7vw,120px);padding-right:clamp(20px,7vw,120px)}.home .hero h1{text-align:left;transform-origin:left center}.home .hero>p{margin-left:0;margin-right:0;max-width:760px;text-align:left}
.author-link{min-height:42px;padding:5px 15px;display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;border:2px solid #ffd85a;border-radius:10px;background:linear-gradient(180deg,#ffae19,#a94b02);box-shadow:inset 0 0 12px #fff07a88,0 0 14px #ff9f19;text-transform:none;transition:transform .2s,filter .2s}.author-link>b{font-size:22px;color:#fff5a6;text-shadow:0 0 8px #fff}.author-link>span{display:grid;color:#fff!important;line-height:1.05;text-shadow:0 1px 4px #662800!important}.author-link small{font-size:7px;letter-spacing:1.3px;font-weight:800}.author-link span:not(small){font-family:"Russo One",sans-serif;font-size:12px}.author-link strong{font-size:18px}.author-link:hover{transform:translateY(-2px);filter:brightness(1.18)}
@media(min-width:901px){.home .hero{padding-left:clamp(20px,7vw,120px);padding-right:clamp(20px,7vw,120px)}.home footer{padding-left:clamp(20px,7vw,120px);padding-right:clamp(20px,7vw,120px)}}
@media(max-width:620px){.home .hero{text-align:left;padding-left:20px;padding-right:20px}.author-link{width:min(290px,100%);justify-content:center}}

/* Keep existing card art, but confine the main illustration to the middle zone. */
.topic-card[data-topic="to-be"] .mission-art,.topic-card[data-topic="can"] .mission-art,.topic-card[data-topic="have-got"] .mission-art{background-size:cover;background-position:center;background-repeat:no-repeat}
.topic-card[data-topic="to-be"] .mission-art{background-image:linear-gradient(180deg,#02071a55 0,#02071a08 53%,#02071add 76%,#02071a 100%),radial-gradient(circle at 50% 48%,#075fa988 0,transparent 58%),url("space-cockpit.png")}
.topic-card[data-topic="can"] .mission-art{background-image:linear-gradient(180deg,#10021c55 0,#10021c08 53%,#0b031bdd 76%,#090116 100%),radial-gradient(circle at 50% 48%,#6521a488 0,transparent 58%),url("space-cockpit.png")}
.topic-card[data-topic="have-got"] .mission-art{background-image:linear-gradient(180deg,#19070155 0,#19070108 53%,#160601dd 76%,#100300 100%),radial-gradient(circle at 50% 48%,#9a3d0b88 0,transparent 58%),url("space-cockpit.png")}
.topic-card[data-topic="to-be"] .mission-art:before,.topic-card[data-topic="can"] .mission-art:before,.topic-card[data-topic="have-got"] .mission-art:before{content:"";position:absolute;left:12%;right:12%;top:24%;bottom:27%;background-repeat:no-repeat;background-position:center;background-size:contain;-webkit-mask-image:radial-gradient(ellipse 70% 74% at center,#000 56%,#000c 70%,transparent 100%);mask-image:radial-gradient(ellipse 70% 74% at center,#000 56%,#000c 70%,transparent 100%);filter:saturate(1.08) drop-shadow(0 8px 13px #000a)}
.topic-card[data-topic="to-be"] .mission-art:before{background-image:url("mission-to-be-v1.png")}.topic-card[data-topic="can"] .mission-art:before{background-image:url("mission-can-v1.png")}.topic-card[data-topic="have-got"] .mission-art:before{background-image:url("mission-have-got-v1.png")}
@media(max-height:740px) and (min-width:901px){.topic-card[data-topic="to-be"] .mission-art:before,.topic-card[data-topic="can"] .mission-art:before,.topic-card[data-topic="have-got"] .mission-art:before{top:23%;bottom:29%;left:15%;right:15%}}
@media(min-width:901px){.home .hero>p{max-width:none;white-space:nowrap;letter-spacing:1.3px}}

/* Supplied NeuroStars logo replaces the text brand in the top-left corner. */
.brand-logo{position:relative;display:block;flex:0 0 270px;width:270px;height:64px;overflow:hidden;border:0;background:transparent;padding:0;filter:drop-shadow(0 0 8px #168dff88)}.brand-logo img{position:absolute;width:292px;height:auto;left:-11px;top:-38px;max-width:none;pointer-events:none}.brand-logo:hover{filter:drop-shadow(0 0 12px #23cfff)}
@media(max-width:620px){.brand-logo{flex-basis:188px;width:188px;height:48px}.brand-logo img{width:203px;left:-8px;top:-27px}}

/* Mission cards: integrated artwork like the selected reference. */
.home .topics-section{max-width:1240px}.grammar-panel{display:none}.mission-copy{top:92px}.home .topic-card .mission-copy h3{margin-top:18px}.mission-description{position:absolute;left:22px;right:22px;bottom:118px;z-index:6;margin:0;padding:7px 10px;color:#f5f7ff;background:linear-gradient(90deg,transparent,#020715d9 16%,#020715d9 84%,transparent);font-family:"Exo 2",sans-serif;font-size:14px;font-weight:600;text-align:center;text-shadow:0 2px 5px #000,0 0 7px var(--accent)}
.topic-card[data-topic="to-be"] .mission-art:before,.topic-card[data-topic="can"] .mission-art:before,.topic-card[data-topic="have-got"] .mission-art:before{left:0;right:0;top:13%;bottom:18%;background-size:cover;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 88%,transparent 100%);filter:saturate(1.08)}
.topic-card[data-topic="to-be"] .mission-art:before{background-position:center 52%}.topic-card[data-topic="can"] .mission-art:before{background-position:center 50%}.topic-card[data-topic="have-got"] .mission-art:before{background-position:center 53%}
@media(max-height:740px) and (min-width:901px){.topic-card[data-topic="to-be"] .mission-art:before,.topic-card[data-topic="can"] .mission-art:before,.topic-card[data-topic="have-got"] .mission-art:before{left:0;right:0;top:12%;bottom:18%}.mission-description{bottom:108px;font-size:12px;padding-top:5px;padding-bottom:5px}}
@media(max-width:620px){.mission-description{left:18px;right:18px;bottom:116px;font-size:13px}}

/* Compact quiz composition and illustrated energy cannon. */
.game-page .sentence-card{max-width:700px;padding:20px 32px 18px}.game-page .sentence-card h2{font-size:clamp(21px,2.7vw,33px)}.game-page .sentence-card:before,.game-page .sentence-card:after{width:72px}
.game-page .targets{height:300px;max-width:860px;margin-top:-2px}.game-page .target-ring{width:160px;height:146px}.game-page .target-ring:before{width:31px;height:25px;left:19px;top:76px;box-shadow:inset 5px 5px 7px #090817,53px -59px 0 -6px #18142e,93px -17px 0 -9px #17132a}.game-page .target-ring:after{width:21px;height:15px;right:31px;top:63px}.game-page .target-ring span{max-width:130px;font-size:25px}.game-page .target-0{top:24px;left:5%}.game-page .target-1{top:50px;left:40%}.game-page .target-2{top:16px;right:5%}
.game-page .arena:after{width:220px;height:330px;bottom:-190px;clip-path:none;background:url("energy-cannon-v1.png") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 -8px 15px #169fff);z-index:2}
@media(max-width:900px){.game-page .targets{height:400px}.game-page .target-ring{width:142px;height:130px}.game-page .target-ring span{font-size:21px}.game-page .target-0{top:28px;left:4%}.game-page .target-1{top:30px;left:auto;right:4%}.game-page .target-2{top:205px;left:calc(50% - 71px);right:auto}.game-page .arena:after{width:180px;height:270px;bottom:-165px}}
@media(max-width:620px){.game-page .sentence-card{max-width:94%;padding:16px 16px 15px}.game-page .targets{height:365px}.game-page .target-ring{width:116px;height:106px}.game-page .target-ring span{max-width:96px;font-size:17px}.game-page .target-0{top:23px}.game-page .target-1{top:25px}.game-page .target-2{top:178px;left:calc(50% - 58px)}.game-page .arena:after{width:150px;height:225px;bottom:-142px}}
.game-page .arena:after{transform:translateX(calc(-50% + var(--cannon-shift,0px))) rotate(var(--cannon-angle,0deg));transform-origin:50% 88%;transition:transform 70ms linear;will-change:transform;pointer-events:none}

/* Выстрел энергетической пушки и эффект попадания */
.plasma-shot{position:absolute;width:15px;height:54px;border-radius:50% 50% 42% 42%;z-index:9;pointer-events:none;background:linear-gradient(90deg,#087cff 0,#78efff 28%,#fff 50%,#78efff 72%,#087cff 100%);box-shadow:0 0 7px #fff,0 0 16px #2de2ff,0 0 34px #168cff;filter:drop-shadow(0 15px 9px #33cfff);will-change:transform}
.plasma-shot:before{content:"";position:absolute;left:50%;top:42px;width:7px;height:45px;transform:translateX(-50%);border-radius:50%;background:linear-gradient(#56eaff,#168cff00);filter:blur(2px);opacity:.9}
.plasma-shot i{position:absolute;inset:4px 4px 10px;border-radius:50%;background:linear-gradient(#fff,#9fffff 55%,#ffd658);box-shadow:0 0 8px #fff}
.impact-burst{--impact:#52e8ff;position:absolute;width:14px;height:14px;transform:translate(-50%,-50%);z-index:10;pointer-events:none;border-radius:50%;background:#fff;box-shadow:0 0 10px 5px #fff,0 0 25px 12px var(--impact),0 0 55px 24px color-mix(in srgb,var(--impact) 72%,transparent);animation:impact-core .5s ease-out forwards}
.impact-burst.warning{--impact:#ff6f91}
.impact-burst i{position:absolute;left:5px;top:5px;width:4px;height:18px;border-radius:5px;background:linear-gradient(#fff,var(--impact));box-shadow:0 0 8px var(--impact);transform-origin:2px 2px;animation:impact-spark .5s ease-out forwards}
.game-page .target.hit{animation:none!important;transform:scale(1.7) rotate(16deg);opacity:0;filter:brightness(3);transition:transform .34s ease-out,opacity .28s ease-out,filter .28s ease-out}
.target.mistake{z-index:3}
.target.mistake .target-ring{box-shadow:inset 0 0 28px #ff315b,0 0 20px #ff5475,0 15px 32px #000d}
@keyframes impact-core{0%{transform:translate(-50%,-50%) scale(.25);opacity:1}48%{transform:translate(-50%,-50%) scale(2.8);opacity:1}100%{transform:translate(-50%,-50%) scale(5);opacity:0}}
@keyframes impact-spark{0%{transform:rotate(var(--spark-angle)) translateY(0) scaleY(.5);opacity:1}100%{transform:rotate(var(--spark-angle)) translateY(-64px) scaleY(.05);opacity:0}}
@media(prefers-reduced-motion:reduce){.plasma-shot,.impact-burst,.impact-burst i{animation-duration:.08s!important}.target.mistake .target-ring{animation:none}}

/* Compact result screen: all controls stay inside one viewport. */
.result-page .topbar{height:66px}
.result-page .result-card{width:min(680px,calc(100% - 32px));max-width:680px;margin:12px auto 14px;padding:28px 32px 26px}
.result-page .result-card .kicker{font-size:10px;letter-spacing:2px}
.result-page .result-card h1{margin:9px 0 7px;font-size:clamp(30px,4vw,44px);line-height:1}
.result-page .result-card>p{max-width:570px;margin:0 auto;font-size:15px;line-height:1.45}
.result-page .answer-reveal{margin-top:11px;padding:8px 14px;font-size:13px}
.result-page .result-stats{margin:21px 0 18px;border-radius:15px}
.result-page .result-stats div{padding:15px 10px}
.result-page .result-stats strong{margin-top:5px;font-size:21px}
.result-page .result-actions button{min-height:44px}
@media(max-width:620px){.result-page .result-card{margin:10px auto 12px;padding:23px 15px 20px}.result-page .result-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:17px 0 15px}.result-page .result-stats div{padding:12px 4px;border-right:1px solid #ffffff18;border-bottom:0}.result-page .result-stats div:last-child{border-right:0}.result-page .result-stats strong{font-size:17px}.result-page .result-actions{flex-direction:row;gap:8px}.result-page .result-actions button{flex:1;min-width:0;padding:0 8px;font-size:11px}}
@media(max-height:570px){.result-page .topbar{height:58px}.result-page .result-card{margin-top:7px;padding-top:19px;padding-bottom:18px}.result-page .result-card h1{font-size:30px}.result-page .result-stats{margin-top:14px;margin-bottom:13px}.result-page .result-stats div{padding-top:10px;padding-bottom:10px}}
