@charset "UTF-8";
:root{font-family:"Avenir Next",Avenir,"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#1c3955;background:#8fd6f7;font-synthesis:none;--ink:#1c3955;--muted:#617891;--line:#d5e5f1;--surface:#f6fbff;--blue:#318ddb;--accent:#b9ed68;--accent-dark:#7fb837;--pink:#fa5d9e;--shadow:#22639b;--radius:18px;--motion-fast:150ms;--motion-soft:280ms}
*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #167cc7;outline-offset:4px}a{text-decoration:none;color:inherit}[hidden]{display:none!important}svg{display:block}.sky-scene{position:fixed;inset:0;z-index:-2;background:#93d6f6 url('../jelly-sky.webp') center 50% / cover no-repeat}.sky-scene:after{content:"";position:absolute;inset:0;background:#d6edff0a}.app-header{width:min(1060px,calc(100% - 60px));height:calc(104px + env(safe-area-inset-top));margin:auto;padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:8px;filter:drop-shadow(0 3px 0 #ffffffb0)}.brand-mascot{width:58px;height:58px;transform:rotate(-9deg)}.jelly-art{width:100%;height:100%;overflow:hidden;pointer-events:none}.brand-type{color:#154b80;font-size:26px;font-weight:1000;line-height:.89;letter-spacing:0;text-shadow:0 2px 0 #fff;transform:rotate(-3deg)}.brand-type>span{display:block;margin-top:5px}.brand-type i{font-style:normal;color:#ffcd4a;font-size:19px;vertical-align:top;margin-left:2px;letter-spacing:0}.header-tools{display:flex;gap:11px;align-items:center}.edition-tag{font-size:10px;font-weight:800;color:#326b9c;letter-spacing:2px;margin-right:14px}.round-button{border:2px solid #ffffffbb;background:#f4faffdd;border-radius:16px;width:44px;height:44px;display:grid;place-items:center;font-weight:800;font-size:19px;box-shadow:0 3px 0 #5795ba24;flex-shrink:0;transition:transform var(--motion-fast),background var(--motion-fast)}.round-button:hover{background:#fff;transform:translateY(-1px)}.round-button svg,.game-toolbar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-install{font-size:12px;font-weight:700;border:1px solid #ffffffc0;background:#f7fcffb3;border-radius:13px;padding:12px 15px;min-height:44px}.game-layout{width:min(1040px,calc(100% - 64px));margin:0 auto 36px;display:grid;grid-template-columns:minmax(420px,580px) minmax(250px,320px);gap:42px;justify-content:center;align-items:center}.game-cabinet{position:relative;min-width:0;background:linear-gradient(#f9fcff,#eef7ff);border:3px solid #fff;border-radius:34px;padding:17px 22px 10px;box-shadow:0 8px 0 #69a7cd,0 12px 0 #5292bd45,0 24px 65px -22px #29669180,inset 0 0 0 1px #dcebf6;overflow:hidden}.cabinet-topbar{display:flex;align-items:center;gap:10px;min-height:44px}.level-button{background:transparent;border:0;display:flex;align-items:center;gap:10px;padding:0;text-align:left;flex:1;min-width:0;min-height:44px}.map-symbol{display:grid;place-items:center;color:#5282af;background:#e4f0fa;border:1px solid #d2e4f4;border-radius:12px;width:37px;height:37px;font-size:26px;flex-shrink:0}.level-number{display:block;font-size:10px;letter-spacing:1.6px;font-weight:800;color:#5c87ac;margin-bottom:3px}.level-name{font-size:17px;font-weight:800;line-height:1.3;display:block;white-space:nowrap}.level-chevron{font-size:18px;margin-left:3px;color:#67829b}.difficulty-label{background:#e6f4d2;border:1px solid #d3e8b9;color:#537b26;padding:5px 9px;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap}.difficulty-label[data-tier="2"]{background:#fff0d4;color:#966317;border-color:#f3dcab}.difficulty-label[data-tier="3"]{background:#fce6ef;color:#ad4670;border-color:#f4c6d8}.pause-button{border:1px solid #d6e7f4;background:#eaf3fb;width:38px;height:38px;border-radius:12px;box-shadow:none}.mission-hud{display:flex;gap:20px;align-items:center;padding:13px 5px 9px}.moves-stat{display:flex;align-items:baseline;gap:5px;flex-shrink:0}.moves-stat>span{font-size:11px;color:#6c8399;font-weight:700}.moves-stat strong{font-size:38px;font-weight:900;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:0;color:#235986}.moves-stat.urgent strong{color:#e15e78}.mission-progress{flex:1;min-width:60px}.mission-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:7px;font-size:11px;color:#6c8399;font-weight:600}.mission-progress strong{font-size:14px;color:var(--ink);white-space:nowrap}.mission-progress strong>span{font-size:11px;color:#8aa0b2;font-weight:500}.mission-progress b{font-weight:800}.progress-bar{height:7px;background:#dce9f2;border-radius:8px;overflow:hidden;box-shadow:inset 0 1px 2px #4c749215}.progress-bar>span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#3ca4e8,#62d2e4);transition:width .18s ease-out}.par-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;color:#7d91a4;font-size:10px}.par-stars{font-size:18px;letter-spacing:1px;color:#ecb733;text-shadow:0 1px 0 #d4952660}.par-stat b{color:#47627d;font-weight:800}.board-wrap{position:relative;width:100%;aspect-ratio:520/484;flex-shrink:1;min-height:0;isolation:isolate}#game-canvas{display:block;width:100%;height:100%;touch-action:pan-y}.combo-label{position:absolute;right:11%;top:14%;pointer-events:none;display:flex;align-items:baseline;gap:3px;transform:rotate(-10deg) scale(.7);opacity:0;color:#fff;filter:drop-shadow(0 2px 0 #ce5d92);text-shadow:2px 0 #e95c91,-2px 0 #e95c91,0 2px #e95c91,0 -2px #e95c91}.combo-label b{font-size:28px;font-weight:1000}.combo-label span{font-size:14px;font-weight:900}.combo-label.show{animation:combo-pop .72s ease-out}@keyframes combo-pop{0%{opacity:0;transform:rotate(-10deg) scale(.6) translateY(8px)}20%,70%{opacity:1;transform:rotate(-10deg) scale(1)}100%{opacity:0;transform:rotate(-10deg) scale(.98) translateY(-12px)}}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:750;color:#5b7891;min-height:19px;margin-bottom:5px}.section-label>span:last-child{font-size:10px;font-weight:500;color:#8499ab}.return-icon{display:inline-block;margin-left:4px;color:#91aec4;font-size:17px;vertical-align:-1px}.return-dock{background:#e1edf7;border:1px solid #d2e2ef;border-radius:17px;padding:8px 12px 9px;box-shadow:inset 0 2px 4px #5781a210}.waiting-slots{display:flex;gap:10px;justify-content:center}.waiting-slot{height:53px;max-width:116px;min-width:65px;flex:1;border:2px dashed #b3cbde;background:#d2e3f0;border-radius:13px;position:relative;display:flex;align-items:center;justify-content:center;gap:3px;padding:0;box-shadow:inset 0 2px 2px #6894b912;transition:border-color var(--motion-fast),background var(--motion-fast)}.waiting-slot.empty{color:#96b1c5;font-size:22px}.waiting-slot.occupied{background:#fafdff;border:2px solid #aecde5;box-shadow:0 3px 0 #bdcedb}.waiting-slot.selected{border-color:#448ee0;background:#fff;box-shadow:0 0 0 2px #448ee025,0 3px 0 #6ca4d5}.waiting-slot .jelly-art{width:47px;height:47px}.waiting-slot.reserved{border-style:solid;border-color:#bdcfdd;background:#deebf4}.waiting-slot.reserved .jelly-art{opacity:.3;filter:grayscale(.45)}.return-tag{position:absolute;right:5px;bottom:3px;color:#718da4;font-size:9px;font-weight:700}.slot-ammo{font-size:20px;font-weight:900;min-width:22px;color:#294d6a}.slot-color-symbol{position:absolute;top:4px;right:5px;font-size:8px;color:var(--jelly-dark)}.queue-area{padding:10px 1px 0}.queues{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.queue-lane{position:relative;min-width:0}.queue-front{width:100%;height:83px;position:relative;padding:6px 5px 8px;border:2px solid #cfdfec;background:#fff;border-radius:15px;box-shadow:0 4px 0 #c4d7e6;display:flex;align-items:center;justify-content:center;gap:2px;transition:transform var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}.queue-front .jelly-art{width:68px;height:68px;flex-shrink:0}.queue-front:hover:not(:disabled){transform:translateY(-2px);border-color:#84b5de}.queue-front:active:not(:disabled){transform:translateY(2px)}.queue-front.selected{border-color:#318ddb;box-shadow:0 4px 0 #2f81bb,0 0 0 3px #8dc9ee55;background:#f4fbff}.queue-front .front-ammo{font-size:25px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;margin-right:6px;color:#284e71}.ammo-unit{display:block;font-size:9px;color:#899aab;font-weight:500;margin-top:5px;text-align:center}.queue-key{position:absolute;top:5px;left:7px;font-size:9px;color:#8eabc3;font-weight:800}.front-symbol{position:absolute;top:6px;right:7px;font-size:10px;color:var(--jelly-dark)}.queue-front:disabled{opacity:.68;filter:saturate(.75)}.queue-front.empty{box-shadow:none;border-style:dashed;background:#eaf2f8;color:#9cb5c8;font-size:22px;opacity:.65}.queue-next{height:29px;display:flex;justify-content:center;align-items:center;gap:7px;margin-top:8px}.next-jelly{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:800;color:#698299;background:#e7eff6;border-radius:8px;min-width:40px;padding-right:6px;height:26px}.next-jelly .jelly-art{width:27px;height:27px}.next-jelly:nth-child(2){opacity:.72}.queue-rest{font-size:10px;color:#9bafc0}.launch-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px 14px;margin-top:8px;background:#eaf3fc;border:1px solid #d9e7f5;border-radius:17px;position:relative;overflow:hidden;min-height:83px}.forecast{min-width:0;display:flex;flex-direction:column;gap:3px}.forecast>span:first-child{font-size:10px;color:#71879d;font-weight:700}.forecast strong{font-size:18px;line-height:1.1;color:#225a87;font-weight:900}.forecast>span:last-child{font-size:10px;line-height:1.4;color:#6b8199;white-space:nowrap}.forecast.warning strong{color:#a56d22}.launch-button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:156px;min-height:51px;background:linear-gradient(#d1f58b,#a6df54);border:2px solid #f0ffd2;border-radius:14px;box-shadow:0 4px 0 #73a536,0 6px 12px #46681920;color:#365623;font-size:17px;font-weight:900;text-shadow:0 1px #ffffff90;transition:transform var(--motion-fast),filter var(--motion-fast);flex-shrink:0}.launch-button svg{width:17px;height:17px;fill:currentColor}.launch-button:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.launch-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #73a536}.launch-button:disabled{background:#dfeaf2;color:#94aabb;border-color:#eaf3f9;box-shadow:0 3px 0 #c3d2dd;text-shadow:none;font-size:14px}.orbit-progress{height:3px;position:absolute;bottom:0;left:0;right:0}.orbit-progress>span{display:block;height:100%;background:#47b4ee;width:0}.game-toolbar{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.game-toolbar button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;border:0;border-radius:11px;background:none;font-size:11px;color:#597d9d;font-weight:700}.game-toolbar button:hover{background:#e6eff9}.game-toolbar button:disabled{opacity:.35}.game-toolbar b{font-size:15px;font-weight:900;min-width:24px}.game-toolbar svg{width:18px;height:18px}.game-message{margin:3px 0 0;min-height:18px;text-align:center;font-size:10px;color:#6c88a0;line-height:1.5}.journey-panel{align-self:center;color:#25577c}.journey-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#36729c}.panel-kicker{font-size:10px;letter-spacing:1.8px;font-weight:900}.journey-heading>span:last-child{background:#eff9ff8f;border:1px solid #fff8;border-radius:20px;padding:6px 11px;font-size:11px;font-weight:800}.journey-panel h1{font-size:34px;letter-spacing:0;line-height:1.5;margin:19px 0 25px;color:#175384;font-weight:900;text-shadow:0 1px 0 #ffffff90}.chapter-tabs{display:flex;gap:5px;background:#eaf8ff66;border:1px solid #ffffff70;padding:4px;border-radius:13px}.chapter-tabs button{flex:1;border:0;border-radius:9px;background:none;padding:8px 2px;font-size:11px;font-weight:800;color:#5b86a6;min-height:35px}.chapter-tabs button[aria-selected="true"]{background:#fff;box-shadow:0 2px 4px #4d8bb91c;color:#2777b3}.chapter-copy{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px}.chapter-copy h2{font-size:17px;margin:0;font-weight:900}.chapter-copy>span{font-size:11px;color:#6490ad}.stage-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stage-node{position:relative;background:#f6fcffdb;border:2px solid #ffffffe0;border-radius:15px;min-height:101px;padding:8px 5px 5px;box-shadow:0 3px 0 #71aad155;display:flex;align-items:center;flex-direction:column;gap:4px}.stage-node:hover{transform:translateY(-2px);background:#fff}.stage-node.selected{border-color:#3b8fcc;box-shadow:0 3px 0 #3b8fcc;background:#fff}.stage-node .stage-thumbnail{width:47px;height:47px;border-radius:6px;background:#deebf4;padding:3px}.stage-node .stage-number{font-size:11px;font-weight:900;color:#42789f}.stage-node .stage-stars{position:absolute;right:5px;top:5px;color:#d3a620;font-size:8px;line-height:1}.stage-node.selected .stage-number{color:#246497}.stage-node.locked{opacity:.7}.mission-note{display:flex;gap:12px;margin:22px 0 19px;padding:16px 15px;border-radius:15px;background:#f1faffcc;border:1px solid #fff}.note-icon{color:#deac29;font-size:27px;line-height:1}.mission-note h3{font-size:11px;margin:0 0 7px;font-weight:800;color:#477595}.mission-note p{font-size:12px;line-height:1.8;margin:0;color:#537a97}.tactical-guide{display:flex;flex-direction:column;gap:14px}.tactical-guide>div{display:flex;gap:13px;align-items:flex-start}.tactical-guide>div>span{font-size:10px;border:1px solid #80b5d2;background:#e9f8ff88;border-radius:50%;height:24px;width:24px;display:grid;place-items:center;flex-shrink:0;color:#4883ad;font-weight:800}.tactical-guide p{font-size:11px;line-height:1.8;color:#497998;margin:0}.tactical-guide b{display:block;font-size:12px;color:#285d82}.journey-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:21px;padding-top:14px;border-top:1px solid #74afd250;font-size:10px;color:#5f8aa5}.journey-footer>span:last-child{font-weight:900;color:#997a1b;font-size:13px}.pause-overlay{position:absolute;inset:0;background:#eaf5fcf2;border-radius:24px;z-index:8;display:flex;align-items:center;justify-content:center;flex-direction:column;backdrop-filter:blur(5px)}.pause-art{display:block;width:90px;height:90px;transform:rotate(-8deg)}.pause-overlay h2{font-size:26px;margin:8px 0 0}.pause-overlay p{font-size:12px;color:#6f8aa1;margin:10px 0 20px}.primary-button{border:2px solid #f0ffd2;background:linear-gradient(#c9f47f,#a9df5c);box-shadow:0 4px 0 #7aac3d;border-radius:13px;min-height:48px;padding:12px 25px;font-size:15px;font-weight:850;color:#365623}.primary-button:hover{filter:brightness(1.04)}.secondary-button{border:1px solid #d1e3ef;background:#eaf3fb;border-radius:13px;min-height:46px;padding:11px 20px;font-size:14px;color:#527592;font-weight:650}.primary-button:disabled,.secondary-button:disabled{opacity:.5}.dialog-close{position:absolute;top:13px;right:13px;background:#eaf2f8;border-color:#e4edf6;box-shadow:none;width:36px;height:36px;border-radius:12px;font-size:24px;z-index:3}dialog{width:min(470px,calc(100vw - 26px));padding:33px 29px;border:3px solid #fff;background:#f5fbff;color:var(--ink);border-radius:27px;box-shadow:0 8px 0 #5b98c06b,0 30px 90px #16487560;max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#164c7a75;backdrop-filter:blur(7px)}dialog h2{font-size:26px;margin:12px 0 10px;font-weight:900;line-height:1.45}dialog p{font-size:13px;line-height:1.85;color:#678199;margin:10px 0}.dialog-kicker{font-size:10px;font-weight:900;color:#6f98b5;letter-spacing:1.5px}.dialog-actions{display:flex;flex-direction:column;gap:12px;margin-top:23px}.result-art{width:130px;height:130px;margin:0 auto -5px;filter:drop-shadow(0 6px 7px #769bbf22)}.result-dialog{text-align:center}.result-stars{color:#ffc946;display:flex;justify-content:center;gap:7px;font-size:38px;text-shadow:0 3px #d39830;margin:0 0 13px}.result-stars .unearned{color:#d9e4ec;text-shadow:0 2px #bccddd}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-block:1px solid #dce8f2;padding:16px 0;margin:20px 0}.result-stats span{display:block;font-size:10px;color:#86a0b5}.result-stats strong{display:block;font-size:25px;font-weight:900;margin:4px 0 0;color:#2b5d85}.result-best{font-size:12px!important;color:#3580ae!important;font-weight:750}.map-dialog{width:min(570px,calc(100vw - 26px))}.map-chapter-title{font-size:13px;margin:20px 0 11px;color:#497897}.map-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.map-grid .stage-node{min-height:89px}.map-grid .stage-thumbnail{width:39px;height:39px}.map-grid .stage-name{font-size:8px;font-weight:600;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.help-list{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:16px}.help-list li{display:flex;gap:12px;font-size:13px;line-height:1.8;color:#627f99}.help-list li>span{font-weight:900;color:#4786b7;flex-shrink:0}.help-list b{display:block;color:#295a81}.help-note{font-size:11px!important;border-top:1px solid #d9e7f2;padding-top:14px}.help-example{display:flex;align-items:center;gap:12px;justify-content:center;background:#e9f3fb;border-radius:14px;padding:8px;margin:17px 0}.help-example .jelly-art{width:61px;height:61px}.help-example p{font-size:11px;margin:0}.help-example b{display:block;font-size:14px;color:#285776}.install-instructions{padding-left:20px;font-size:13px;line-height:1.9;color:#5a7b97}.install-instructions li{margin:12px 0}.old-progress-note{font-size:11px!important}.keyboard-note{font-size:11px!important;color:#90a5b5!important}
@media(min-width:1600px){.game-layout{gap:66px;grid-template-columns:minmax(480px,600px) 320px;width:1080px}.app-header{width:1120px}.sky-scene{background-size:100% auto;background-position:center 47%}}
@media(max-width:980px){.game-layout{grid-template-columns:minmax(380px,530px) minmax(205px,260px);gap:25px;width:calc(100% - 44px)}.app-header{width:calc(100% - 48px);height:88px}.journey-panel h1{font-size:28px}.stage-list{gap:7px}.game-cabinet{padding-inline:18px}.edition-tag{display:none}.mission-hud{gap:12px}.queue-front .jelly-art{width:60px;height:60px}.queue-front .front-ammo{font-size:22px;margin-right:3px}.stage-node{min-height:91px}.stage-node .stage-thumbnail{width:40px;height:40px}.tactical-guide{gap:10px}}
@media(max-width:760px){.journey-panel{display:none}.game-layout{display:block;width:min(510px,calc(100% - 30px));margin-bottom:24px}.app-header{width:min(510px,calc(100% - 34px));height:calc(79px + env(safe-area-inset-top))}.brand-mascot{width:45px;height:45px}.brand-type{font-size:23px}.header-install{display:none}.header-tools{gap:9px}.header-tools .round-button{width:39px;height:39px;border-radius:13px}.game-cabinet{padding:13px 18px 9px;border-radius:28px}.game-layout{align-items:start}.mission-hud{padding-top:10px}.sky-scene{background-position:center center}}
@media(max-width:480px){.app-header{width:calc(100% - 28px);height:calc(69px + env(safe-area-inset-top));gap:10px}.brand-mascot{width:42px;height:42px}.brand-type{font-size:20px}.brand-type i{font-size:14px}.header-tools .round-button{width:37px;height:37px}.game-layout{width:calc(100% - 18px);margin-bottom:calc(16px + env(safe-area-inset-bottom))}.game-cabinet{padding:9px 12px 5px;border-width:2px;border-radius:24px;box-shadow:0 5px 0 #69a7cd,0 18px 40px -20px #29669166}.cabinet-topbar{gap:7px;min-height:39px}.level-button{gap:7px;min-height:39px}.map-symbol{width:30px;height:31px;font-size:22px;border-radius:10px}.level-number{font-size:8px;letter-spacing:1px;margin-bottom:2px}.level-name{font-size:14px}.level-chevron{font-size:15px;margin-left:0}.difficulty-label{font-size:9px;padding:4px 6px;border-radius:6px}.pause-button{width:34px;height:34px;border-radius:10px}.pause-button svg{width:16px;height:16px}.mission-hud{padding:9px 2px 5px;gap:14px}.moves-stat strong{font-size:31px}.moves-stat>span{font-size:9px}.moves-stat{gap:4px}.mission-progress>div:first-child{font-size:9px;margin-bottom:5px}.mission-progress strong{font-size:12px}.mission-progress strong>span{font-size:9px}.progress-bar{height:6px}.par-stars{font-size:14px}.par-stat{font-size:8px}.return-dock{padding:5px 9px 7px;border-radius:13px}.section-label{font-size:10px;min-height:16px;margin-bottom:4px}.section-label>span:last-child{font-size:9px}.return-icon{font-size:14px}.waiting-slot{height:43px;border-radius:10px;max-width:104px}.waiting-slot .jelly-art{width:39px;height:39px}.slot-ammo{font-size:17px}.slot-color-symbol{font-size:7px}.return-tag{font-size:8px}.queue-area{padding-top:8px}.queues{gap:8px}.queue-front{height:67px;border-radius:12px;padding:3px 2px 4px}.queue-front .jelly-art{width:55px;height:55px}.queue-front .front-ammo{font-size:21px;margin-right:4px}.ammo-unit{font-size:8px;margin-top:3px}.queue-key{font-size:8px;left:5px}.front-symbol{font-size:8px;top:5px;right:5px}.queue-next{height:23px;margin-top:6px;gap:4px}.next-jelly{font-size:10px;min-width:31px;height:22px;padding-right:4px;gap:0;border-radius:6px}.next-jelly .jelly-art{width:23px;height:23px}.queue-rest{font-size:9px}.launch-panel{margin-top:6px;min-height:68px;padding:8px 10px 10px;gap:6px;border-radius:13px}.forecast>span:first-child{font-size:9px}.forecast strong{font-size:16px}.forecast>span:last-child{font-size:9px}.launch-button{min-width:126px;min-height:44px;border-radius:11px;font-size:15px;gap:6px}.launch-button:disabled{font-size:12px}.launch-button svg{width:14px;height:14px}.game-toolbar{margin-top:6px}.game-toolbar button{min-height:38px;font-size:10px;gap:5px}.game-toolbar svg{width:16px;height:16px}.game-toolbar b{font-size:14px}.game-message{font-size:9px;min-height:14px;margin-top:0}.map-grid{gap:5px}.map-grid .stage-node{padding-inline:2px;min-height:82px;border-radius:11px}.map-grid .stage-thumbnail{width:33px;height:33px}.map-grid .stage-name{font-size:7px}dialog{padding:30px 21px;border-radius:23px}.map-dialog{padding-inline:15px}.map-chapter-title{font-size:12px}.pause-overlay h2{font-size:24px}.pause-art{width:78px;height:78px}}
@media(max-width:480px) and (max-height:800px){.app-header{height:calc(59px + env(safe-area-inset-top))}.board-wrap{max-width:310px;margin-inline:auto}.game-cabinet{padding-top:7px}.mission-hud{padding-top:6px;padding-bottom:3px}.queue-front{height:61px}.queue-front .jelly-art{width:50px;height:50px}.queue-area{padding-top:6px}.waiting-slot{height:39px}.return-dock{padding-bottom:6px}.game-toolbar{margin-top:4px}.game-toolbar button{min-height:36px}}
@media(max-width:360px){.level-name{font-size:12px}.level-number{font-size:7px}.difficulty-label{display:none}.mission-hud{gap:10px}.queue-front .jelly-art{width:44px;height:44px}.queue-front .front-ammo{font-size:19px;margin-right:1px}.next-jelly{min-width:27px}.next-jelly .jelly-art{width:19px;height:19px}.launch-button{min-width:112px}.forecast strong{font-size:14px}.forecast>span:last-child{font-size:8px}.game-cabinet{padding-inline:10px}.game-layout{width:calc(100% - 14px)}}
@media(min-width:761px) and (max-height:1000px){.app-header{height:75px}.game-layout{grid-template-columns:minmax(380px,500px) minmax(230px,300px);gap:38px}.game-cabinet{padding:10px 18px 7px}.mission-hud{padding-top:8px;padding-bottom:5px}.board-wrap{width:100%;max-width:455px;margin:auto}.queue-front{height:73px}.queue-front .jelly-art{width:61px;height:61px}.return-dock{padding-top:5px;padding-bottom:7px}.waiting-slot{height:46px}.queue-area{padding-top:7px}.launch-panel{min-height:74px;padding-top:8px;padding-bottom:10px}.game-toolbar{margin-top:6px}.game-toolbar button{min-height:37px}.journey-panel h1{font-size:30px;margin-top:14px;margin-bottom:20px}.tactical-guide{gap:11px}.mission-note{margin-top:17px;margin-bottom:17px}.stage-node{min-height:90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}
/* Wide screens keep every play control next to the arena, within one viewport. */
@media(min-width:900px){
 .app-header{width:min(1250px,calc(100% - 56px));height:80px}
 .game-layout{width:min(1250px,calc(100% - 56px));grid-template-columns:minmax(650px,930px);gap:28px;align-items:center}
 .journey-panel{display:none}
 .game-cabinet{display:grid;grid-template-columns:minmax(340px,1fr) 278px;grid-template-areas:"top top" "hud hud" "board dock" "board queues" "board launch" "board tools" "message message";column-gap:20px;row-gap:8px;padding:16px 22px 12px;border-radius:30px}
 .cabinet-topbar{grid-area:top}.mission-hud{grid-area:hud;padding:6px 5px 9px;gap:22px}.mission-progress{max-width:400px}.par-stat{margin-left:auto}
 .board-wrap{grid-area:board;max-width:none;width:100%;margin:0;align-self:center}
 .return-dock{grid-area:dock;align-self:end;padding:8px 10px 9px}
 .queue-area{grid-area:queues;padding:0;align-self:center}.queues{gap:7px}.queue-front{height:78px;padding-inline:1px}.queue-front .jelly-art{width:48px;height:48px}.queue-front .front-ammo{font-size:22px;margin-right:2px}.queue-next{gap:3px;height:25px;margin-top:7px}.next-jelly{min-width:30px;font-size:10px;padding-right:3px;height:24px}.next-jelly .jelly-art{width:23px;height:23px}.queue-rest{font-size:9px}
 .launch-panel{grid-area:launch;align-self:center;flex-direction:column;align-items:stretch;gap:10px;margin-top:0;padding:11px 13px 14px;min-height:126px}.forecast{gap:3px}.forecast>span:first-child{font-size:10px}.forecast>span:last-child{font-size:10px}.launch-button{width:100%;min-height:47px}
 .game-toolbar{grid-area:tools;align-self:start;margin-top:0;gap:0}.game-toolbar button{min-height:44px;font-size:10px;gap:4px}.game-toolbar svg{width:16px;height:16px}.game-message{grid-area:message;margin-top:3px}
}
@media(min-width:1180px){.game-layout{grid-template-columns:minmax(720px,920px) 250px;gap:30px}.journey-panel{display:block}.journey-panel h1{font-size:27px;margin:15px 0 22px}.journey-panel .tactical-guide{display:none}.journey-panel .mission-note{margin-bottom:16px}.chapter-copy h2{font-size:15px}.stage-node{min-height:90px}.stage-node .stage-thumbnail{width:40px;height:40px}}
@media(min-width:900px) and (max-height:800px){.app-header{height:66px}.game-cabinet{padding:10px 17px 8px;row-gap:4px;grid-template-columns:minmax(310px,450px) 265px}.game-layout{grid-template-columns:minmax(630px,790px)}.journey-panel{display:none}.mission-hud{padding:3px 4px}.return-dock{padding-block:5px}.waiting-slot{height:44px}.queue-front{height:66px}.launch-panel{min-height:116px;padding-block:8px}.board-wrap{max-width:450px}}
@media(max-width:899px){.pause-button,.header-tools .round-button{min-width:44px;min-height:44px}.game-toolbar button{min-height:44px}.waiting-slot{min-height:44px}.level-button{min-height:44px}}
@media(max-width:480px){.board-wrap{max-width:330px;margin-inline:auto}}
.round-button,.chapter-tabs button{min-width:44px;min-height:44px}
