/* The logical portrait field stays whole on every screen. */
.game-stage .bubble-player{display:flex;flex-direction:column;height:100%;min-height:0;border:0;border-radius:0;position:relative;isolation:isolate;background:radial-gradient(ellipse at 45% 15%,#173d43,#10252f 75%);color:#eaf6f1;direction:ltr}
.bs-top{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:7px 18px;background:#102830;border-bottom:1px solid #2e4b50;flex-shrink:0}.bs-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.3px}.bs-name i{width:6px;height:6px;border-radius:50%;background:#a1dec6;box-shadow:0 0 12px #a1dec650}.bs-menu{display:flex;gap:7px}.bs-button,.bs-swap{display:grid;place-items:center;width:29px;height:27px;border:1px solid #476864;border-radius:7px;background:#234340;color:#e9d39d;font-size:17px;line-height:1}.bubble-player button{font-family:inherit;touch-action:manipulation}.bubble-player button:focus-visible{outline:2px solid #f5d88c;outline-offset:3px}.bs-button:hover,.bs-swap:hover{background:#355d50}
.bs-body{display:grid;grid-template-columns:minmax(95px,1fr) minmax(0,2.8fr) minmax(100px,1fr);gap:20px;flex:1;min-height:0;width:min(1000px,100%);padding:12px 20px;margin:auto}.bs-stats,.bs-panels{display:flex;flex-direction:column;justify-content:center;gap:11px;min-width:0}.bs-stat{padding:10px 12px;border:1px solid #315452;border-radius:10px;background:#1e413e8a}.bs-stat>span,.bs-next-card>span{display:block;font-size:10px;font-weight:700;line-height:1.4;color:#abc5bd;overflow-wrap:anywhere}.bs-stat>b{display:block;font-size:clamp(16px,2vw,27px);line-height:1.12;color:#ecf8f2;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bs-stat:first-child>b{color:#f0d995}.bs-arena{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.bs-canvas-wrap{aspect-ratio:24/35;flex-shrink:0;position:relative;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #52736d66,0 12px 45px #071d2360}.bs-canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:none;user-select:none;-webkit-user-select:none}
.bs-next-card{display:flex;flex-direction:column;align-items:center;padding:11px 10px;border:1px solid #315452;border-radius:11px;background:#1e413e66;min-width:0}.bs-next-card>span{text-align:center}.bs-next{width:min(100%,95px);height:auto;aspect-ratio:1;display:block}.bs-swap{width:100%;height:28px;margin-top:3px}.bs-pressure{padding:10px 5px;text-align:center}.bs-pressure>span{font-size:10px;color:#bed5ca;line-height:1.5;display:block}.bs-pips{display:flex;justify-content:center;gap:5px;margin-top:9px}.bs-pips i{display:block;width:9px;height:9px;border-radius:50%;background:#72aa8a;border:1px solid #9bceac}.bs-pips i.is-used{background:#294840;border-color:#517166}.bs-help{font-size:10px;line-height:1.7;text-align:center;color:#93b5a8;margin:0;padding:0 3px}
.bs-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:9px 18px;background:#102830;border-top:1px solid #2e4b50;flex-shrink:0}.bs-hints p{font-size:10px;line-height:1.5;color:#c1d8ce;margin:0}.bs-hints small{display:block;color:#8cac9d;font-size:8px;margin-top:3px;line-height:1.4}.bs-touch-hint{display:none}.bs-fire{display:grid;place-items:center;width:41px;height:34px;border-radius:9px;background:#b9ddad;border:1px solid #ddedbb;color:#30472b;font-size:23px;font-weight:800;flex-shrink:0}.bs-fire:hover{background:#cdebbb}.bs-fire:disabled,.bs-swap:disabled{opacity:.4}
.bs-overlay{position:absolute;inset:42px 0 0;display:grid;place-items:center;z-index:3;padding:20px;background:#0a202bed;backdrop-filter:blur(4px);overflow:auto}.bs-overlay[hidden]{display:none}.bs-overlay-box{max-width:360px;margin:auto;text-align:center}.bs-overlay h2{font-size:clamp(21px,3vw,33px);line-height:1.2;color:#fff;margin:0 0 12px}.bs-overlay p{font-size:12px;line-height:1.7;color:#b4cdc2;margin:0 0 20px}.bs-continue{border:1px solid #f4df9f;background:#eac46e;color:#30220e;border-radius:9px;padding:11px 22px;font-size:13px;font-weight:800}.bs-continue:hover{background:#f8dea0}.bs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[dir=rtl] .bs-stat,html[dir=rtl] .bs-panels,html[dir=rtl] .bs-hints,html[dir=rtl] .bs-overlay-box{direction:rtl}
@media(min-width:1021px) and (max-height:780px){.bs-top{min-height:35px;padding-block:4px}.bs-body{padding-block:8px;gap:12px}.bs-stat{padding:7px 9px}.bs-stat>b{font-size:19px}.bs-stats,.bs-panels{gap:7px}.bs-next-card{padding:7px}.bs-next{max-width:70px}.bs-help{font-size:9px}.bs-controls{padding-block:6px;min-height:46px}.bs-hints p{font-size:9px}.bs-overlay{inset-block-start:35px}}
@media(max-width:1020px){.game-stage.builtin-stage:has(.bubble-player){height:auto;aspect-ratio:auto;display:block}.game-stage .bubble-player{height:640px;max-height:none}.bs-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:9px;padding:10px 16px}.bs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.bs-stat{padding:7px 9px}.bs-stat>b{font-size:19px}.bs-panels{flex-direction:row;align-items:center;justify-content:center;gap:15px}.bs-next-card{display:flex;flex-direction:row;gap:9px;border:0;padding:0;background:none}.bs-next-card>span{font-size:9px;max-width:70px;text-align:start}.bs-next{width:44px;height:44px}.bs-swap{width:41px;height:36px;margin:0;font-size:21px}.bs-pressure{padding:0}.bs-pressure>span{font-size:9px}.bs-pips{margin-top:6px}.bs-help{display:none}.bs-controls{padding:9px 12px;min-height:65px}.bs-mouse-hint{display:none}.bs-hints .bs-touch-hint{display:block}.bs-hints p{font-size:10px}.bs-hints small{font-size:8px}.bs-fire{width:44px;height:42px}}
@media(max-width:600px){.game-stage .bubble-player{height:610px}.bs-top{min-height:39px;padding:6px 12px}.bs-name{font-size:12px}.bs-body{padding:9px 10px;gap:8px}.bs-stats{gap:6px}.bs-stat{padding:6px}.bs-stat>span{font-size:8px}.bs-stat>b{font-size:16px;margin-top:3px}.bs-panels{gap:10px}.bs-next-card{gap:6px}.bs-next-card>span{font-size:8px;max-width:54px}.bs-next{width:38px;height:38px}.bs-swap{width:37px;height:35px}.bs-pressure>span{font-size:8px}.bs-pips{gap:4px}.bs-pips i{width:7px;height:7px}.bs-controls{gap:10px;padding:8px 10px}.bs-hints p{font-size:9px}.bs-hints small{font-size:7px}.bs-overlay{inset-block-start:39px}.bs-overlay p{font-size:11px}}
@media(max-width:359px){.game-stage .bubble-player{height:590px}.bs-body{padding-inline:8px}.bs-stat{padding:5px}.bs-stat>b{font-size:14px}.bs-panels{gap:7px}.bs-next-card>span{max-width:44px;font-size:7px}.bs-pressure>span{font-size:7px}.bs-next{width:33px;height:33px}.bs-swap{width:33px;height:33px}}
.game-stage:fullscreen .bubble-player{height:min(100%,1080px);width:min(100%,1920px)}
@media(hover:none){.bs-mouse-hint{display:none}.bs-hints .bs-touch-hint{display:block}}
@media(prefers-reduced-motion:reduce){.bubble-player button{transition:none}}
