:root{--navy: #1d2a44;--navy2: #2b3b5c;--ink: #1f2430;--paper: #fbfaf7;--blue: #2f9bff;--red: #ff5a4e;--orange: #ff8a3d;--yellow: #ffd34d;--green: #3cc27a;--muted: #6b7486;--card: rgba(255, 255, 255, .94);--shadow: 0 6px 18px rgba(20, 30, 50, .18);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--gut: clamp(10px, 3.6vw, 18px);--col: 560px;--btn-h: clamp(44px, 6.6dvh, 54px);--font: "Hiragino Maru Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#e9edf2;color:var(--ink);font-family:var(--font);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}#app{position:fixed;top:0;left:0;width:100%;height:100%;height:100dvh}#frame{position:absolute;inset:0;overflow:hidden;background:#e9edf2;touch-action:none}#gl{position:absolute;inset:0;width:100%;height:100%;display:block}#ui{position:absolute;inset:0;pointer-events:none}#ui>*{pointer-events:auto}.screen{position:absolute;inset:0;margin:0 auto;max-width:var(--col);display:flex;flex-direction:column;gap:clamp(6px,1.4dvh,10px);padding:calc(var(--sat) + clamp(8px,1.6dvh,14px)) calc(var(--sar) + var(--gut)) calc(var(--sab) + clamp(8px,1.6dvh,14px)) calc(var(--sal) + var(--gut));pointer-events:none;min-width:0}.screen>*{pointer-events:auto;min-width:0}.screen.battle{max-width:none;padding:0;display:block}.pass{pointer-events:none!important}.stage-region{flex:1 1 0;min-height:clamp(110px,22dvh,260px);position:relative;pointer-events:none!important}.scroll-y{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;scrollbar-width:thin}.screen-foot{flex:none;display:grid;gap:8px}.scr-title,.screen-head h2{margin:0;font-size:clamp(15px,4.6vw,19px);font-weight:900;font-style:italic;letter-spacing:.08em;color:var(--navy);text-shadow:0 2px 0 rgba(255,255,255,.9);white-space:nowrap}.screen-head{flex:none;display:flex;align-items:center;gap:10px}p,.desc,.eff,.char-desc,.note,.res-desc,.howto-item small{word-break:auto-phrase;overflow-wrap:anywhere;line-break:strict}.phrase{word-break:keep-all!important;overflow-wrap:anywhere}button{font-family:inherit;border:0;cursor:pointer;touch-action:manipulation;color:inherit}.btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:var(--btn-h);min-width:0;padding:0 clamp(8px,3vw,18px);border-radius:16px;font-size:clamp(14px,4vw,17px);font-weight:800;letter-spacing:.03em;white-space:nowrap;color:var(--navy);background:var(--card);box-shadow:var(--shadow),inset 0 -3px #00000014;transition:transform .08s ease,filter .15s}.btn:active{transform:translateY(2px) scale(.98)}.btn:focus-visible,.icon-btn:focus-visible,.slot:focus-visible,.card:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.btn.primary{background:linear-gradient(180deg,#ffa25a,#ff7a2f);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.18);box-shadow:0 8px 20px #ff7a2f61,inset 0 -4px #00000024}.btn.blue{background:linear-gradient(180deg,#4fb0ff,#2a86ea);color:#fff;box-shadow:0 8px 20px #2f9bff59,inset 0 -4px #00000024}.btn.small{min-height:44px;font-size:clamp(12.5px,3.5vw,14px);border-radius:12px;padding:0 10px}.btn:disabled{filter:grayscale(.8) opacity(.55)}.btn .ic{width:1.2em;height:1.2em}.btn small.sub{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.btn.primary:has(small.sub){flex-direction:column;gap:1px;min-height:calc(var(--btn-h) + 8px)}.icon-btn{flex:none;width:44px;height:44px;border-radius:14px;background:var(--card);box-shadow:var(--shadow);display:grid;place-items:center}.icon-btn .ic{width:22px;height:22px;color:var(--navy)}.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;font-size:clamp(11px,3vw,12px);font-weight:800;white-space:nowrap;background:#ffffffe0;color:var(--navy)}.chip .ic{width:14px;height:14px}.panel{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:clamp(10px,3vw,14px)}.crowns,.lives{display:inline-flex;align-items:center;gap:1px;font-weight:900;color:var(--navy);white-space:nowrap;flex:none}.crowns .ic{width:clamp(16px,4.6vw,20px);height:clamp(16px,4.6vw,20px)}.crowns b{font-size:clamp(13px,4vw,16px);margin-left:2px;font-variant-numeric:tabular-nums}.crowns small{font-size:11px;color:var(--muted)}.lives .ic{width:clamp(12px,3.8vw,17px);height:clamp(12px,3.8vw,17px)}.crowns.mini .ic,.lives.mini .ic{width:13px;height:13px}.crowns.mini b{font-size:12px}.crowns.mini,.lives.mini{color:inherit}.crowns.gain .ic{animation:crownin .6s cubic-bezier(.2,1.8,.4,1)}.lives.lose .ic:not(.on){animation:heartout .6s ease}@keyframes crownin{0%{transform:scale(.2) rotate(-30deg)}to{transform:none}}@keyframes heartout{0%{transform:scale(1.6);filter:drop-shadow(0 0 6px #ff5a6e)}to{transform:none}}.run-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.title-screen{gap:0}.title-body{flex:1 1 auto;display:flex;flex-direction:column;gap:clamp(6px,1.4dvh,10px)}.title-logo{flex:none;text-align:center;pointer-events:none;padding-top:clamp(4px,2dvh,24px)}.title-logo h1{margin:0;font-size:min(clamp(30px,11.5vw,60px),7.4dvh);line-height:.9;font-weight:900;font-style:italic;letter-spacing:.02em;color:var(--navy);text-shadow:0 3px 0 #fff,0 6px 0 rgba(29,42,68,.15)}.title-logo h1 span{display:block}.title-logo h1 .accent{color:var(--orange)}.title-screen .stage-region{min-height:clamp(110px,24dvh,340px)}.menu{flex:none;display:grid;gap:clamp(6px,1.3dvh,10px)}.menu .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu .row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.records{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.sel-screen .stage-region{min-height:clamp(120px,26dvh,360px)}.sel-info{flex:0 1 auto;display:flex;flex-direction:column;gap:8px;padding-bottom:2px}.sel-tabs{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sel-tab{min-height:52px;border-radius:14px;padding:6px 4px;background:#ffffffd9;font-weight:800;color:var(--navy);font-size:clamp(14px,4vw,16px);box-shadow:var(--shadow);border:3px solid transparent;white-space:nowrap}.sel-tab small{display:block;font-size:11px;color:var(--muted);font-weight:700}.sel-tab.on{border-color:var(--orange);background:#fff}.char-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.char-name b{font-size:clamp(19px,5.6vw,24px);color:var(--navy);margin-right:2px}.char-name .chip{background:#eef3fa}.char-desc{margin:6px 0 8px;font-size:clamp(12px,3.4vw,13px);line-height:1.5;color:#444b5a}.stat-bars{display:grid;gap:5px}.stat-bar{display:grid;grid-template-columns:4.6em minmax(0,1fr) 4em;align-items:center;gap:8px;font-size:clamp(11px,3.2vw,12px);font-weight:800;color:var(--navy2);white-space:nowrap}.stat-bar .track{height:8px;border-radius:99px;background:#e4e8ef;overflow:hidden;position:relative}.stat-bar .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#4fb0ff,#2a86ea)}.stat-bar .fill.after{position:absolute;top:0;left:0;background:transparent;border:2px solid var(--orange)}.stat-bar .v{text-align:right;font-variant-numeric:tabular-nums}.traits{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.traits .chip{background:#eef3fa}.delta-up{color:var(--green)}.delta-down{color:var(--red)}.modal-back{position:absolute;inset:0;background:#0f16248c;display:flex;align-items:flex-end;justify-content:center;padding:calc(var(--sat) + 12px) calc(var(--sar) + 12px) calc(var(--sab) + 12px) calc(var(--sal) + 12px);z-index:20;animation:fadein .15s ease}.modal-back.center{align-items:center}.modal{width:min(100%,520px);max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:var(--paper);border-radius:22px;padding:clamp(14px,4vw,18px) clamp(12px,4vw,16px) 14px;box-shadow:0 20px 50px #0000004d;animation:slideup .2s ease}.modal h2{margin:0 0 10px;font-size:clamp(17px,5vw,20px);color:var(--navy)}.modal .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.modal .actions.one{grid-template-columns:1fr}.modal .menu{margin-top:4px}.modal-back.top{background:transparent;pointer-events:none;align-items:flex-start;padding-top:calc(var(--sat) + 56px)}.modal-back.top .modal{pointer-events:auto;box-shadow:0 12px 30px #00000040}.who{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;margin:0 0 12px;font-size:13px;align-items:center}.who dt{font-size:10px;font-weight:900;color:#fff;border-radius:6px;padding:2px 6px}.who dt.p{background:var(--blue)}.who dt.c{background:var(--red)}.who dd{margin:0;font-weight:700;overflow-wrap:anywhere}@keyframes fadein{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(30px);opacity:0}}.howto-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed #d9dde5}.howto-item .g{width:46px;height:46px;border-radius:14px;background:#eef3fa;display:grid;place-items:center}.howto-item .g .ic{width:24px;height:24px;color:var(--navy)}.howto-item b{display:block;color:var(--navy);font-size:clamp(13px,3.8vw,15px)}.howto-item small{color:var(--muted);line-height:1.45;font-size:12px}.note{font-size:12px;color:var(--muted);margin:10px 0 0}.set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed #d9dde5;flex-wrap:wrap}.set-row .lbl{font-weight:800;color:var(--navy);font-size:14px;flex:none;white-space:nowrap}.set-row input[type=range]{flex:1;min-width:120px;accent-color:var(--orange);touch-action:pan-x}.seg{display:flex;background:#eef1f6;border-radius:12px;padding:3px;gap:2px}.seg button{background:transparent;border-radius:9px;min-height:38px;padding:0 clamp(8px,2.6vw,12px);font-weight:800;font-size:13px;color:var(--muted);white-space:nowrap}.seg button.on{background:#fff;color:var(--navy);box-shadow:0 2px 6px #141e3226}.hud{position:absolute;top:0;left:0;right:0;margin:0 auto;max-width:760px;padding:calc(var(--sat) + 6px) calc(var(--sar) + clamp(6px,2vw,12px)) 0 calc(var(--sal) + clamp(6px,2vw,12px));display:flex;flex-direction:column;gap:5px;pointer-events:none}.hud-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(4px,1.6vw,8px);align-items:stretch}.hp{min-width:0;background:#ffffffeb;border-radius:13px;padding:clamp(4px,1.2vw,6px) clamp(6px,2vw,9px) clamp(5px,1.4vw,7px);box-shadow:var(--shadow)}.hp .nm{display:flex;align-items:center;gap:4px;min-width:0;font-size:clamp(10.5px,3.1vw,13px);font-weight:800;color:var(--navy);margin-bottom:4px}.hp .nm em{flex:none;font-style:normal;font-size:.72em;font-weight:900;color:#fff;border-radius:6px;padding:1px 4px}.hp.p .nm em{background:var(--blue)}.hp.c .nm em{background:var(--red)}.hp .nm .name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp .nm .kg{flex:none;font-size:.82em;color:var(--muted);font-variant-numeric:tabular-nums}.hp .bar{position:relative;height:clamp(9px,2.6vw,12px);border-radius:99px;background:#dfe4ec;overflow:hidden}.hp .bar i{position:absolute;inset:0;transform-origin:left;border-radius:99px}.hp .bar .lag{background:#ffb199;transition:transform .6s .25s ease}.hp .bar .cur{transition:transform .08s}.hp.p .bar .cur{background:linear-gradient(90deg,#4fb0ff,#2a86ea)}.hp.c .bar .cur{background:linear-gradient(90deg,#ff7a6e,#f0483b)}.hp.c .bar i{transform-origin:right}.hp.shake{animation:hpshake .25s}@keyframes hpshake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.dz-row{display:flex;align-items:center;gap:4px;margin-top:4px;min-width:0}.hp.c .dz-row{flex-direction:row-reverse}.dz-lbl{flex:none;font-size:clamp(8px,2.3vw,9.5px);font-weight:900;color:#6b5a9a;white-space:nowrap}.dz{position:relative;flex:1 1 auto;min-width:0;height:clamp(5px,1.6vw,7px);border-radius:99px;background:#e8e3f2;overflow:hidden}.dz i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);border-radius:99px;background:linear-gradient(90deg,#c7a6ff,#9b6bff);transition:transform .08s linear}.hp.c .dz i{transform-origin:right}.dz.warn i{background:linear-gradient(90deg,#ffb04d,#ff6a3d);animation:blink .28s steps(2) infinite}.dz.on{background:#ffe27a}.dz.on i{background:linear-gradient(90deg,#ffd23a,#ffb000)}@keyframes blink{50%{opacity:.45}}.timer{min-width:clamp(52px,15vw,74px);text-align:center;background:var(--navy);color:#fff;border-radius:13px;padding:4px 6px 5px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}.timer small{display:block;font-size:clamp(7.5px,2.2vw,10px);font-weight:800;opacity:.75;letter-spacing:.06em;white-space:nowrap}.timer b{font-size:clamp(19px,6vw,25px);font-variant-numeric:tabular-nums;line-height:1}.timer.low b{color:var(--yellow)}.hud-run{display:flex;align-items:center;justify-content:space-between;gap:6px}.hud-run>*{background:#ffffffd1;border-radius:12px;padding:3px 8px;box-shadow:var(--shadow)}.pause-btn{pointer-events:auto;flex:none;width:44px;height:32px;display:grid;place-items:center;color:var(--navy)}.pause-btn .ic{width:16px;height:16px}.sab-probe{position:absolute;left:0;bottom:0;width:1px;height:var(--sab);visibility:hidden;pointer-events:none}.dmg-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.dmg{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:clamp(18px,5.6vw,24px);color:#fff;-webkit-text-stroke:4px var(--navy);paint-order:stroke fill;animation:dmgfloat .8s ease-out forwards;white-space:nowrap}.dmg.p{color:#ffdf6b}.dmg.big{font-size:clamp(26px,8vw,34px)}.dmg.huge{font-size:clamp(28px,8.6vw,36px);color:#ffb44d}.dmg.p.huge{color:#ff9a3d}.dmg.ko{font-size:clamp(34px,11vw,46px);color:#ff5a4e;-webkit-text-stroke:6px var(--navy);animation:dmgko .9s ease-out forwards}.dmg.blk:after{content:"";display:inline-block;width:.45em;height:.45em;margin-left:3px;border-radius:2px;background:#9fd3ff;vertical-align:.2em}@keyframes dmgfloat{0%{transform:translate(-50%,-30%) scale(.6);opacity:0}15%{transform:translate(-50%,-60%) scale(1.15);opacity:1}to{transform:translate(-50%,-160%) scale(1);opacity:0}}@keyframes dmgko{0%{transform:translate(-50%,-30%) scale(.4) rotate(-8deg);opacity:0}12%{transform:translate(-50%,-60%) scale(1.35) rotate(4deg);opacity:1}to{transform:translate(-50%,-170%) scale(1);opacity:0}}.ftxt{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:clamp(14px,4.4vw,17px);color:#fff;-webkit-text-stroke:4px var(--navy);paint-order:stroke fill;white-space:nowrap;animation:dmgfloat .95s ease-out forwards}.ftxt.dz{color:#ffd23a;font-size:clamp(16px,5vw,20px)}.ftxt.ok{color:#7fe0a8}.ftxt.miss{color:#c9d3e6}.dz-tag{position:absolute;transform:translate(-50%,-100%);background:#ffd23a;color:#5a3a00;font-size:clamp(10px,2.9vw,11px);font-weight:900;padding:3px 8px;border-radius:99px;box-shadow:0 3px 8px #0003;white-space:nowrap;animation:blink .5s steps(2) infinite}.dz-tag.c{background:#fff;color:var(--red)}.stick{position:absolute;width:116px;height:116px;margin:-58px 0 0 -58px;border-radius:50%;border:3px solid rgba(255,255,255,.75);background:#1d2a4424;pointer-events:none;display:none}.stick i{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#ffffffeb;box-shadow:0 3px 10px #0003}.stick.charge{border-color:var(--yellow);background:#ffb4282e}.banner{position:absolute;left:0;right:0;top:38%;text-align:center;font-size:clamp(40px,14vw,64px);font-weight:900;font-style:italic;color:#fff;-webkit-text-stroke:7px var(--navy);paint-order:stroke fill;pointer-events:none;animation:pop .45s cubic-bezier(.2,1.6,.4,1);white-space:nowrap}.banner small{display:block;font-size:clamp(14px,4.6vw,18px);font-style:normal;-webkit-text-stroke:4px var(--navy);margin-top:6px}.banner.win{color:var(--yellow)}.banner.lose{color:#b9c3d6}.banner.count{font-size:clamp(70px,24vw,100px);top:34%;font-style:normal}.banner.go{font-size:clamp(64px,22vw,92px);top:34%;color:var(--yellow)}@keyframes pop{0%{transform:scale(.3);opacity:0}}.gain-pop{position:absolute;left:50%;top:57%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#1d2a44eb;color:#fff;font-weight:900;font-size:clamp(15px,4.6vw,18px);padding:10px 18px;border-radius:999px;pointer-events:none;white-space:nowrap;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}.gain-pop .ic{width:30px;height:30px}.life-pop .ic{animation:heartout .6s ease}.tut{position:absolute;left:calc(var(--sal) + var(--gut));right:calc(var(--sar) + var(--gut));bottom:calc(var(--sab) + 16px);max-width:520px;margin:0 auto;background:#1d2a44eb;color:#fff;border-radius:18px;padding:10px 12px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;box-shadow:var(--shadow);pointer-events:none}.tut .ic-wrap .ic{width:30px;height:30px;color:#fff}.tut b{display:block;font-size:clamp(13px,4vw,16px)}.tut small{opacity:.8;font-size:12px}.tut .steps{display:flex;gap:4px;margin-top:6px}.tut .steps i{width:18px;height:5px;border-radius:9px;background:#ffffff40}.tut .steps i.on{background:var(--yellow)}.tut button{pointer-events:auto;background:#ffffff26;color:#fff;border-radius:10px;min-height:40px;padding:0 10px;font-weight:800;font-size:12px;white-space:nowrap}.tut.done{animation:tutok .4s}@keyframes tutok{50%{transform:scale(1.04);background:#3cc27af2}}.round-intro{position:absolute;left:calc(var(--sal) + var(--gut));right:calc(var(--sar) + var(--gut));top:30%;max-width:480px;margin:0 auto;text-align:center;pointer-events:none;animation:fadein .3s}.round-intro .vs{display:inline-block;background:var(--navy);color:#fff;font-weight:900;padding:6px 16px;border-radius:999px;letter-spacing:.1em;font-size:clamp(12px,3.6vw,15px);white-space:nowrap}.round-intro h3{margin:10px 0 6px;font-size:clamp(18px,6vw,26px);color:var(--navy);text-shadow:0 2px 0 #fff;word-break:auto-phrase}.round-intro p{margin:0;font-size:clamp(12px,3.4vw,13px);font-weight:700;color:var(--navy2);background:#ffffffe0;border-radius:12px;padding:8px 10px}.round-intro p b{color:var(--orange)}.debug{position:absolute;left:calc(var(--sal) + 8px);bottom:calc(var(--sab) + 8px);max-width:calc(100% - 16px);font:10.5px/1.35 ui-monospace,Menlo,monospace;color:#0f0;background:#0000009e;padding:6px 8px;border-radius:8px;pointer-events:none;white-space:pre;overflow:hidden;z-index:5}.shop{gap:clamp(4px,1dvh,8px)}.shop-top{flex:none;display:grid;gap:4px}.shop-head{display:flex;align-items:baseline;gap:8px;min-width:0}.shop-head .next{flex:1 1 auto;min-width:0;font-size:clamp(11px,3.1vw,12.5px);font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.shop-head .next{flex:0 1 auto;margin-left:auto;background:#ffffffe6;color:var(--navy2);border-radius:10px;padding:3px 8px;box-shadow:var(--shadow)}.shop-head .next.final{background:var(--navy);color:var(--yellow);font-weight:900}.shop-stats{display:flex;align-items:center;gap:6px clamp(6px,2vw,10px);flex-wrap:wrap}.shop-stats>*{background:#ffffffe6;border-radius:12px;padding:4px 8px;box-shadow:var(--shadow)}.shop-stats .coins{margin-left:auto}.coins{display:inline-flex;align-items:center;gap:4px;font-weight:900;font-size:clamp(14px,4.2vw,17px);color:var(--navy);white-space:nowrap}.coins .ic{width:1.15em;height:1.15em}.coins.bump{animation:bump .3s}@keyframes bump{50%{transform:scale(1.15)}}.weight-pill{display:inline-flex;align-items:center;gap:4px;font-size:clamp(12px,3.6vw,14px);font-weight:800;color:var(--navy);white-space:nowrap}.weight-pill .ic{width:14px;height:14px;color:var(--muted)}.weight-pill small{font-size:10px;color:var(--muted)}.shop-stage{min-height:clamp(96px,20dvh,300px)}.stage-overlay{position:absolute;left:0;right:0;bottom:2px;display:flex;justify-content:center}.shop-panel{flex:0 1 auto;display:flex;flex-direction:column;gap:6px;padding:2px 1px 4px;margin:0 -1px}.sec-h{font-size:11px;font-weight:900;color:var(--navy2);letter-spacing:.08em;margin-top:2px}.syn{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-width:100%}.syn .chip{background:linear-gradient(90deg,#ffe08a,#ffc24d);color:#5a3a00;animation:pop .4s;max-width:100%;overflow:hidden;text-overflow:ellipsis}.syn .chip.off{background:#ffffffb3;color:#8a93a5;animation:none}.mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mini-stats div{background:#ffffffeb;border-radius:10px;padding:4px 2px;text-align:center;font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}.mini-stats b{display:block;font-size:clamp(12px,3.6vw,14px);color:var(--navy);font-variant-numeric:tabular-nums}.slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.slots.n4{grid-template-columns:repeat(4,calc((100% - 25px) / 6));justify-content:center}.slot{aspect-ratio:1 / 1.1;min-width:0;border-radius:12px;background:#ffffffe0;box-shadow:var(--shadow);border:2px dashed #c5ccd8;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2px;overflow:hidden}.slot small{font-size:clamp(8px,2.3vw,9.5px);font-weight:800;color:var(--muted);white-space:nowrap}.slot .thumb{width:86%;height:auto;max-height:70%;object-fit:contain;pointer-events:none}.slot .thumb-fallback{font-size:12px;font-weight:900;color:var(--navy)}.slot>.ic{width:20px;height:20px;color:#a8b2c3}.slot.filled{border-style:solid;border-color:transparent;background:#fff}.slot.sel{border-color:var(--orange);border-style:solid}.slot.target{border-color:var(--green);border-style:solid;animation:glow .8s infinite alternate}.slot.nogo{opacity:.4}.slot.locked{background:#dce1e9c7;border-style:solid;border-color:transparent}.slot.locked>.ic{color:#8e98aa;width:16px;height:16px}.slot.maybe{border-color:#b9c3d6;border-style:dashed}.slot.pop{animation:slotpop .35s cubic-bezier(.2,1.8,.4,1)}.slot.unlocked{animation:unlockflash .7s ease}@keyframes glow{to{box-shadow:0 0 0 4px #3cc27a59,var(--shadow)}}@keyframes slotpop{0%{transform:scale(.7)}to{transform:none}}@keyframes unlockflash{0%{box-shadow:0 0 #ffc83de6,var(--shadow);background:#fff4c9}to{box-shadow:0 0 0 14px #ffc83d00,var(--shadow)}}.bag{display:flex;align-items:center;gap:5px;min-height:40px;flex-wrap:wrap}.bag .lbl{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:var(--navy2);background:#ffffffe0;border-radius:8px;padding:4px 6px;white-space:nowrap}.bag .lbl.ghost{background:transparent;color:var(--muted)}.bag .slot{width:42px;aspect-ratio:1}.bag .slot .thumb{width:90%;max-height:90%}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cards.n4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:359px){.cards{gap:4px}.card{padding:3px 2px 5px}.card .pr .w{display:none}.card .pr{justify-content:center}}.card{min-width:0;border-radius:14px;background:#fff;box-shadow:var(--shadow);padding:4px 4px 6px;text-align:center;position:relative;border:2px solid transparent;border-top:4px solid #c9d1dc;color:var(--navy)}.card.r-uncommon{border-top-color:#3cc27a}.card.r-rare{border-top-color:#9b6bff}.card.r-upgrade{border-top-color:var(--orange);background:#fff8ef}.card .tag{display:block;font-size:9.5px;font-weight:900;color:var(--muted);letter-spacing:.04em}.card .pv{height:clamp(52px,15vw,68px);overflow:hidden;display:grid;place-items:center}.card .pvc{width:clamp(52px,15vw,68px);height:clamp(52px,15vw,68px);pointer-events:none}.card .nm{font-size:clamp(10px,2.8vw,11.5px);font-weight:800;line-height:1.2;min-height:2.4em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:auto-phrase}.card .nm.long{font-size:clamp(8.5px,2.45vw,10.5px);letter-spacing:-.03em}.card .pr{margin-top:4px;display:flex;justify-content:space-between;gap:2px;font-size:11px;font-weight:800;white-space:nowrap}.card .pr .c{display:inline-flex;align-items:center;gap:2px;color:#b07800}.card .pr .w{color:var(--muted)}.card .pr .ic{width:12px;height:12px}.card.sold{opacity:.45}.card.sold:after{content:"SOLD";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:18px;color:var(--red);transform:rotate(-12deg)}.card.poor .pr .c{color:var(--red)}.card.bought{animation:cardbounce .3s ease}@keyframes cardbounce{40%{transform:translateY(-8px) scale(1.04)}}.shop-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.shop-actions .btn .ic{width:17px;height:17px}.flyer{position:absolute;width:56px;height:56px;z-index:40;pointer-events:none;transition:transform .32s cubic-bezier(.5,0,.6,1.3),opacity .32s;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25))}.fake{position:absolute;pointer-events:none}.detail-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:13px;margin:8px 0}.detail-grid dt{color:var(--muted);font-weight:800;white-space:nowrap}.detail-grid dd{margin:0;font-weight:700;color:var(--ink);overflow-wrap:anywhere;word-break:auto-phrase}.item-head{display:flex;gap:12px;align-items:center;min-width:0}.item-head>div:last-child{min-width:0}.item-head small{display:block;color:var(--muted);font-weight:700;font-size:11px;margin-top:2px;word-break:auto-phrase}.item-head .nm{font-size:16px;color:var(--navy)}.pv-big{display:grid;place-items:center;height:clamp(110px,20dvh,160px);margin:-6px 0 4px;border-radius:16px;background:radial-gradient(circle at 50% 60%,#fff,#e9eef5 70%)}.pv-big .pvc{height:100%;aspect-ratio:1;width:auto}.pv-big.small{width:64px;height:64px;margin:0;border-radius:14px;flex:none}.pv-big.small .pvc{width:64px;height:64px}.offer h2{margin:0 0 4px}.offer .chips{display:flex;flex-wrap:wrap;gap:5px}.offer .chip{background:#eef3fa}.offer .chip .ic{width:13px;height:13px}.chip.r-common{background:#e7ebf1!important}.chip.r-uncommon{background:#d9f4e5!important;color:#1d7a48}.chip.r-rare{background:#ece2ff!important;color:#5b34b8}.chip.r-upgrade{background:#ffe7d3!important;color:#b4561a}.offer .desc{margin:8px 0 0;font-size:12.5px;color:#444b5a}.sub-h{font-size:12px;font-weight:800;color:var(--muted);margin:6px 0 4px}.eff{font-size:13px;margin:8px 0 0}.hint{font-size:12px;color:var(--muted);align-self:center}.toast{position:absolute;left:50%;top:40%;transform:translate(-50%);width:max-content;max-width:calc(100% - 2 * var(--gut));background:#1d2a44f0;color:#fff;padding:10px 16px;border-radius:14px;font-weight:800;font-size:14px;text-align:center;pointer-events:none;z-index:30;animation:fadein .15s;word-break:auto-phrase;overflow-wrap:anywhere}.result-screen{gap:8px}.res-top{flex:none;display:grid;grid-template-columns:minmax(0,1fr) clamp(96px,34%,170px);gap:6px;align-items:stretch}.res-head{min-width:0;display:flex;flex-direction:column;gap:5px;justify-content:center;background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:clamp(10px,3vw,14px)}.res-head .scr-title{font-size:12px;color:var(--muted);text-shadow:none}.res-head .wl{font-size:clamp(26px,8.4vw,38px);line-height:1;font-weight:900;font-style:italic;color:var(--navy);white-space:nowrap}.res-head .wl.win{color:var(--orange)}.res-head .ttl{align-self:flex-start;max-width:100%;padding:5px 12px;border-radius:999px;background:var(--navy);color:var(--yellow);font-weight:900;font-size:clamp(13px,3.8vw,15px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-stage{min-height:clamp(104px,18dvh,180px)}.res-body{flex:0 1 auto;display:flex;flex-direction:column;gap:8px;background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:clamp(10px,3vw,14px)}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.kv{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;padding:6px 2px;border-bottom:1px dashed #dde2ea}.kv span{font-size:clamp(11px,3.2vw,12.5px);font-weight:800;color:var(--muted);white-space:nowrap}.kv b{font-size:clamp(14px,4.2vw,16px);font-weight:900;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}.newrec{font-style:normal;color:var(--orange);font-size:10px;margin-left:3px}.hist{display:flex;gap:3px;flex-wrap:wrap}.hist i{font-style:normal;font-size:10px;font-weight:900;width:19px;height:19px;border-radius:5px;display:grid;place-items:center;color:#fff}.hist i.w{background:var(--orange)}.hist i.l{background:#9aa5b8}.res-desc{margin:0;font-size:12px;color:var(--navy2);font-weight:700}.eq-chips{display:flex;flex-wrap:wrap;gap:5px}.eq-chips .chip{background:#eef3fa;font-size:11px}.res-actions{margin-top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.res-actions .btn{min-height:48px}.res-actions .btn .ic{width:18px;height:18px}#rotate{position:fixed;inset:0;z-index:99;display:none;place-items:center;background:var(--navy);color:#fff;font-weight:800;text-align:center;font-size:16px;padding:20px}@media(orientation:landscape)and (max-height:520px)and (pointer:coarse){#rotate{display:grid}}#boot{position:absolute;inset:0;display:grid;place-items:center;background:#e9edf2;color:var(--navy);font-weight:900;font-style:italic;font-size:clamp(20px,7vw,28px);text-align:center;z-index:50;transition:opacity .3s}#boot.hide{opacity:0;pointer-events:none}@media(max-height:620px){.slot small{display:none}.slot{aspect-ratio:1}.char-desc{display:none}.stat-bars{gap:3px}.records{display:none}}@media(prefers-reduced-motion:reduce){.dz-tag,.dz.warn i,.slot.target{animation:none}}
