:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#f5f7fb;background:#080f1b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a5fff0;outline-offset:5px}button:disabled{opacity:.3;cursor:default}[hidden]{display:none!important}.game{position:relative;isolation:isolate;width:min(100%,640px);height:100svh;min-height:660px;max-height:1100px;margin:auto;overflow:hidden;background:#172036;box-shadow:0 0 100px #6686b312}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:manipulation;user-select:none}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(22px + env(safe-area-inset-top)) 28px 16px;z-index:3}.brand{display:flex;gap:10px;align-items:center;color:#f1f5fd;text-decoration:none;font-size:15px;letter-spacing:2px;font-weight:750}.brand-light{font-weight:350;color:#bdc7d8}.brand svg{width:29px;height:29px;stroke:#aff3eb;stroke-width:1.3;fill:none}.controls{display:flex;gap:6px}.icon{width:44px;height:44px;border:1px solid #ffffff19;border-radius:50%;background:#0e1b2c44;color:#e0e9f5;display:grid;place-items:center;backdrop-filter:blur(10px)}.icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hud{position:absolute;top:calc(100px + env(safe-area-inset-top));left:32px;right:32px;display:flex;justify-content:space-between;pointer-events:none}.eyebrow{font-size:12px;font-weight:650;letter-spacing:2.8px;color:#b1c5d9}.score{font-size:76px;line-height:1.1;letter-spacing:-4px;font-weight:250;font-variant-numeric:tabular-nums}.best-wrap{display:flex;flex-direction:column;align-items:flex-end;padding-top:3px;gap:6px}.best{font-size:29px;font-weight:350;font-variant-numeric:tabular-nums}.local-note{font-size:12px;color:#a2b1c7}.chapter{position:absolute;right:32px;top:calc(215px + env(safe-area-inset-top));display:flex;gap:9px;align-items:center;color:#c3cedd;font-size:12px;letter-spacing:1px}.chapter-line{width:22px;height:1px;background:#b7d6e4}.intro,.result,.paused{position:absolute;top:28%;left:0;right:0;text-align:center;pointer-events:none}.intro h1{font-size:clamp(30px,6vw,40px);font-weight:450;line-height:1.5;letter-spacing:6px;margin:16px 0 10px}.intro p,.paused p{font-size:14px;color:#c6cedd;letter-spacing:1px}.intro .eyebrow{font-size:10px;letter-spacing:3px;color:#b2c3d4}.result,.paused{top:28%;z-index:2;padding:25px 15px;background:linear-gradient(90deg,transparent,#101b30d9 15%,#101b30d9 85%,transparent);backdrop-filter:blur(8px)}.result h1,.paused h1{font-size:28px;font-weight:500;letter-spacing:3px;margin:15px 0}.result p{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:12px 0}.result strong{font-size:58px;font-weight:300}.result p span,.result-note{font-size:14px;color:#c6d6e5}.feedback{position:absolute;left:0;right:0;top:30%;text-align:center;font-size:23px;letter-spacing:4px;color:#c1fff5;pointer-events:none;text-shadow:0 0 25px #7cf0dd;opacity:0;transition:opacity .18s}.feedback.show{opacity:1}.feedback small{display:block;margin-top:8px;font-size:13px;letter-spacing:1px}footer{position:absolute;bottom:0;left:0;right:0;padding:22px 32px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0b1527b3);z-index:3}.combo{display:flex;justify-content:center;gap:10px;align-items:center;font-size:12px;color:#c4d7e2;margin-bottom:17px}.combo-dots{display:flex;gap:5px}.combo-dots i{width:5px;height:5px;border-radius:50%;background:#ffffff3d}.combo-dots i.active{background:#b4ffeb;box-shadow:0 0 8px #aaffdd}.primary{width:100%;height:62px;border:1px solid #ffffff80;border-radius:18px;background:#dafcf1;color:#132c32;display:flex;align-items:center;justify-content:center;gap:13px;box-shadow:0 5px 35px #76e3d324;font-size:17px;font-weight:650;letter-spacing:2px;touch-action:manipulation}.primary:active{transform:translateY(2px);background:#bcebdc}.primary svg{width:18px;height:18px;fill:currentColor}.hint{display:flex;justify-content:center;gap:16px;color:#a9bbcd;font-size:12px;margin:15px 0 0}.hint span{color:#93a7c0}@media(min-width:700px){body{padding:22px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 60%,#17233b,#070e18 70%)}.game{height:calc(100svh - 44px);border-radius:26px;border:1px solid #ffffff15;max-width:540px}}@media(max-height:740px){.game{min-height:560px}.hud{top:86px}.score{font-size:62px}.chapter{top:185px}.intro{top:29%}.intro h1{font-size:30px;margin:10px 0}.intro .eyebrow{display:none}footer{padding-top:12px;padding-bottom:calc(15px + env(safe-area-inset-bottom))}.primary{height:56px}.combo{margin-bottom:12px}.hint{margin-top:10px}.result,.paused{top:27%}}@media(max-width:360px){header{padding-left:20px;padding-right:20px}.brand{font-size:13px;gap:7px}.hud{left:24px;right:24px}footer{padding-left:24px;padding-right:24px}.hint{font-size:11px;gap:10px}.combo{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-height:620px){.game[data-mode="ready"] .chapter{display:none}.intro{top:29%}.intro h1{font-size:24px;line-height:1.35;letter-spacing:4px;margin:8px 0}.intro p{font-size:12px;margin:10px 0}.result,.paused{top:31%;padding:10px}.result h1,.paused h1{font-size:23px;margin:9px 0}.result strong{font-size:42px}.result-note{font-size:12px}}

/* ===== ここから下は、医院のサイト用に足したもの（サイト運用/光のタワーをサイト用に写す.py） ===== */
/* 医院のサイトへ戻る帯。帯のぶんだけゲームの枠を縮め、スマホで下のボタンが画面の外に出ないようにする */
body{display:flex;flex-direction:column;min-height:100svh;background:#080f1b}
.game{height:auto;flex:1 0 auto;margin:0 auto}
/* 帯のぶんゲームの枠が低くなり、はじめの画面で「01 — 夕暮れ」と英字が重なるのを避ける */
@media(min-height:741px){.intro{top:max(28%,238px)}}
/* PCでは元のゲームと同じく、枠を画面の真ん中に浮かせる */
@media(min-width:700px){body{display:flex;padding:0}.game{margin:22px auto;flex:0 0 auto;height:calc(100svh - 44px - 40px)}}
.clinic-note{margin:0;padding:9px 16px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;background:#0b1520;border-bottom:1px solid #ffffff19;color:#bdc7d8;font-size:12px;line-height:1.6;text-align:center}.clinic-note a{color:#aff3eb;text-decoration:underline;text-underline-offset:3px}
