
:root{color-scheme:dark;--bg:#080d15;--panel:#101a27;--line:#243244;--ink:#ecf3f5;--muted:#8492a5;--green:#c1f36d;--orange:#f3ac75;--red:#f47987;--blue:#96bfcf;--violet:#baa5e8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#172333,transparent 70%),var(--bg);color:var(--ink);font:14px system-ui,-apple-system,BlinkMacSystemFont,sans-serif}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--ink);background:#142132;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:12px 16px}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}.shell{width:min(100%,820px);margin:auto;padding:18px 24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.8px;padding-bottom:13px}.topbar a{color:var(--muted);text-decoration:none;min-height:44px;display:flex;align-items:center}.brand{font-size:10px;font-weight:750}.brand>span{color:var(--green)}.top-actions{display:flex;gap:7px}.icon{padding:8px 13px;font-size:10px;letter-spacing:1px}.hud{display:grid;grid-template-columns:1fr 1.65fr 1fr .85fr;gap:9px;margin-bottom:12px}.hud>div{border:1px solid #29364a;background:#101b27d9;padding:13px 16px;border-radius:10px;backdrop-filter:blur(5px)}.hud-label{font-size:8px;letter-spacing:2px;color:var(--muted);display:block}.hud strong{display:block;font-size:25px;line-height:1.2;margin-top:6px;font-variant-numeric:tabular-nums}.score-card strong{font-size:34px;color:var(--green)}.hp-card strong{color:#ed9f9f}.hp-track,.boss-track{height:3px;background:#472b37;margin-top:7px;border-radius:3px;overflow:hidden}.hp-track i,.boss-track i{display:block;height:100%;width:100%;background:#ee8a9b;transition:width .15s}#combo{color:var(--violet)}.arena{height:clamp(420px,64svh,650px);position:relative;overflow:hidden;border:1px solid #314151;border-radius:14px;background:linear-gradient(#0d1828,#16232d);isolation:isolate}.city{position:absolute;inset:0;overflow:hidden;pointer-events:none}.moon{position:absolute;right:15%;top:8%;width:80px;height:80px;border-radius:50%;background:#b7d2bc18;box-shadow:0 0 80px #aacaba10}.city-far{position:absolute;inset:25% -5% 0;background:repeating-linear-gradient(90deg,#101a24 0 22px,#192a33 22px 24px,#101a24 24px 64px,transparent 64px 80px);clip-path:polygon(0 32%,8% 32%,8% 10%,18% 10%,18% 26%,24% 26%,24% 3%,34% 3%,34% 18%,43% 18%,43% 38%,53% 38%,53% 5%,63% 5%,63% 25%,76% 25%,76% 0,84% 0,84% 20%,100% 20%,100% 100%,0 100%);opacity:.8}.city-near{position:absolute;inset:45% -5% 0;background:repeating-linear-gradient(0deg,transparent 0 28px,#baab7310 28px 30px),repeating-linear-gradient(90deg,#080f18 0 50px,#182a35 50px 53px,#0a1320 53px 78px);clip-path:polygon(0 0,13% 0,13% 25%,28% 25%,28% 8%,37% 8%,37% 40%,58% 40%,58% 0,70% 0,70% 30%,83% 30%,83% 10%,100% 10%,100% 100%,0 100%)}.street{position:absolute;inset:82% 0 0;background:linear-gradient(#15262b,#09101a);border-top:1px solid #52756844}.street:after{content:'';position:absolute;left:20%;right:20%;top:5%;height:80%;background:repeating-linear-gradient(90deg,transparent 0 22%,#c4d4c326 23% 24%,transparent 25% 48%);transform:perspective(150px) rotateX(35deg)}.rain{position:absolute;inset:0;opacity:.07;background:repeating-linear-gradient(105deg,transparent 0 50px,#c1d6f8 51px,transparent 52px 130px)}.defense-line{position:absolute;top:94%;width:100%;border-top:1px dashed #f4798755;text-align:right;padding:4px 8px;font-size:7px;letter-spacing:3px;color:#dc8d95}.hunter{position:absolute;bottom:-2px;left:50%;width:50px;height:36px;transform:translateX(-50%);border-radius:40% 40% 0 0;background:#050a10;pointer-events:none}.hunter i{position:absolute;width:18px;height:20px;top:-17px;left:16px;border-radius:8px;background:#080e14;border-top:3px solid #739aa4}.hunter b{position:absolute;height:2px;width:14px;background:#b5f361;left:18px;top:-7px}.hunter span{position:absolute;width:28px;height:5px;background:#213440;left:36px;top:9px;transform:rotate(-24deg)}.enemy{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:30%;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;padding:6px 2px;min-height:92px;z-index:2;animation:spawn .22s both}.enemy .word{position:relative;max-width:100%;font-size:clamp(12px,2.2vw,17px);font-weight:720;line-height:1.25;padding:7px 10px;background:#13232dee;border:1px solid #537c815e;border-radius:6px;color:#dbf0dd;overflow-wrap:anywhere;z-index:2;min-height:33px;display:grid;place-items:center}.enemy:hover .word,.enemy:focus-visible .word{border-color:var(--green)}.monster-body{position:relative;width:46px;height:43px;border:1px solid #75928a;background:linear-gradient(140deg,#3b514d,#172729);border-radius:14px 12px 5px 5px;box-shadow:inset -9px -5px #0002,0 8px 16px #0004}.monster-body:before,.monster-body:after{content:'';position:absolute;top:13px;width:10px;height:3px;background:#c5e891;box-shadow:0 0 8px #c5e832}.monster-body:before{left:7px;transform:rotate(12deg)}.monster-body:after{right:7px;transform:rotate(-12deg)}.monster-body i{position:absolute;bottom:-9px;left:6px;width:9px;height:12px;background:#2f4540;box-shadow:23px 0 #2f4540}.monster-body b{position:absolute;width:16px;height:3px;background:#0e171b;left:15px;bottom:9px}.enemy.kind-1 .monster-body{border-color:#857893;background:linear-gradient(140deg,#4b3c5a,#252031);border-radius:5px 5px 16px 16px}.enemy.kind-1 .monster-body:before,.enemy.kind-1 .monster-body:after{background:#ccb5eb}.enemy.kind-2 .monster-body{border-color:#958071;background:linear-gradient(140deg,#504233,#241f1c);clip-path:polygon(0 10%,15% 0,30% 10%,70% 10%,85% 0,100% 10%,100% 100%,0 100%)}.enemy.kind-2 .monster-body:before,.enemy.kind-2 .monster-body:after{background:#f3b878}.enemy.wrong .word{color:#ffc3cb;border-color:var(--red);background:#482635}.enemy.wrong .monster-body{animation:wrong .28s}.enemy.dead{pointer-events:none;animation:death .26s both;z-index:3}.question-card{margin-top:12px;background:linear-gradient(115deg,#182b25,#111e27);border:1px solid #3c5344;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;min-height:88px}.question-card>div{min-width:0}.question-card strong{display:block;color:#e8f3db;font-size:clamp(23px,4.7vw,34px);line-height:1.3;margin-top:5px;overflow-wrap:anywhere}.question-card.sentence strong{font-size:clamp(17px,3vw,24px)}.question-card p{margin:6px 0 0;color:#a1b7a0;font-size:11px}.reticle{font:40px monospace;color:var(--green);padding-left:10px}.fever-strip{display:flex;align-items:center;gap:16px;margin:12px 2px}.fever-strip>div{flex:1}.fever-strip span{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.fever-strip strong{font-size:18px;color:var(--violet);min-width:40px}.fever-track{height:4px;background:#283143;margin-top:5px;border-radius:4px;overflow:hidden}.fever-track i{display:block;height:100%;width:0;background:var(--violet);transition:width .1s}.arena.fever{border-color:#adcd6a;animation:fever-border 2s ease-in-out infinite}.arena.fever .rain{background-color:#d7ee5005}.boss{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:4;pointer-events:none;border:1px solid #ac6b5655;border-radius:9px;background:#2d1d25e8;padding:8px 15px;min-width:220px;text-align:center;animation:boss-enter .35s}.boss>span{font-size:8px;letter-spacing:2px;color:#f4ae8f}.boss strong{font-size:14px;display:block;margin:4px}.boss small{font-size:9px;color:#b79fa2}.boss.hit{animation:boss-hit .25s}.overlay{position:absolute;inset:0;z-index:10;background:linear-gradient(130deg,#0b1422ed,#0d1623bb);display:grid;place-items:center;text-align:center;padding:20px;overflow:auto}.overlay.results{align-items:start}.home-screen{width:min(100%,370px);position:relative}.eyebrow{font-size:8px;letter-spacing:2px;color:#8b9ca8;line-height:1.8}.eyebrow>i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:6px}.hero-art{position:relative;width:180px;height:110px;margin:15px auto}.scope{position:absolute;width:102px;height:102px;border:1px solid #accb6b38;border-radius:50%;left:42px;top:4px}.scope:before{content:'';position:absolute;inset:9px;border:1px dashed #accb6b3b;border-radius:50%}.hero-figure{position:absolute;left:75px;bottom:4px;width:58px;height:65px;background:#070e18;border:1px solid #3f535a;border-radius:20px 25px 4px 4px;transform:rotate(-8deg);box-shadow:10px 10px 35px #0008}.hero-figure i{position:absolute;left:18px;top:-24px;width:25px;height:29px;border-radius:10px 10px 6px 6px;background:#101e27;border:1px solid #5b7179}.hero-figure b{position:absolute;left:23px;top:-13px;width:19px;height:3px;background:var(--green);box-shadow:0 0 12px #c1f36d44}.hero-figure span{position:absolute;left:38px;top:23px;width:49px;height:9px;background:#263c45;border-top:1px solid #81938c;transform:rotate(-20deg)}.target-mark{position:absolute;right:20px;top:0;width:20px;height:20px;border-top:1px solid #c1f36d;border-right:1px solid #c1f36d;opacity:.4}h1{font-size:clamp(45px,8vw,72px);line-height:.9;letter-spacing:-3px;margin:10px 0 15px}h1 span{color:var(--green)}.tagline{font-size:14px;letter-spacing:1px;color:#b4c2ca;margin:15px 0}.intro{font-size:11px;color:#8699a5;line-height:1.8;margin:12px 0 20px}.primary{width:100%;background:var(--green);border:0;color:#142115;display:flex;align-items:center;justify-content:space-between;padding:16px 21px;font-size:14px;letter-spacing:3px;font-weight:850;box-shadow:0 6px 25px #c1f36d14;transition:transform .15s,box-shadow .15s}#play{animation:play-pulse 3s ease-in-out infinite}.primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #c1f36d25}.primary:active{transform:translateY(1px)}.home-menu{display:flex;gap:7px;margin-top:10px}.home-menu button{flex:1;font-size:8px;letter-spacing:1px;padding:12px 7px;background:#14202e99}.home-best{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #3a4c5a55;margin-top:18px;padding-top:12px;font-size:8px;color:#8197a3;letter-spacing:1px}.home-best strong{color:#c1f36d;font-size:18px;letter-spacing:0}.secondary{width:100%;margin-top:10px;background:#162431}.text-button{border:0;background:none;color:#92a7b5;font-size:10px;letter-spacing:2px}.over-screen{width:min(100%,390px);padding:10px 0}h2{font-size:28px;margin:18px 0 5px;letter-spacing:-1px}.result-score{font-size:64px;line-height:1.1;color:var(--green);margin:12px 0;font-weight:850}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;font-size:8px;color:#8fa5b5;letter-spacing:1px}.result-grid>div{padding:12px 5px;border:1px solid #324559;border-radius:8px;background:#162331}.result-grid strong{display:block;font-size:24px;color:#e1edf2;margin-top:5px}.new-best{color:var(--orange);font-size:10px;letter-spacing:3px}.arena.shake{animation:shake .15s}.particle{position:absolute;width:5px;height:5px;background:var(--green);pointer-events:none;animation:particle .5s both;border-radius:1px}.floating-score{position:absolute;color:#dcffb8;font-size:20px;font-weight:800;transform:translate(-50%,-50%);animation:floating .6s both;pointer-events:none;text-shadow:0 2px 8px #000}#effects{position:absolute;inset:0;pointer-events:none;z-index:5}#feedback{position:absolute;left:50%;top:65%;transform:translate(-50%,-50%);font-size:23px;color:var(--green);font-weight:850;white-space:nowrap;pointer-events:none;text-shadow:0 2px 12px #000;z-index:6}#feedback.show{animation:floating .85s both}#feedback.bad{color:var(--red)}.combo-pop{animation:combo .3s}.damage .hp-card{border-color:var(--red)}footer{display:flex;justify-content:space-between;padding:10px 2px;color:#536b7c;font-size:8px;letter-spacing:1px}#notice{font-size:11px;line-height:1.6;color:#e8b790}#notice:empty{display:none}dialog{width:min(94vw,750px);max-height:88svh;background:#101b29;border:1px solid #394d60;border-radius:14px;color:var(--ink);padding:24px;overflow:auto}dialog::backdrop{background:#04080ee5;backdrop-filter:blur(3px)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-header h2{font-size:23px;margin:0 0 18px}.panel-tools{display:flex;gap:8px;margin:5px 0 18px}.panel-tools input{flex:1;min-width:0}.panel-tools input,.panel-tools select{background:#172536;color:var(--ink);border:1px solid #344658;border-radius:7px;padding:12px}.word-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.word-card{text-align:left;background:#172535;min-width:0;padding:15px}.word-card strong{display:block;font-size:19px;color:#d3ecb1;overflow-wrap:anywhere}.word-card .meaning{display:block;color:#a6b9c7;font-size:12px;margin:6px 0}.stars{color:#c7dd90;letter-spacing:3px}.word-card small{display:block;margin-top:9px;color:#7e96aa;font-size:9px}.detail-word{font-size:35px;color:var(--green);margin:15px 0 7px}.example-box{border:1px solid #31465a;border-radius:9px;background:#162534;padding:18px;margin:20px 0;line-height:1.7}.example-box small{color:#96adc0}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0 24px}.stat-grid>div{background:#172536;border:1px solid #304359;border-radius:9px;padding:16px;font-size:9px;color:#8ba5b8;letter-spacing:1px}.stat-grid strong{display:block;font-size:28px;color:var(--green);margin-top:7px}.review-list{display:grid;gap:10px}.review-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:1px solid #314454;border-radius:8px;padding:15px;background:#162332}.review-row strong{display:block;color:#e0edcd;font-size:18px}.review-row span{display:block;color:#9fb0c2;margin-top:5px;font-size:12px}.review-row b{color:#f3b18a;font-size:19px}.empty{line-height:1.8;color:#8da6b7}.setting-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293b4d;padding:18px 0;gap:15px}.setting-row p{font-size:12px;color:#899eaf;margin:5px 0}.setting-row input{width:24px;height:24px;accent-color:var(--green)}.no-motion *, .no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important}@keyframes spawn{from{opacity:0;scale:.85}to{opacity:1;scale:1}}@keyframes death{30%{filter:brightness(1.8)}to{opacity:0;scale:.6;rotate:10deg}}@keyframes wrong{25%{translate:-4px 0}75%{translate:4px 0}}@keyframes shake{25%{translate:1px 0}75%{translate:-1px 1px}}@keyframes floating{0%{opacity:1}100%{opacity:0;translate:0 -28px}}@keyframes particle{to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(100deg)}}@keyframes combo{50%{scale:1.2}}@keyframes fever-border{50%{box-shadow:inset 0 0 24px #c1f36d13,0 0 14px #c1f36d12}}@keyframes boss-enter{from{opacity:0;translate:0 -10px}to{opacity:1}}@keyframes boss-hit{50%{filter:brightness(1.8)}}@keyframes play-pulse{50%{box-shadow:0 6px 30px #c1f36d24}}@media(max-width:600px){.shell{padding:10px 10px max(12px,env(safe-area-inset-bottom))}.brand{display:none}.topbar{gap:8px;padding-bottom:5px}.hud{gap:5px}.hud>div{padding:10px 8px}.hud strong{font-size:20px}.score-card strong{font-size:27px}.hud-label{font-size:7px;letter-spacing:1px}.arena{height:clamp(360px,56svh,520px)}.enemy{width:31%;min-height:96px}.enemy .word{font-size:12px;padding:7px 5px;min-height:34px}.monster-body{width:43px;height:40px}.question-card{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:8;background:#17291ff7;min-height:80px;padding:12px 15px}.question-card strong{font-size:24px}.question-card.sentence strong{font-size:18px}.overlay{padding:15px}.hero-art{height:70px;margin:10px auto}.hero-figure{height:45px}.scope{width:70px;height:70px;left:58px}.hero-figure i{height:25px;top:-18px}.hero-figure b{top:-8px}.home-screen h1{font-size:48px}.intro{font-size:10px;margin:8px 0 12px}.tagline{margin:10px}.home-best{margin-top:12px}.home-menu button{font-size:8px;letter-spacing:0}.boss{min-width:180px;padding:6px 10px}.boss strong{font-size:12px}.result-score{font-size:48px}.result-grid{margin:13px 0}.over-screen h2{font-size:26px;margin:10px 0}dialog{padding:17px}.word-grid{gap:8px}.word-card{padding:11px}.word-card strong{font-size:17px}.panel-tools{flex-wrap:wrap}.panel-tools input{flex-basis:60%}.stars{font-size:11px;letter-spacing:1px}.review-row strong{font-size:16px}footer{font-size:7px}.hud{position:sticky;top:0;background:#080d15;z-index:9;padding:3px 0}}@media(max-height:700px){.hero-art{display:none}.arena{height:390px}.home-screen h1{font-size:48px}.home-screen .intro{margin:8px 0 14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Boss information stays outside the field so it never covers a word label. */
.boss{position:relative;left:auto;top:auto;transform:none;min-width:0;margin-bottom:10px;padding:8px 16px;background:#281d25;display:grid;grid-template-columns:1fr auto;gap:4px 12px;text-align:left}.boss>span{align-self:center}.boss strong{margin:0}.boss-track{grid-column:1 / -1;margin:0}.boss small{grid-column:1 / -1;text-align:right}.overlay{align-items:start}.overlay>section{margin-block:auto}.boss:not([hidden])~.arena{height:clamp(380px,56svh,600px)}@media(max-width:600px){.boss:not([hidden])~.arena{height:clamp(330px,48svh,460px)}.overlay{padding-top:12px}.home-screen .home-best{margin-top:10px}.home-screen .eyebrow{margin-top:4px}.home-screen h1{font-size:46px}}@media(max-height:650px){.home-screen .hero-art{display:none}.home-screen .intro{margin:5px 0 10px}.home-screen .tagline{margin:8px}.home-screen h1{font-size:43px}.home-menu{margin-top:7px}.arena{height:360px}}
