:root{font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;color:#f4eee6;background:#060810;font-synthesis:none;--gold:#ffcf83;--dim:#9195ab;--line:#ffffff1c;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #fff0b8;outline-offset:4px}[hidden]{display:none!important}.game-shell{position:relative;isolation:isolate;max-width:600px;min-height:100svh;margin:auto;padding:0 26px;overflow:hidden;background:#080c17;box-shadow:0 0 110px #28203e44;display:flex;flex-direction:column}#dungeon,.vignette{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.vignette{z-index:-2;background:linear-gradient(180deg,#050711b5,#06081005 28%,#080b1480,#080b14ef 86%),linear-gradient(90deg,#06081055,transparent 30%,transparent 70%,#06081055);pointer-events:none}.topbar{display:flex;align-items:center;justify-content:space-between;height:88px;padding-top:env(safe-area-inset-top)}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:19px;letter-spacing:.1em}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:.38em;color:var(--gold);margin-top:2px}.brand-mark{font-family:serif;border:1px solid #d8a96477;width:37px;height:41px;display:grid;place-items:center;clip-path:polygon(0 13%,50% 0,100% 13%,100% 87%,50% 100%,0 87%);background:#ddae5620;color:var(--gold);font-size:25px}.tools{display:flex;gap:8px}.icon-btn{border:1px solid var(--line);color:#d0c8bd;background:#111522aa;border-radius:50%;height:34px;width:34px;font-size:17px}.icon-btn[aria-pressed=true]{color:var(--gold);border-color:#bf985c}.hud{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;align-items:center}.eyebrow{display:block;color:#8f92a5;font:9px/1.5 ui-monospace,monospace;letter-spacing:.2em}.hud strong{display:block;font:500 31px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.03em}.depth{text-align:right}.depth strong{color:var(--gold);font-size:27px}.depth small{font-size:12px;color:#9f8a73}.area-label{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;color:#b8a98c;font-size:9px;letter-spacing:.14em;white-space:nowrap}.line{width:25px;height:1px;background:linear-gradient(90deg,transparent,#a18756)}.line:last-child{transform:rotate(180deg)}.arena{position:relative;min-height:340px;flex:1;display:flex;align-items:center;justify-content:center}.home{padding:150px 0 28px;width:100%;text-align:center}.tag{color:var(--gold);font-size:10px;letter-spacing:.13em}.home h1{font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:35px;line-height:1.5;letter-spacing:.035em;margin:18px 0 14px;font-weight:800;text-shadow:0 3px 22px #050710}.home h1 em{font-style:normal;color:var(--gold)}.home p{font-size:12px;line-height:1.9;color:#abb0c2;margin:0 0 27px}.primary{position:relative;width:100%;height:58px;border:1px solid #ffdf9f;background:linear-gradient(120deg,#ffe1a4,#e2a64d);color:#281a14;font-size:15px;font-weight:850;letter-spacing:.14em;border-radius:3px;box-shadow:0 7px 30px #a5642038;display:flex;justify-content:center;align-items:center;gap:30px;transition:filter .15s,transform .15s}.primary:hover{filter:brightness(1.09)}.primary:active{transform:scale(.98)}.primary b{position:absolute;right:21px;font-size:22px;font-weight:400}.primary:disabled{opacity:.55}.start-note{display:block;font-size:9px;color:#9c9387;letter-spacing:.08em;margin-top:14px}.play{width:100%;text-align:center;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:97px 0 22px}.enemy-label{font:8px ui-monospace,monospace;letter-spacing:.32em;color:#ba9aed;margin:0 0 12px;text-shadow:0 0 10px #9869ff}.combo{font:italic 800 17px ui-monospace,monospace;color:var(--gold);letter-spacing:.08em;margin-bottom:23px;text-shadow:0 0 15px #ee9c3780}.rune-wrap{position:relative;width:118px;height:118px;display:grid;place-items:center}.rune-frame{position:absolute;inset:0;transform:rotate(45deg);border:1px solid #cba76b7a;background:linear-gradient(135deg,#3b304ccc,#100f1aef);box-shadow:inset 0 0 25px #ffc3660a,0 0 45px #ffc87912}.rune-frame:after{content:"";position:absolute;inset:7px;border:1px solid #ba8e4b30}.rune{position:relative;font:700 74px Yu Mincho,Hiragino Mincho ProN,serif;color:#fff1d3;text-shadow:0 0 25px #ffcc8755}.prompt{margin-top:30px;font-family:serif;font-size:22px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px}.prompt b{font:14px sans-serif;color:#7b7681}.prompt .blank{border-bottom:1px solid #b9966266;width:28px;color:var(--gold)}.prompt small{flex:0 0 100%;font:10px sans-serif;color:#a7a0a6;letter-spacing:.1em;margin-top:0}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 0}.choice{position:relative;min-width:0;height:134px;border:1px solid #8d769548;border-top-color:#e5bb7888;background:linear-gradient(155deg,#282431ed,#111421f5);color:#fcf0dc;border-radius:4px;box-shadow:0 7px #060811,0 8px #ffffff12;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .12s,border-color .12s,filter .12s;touch-action:manipulation}.choice:nth-child(2){border-top-color:#bca4fc88;background:linear-gradient(155deg,#2d2841ed,#141323f5)}.choice-arrow{font:17px sans-serif;color:#c8a87a;align-self:flex-start;position:absolute;top:9px;left:12px}.choice strong{font:700 44px Yu Mincho,Hiragino Mincho ProN,serif;margin-top:8px}.choice small{color:#8c8399;font-size:8px;letter-spacing:.12em;margin-top:7px}.choice:hover{border-color:#e8c78a}.choice:active{transform:translateY(5px);filter:brightness(1.4);box-shadow:0 2px #060811}.choice:disabled{opacity:.65}.choice:disabled strong{filter:blur(.2px)}.status-line{min-height:47px;display:flex;justify-content:center;align-items:center;gap:7px;font-size:9px;color:#a49eaf;text-align:center;line-height:1.6;margin:5px 0}.status-dot{flex:0 0 4px;height:4px;background:#d5b179;border-radius:50%}.bottom-nav{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:17px 0;font-size:10px;color:#b9b3c4}.bottom-nav button{border:0;background:transparent;color:inherit;padding:0;font-size:inherit}.bottom-nav span{margin-left:5px;color:var(--gold)}footer{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 15px;border-top:1px solid #ffffff09;padding:14px 0 max(15px,env(safe-area-inset-bottom));font-size:8px;color:#716e83}footer span{color:#918571}.reward{position:absolute;inset:15% 0 auto;text-align:center;pointer-events:none;opacity:0;z-index:4;text-shadow:0 0 16px #c389ff,0 4px 3px #000}.reward b{display:block;font:800 42px serif;color:#fff1c9}.reward span{font:italic 700 19px ui-monospace,monospace;color:var(--gold);display:block;margin-top:10px}.shockwave{position:absolute;inset:30% 10% auto;aspect-ratio:1;border:2px solid #f5c482;border-radius:50%;pointer-events:none;opacity:0;z-index:-1}.impact .reward{animation:reward 1s both}.impact .shockwave{animation:shock .6s both}.impact .rune-wrap{animation:hit .18s both}.impact .combo{animation:combo .45s both}@keyframes reward{0%{opacity:0;transform:scale(.6) translateY(25px)}15%{opacity:1;transform:scale(1.12)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-35px)}}@keyframes shock{0%{opacity:.75;transform:scale(.3)}to{opacity:0;transform:scale(2.6)}}@keyframes hit{0%,50%{transform:scale(.9)}to{transform:scale(1)}}@keyframes combo{30%{transform:scale(1.2);color:#fff}}.result{text-align:center;width:100%;margin:38px 0 20px;padding:28px 20px;background:linear-gradient(145deg,#161424f5,#0b101be8);border:1px solid #8e765141;box-shadow:0 20px 80px #0008;border-radius:5px}.result h2{font-family:serif;font-size:24px;margin:13px 0 19px;letter-spacing:.08em}.result-score{font:500 52px ui-monospace,monospace;color:var(--gold);text-shadow:0 0 35px #d6a44833}.result p{font-size:11px;color:#bab2c3}.answer-reveal{margin:24px 0 15px;border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:5px}.answer-reveal small{font-size:9px;color:#a194a6}.answer-reveal strong{font:700 30px serif}.answer-reveal span{font-size:10px;color:var(--gold)}.result .rank-status{font-size:9px;line-height:1.7;min-height:30px}.text-btn{background:transparent;border:0;color:var(--gold);font-size:11px;padding:12px 4px}.result .text-btn{margin-top:8px}dialog{width:min(90vw,480px);max-height:85svh;overflow:auto;border:1px solid #685674;border-radius:8px;background:#111420;color:#e8dfd1;padding:34px 26px;box-shadow:0 20px 100px #000b}dialog::backdrop{background:#02030bd6;backdrop-filter:blur(6px)}.close{position:absolute;right:10px;top:8px;background:none;border:0;color:#b5adbf;font-size:27px;width:35px;height:35px}dialog h2{font:700 23px serif;margin:12px 0 25px}dialog p{font-size:12px;line-height:1.9;color:#b7b1c3}.example{padding:20px 0;text-align:center;font:27px serif;color:var(--gold);border-block:1px solid var(--line)}.example span{font:15px sans-serif;color:#83798f}.example b{font-size:19px}.muted{color:#8d8498!important}.rank-row{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;border-top:1px solid var(--line);padding:15px 0;font-size:10px}.rank-row b{color:var(--gold);font:17px ui-monospace,monospace}.rank-row strong{font:17px ui-monospace,monospace}.rank-row small{grid-column:3;text-align:right;color:#9b8fad}.reduced *{animation:none!important;transition:none!important}.reduced .impact .reward{opacity:1;inset:10% 0 auto}.no-webgl .game-shell{background:radial-gradient(ellipse at 50% 40%,#35254c,#080c17 70%)}@media(min-width:700px){body{background:radial-gradient(ellipse at 50% 20%,#181426,#060810 65%)}.game-shell{max-width:520px;border-inline:1px solid #ffffff0e;padding-inline:32px}.home{padding-top:190px}.arena{min-height:360px}}@media(max-width:380px){.game-shell{padding-inline:18px}.topbar{height:76px}.home h1{font-size:30px}.choice{height:117px}.home{padding-top:100px}.controls{gap:9px}.hud strong{font-size:28px}.play{padding-top:70px}.rune-wrap{width:104px;height:104px}.rune{font-size:65px}}@media(max-height:740px){.topbar{height:70px}.hud{padding-top:12px}.area-label{margin-top:14px}.home{padding-top:100px}.home h1{font-size:30px;margin:12px 0}.home p{margin-bottom:19px}.arena{min-height:300px}.play{padding-top:70px;padding-bottom:12px}.choice{height:112px}.rune-wrap{width:95px;height:95px}.rune{font-size:59px}.combo{margin-bottom:20px}.prompt{margin-top:23px}.status-line{min-height:40px}.bottom-nav{padding:13px 0}}.game-shell{height:100svh;min-height:620px}.topbar,.hud,.area-label,.controls,.status-line,.bottom-nav,footer{flex-shrink:0}.arena{min-height:0}.home{padding:65px 0 12px}.home h1{font-size:32px}.play{position:absolute;inset:0;padding:65px 0 16px;justify-content:flex-end}.enemy-label{position:absolute;top:18px}.combo{position:absolute;top:40px;margin:0}.rune-wrap{flex-shrink:0;width:104px;height:104px}.rune{font-size:65px}.prompt{margin-top:26px;gap:9px}.choice{height:122px}.result{max-height:100%;overflow:auto;margin:10px 0;padding:22px 18px}.result h2{margin:10px 0}.result-score{font-size:43px}.answer-reveal{margin:15px 0 10px;padding-top:12px}.result .rank-status{min-height:0}.status-line{min-height:40px}.bottom-nav{padding:13px 0}footer{padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}@media(max-height:740px){.game-shell{min-height:590px}.topbar{height:57px}.hud{padding-top:9px}.hud strong{font-size:25px}.area-label{margin-top:12px}.home{padding:35px 0 6px}.home h1{font-size:27px;margin:10px 0}.home p{font-size:11px;margin-bottom:15px}.home .primary{height:49px}.start-note{margin-top:10px}.enemy-label{top:8px;font-size:7px}.combo{top:24px;font-size:14px}.play{padding:43px 0 8px}.rune-wrap{width:74px;height:74px}.rune{font-size:47px}.prompt{font-size:19px;margin-top:19px;gap:6px}.prompt small{font-size:9px}.controls{margin-top:9px}.choice{height:98px}.choice strong{font-size:35px}.choice small{font-size:7px}.choice-arrow{font-size:13px;top:7px;left:9px}.status-line{min-height:35px;margin:3px 0;font-size:8px}.bottom-nav{padding:10px 0}footer{font-size:7px;gap:6px 10px}.result{padding:12px}.result h2{font-size:19px}.result-score{font-size:35px}.result p{margin:7px 0}.answer-reveal{margin:8px 0;padding-top:8px}.answer-reveal strong{font-size:24px}.result .primary{height:45px}.result .text-btn{margin:0;padding:10px 4px}}
