*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#0b0a0a;color:#e9e4da;font-family:Hiragino Mincho ProN,Yu Mincho,Georgia,serif;user-select:none;-webkit-user-select:none;touch-action:none}#c{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block}#grain{position:fixed;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:.55;background-size:256px}#grain:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#0000 55%,#0009)}#ink-hurt{position:fixed;inset:0;pointer-events:none;opacity:0;background-size:cover;transition:opacity .5s}#hud{position:fixed;inset:0;pointer-events:none}#lvl{position:absolute;top:max(12px,env(safe-area-inset-top));left:16px;font-size:14px;letter-spacing:.2em;opacity:.85}#obj{position:absolute;top:calc(max(12px,env(safe-area-inset-top)) + 22px);left:16px;font-size:12px;opacity:.7;max-width:60vw}#cross{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:1px;background:#e9e4dacc;transform:rotate(45deg)}#msg{position:absolute;top:26%;width:100%;text-align:center;font-size:clamp(18px,3.4vw,34px);letter-spacing:.25em;text-shadow:0 0 12px #000,0 0 3px #000;opacity:0;transition:opacity .4s}#msg.on{opacity:1}#stats{position:absolute;left:16px;bottom:max(14px,env(safe-area-inset-bottom));font-size:16px}#stats b{color:#b3261e;margin-right:8px;font-size:20px}.hp{display:flex;align-items:center;gap:6px}#hp-bar{width:200px;height:12px;background:#0009;border:1px solid rgba(233,228,218,.4);clip-path:polygon(0 20%,3% 0,100% 10%,98% 100%,1% 85%)}#hp-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#3a0306,#9a1a16);transition:width .15s}.ammo{margin-top:6px;display:flex;gap:14px;align-items:center}.ammo .k{opacity:.75;font-size:13px}#boss{position:absolute;top:max(40px,calc(env(safe-area-inset-top) + 30px));left:50%;transform:translate(-50%);width:min(520px,70vw);text-align:center;font-size:13px;letter-spacing:.3em}#boss-bar{height:8px;margin-top:4px;background:#0009;border:1px solid rgba(233,228,218,.4)}#boss-bar i{display:block;height:100%;width:100%;background:#8f1712}#parry{position:absolute;left:50%;top:58%;transform:translate(-50%) scale(.8);font-size:28px;letter-spacing:.5em;color:#f2ede4;opacity:0;text-shadow:0 0 10px #000;transition:opacity .25s,transform .25s}#parry.on{opacity:1;transform:translate(-50%) scale(1)}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 40%,#14121240,#050404e0);padding:20px}.screen[hidden]{display:none}#title{background:linear-gradient(90deg,#050404eb,#050404a6 45%,#05040400 75%);align-items:flex-start;padding-left:7vw;text-align:left}.brand{font-size:11px;letter-spacing:.35em;opacity:.6}h1{font-size:clamp(40px,8vw,96px);margin:8px 0 0;letter-spacing:.06em;font-weight:700;line-height:.95}h1 span{color:#b3261e}.kanji{font-size:22px;letter-spacing:.5em;opacity:.7;margin:6px 0 10px}.tag{opacity:.8;max-width:420px}button{font:inherit;color:#e9e4da;background:#0a0909b3;border:1px solid rgba(233,228,218,.5);padding:10px 26px;letter-spacing:.3em;cursor:pointer}button:hover{background:#8f1712}#play{font-size:20px;margin:14px 0;pointer-events:auto}#play:disabled{opacity:.4}#loading{font-size:12px;opacity:.6}.controls{margin-top:16px;font-size:13px;opacity:.78;line-height:1.7}.controls b{color:#d9cfc0}.levels{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.levels button{font-size:11px;padding:6px 12px;letter-spacing:.15em}.levels button.locked,.seg button.locked{opacity:.42;border-style:dashed;cursor:not-allowed}.levels button .seal,.seg button .seal{color:#b3261e;font-weight:700;margin-right:2px}.levels button .rk,.seg button .rk{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid currentColor;font-size:10px;letter-spacing:0}.rk.r-S{color:#e0b84a}.rk.r-A{color:#e9e4da}.rk.r-B{color:#9aa0a8}.rk.r-C{color:#7a6e66}body.touch .desk,body:not(.touch) .phone{display:none}#card h2{font-size:clamp(26px,5vw,54px);letter-spacing:.15em;margin:0 0 10px}#card p{max-width:560px;opacity:.85;line-height:1.6}#touch{position:fixed;inset:0;pointer-events:none}#touch[hidden]{display:none}#touch-area{position:absolute;inset:0;pointer-events:auto}#stick{position:absolute;left:40px;bottom:60px;width:140px;height:140px;border-radius:50%;border:2px solid rgba(233,228,218,.25);background:#0000002e;opacity:.5;pointer-events:none}#stick.on{opacity:.9}#knob{position:absolute;left:45px;top:45px;width:50px;height:50px;border-radius:50%;background:#e9e4da59}.tb{position:absolute;pointer-events:auto;width:66px;height:66px;border-radius:50%;padding:0;font-size:24px;letter-spacing:0;background:#0a090973;border:1.5px solid rgba(233,228,218,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;touch-action:none}.tb small{font-size:8px;letter-spacing:.15em;margin-top:3px;opacity:.7;font-family:sans-serif}.tb.on{background:#8f1712bf}.tb.big{width:96px;height:96px;font-size:34px;right:max(26px,env(safe-area-inset-right));bottom:max(34px,calc(env(safe-area-inset-bottom) + 20px))}#b-block{right:max(136px,calc(env(safe-area-inset-right) + 110px));bottom:max(28px,calc(env(safe-area-inset-bottom) + 14px))}#b-swap{right:max(30px,env(safe-area-inset-right));bottom:max(148px,calc(env(safe-area-inset-bottom) + 134px));width:72px;height:72px;border-color:#e9e4dacc}#b-wpn{right:max(40px,calc(env(safe-area-inset-right) + 10px));bottom:max(236px,calc(env(safe-area-inset-bottom) + 222px));width:52px;height:52px;font-size:20px}#b-swap span{font-size:30px;font-family:sans-serif}#b-swap.gun{background:#8f17128c}#b-jump{right:max(212px,calc(env(safe-area-inset-right) + 188px));bottom:max(40px,calc(env(safe-area-inset-bottom) + 26px))}#wpn{color:#d9cfc0;opacity:.9;letter-spacing:.12em}#b-dash{right:max(120px,calc(env(safe-area-inset-right) + 96px));bottom:max(118px,calc(env(safe-area-inset-bottom) + 104px))}.tb.mini{width:40px;height:40px;font-size:14px;right:max(14px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}@media (max-height: 460px){#stats{font-size:13px}#hp-bar{width:130px}#title{padding-left:4vw}h1{font-size:44px}.controls{margin-top:6px}.tag{display:none}}body.touch #stats{bottom:auto;top:calc(max(12px,env(safe-area-inset-top)) + 44px)}body.touch #obj{display:none}body.touch #msg{top:36%;font-size:18px;letter-spacing:.15em;padding:0 8vw}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button.ghost{background:#0a090959;font-size:13px;padding:8px 18px}#options{background:#050404ed;gap:4px;overflow-y:auto;justify-content:flex-start;padding-top:max(28px,env(safe-area-inset-top))}#options h2{letter-spacing:.25em;margin:10px 0 14px;font-size:clamp(22px,4vw,36px)}#options h2 .kanji{font-size:16px}.opt{display:grid;grid-template-columns:150px minmax(180px,420px) 52px;gap:12px;align-items:center;width:min(680px,94vw);padding:8px 0;border-bottom:1px solid rgba(233,228,218,.12);text-align:left}.opt label{font-size:13px;letter-spacing:.18em;opacity:.85}.opt span{font-size:13px;opacity:.75;text-align:right}.seg{display:flex;flex-wrap:wrap;gap:6px;grid-column:span 2}.seg button{font-size:12px;padding:7px 12px;letter-spacing:.12em}.seg button.on{background:#8f1712;border-color:#e9e4da}.opt input[type=range]{width:100%;accent-color:#8f1712;height:28px}#o-back{margin-top:16px}.note{font-size:12px;opacity:.6;min-height:1em}@media (max-width: 560px){.opt{grid-template-columns:1fr 52px}.opt label,.seg{grid-column:span 2}}#ar-bar,#sp-bar{width:140px;height:7px;background:#0009;border:1px solid rgba(233,228,218,.3)}#ar-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1c2a4a,#4a6a9a);transition:width .15s}#sp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3a4a55,#dfe8f0);transition:width .15s}.hp.ar,.hp.sp{margin-top:3px;font-size:12px}.hp.ar b,.hp.sp b{font-size:14px}#stats .hp.ar b{color:#6f8fc0}#stats .hp.sp b{color:#dfe8f0}.hp.sp.full #sp-bar{box-shadow:0 0 8px #dfe8f0}.hp.sp.full span:after{content:"R · INK STORM";letter-spacing:.15em}body.touch .hp.sp.full span:after{content:"魂 READY"}.hf{color:#ff7a3a;opacity:1!important}#b-ink{right:max(210px,calc(env(safe-area-inset-right) + 186px));bottom:max(128px,calc(env(safe-area-inset-bottom) + 114px));border-color:#dfe8f0;box-shadow:0 0 12px #dfe8f099}#ink-storm{position:fixed;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%,#08060800 10%,#080608d9 70%);transition:opacity .6s}@media (max-height: 460px){#ar-bar,#sp-bar{width:90px}}#intro{position:fixed;inset:0;z-index:50;background:#050404;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .35s;cursor:pointer}#intro.out{opacity:0}#intro canvas{display:block;box-shadow:0 0 40px #000c}#intro .cap{position:absolute;bottom:7vh;left:50%;transform:translate(-50%);width:max-content;max-width:90vw;padding:.35em 1.2em;background:#050404b8;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,2.6vw,30px);letter-spacing:.18em;color:#f1ebdd;text-shadow:0 2px 8px #000,0 0 2px #000;opacity:0}#intro .cap.on{animation:capIn 1.2s .5s forwards}@keyframes capIn{0%{opacity:0}to{opacity:1}}#intro .skip{position:absolute;top:18px;right:22px;background:#00000080;color:#e8e1d2;border:1px solid #8a7f70;padding:8px 14px;letter-spacing:.2em;font-size:13px;cursor:pointer}#intro .hint{position:absolute;bottom:2.5vh;color:#8a7f70;font-size:12px;letter-spacing:.2em}.tb[hidden]{display:none}@media (orientation: portrait){#stick{left:max(14px,env(safe-area-inset-left));bottom:max(36px,calc(env(safe-area-inset-bottom) + 22px));width:132px;height:132px}#knob{left:41px;top:41px}.tb{width:60px;height:60px;font-size:22px}.tb.big{width:90px;height:90px;font-size:32px;right:max(14px,env(safe-area-inset-right));bottom:max(28px,calc(env(safe-area-inset-bottom) + 14px))}#b-block{right:max(114px,calc(env(safe-area-inset-right) + 100px));bottom:max(20px,calc(env(safe-area-inset-bottom) + 6px))}#b-jump{right:max(114px,calc(env(safe-area-inset-right) + 100px));bottom:max(90px,calc(env(safe-area-inset-bottom) + 76px))}#b-dash{right:max(46px,calc(env(safe-area-inset-right) + 32px));bottom:max(130px,calc(env(safe-area-inset-bottom) + 116px))}#b-swap{right:max(10px,env(safe-area-inset-right));bottom:max(204px,calc(env(safe-area-inset-bottom) + 190px));width:66px;height:66px}#b-ink{right:max(148px,calc(env(safe-area-inset-right) + 134px));bottom:max(166px,calc(env(safe-area-inset-bottom) + 152px))}.tb.mini{width:40px;height:40px;font-size:14px}}@media (orientation: landscape) and (max-height: 460px){body.touch #stats{font-size:12px}body.touch #stats b{font-size:15px}body.touch #hp-bar{width:110px}#stick{bottom:max(18px,calc(env(safe-area-inset-bottom) + 6px));width:124px;height:124px}#knob{left:37px;top:37px}}#tally{margin:6px 0 16px;min-width:min(420px,86vw);font-family:Georgia,serif}#tally[hidden]{display:none}#tally .tr{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;padding:6px 4px;border-bottom:1px solid rgba(233,228,218,.15);letter-spacing:.14em;opacity:0;animation:tIn .35s forwards}#tally .k{color:#b3261e;font-size:13px}#tally .v{font-size:20px;color:#f1ebdd;text-align:right}#tally .n{font-size:11px;color:#8a7f70;align-self:center}#tally .rank{font-size:64px;text-align:center;margin-top:8px;color:#f1ebdd;text-shadow:0 0 18px rgba(179,38,30,.8);opacity:0;animation:rIn .5s forwards}#tally .r-S{color:#ffd27a}#tally .r-C{color:#8a7f70}@keyframes tIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes rIn{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:none}}@media (max-height: 460px){#tally .tr{padding:2px 4px}#tally .v{font-size:16px}#tally .rank{font-size:40px;margin-top:2px}}#intro .cap[hidden]{display:none}#help{z-index:40;background:#060505ed}#help .keys{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:6px 28px;margin:10px 0 14px;max-width:760px}#help .kr{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid rgba(138,127,112,.25);padding:4px 0}#help .what{color:#cfc6b6;letter-spacing:.06em;font-size:14px}#help .ks{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}#help kbd{font:600 12px Georgia,serif;color:#f1ebdd;background:#1a1716;border:1px solid #6d655b;border-bottom-width:3px;border-radius:4px;padding:3px 7px;letter-spacing:.05em}@media (max-width: 620px){#help .keys{grid-template-columns:1fr}}#tut{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;background:#080707d1;border:1px solid #6d655b;color:#f1ebdd;font-family:Georgia,serif;letter-spacing:.08em;font-size:15px;max-width:92vw;pointer-events:none;transition:border-color .2s}#tut .tn{color:#8a7f70;font-size:12px}#tut .tskip{pointer-events:auto;background:none;border:1px solid #6d655b;color:#cfc6b6;font-size:11px;padding:4px 8px;letter-spacing:.15em}#tut.ok{border-color:#c9a24a}#tut.ok .tt:before{content:"✓ ";color:#c9a24a}#tut-ring{position:fixed;z-index:29;border:2px solid #e8dcc4;border-radius:50%;pointer-events:none;animation:tutPulse 1.1s ease-in-out infinite;box-shadow:0 0 18px #e8dcc459}#tut-ring[hidden]{display:none}@keyframes tutPulse{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.08);opacity:.55}}
