:root{--paper:#f6f2e7;--paper-2:#efe8d6;--card:#ffffff9e;--grid:#4076a81f;--margin:#d6484852;--graphite:#2a2b27;--pencil:#6b6c63;--faint:#2a2b2724;--blue:#1f4fb0;--red:#c42f29;--blue-soft:#1f4fb017;--red-soft:#c42f2917;--marker:#ffdb3a99;--flame:#f0932b;--good:#2f7d4f;--shadow:0 1px 0 #2824140d, 0 14px 32px -18px #28241459;--kai:"LXGW WenKai TC", "Kaiti TC", "STKaiti", "BiauKai", "DFKai-SB", "KaiTi", serif;--ui:-apple-system, BlinkMacSystemFont, "PingFang HK", "Noto Sans HK", "Microsoft JhengHei", "Segoe UI", system-ui, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--sketch:18px 7px 16px 8px / 8px 16px 7px 18px;--sketch-sm:12px 5px 11px 6px / 6px 11px 5px 12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#1d2722;--paper-2:#24302a;--card:#ffffff0b;--grid:#ffffff0a;--margin:#ff8a7e2e;--graphite:#eceadf;--pencil:#a2aa9f;--faint:#eceadf24;--blue:#8ab8ff;--red:#ff8b80;--blue-soft:#8ab8ff1a;--red-soft:#ff8b801a;--marker:#ffd64042;--flame:#ffb057;--good:#7fd4a0;--shadow:0 14px 32px -18px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body,#root,.app{height:100%}body{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);color:var(--graphite);font-family:var(--ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;background-position:-1px -1px;background-size:24px 24px;margin:0;font-size:15px;line-height:1.5}@media (width>=900px){body:before{content:"";background:var(--margin);pointer-events:none;width:1.5px;position:fixed;inset:0 auto 0 64px}}button,input{font:inherit;color:inherit}button{-webkit-user-select:none;user-select:none;touch-action:manipulation}:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ink-blue{color:var(--blue)}.ink-red{color:var(--red)}.is-blue{color:var(--blue)}.is-red{color:var(--red)}.sketchy{border:2px solid var(--graphite);border-radius:var(--sketch)}.screen{animation:screen-in .4s var(--ease-out) backwards}.btn{border:2px solid var(--graphite);border-radius:var(--sketch-sm);background:var(--card);min-height:48px;color:var(--graphite);letter-spacing:.02em;cursor:pointer;box-shadow:0 3px 0 var(--graphite);transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background .15s;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--paper-2)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--graphite);transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--graphite);color:var(--paper)}.btn-primary:hover:not(:disabled){background:var(--graphite);filter:brightness(1.15)}.btn-danger{border-color:var(--red);color:var(--red);box-shadow:0 3px 0 var(--red)}.btn-quiet{box-shadow:none;border-color:var(--faint);color:var(--pencil);background:0 0}.btn-quiet:active:not(:disabled){transform:translateY(1px)}.btn-block{width:100%}.btn-grow{flex:1}.btn-small{min-height:34px;box-shadow:0 2px 0 var(--graphite);padding:0 12px;font-size:13px}.icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-btn,.lang-btn{min-width:44px;height:44px;color:var(--graphite);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;padding:0 10px;transition:background .15s;display:inline-grid}.icon-btn:hover,.lang-btn:hover{background:var(--faint)}.lang-btn{letter-spacing:.04em;border:1.5px solid var(--faint);min-width:44px;height:36px;margin-left:4px;font-size:14px;font-weight:700}.seg-row{grid-template-columns:5.5em 1fr;align-items:center;gap:12px;display:grid}.seg-label{font-family:var(--kai);font-size:17px}.seg{border:2px solid var(--graphite);border-radius:var(--sketch-sm);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.seg button{min-height:42px;color:var(--pencil);cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:14px;transition:background .18s,color .18s}.seg button+button{border-left:2px solid var(--graphite)}.seg button.is-on{background:var(--graphite);color:var(--paper);font-weight:600}.icon-btn.is-dim{opacity:.45}.music-sheet{gap:14px;display:grid}.track-list{gap:8px;display:grid}.track-list button{border:2px solid var(--graphite);border-radius:var(--sketch-sm);min-height:42px;color:var(--pencil);text-align:left;cursor:pointer;background:0 0;padding:6px 12px;font-size:15px}.track-list button.is-on{background:var(--graphite);color:var(--paper);font-weight:600}.now-playing{color:var(--pencil);margin:0;font-size:14px}.link-btn{min-height:44px;color:var(--blue);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:8px;padding:0 6px;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;display:inline-flex}.key-hint{display:none}@media (hover:hover) and (pointer:fine){.key-hint{font:600 10px/1 var(--ui);color:var(--pencil);opacity:.7;border:1px solid var(--faint);border-radius:4px;padding:2px 4px;display:block;position:absolute;top:6px;right:8px}}.topbar{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 6px max(10px, env(safe-area-inset-left));grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.topbar-title{font-family:var(--kai);white-space:nowrap;justify-content:center;align-items:baseline;gap:10px;min-width:0;margin:0;font-size:18px;font-weight:400;display:flex}.topbar-actions{grid-column:3;align-items:center;display:flex}.round-chip{font-family:var(--kai);font-size:19px}.series{color:var(--pencil);font-size:12.5px;font-family:var(--ui)}@media (width<=480px){.series{display:none}}.home{min-height:100%;padding-bottom:max(28px, env(safe-area-inset-bottom))}.hero{text-align:center;max-width:560px;margin:0 auto;padding:0 16px}.eyebrow{letter-spacing:.12em;color:var(--pencil);margin:4px 0 0;font-size:13px}.title{white-space:nowrap;font-family:var(--kai);margin:2px 0 0;font-size:clamp(56px,17vw,96px);font-weight:700;line-height:1.05}.title span{letter-spacing:0;animation:ink-in .7s var(--ease-out) both;margin:0 .04em;display:inline-block}.title ruby{ruby-position:under;-webkit-ruby-position:after;ruby-align:center}.title rt{font-family:var(--ui);letter-spacing:.04em;text-indent:0;color:var(--pencil);padding-top:4px;font-size:clamp(12px,3.4vw,15px);font-weight:500}.romanised{letter-spacing:.24em;text-transform:uppercase;color:var(--pencil);opacity:.75;margin:2px 0 0;font-size:11px}.hero-camp{aspect-ratio:400/248;max-width:440px;margin:8px auto 0}.hero-camp .camp{width:100%;height:100%}.flow{font-family:var(--kai);color:var(--pencil);margin:4px 0 0;font-size:15px}.modes{gap:14px;max-width:560px;margin:22px auto 0;padding:0 16px;display:grid}.mode-card{background:var(--card);box-shadow:var(--shadow);text-align:left;padding:16px}.mode-card.is-online{border-width:2.5px;gap:12px;display:grid}.mode-head{align-items:center;gap:14px;display:flex}.mode-head h2{font-family:var(--kai);margin:0;font-size:24px;font-weight:700;line-height:1.2}.mode-head p{color:var(--pencil);margin:2px 0 0;font-size:14px}.mode-icon{background:var(--blue-soft);width:46px;height:46px;color:var(--blue);border-radius:50%;flex:none;place-items:center;display:grid}.mode-btn{cursor:pointer;width:100%;min-height:76px;color:var(--graphite);transition:transform .15s var(--ease-out), background .15s;align-items:center;gap:14px;display:flex}.mode-btn:hover{background:var(--paper-2)}.mode-btn:active{transform:scale(.985)}.mode-btn .mode-icon{background:var(--faint);color:var(--graphite)}.mode-text{flex:1;display:grid}.mode-text strong{font-family:var(--kai);font-size:21px;font-weight:700;line-height:1.25}.mode-text span{color:var(--pencil);font-size:14px}.join-form{grid-template-columns:1fr auto;gap:10px;display:grid}.code-input,.invite-url{border:2px solid var(--graphite);border-radius:var(--sketch-sm);background:var(--paper);min-width:0;min-height:48px;font-family:var(--ui);letter-spacing:.3em;text-transform:uppercase;padding:0 14px;font-size:18px}.code-input::placeholder{letter-spacing:.08em;text-transform:none;color:var(--pencil);opacity:.8}.code-input.is-invalid{border-color:var(--red)}.form-hint,.form-error{color:var(--pencil);margin:-4px 0 0;font-size:13px}.form-error{color:var(--red);font-weight:600}.house-rules{gap:10px;padding:6px 2px 0;display:grid}.house-rules h3{letter-spacing:.14em;color:var(--pencil);margin:0;font-size:12px;font-weight:600}@media (width>=980px){.home{grid-template-rows:auto 1fr;grid-template-columns:1fr;display:grid}.home .topbar{grid-column:1/-1}.home{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;column-gap:24px;padding:0 max(40px,5vw) 40px max(96px,7vw)}.hero{max-width:none}.title{font-size:clamp(64px,8vw,112px)}.hero-camp{max-width:580px}.modes{max-width:460px;margin:0}}.lobby{min-height:100%;padding-bottom:max(24px, env(safe-area-inset-bottom))}.lobby-card{text-align:center;background:var(--card);max-width:520px;box-shadow:var(--shadow);justify-items:center;gap:14px;width:calc(100% - 32px);margin:12px auto 0;padding:22px 20px;display:grid}.lobby-label{letter-spacing:.16em;color:var(--pencil);margin:0;font-size:12px}.room-code{gap:8px;margin:-6px 0 0;display:flex}.room-code span{border:2px solid var(--blue);width:58px;height:64px;font-family:var(--ui);color:var(--blue);background:linear-gradient(var(--blue-soft), var(--blue-soft)), var(--paper);animation:stamp-in .45s var(--ease-pop) both;border-radius:6px;place-items:center;font-size:34px;font-weight:800;display:grid}.lobby-status{font-family:var(--kai);margin:0;font-size:20px}.lobby-lead{color:var(--pencil);margin:4px 0 -4px;font-size:14px}.invite-row{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.invite-url{letter-spacing:0;text-transform:none;color:var(--pencil);text-align:center;font-size:14px}@media (width>=520px){.invite-row{grid-template-columns:1fr auto auto}}.qr-wrap{justify-items:center;gap:8px;display:grid}.qr{box-shadow:0 0 0 2px var(--graphite);border-radius:8px}.lobby-rules{color:var(--pencil);margin:0;font-size:13px}.lobby-actions{gap:10px;display:flex}.dots{gap:3px;margin-left:4px;display:inline-flex}.dots i{background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite dot}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}.scribble-loader{border:3px solid var(--faint);border-top-color:var(--blue);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}.game{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.game .topbar{padding-bottom:0}.game-body{grid-template-columns:minmax(0,760px);justify-content:center;min-height:0;display:grid}.board{--arena-h:clamp(88px, 16dvh, 150px);--hand:clamp(44px, 8.5dvh, 78px);grid-template-rows:auto minmax(0, 1fr) var(--arena-h) minmax(0, 1fr) auto;min-height:0;padding:0 12px;display:grid;position:relative}.camp-slot{justify-content:center;align-items:center;min-height:0;display:flex}.camp-slot .camp{width:100%;height:100%}.caption{border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:4px 6px;font-size:12.5px;transition:background .25s;display:flex}.caption.is-live{background:var(--marker);background:linear-gradient(90deg, transparent, var(--marker) 12%, var(--marker) 88%, transparent)}.caption-name{font-family:var(--kai);align-items:center;gap:7px;font-size:17px;font-weight:700;line-height:1.2;display:inline-flex}.ink-dot{background:currentColor;border-radius:50%;width:10px;height:10px}.presence{background:var(--pencil);opacity:.5;border-radius:50%;width:8px;height:8px}.presence.is-on{background:var(--good);opacity:1}.picked-badge{width:20px;height:20px;color:var(--paper);font-size:12px;font-family:var(--ui);animation:stamp-in .3s var(--ease-pop);background:currentColor;border-radius:50%;place-items:center;display:inline-grid}.tally{color:var(--pencil);flex-wrap:wrap;gap:4px 12px;display:inline-flex}.tally-item{align-items:center;gap:5px;display:inline-flex}.tally-item b{font-size:12px;font-weight:600}.pips{gap:3px;display:inline-flex}.pips i{opacity:.4;border:1.5px solid;border-radius:50%;width:7px;height:7px;transition:background .3s,opacity .3s}.caption.is-blue .pips i{color:var(--blue)}.caption.is-red .pips i{color:var(--red)}.pips i.is-on{opacity:1;background:currentColor}.arena{z-index:3;text-align:center;pointer-events:none;place-items:center;display:grid;position:relative}.arena>*{pointer-events:auto}.arena-hand{width:var(--hand);height:calc(var(--hand) * 1.22);pointer-events:none;filter:drop-shadow(0 2px 0 var(--paper));position:absolute;left:50%}.arena-hand.is-top{bottom:calc(50% + 20px);translate:-50%}.arena-hand.is-bottom{top:calc(50% + 20px);translate:-50%}.arena-hand.shake.is-top{animation:.22s ease-in-out infinite alternate bob-down}.arena-hand.shake.is-bottom{animation:.22s ease-in-out infinite alternate bob-up}.arena-hand.is-revealed{animation:reveal .35s var(--ease-pop) both}.arena-hand.is-winner{transition:scale .3s var(--ease-pop);scale:1.1}.arena-hand.is-loser{opacity:.45;transition:opacity .3s}.chant{font-family:var(--kai);animation:chant .22s var(--ease-pop);margin:0;font-size:clamp(30px,6dvh,46px);font-weight:700;line-height:1}.result{font-family:var(--kai);background:var(--paper);animation:pop .3s var(--ease-pop);border-radius:999px;max-width:min(92%,520px);margin:0;padding:2px 12px;font-size:clamp(22px,4.2dvh,32px);font-weight:700;line-height:1.15}.result.is-draw{color:var(--pencil)}.result.is-small{font-size:15px;font-weight:400;font-family:var(--ui);box-shadow:0 0 0 1.5px var(--faint);padding:4px 12px}.result.is-plan{font-family:var(--kai);font-size:clamp(18px,3.2dvh,24px);font-weight:700}.result.is-crit{box-shadow:0 0 0 2px var(--flame);font-weight:700}.result.is-miss{color:var(--pencil)}.prompt{justify-items:center;gap:2px;display:grid}.prompt-round{letter-spacing:.12em;color:var(--pencil);margin:0;font-size:12px}.prompt-main{font-family:var(--kai);animation:pop .3s var(--ease-pop);margin:0;padding:0 6px;font-size:clamp(22px,4.2dvh,30px);font-weight:700;line-height:1.2}.prompt-main.is-marked{background:linear-gradient(transparent 58%, var(--marker) 58%, var(--marker) 92%, transparent 92%)}.over{background:var(--paper);text-align:left;border-radius:20px;align-items:center;gap:16px;padding:8px 18px 8px 10px;display:flex}.stamp{aspect-ratio:1;width:clamp(60px,11dvh,84px);font-family:var(--kai);box-shadow:inset 0 0 0 2px var(--paper), inset 0 0 0 4px currentColor;animation:stamp-in .5s var(--ease-pop) .1s both;border:4px solid;border-radius:12px;place-items:center;font-size:clamp(38px,7dvh,56px);font-weight:700;line-height:1;display:grid;rotate:-8deg}.over-title{font-family:var(--kai);margin:0;font-size:clamp(24px,4.6dvh,34px);font-weight:700;line-height:1.15}.over-sub{color:var(--pencil);margin:2px 0 0;font-size:13px}.controls{width:100%;max-width:760px;padding:4px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));margin:0 auto}.controls-hint{text-align:center;min-height:22px;color:var(--pencil);margin:0 0 6px;font-size:13.5px}.hint-label{background:var(--faint);color:var(--graphite);border-radius:6px;margin-right:2px;padding:0 6px;font-size:12px;font-weight:600;display:inline-block}.controls-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.controls-row .controls-hint{order:-1;width:100%;margin:0}.throws{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.throw{background:var(--card);color:currentColor;cursor:pointer;min-height:70px;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background .15s, opacity .2s;border-color:currentColor;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:8px;padding:8px 6px;display:grid;position:relative;box-shadow:0 3px}.throw:hover:not(:disabled){background:var(--paper);transform:translateY(-2px);box-shadow:0 5px}.throw:active:not(:disabled){transform:translateY(3px);box-shadow:0 0}.throw:disabled{cursor:default;opacity:.42;box-shadow:0 1px}.throw.is-picked,.throw.is-picked:disabled{opacity:1;background:currentColor;transform:translateY(2px);box-shadow:0 1px}.throw.is-picked>*{color:var(--paper)}.throw.is-picked .hand-part{fill:currentColor;stroke:var(--paper)}.throw-hand{grid-row:span 2;width:34px;height:42px}.throw-zh{font-family:var(--kai);font-size:30px;font-weight:700;line-height:1}.throw-en{letter-spacing:.08em;text-transform:uppercase;opacity:.75;grid-column:2;font-size:10.5px}.choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice{background:var(--card);min-height:88px;color:var(--graphite);cursor:pointer;box-shadow:0 3px 0 var(--graphite);animation:rise .35s var(--ease-out) both;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background .15s;align-content:center;justify-items:center;gap:2px;padding:10px 8px;display:grid;position:relative}.choice+.choice{animation-delay:50ms}.choice:hover{background:var(--paper);box-shadow:0 5px 0 var(--graphite);transform:translateY(-2px)}.choice:active{box-shadow:0 0 0 var(--graphite);transform:translateY(3px)}.choice.is-attack{border-color:var(--red);color:var(--red);box-shadow:0 3px 0 var(--red)}.choice.is-attack.ink-blue{border-color:var(--blue);color:var(--blue);box-shadow:0 3px 0 var(--blue)}.choice.is-attack .choice-main:before{content:"✦ "}.choices.is-1{grid-template-columns:1fr}.choices.is-3,.choices.is-place{grid-template-columns:repeat(3,1fr)}.choices.is-place{grid-template-columns:minmax(64px,.55fr) 1fr 1fr}.choices.is-3 .choice-main,.choices.is-place .choice-main{white-space:nowrap;font-size:clamp(18px,5.2vw,24px)}.choices.is-3 .choice-sub,.choices.is-place .choice-sub{font-size:12px}.choice.ink-blue:not(.is-attack),.choice.ink-red:not(.is-attack){color:var(--graphite)}.choice.is-cannon,.choice.is-jet{--ink:currentColor}.choice:disabled{opacity:.5;cursor:default}.choice-back{color:var(--pencil);box-shadow:0 3px 0 var(--faint)}.choice-back .choice-main{font-family:var(--ui);font-size:22px}.choice-art{--ink:currentColor;width:40px;height:40px;overflow:visible}.targets{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;display:grid}.target-btn{background:var(--card);min-height:64px;color:var(--graphite);cursor:pointer;animation:rise .3s var(--ease-out) both;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background .15s;align-content:center;justify-items:center;gap:4px;padding:8px 6px;display:grid;position:relative;box-shadow:0 3px}.targets.ink-blue .target-btn:not(.is-back){color:var(--blue)}.targets.ink-red .target-btn:not(.is-back){color:var(--red)}.target-btn:hover,.target-btn.is-focus{background:var(--paper);transform:translateY(-2px);box-shadow:0 5px}.target-btn:active{transform:translateY(3px);box-shadow:0 0}.target-btn.is-back{color:var(--pencil);box-shadow:none;border:0;border-radius:14px;font-size:14px}.target-name{font-family:var(--kai);font-size:18px;font-weight:700;line-height:1.15}.diff-tag{font:700 11.5px/1.5 var(--ui);color:var(--paper);background:var(--pencil);border-radius:999px;padding:1px 8px;display:inline-block}.diff-tag.is-easy{background:var(--good)}.diff-tag.is-fair{background:var(--flame)}.shooters{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;margin-bottom:8px;display:flex}.shooters-label{color:var(--pencil);font-size:12.5px;font-weight:600}.shooter{background:var(--card);color:currentColor;min-height:34px;font-family:var(--kai);cursor:pointer;--ink:currentColor;align-items:center;gap:4px;padding:2px 10px 2px 4px;font-size:15px;font-weight:700;display:inline-flex}.shooter.is-on{background:currentColor}.shooter.is-on,.shooter.is-on .shooter-art{color:var(--paper)}.shooters.ink-blue .shooter{color:var(--blue)}.shooters.ink-red .shooter{color:var(--red)}.shooters.ink-blue .shooter.is-on,.shooters.ink-red .shooter.is-on{color:var(--paper);background:var(--graphite)}.shooter-art{width:26px;height:26px;overflow:visible}.aim-panel{animation:rise .3s var(--ease-out) both;grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.aim-board{cursor:crosshair;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:clamp(116px,19dvh,164px);height:clamp(116px,19dvh,164px);display:block;overflow:visible}.aim-face{fill:var(--paper);stroke:none}.aim-ring{fill:none;stroke:var(--pencil);stroke-width:.8px;stroke-dasharray:2 2.5;opacity:.6}.aim-edge{fill:none;stroke:var(--graphite);stroke-width:2px}.aim-cross{fill:none;stroke:var(--pencil);stroke-width:.6px;opacity:.4}.aim-bull{fill:var(--flame);fill-opacity:.22;stroke:var(--flame);stroke-width:1.6px;stroke-dasharray:3 2.4}.aim-heart{fill:var(--flame);fill-opacity:.75}.aim-reticle circle,.aim-reticle path{fill:none;stroke:var(--graphite);stroke-width:2.2px;stroke-linecap:round}.aim-board.is-fired .aim-reticle{opacity:.35}.aim-verdict circle{fill:var(--graphite);animation:stamp-in .3s var(--ease-pop) both}.aim-board.is-hit .aim-verdict circle,.aim-board.is-crit .aim-verdict circle{fill:var(--good)}.aim-board.is-crit .aim-heart{animation:.5s ease-out flash}.aim-info{gap:4px;min-width:0;display:grid}.aim-title{font-family:var(--kai);margin:0;font-size:clamp(18px,3dvh,22px);font-weight:700;line-height:1.2}.aim-meta{color:var(--pencil);margin:0 0 4px;font-size:12.5px}.aim-actions{flex-wrap:wrap;gap:8px;display:flex}.fire-btn{min-height:52px;font-family:var(--kai);flex:auto;font-size:22px;position:relative}.aim-result{font-family:var(--kai);animation:stamp-in .35s var(--ease-pop) both;margin:4px 0 0;font-size:26px;font-weight:700}.aim-result.is-hit,.aim-result.is-crit{color:var(--good)}.aim-result.is-miss{color:var(--pencil)}.choice-main{font-family:var(--kai);font-size:24px;font-weight:700;line-height:1.15}.choice-sub{color:var(--pencil);font-size:13px;line-height:1.3}.handoff{z-index:40;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);place-items:center;padding:24px;animation:.25s ease-out fade-in;display:grid;position:fixed;inset:0}.handoff-card{text-align:center;background:var(--paper);max-width:380px;box-shadow:var(--shadow);animation:rise .35s var(--ease-out);justify-items:center;gap:10px;padding:26px 22px;display:grid}.handoff-title{font-family:var(--kai);margin:0;font-size:28px;font-weight:700;line-height:1.2}.handoff-sub{color:var(--pencil);margin:0 0 8px}.banner{z-index:8;background:var(--graphite);max-width:calc(100% - 24px);color:var(--paper);box-shadow:var(--shadow);animation:drop-in .35s var(--ease-pop);border-radius:999px;align-items:center;gap:10px;padding:7px 14px;font-size:13.5px;font-weight:600;display:flex;position:absolute;top:4px;left:50%;translate:-50%}.banner.is-good{background:var(--good);color:#fff}.banner .btn-small{background:var(--paper);color:var(--graphite);box-shadow:none}.log-panel{display:none}.log-list{gap:2px;margin:0;padding:0;font-size:13.5px;line-height:1.5;list-style:none;display:grid}.log-list li{border-left:3px solid #0000;border-radius:4px;padding:5px 8px 5px 12px;animation:.3s ease-out fade-in}.log-list li.is-blue{border-left-color:var(--blue);color:var(--blue)}.log-list li.is-red{border-left-color:var(--red);color:var(--red)}.log-list li.is-miss{opacity:.7;font-style:italic}.log-list li.is-throw{color:var(--pencil);border-left-color:var(--c,var(--faint));margin-top:4px;font-size:12.5px}.log-empty{color:var(--pencil)}@media (width>=1100px){.only-narrow{display:none}.game-body{grid-template-columns:minmax(0,760px) 300px;gap:28px}.log-panel{flex-direction:column;min-height:0;padding:8px 4px 16px;display:flex}.log-panel h2{font-family:var(--kai);margin:0 0 8px;font-size:19px}.log-panel .log-list{padding-right:6px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 85%,#0000);mask-image:linear-gradient(#000 85%,#0000)}}@media (width<=1099.98px){.only-wide{display:none}}@media (height<=700px){.board{--arena-h:clamp(76px, 14dvh, 110px)}.caption{padding:2px 6px}.throw{min-height:58px}.throw-hand{width:28px;height:34px}.choice{min-height:74px}.controls-hint{margin-bottom:4px}}@media (width<=380px){.tally{gap:2px 7px}.tally-item{gap:3px}.pips{gap:2px}.pips i{width:6px;height:6px}.throw{grid-template-columns:auto;justify-items:center}.throw-hand{display:none}.throw-en{grid-column:1}}@media (orientation:landscape) and (height<=520px){.board{--hand:52px;grid-template:"capT arena capB""campT arena campB"minmax(0,1fr)/1fr 180px 1fr;column-gap:8px}.caption.is-top{grid-area:capT}.caption.is-bottom{grid-area:capB}.camp-slot.is-down{grid-area:campT}.camp-slot.is-up{grid-area:campB}.arena{grid-area:1/arena/-1}.throw{min-height:50px}.choice{min-height:60px}}.camp{display:block;overflow:visible}.anchor{fill:none;stroke:none}.camp .ground{fill:none;stroke:var(--pencil);stroke-width:1.4px;stroke-linecap:round;opacity:.55}.camp .grass{fill:none;stroke:var(--pencil);stroke-width:1.1px;stroke-linecap:round;opacity:.35}.box-fill{fill:var(--paper);opacity:.7}.box-line{fill:none;stroke:var(--ink);stroke-width:2.6px;stroke-linecap:round}.grid-guide{fill:none;stroke:var(--ink);stroke-width:1px;stroke-dasharray:3 4;opacity:.35}.stroke{fill:none;stroke:var(--ink);stroke-width:7.5px;stroke-linecap:round;stroke-linejoin:round}.stroke.is-off{opacity:0}.stroke.is-on{stroke-dasharray:1 1.05;animation:.4s cubic-bezier(.3,.6,.35,1) both draw}.stroke.is-ghost{opacity:.15;transition:opacity .5s}.stroke.is-next{stroke:var(--pencil);stroke-width:4.5px;stroke-dasharray:.001 .075;opacity:.55;animation:1.8s ease-in-out infinite breathe}.scar-smudge{fill:var(--foe);opacity:.09}.scar-x{fill:none;stroke:var(--foe);stroke-width:7px;stroke-linecap:round;stroke-dasharray:1 1.05;animation:.28s ease-out both draw}.dome{fill:var(--ink);fill-opacity:.03;stroke:var(--ink);stroke-width:2.3px;stroke-linecap:round}.dome.is-off{opacity:0}.dome.is-on{opacity:.8;stroke-dasharray:1 1.05;animation:draw .6s var(--ease-out) both}.dome.is-next{fill:none;stroke:var(--pencil);stroke-width:1.6px;stroke-dasharray:.004 .016;opacity:.5;animation:1.8s ease-in-out infinite breathe}.dome.is-dying{fill:none;stroke:var(--foe);stroke-dasharray:.035 .02;transform-origin:200px 160px;animation:.7s ease-out forwards shatter}.flag-pole{fill:none;stroke:var(--ink);stroke-width:1.9px;stroke-linecap:round}.flag-cloth{fill:var(--ink);opacity:.88;animation:1.7s ease-in-out infinite wave}.flag.is-off{opacity:0}.flag.is-on{animation:plant .5s var(--ease-pop) both}.flag.is-dying{animation:.7s ease-in forwards topple}.flag.is-dying .flag-cloth{fill:var(--foe)}.flag.is-next .flag-pole,.flag.is-next .flag-cloth{fill:none;stroke:var(--pencil);stroke-width:1.3px;stroke-dasharray:2 2.6;opacity:.55;animation:none}.weapon-body{transform-box:fill-box;transform-origin:50%;animation:pop-in .55s var(--ease-pop) both}.weapon-kick{transform-box:fill-box;transform-origin:50%}.weapon.is-firing .weapon-kick{animation:recoil .42s var(--ease-out)}.weapon.is-dying .weapon-body{animation:.9s ease-in forwards wreck}.weapon.is-dying .wpn-fill,.weapon.is-dying .wpn-line,.weapon.is-dying .cannon-barrel{stroke:var(--foe)}.weapon.is-ghost .weapon-body{animation:1.4s ease-in-out infinite breathe}.weapon.is-ghost .wpn-fill,.weapon.is-ghost .wpn-line,.weapon.is-ghost .wpn-thin,.weapon.is-ghost .cannon-barrel{stroke-dasharray:4 4}.weapon.is-ghost .jet-flame,.weapon.is-ghost .jet-body{animation:none}.weapon-ring{fill:var(--ink);fill-opacity:.06;stroke:var(--ink);stroke-width:1.6px;stroke-dasharray:3 4;opacity:.55}.weapon.is-picked .weapon-ring{opacity:1;stroke-dasharray:none;stroke-width:2.2px;fill-opacity:.12;transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite ring-pulse}.weapon.is-pickable{cursor:pointer}.hit-area{fill:#0000;stroke:none;pointer-events:all;cursor:pointer}.wpn-fill{fill:var(--paper);stroke:var(--ink);stroke-width:3.4px;stroke-linejoin:round}.wpn-line{fill:none;stroke:var(--ink);stroke-width:3.4px;stroke-linecap:round}.wpn-thin{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linecap:round;opacity:.8}.wpn-hub{fill:var(--ink)}.cannon-barrel{fill:none;stroke:var(--ink);stroke-width:13px;stroke-linecap:round}.cannon-bore{fill:none;stroke:var(--paper);stroke-width:8.4px;stroke-linecap:round}.jet-body{animation:2.6s ease-in-out infinite hover}.jet-cockpit{fill:var(--ink);opacity:.55}.jet-flame{fill:var(--flame);transform-box:fill-box;transform-origin:top;animation:.18s steps(2,end) infinite alternate flicker}.choice-art .cannon-bore,.shooter-art .cannon-bore{stroke:var(--paper)}.deploy-band{fill:var(--ink);fill-opacity:.07;stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:5 5;stroke-opacity:.6;animation:1.2s linear infinite march}.camp.is-placing{cursor:crosshair;touch-action:none}.spot-ring{fill:var(--paper);fill-opacity:.6;stroke:var(--ink);stroke-width:2px;stroke-dasharray:3 3;animation:1s linear infinite march}.spot-x{fill:none;stroke:var(--ink);stroke-width:2.6px;stroke-linecap:round}.scuff path{fill:none;stroke:var(--foe);stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:1 1.05;opacity:.55;animation:.25s ease-out both draw}.scuff circle{fill:var(--foe);opacity:.55}.crosshair{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite aim}.crosshair circle,.crosshair path{fill:none;stroke:var(--foe);stroke-width:2.4px;stroke-linecap:round}.target.is-live{cursor:pointer}.target .crosshair{opacity:.8}.target.is-focus .crosshair,.target.is-lock .crosshair{opacity:1}.target.is-focus .crosshair circle,.target.is-focus .crosshair path{stroke-width:3.4px}.crosshair.is-lock{animation:lock-on .55s var(--ease-out) both}.crosshair.is-lock circle,.crosshair.is-lock path{stroke-width:3.2px}.target-tag rect{fill:var(--paper);stroke:currentColor;stroke-width:1.4px}.target-tag text{fill:currentColor;font:700 11px/1 var(--ui)}.target-tag.is-easy{color:var(--good)}.target-tag.is-fair{color:var(--flame)}.target-tag.is-hard{color:var(--pencil)}.target.is-focus .target-tag rect{fill:currentColor}.target.is-focus .target-tag text{fill:var(--paper)}.camp.is-repair-aim .is-next{stroke:var(--ink);opacity:.9}.camp.is-hit .camp-shake{animation:.45s ease-in-out shake}.camp.demo .flag-cloth,.camp.demo .jet-body{animation-duration:2.2s}.hand{display:block;overflow:visible}.hand-part{fill:var(--paper);stroke:currentColor;stroke-width:3.4px;stroke-linejoin:round}.hand-line{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;opacity:.75}.fx-layer{z-index:6;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fx-trail{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 6;opacity:.55}.fx-puff circle{fill:var(--pencil);opacity:.35;transform-box:fill-box;transform-origin:50%;animation:.6s ease-out forwards puff}.fx-flash path{fill:#ffd54a;stroke-width:2px;stroke-linejoin:round;transform-box:fill-box;transform-origin:50%;animation:.35s ease-out forwards flash}.fx-burst{fill:var(--paper);stroke-width:3px;stroke-linejoin:round;transform-box:fill-box;transform-origin:50%;animation:boom .95s var(--ease-pop) forwards}.fx-word{font-family:var(--kai);transform-box:fill-box;transform-origin:50%;animation:boom .95s var(--ease-pop) forwards;font-size:22px;font-weight:700}.fx-word.is-wide{font-family:var(--ui);letter-spacing:.04em;font-size:15px;font-weight:900}.fx-debris{fill:none;stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:1 1.05;animation:.6s ease-out forwards debris}.fx-boom.is-big .fx-word{font-size:26px}.fx-skid{fill:none;stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 1.05;animation:1s ease-out forwards debris}.fx-dust{fill:var(--pencil);opacity:.4;transform-box:fill-box;transform-origin:50%;animation:.7s ease-out forwards puff}.fx-miss-word{font-family:var(--ui);letter-spacing:.04em;transform-box:fill-box;transform-origin:50%;animation:miss-word 1.05s var(--ease-out) forwards;font-size:14px;font-weight:900}.fx-guide path{fill:none;stroke-width:2px;stroke-linecap:round;stroke-dasharray:2 7;opacity:.7;animation:.8s linear infinite march}.fx-guide circle{opacity:.8}.fx-sparkle path{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:1 1.05;animation:.55s ease-out forwards debris}.sheet-backdrop{z-index:50;background:#14141061;place-items:end center;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}.sheet{background:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);width:100%;max-width:560px;max-height:min(86dvh,760px);box-shadow:var(--shadow);animation:sheet-up .35s var(--ease-out);padding-bottom:env(safe-area-inset-bottom);background-size:24px 24px;border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;display:flex}@media (width>=640px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-bottom:2px solid var(--graphite);border-radius:var(--sketch);animation:rise .3s var(--ease-out)}}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 4px 20px;display:flex}.sheet-head h2{font-family:var(--kai);margin:0;font-size:22px}.sheet-body{padding:6px 20px 20px;overflow-y:auto}.sheet-text{color:var(--pencil);margin:0 0 16px}.sheet .controls-row .btn{flex:1}.toast{z-index:60;left:50%;bottom:max(24px, env(safe-area-inset-bottom));background:var(--graphite);color:var(--paper);box-shadow:var(--shadow);animation:drop-in .3s var(--ease-pop);border-radius:999px;padding:10px 18px;font-weight:600;position:fixed;translate:-50%}.rule-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.rule{border-bottom:1.5px dashed var(--faint);grid-template-columns:132px 1fr;align-items:center;gap:14px;padding-bottom:14px;display:grid}.rule:last-child{border-bottom:0}.rule-pic .camp{width:100%;height:auto}.rule-aim{place-items:center;display:grid}.rule-aim .aim-board{width:92px;height:92px}.rule-hands{justify-content:center;align-items:center;gap:6px;display:flex}.rule-hands .hand{width:44px;height:54px}.rule-beats{color:var(--pencil);font-size:22px}.rule-text h3{font-family:var(--kai);align-items:center;gap:8px;margin:0 0 2px;font-size:19px;line-height:1.3;display:flex}.rule-num{background:var(--graphite);width:24px;height:24px;color:var(--paper);font:700 13px/1 var(--ui);border-radius:50%;flex:none;place-items:center;display:grid}.rule-text p{color:var(--pencil);margin:0;font-size:14px}.rule-keys{color:var(--pencil);text-align:center;margin:14px 0 0;font-size:12.5px}@media (width<=420px){.rule{grid-template-columns:96px 1fr;gap:10px}}.drawn-ink{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round}.drawn-ink .is-filled{fill:var(--ink)}.weapon.is-dying .drawn-ink{stroke:var(--foe)}.weapon.is-dying .drawn-ink .is-filled{fill:var(--foe)}.weapon.is-ghost .drawn{opacity:.55}.atk-badge circle{fill:var(--ink);stroke:var(--paper);stroke-width:2px}.atk-badge text{fill:var(--paper);font:700 10.5px/1 var(--ui);pointer-events:none}.shooter-name{text-align:left;line-height:1.1;display:inline-grid}.shooter-name small{font-family:var(--ui);opacity:.8;font-size:10.5px;font-weight:600}.place-head{gap:6px;margin-bottom:8px;display:grid}.place-head .controls-hint{margin:0}.place-head .seg-row{grid-template-columns:auto 1fr;justify-self:center;width:100%;max-width:360px}.place-head .seg button{min-height:36px;font-size:13.5px}.choices.is-forge{grid-template-columns:minmax(64px,.55fr) 2fr}.choice.is-forge{--ink:currentColor;border-style:dashed}.forge-mark{place-items:center;font-size:30px;line-height:1;display:grid}.choice.is-drawing .choice-art{opacity:.9}.sheet.studio{max-width:600px;max-height:min(97dvh,900px)}.studio .sheet-body{flex-direction:column;gap:10px;padding-bottom:0;display:flex}.studio-foot{padding:10px 20px max(14px, env(safe-area-inset-bottom));background:var(--paper);border-top:1.5px solid var(--faint);gap:10px;margin:2px -20px 0;display:flex;position:sticky;bottom:0}.studio-foot .btn{min-width:96px}.studio-foot .btn[aria-disabled=true]{opacity:.55}.pad{gap:8px;display:grid}.pad-tools{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.pad-tool{border:2px solid var(--faint);border-radius:var(--sketch-sm);background:var(--card);min-height:54px;color:var(--graphite);cursor:pointer;transition:background .15s, border-color .15s, transform .12s var(--ease-out);justify-items:center;gap:1px;padding:6px 2px 4px;font-size:11.5px;font-weight:600;display:grid;position:relative}.pad-tool:hover{border-color:var(--graphite)}.pad-tool:active{transform:translateY(1px)}.pad-tool.is-on{border-color:var(--graphite);background:var(--graphite);color:var(--paper)}.pad-tool span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.pad-tool .key-hint{top:3px;right:4px}.pad-tool.is-on .key-hint{color:var(--paper);border-color:#ffffff4d}.pad-stage{justify-self:center;width:min(100%,50dvh,460px);position:relative}.pad-paper{aspect-ratio:1;border:2px solid var(--graphite);border-radius:var(--sketch-sm);touch-action:none;cursor:crosshair;width:100%;height:auto;box-shadow:var(--shadow);display:block;overflow:hidden}.pad-paper.is-eraser{cursor:cell}.pad-sheet{fill:var(--paper)}.pad-grid{fill:none;stroke:var(--grid);stroke-width:.8px}.pad-axis{fill:none;stroke:var(--faint);stroke-width:.8px;stroke-dasharray:3 4}.pad-guide{opacity:.16;--ink:var(--graphite);pointer-events:none}.pad-guide .jet-body,.pad-guide .jet-flame{animation:none}.pad-nib{fill:none;stroke:var(--ink);stroke-width:.8px;opacity:.7;pointer-events:none}.pad-nib.is-eraser{stroke:var(--pencil);stroke-dasharray:2 2}.pad-front{background:var(--paper);color:var(--pencil);white-space:nowrap;pointer-events:none;opacity:.85;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;position:absolute;top:6px;left:50%;transform:translate(-50%)}.pad-empty{font-family:var(--kai);color:var(--pencil);opacity:.45;pointer-events:none;place-items:center;margin:0;font-size:22px;display:grid;position:absolute;inset:0}.pad-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pad-sizes{border:2px solid var(--faint);border-radius:var(--sketch-sm);display:inline-flex;overflow:hidden}.pad-sizes button{width:40px;height:40px;color:var(--graphite);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.pad-sizes button+button{border-left:2px solid var(--faint)}.pad-sizes button.is-on{background:var(--graphite);color:var(--paper)}.pad-sizes svg{fill:currentColor;width:22px;height:22px}.pad-btn{border:2px solid var(--faint);border-radius:var(--sketch-sm);background:var(--card);min-width:42px;height:42px;color:var(--graphite);cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.pad-btn:hover:not(:disabled){border-color:var(--graphite)}.pad-btn.is-on{border-color:var(--graphite);background:var(--graphite);color:var(--paper)}.pad-btn:disabled{opacity:.35;cursor:default}.pad-btn.is-labelled{padding:0 10px 0 8px}.pad-sep{background:var(--faint);width:1.5px;height:26px;margin:0 2px}.pad-foot{grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:30px;display:grid}.pad-hint{color:var(--pencil);margin:0;font-size:13px}.pad-hint.is-warn{color:var(--red);font-weight:600}.pad-ink-bar{border:1.5px solid var(--graphite);border-radius:99px;width:64px;height:8px;display:block;overflow:hidden}.pad-ink-bar i{background:var(--ink);height:100%;transition:width .2s var(--ease-out);display:block}.pad-ink-bar i.is-low{background:var(--red)}.pad-actual{border:1.5px dashed var(--faint);border-radius:8px;width:36px;height:36px;padding:2px;display:block}.pad-actual .drawn{width:100%;height:100%}.forge-steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.forge-steps li{flex:1}.forge-steps button{border:0;border-bottom:3px solid var(--faint);width:100%;min-height:38px;color:var(--pencil);cursor:pointer;background:0 0;padding:4px 8px;font-size:14px;font-weight:600}.forge-steps button b{background:var(--faint);border-radius:50%;place-items:center;width:22px;height:22px;margin-right:4px;font-size:12px;display:inline-grid}.forge-steps button.is-on{border-bottom-color:var(--graphite);color:var(--graphite)}.forge-steps button.is-on b{background:var(--graphite);color:var(--paper)}.forge-steps button:disabled{opacity:.45;cursor:default}.forge-form{gap:16px;padding:4px 0 8px;display:grid}.forge-id{grid-template-columns:112px 1fr;align-items:start;gap:14px;display:grid}.forge-preview{background:var(--paper);cursor:pointer;width:112px;height:112px;padding:6px;position:relative}.forge-preview .drawn{width:100%;height:100%}.forge-badge{border:2.5px solid var(--paper);background:var(--ink);min-width:30px;height:30px;color:var(--paper);font:700 15px/1 var(--ui);border-radius:99px;place-items:center;padding:0 6px;display:grid;position:absolute;bottom:-8px;right:-8px}.field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field>label,.field>legend{font-family:var(--kai);padding:0;font-size:17px}.field>legend{margin-bottom:6px}.name-row{grid-template-columns:1fr auto;gap:8px;display:grid}.name-input{border:2px solid var(--graphite);border-radius:var(--sketch-sm);background:var(--paper);min-width:0;min-height:46px;font-family:var(--kai);padding:0 12px;font-size:19px}.name-input::placeholder{color:var(--pencil);opacity:.7}.name-input.is-invalid{border-color:var(--red)}.name-row .pad-btn{height:46px}.field .form-hint,.field .form-error{margin:0}.style-pick{grid-template-columns:1fr 1fr;gap:10px;display:grid}.style-card{background:var(--card);min-height:60px;color:var(--graphite);text-align:left;cursor:pointer;box-shadow:0 3px 0 var(--faint);justify-items:start;gap:2px;padding:8px 12px;display:grid}.style-card strong{font-family:var(--kai);font-size:19px}.style-card span{color:var(--pencil);font-size:12.5px}.style-card.is-on{background:var(--graphite);color:var(--paper);box-shadow:0 3px 0 var(--graphite)}.style-card.is-on span{color:var(--paper);opacity:.8}.atk-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.atk-step{border:2px solid var(--graphite);background:var(--card);width:46px;height:46px;color:var(--graphite);font:700 24px/1 var(--ui);cursor:pointer;box-shadow:0 2px 0 var(--graphite);border-radius:50%}.atk-step:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.atk-step:disabled{opacity:.35;cursor:default}.atk-value{min-width:2ch;font:700 34px/1 var(--ui);text-align:center;color:var(--ink)}.atk-range{min-width:120px;accent-color:var(--graphite);flex:1}.atk-help,.atk-cap{color:var(--pencil);margin:0;font-size:13.5px}.atk-help{color:var(--graphite)}@media (width<=420px){.pad-tool{min-height:50px;font-size:10.5px}.pad-tool .icon{width:20px;height:20px}.pad-bar{gap:5px}.pad-sizes button{width:36px}.pad-btn,.pad-btn.is-labelled{min-width:38px;padding:0 6px}.pad-btn.is-labelled span{display:none}.forge-id{grid-template-columns:88px 1fr}.forge-preview{width:88px;height:88px}}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}}@keyframes ink-in{0%{opacity:0;filter:blur(4px);transform:translateY(12px)scale(.9)}}@keyframes draw{0%{stroke-dashoffset:1.03px}to{stroke-dashoffset:0}}@keyframes breathe{50%{opacity:.25}}@keyframes shatter{0%{opacity:1;stroke-width:4.5px}to{opacity:0;stroke-width:1px;transform:scale(1.1)}}@keyframes wave{0%,to{transform:skewY(0)scaleX(1)}50%{transform:skewY(7deg)scaleX(.84)}}@keyframes plant{0%{opacity:0;transform:translateY(-16px)scale(.5)}}@keyframes topple{to{opacity:0;transform:rotate(80deg)translate(6px,6px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.3)rotate(-12deg)}}@keyframes recoil{0%{transform:none}18%{transform:translateY(5px)scale(1.06,.9)}60%{transform:translateY(-1px)}}@keyframes wreck{0%{opacity:1;transform:none}25%{opacity:1;transform:translate(3px,-6px)rotate(14deg)scale(1.1)}to{opacity:0;transform:translate(10px,16px)rotate(70deg)scale(.6)}}@keyframes ring-pulse{50%{transform:scale(1.12)}}@keyframes lock-on{0%{opacity:0;transform:scale(2.4)rotate(-90deg)}}@keyframes march{to{stroke-dashoffset:-20px}}@keyframes miss-word{0%{opacity:0;transform:translateY(6px)scale(.6)}25%{opacity:1;transform:translateY(0)scale(1.1)}75%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@keyframes hover{50%{transform:translateY(-3.5px)}}@keyframes flicker{to{transform:scaleY(.55)}}@keyframes aim{50%{transform:scale(1.2)rotate(45deg)}}@keyframes shake{0%,to{transform:none}15%{transform:translate(-6px,2px)rotate(-.6deg)}35%{transform:translate(5px,-2px)rotate(.5deg)}55%{transform:translate(-3px,1px)}75%{transform:translate(2px)}}@keyframes bob-up{0%{transform:translateY(8px)}to{transform:translateY(-4px)}}@keyframes bob-down{0%{transform:translateY(-8px)}to{transform:translateY(4px)}}@keyframes reveal{0%{opacity:.4;transform:scale(.6)}}@keyframes chant{0%{opacity:0;transform:scale(1.5)}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-10px)}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes stamp-in{0%{opacity:0;transform:scale(2.2)}60%{opacity:1;transform:scale(.94)}}@keyframes dot{0%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes puff{to{opacity:0;transform:scale(2.4)}}@keyframes flash{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}@keyframes boom{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}@keyframes debris{0%{stroke-dashoffset:1.03px;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1px;opacity:0}}::view-transition-old(root){animation-duration:.28s}::view-transition-new(root){animation-duration:.28s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}.credit{text-align:center;opacity:.7;margin-top:24px;font-size:.85rem}.credit a{color:inherit}
