:root{font-family:Inter,system-ui,sans-serif;color:#f7f3fc;background:#100b18;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 0,#3f245c,transparent 38%),#100b18}button,input,textarea{font:inherit}button{min-height:42px;cursor:pointer;border:0;border-radius:10px;padding:.65rem .9rem;color:#190f23;background:#ddb9ff;font-weight:750}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #e7caff;outline-offset:2px}.center{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card{background:#251a32ee;border:1px solid #674582;border-radius:18px;padding:2rem;box-shadow:0 18px 70px #07040c99}.login-card{width:min(100%,430px)}.eyebrow{color:#d6adff;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}form,label{display:grid;gap:.55rem}.login-card form{gap:1.1rem;margin-top:1.5rem}input,textarea{width:100%;padding:.8rem;color:inherit;background:#151020;border:1px solid #8263a3;border-radius:9px}.secondary,nav button{color:#f7f3fc;background:#302340}.danger{color:#ffeef1;background:#692d42}.error{color:#ffb5c0}.muted,small{color:#bdb1c8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.messenger-shell{height:100vh;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.topbar{display:flex;align-items:center;gap:1rem;min-height:68px;padding:.75rem 1.25rem;border-bottom:1px solid #4a355e;background:#171020ee}.topbar strong{font-size:1.25rem}.topbar nav{display:flex;gap:.5rem}.topbar>span:first-of-type{margin-left:auto}.connection{font-size:.82rem;color:#bdb1c8}.connection.connected{color:#8fe0b2}.global-error{display:flex;align-items:center;justify-content:space-between;margin:0;padding:.6rem 1.25rem;background:#552336;color:#ffe9ee}.global-error button{min-height:32px;padding:.15rem .55rem;background:transparent;color:inherit;font-size:1.4rem}.messenger-grid{min-height:0;display:grid;grid-template-columns:minmax(290px,360px) 1fr}.messenger-grid>aside{min-height:0;overflow-y:auto;border-right:1px solid #4a355e;background:#171020}.messenger-grid>main{min-width:0;min-height:0}.conversation-list,.friends-tools{padding:1.1rem}.conversation-list{border-bottom:1px solid #4a355e}.conversation{width:100%;display:flex;align-items:center;gap:.75rem;justify-content:flex-start;margin-bottom:.45rem;color:inherit;background:transparent}.conversation:hover,.conversation.active{background:#3b2850}.avatar{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:50%;color:#2b173d;background:#d7aff8}.friends-tools{display:grid;gap:1.25rem}.friends-tools h2{font-size:1.05rem}.own-code{display:grid;gap:.65rem;padding:.85rem;background:#21162d;border-radius:12px}.own-code output{font:800 1.45rem ui-monospace,monospace;letter-spacing:.12em}.button-row{display:flex;flex-wrap:wrap;gap:.45rem}.request{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem 0;border-bottom:1px solid #3f2c51}.request span{display:grid;gap:.2rem}.empty-chat{height:100%;display:grid;place-content:center;text-align:center;color:#c8bbd4;padding:2rem}.empty-chat span{font-size:3rem}.chat-view{height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr auto}.chat-view>header{display:flex;align-items:center;gap:.8rem;padding:1rem 1.25rem;border-bottom:1px solid #4a355e}.chat-view h2{margin:0}.back-button{display:none;color:inherit;background:#302340}.message-list{overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:1.2rem}.message{max-width:min(75%,680px);padding:.7rem .85rem;border-radius:14px;background:#302340}.message.own{align-self:flex-end;background:#644287}.message.incoming{align-self:flex-start}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:.35rem}.message footer{display:flex;justify-content:flex-end;gap:.45rem;font-size:.75rem;color:#d4c6df}.system-message{align-self:center;max-width:80%;padding:.55rem .8rem;border-radius:10px;color:#d7cbdc;background:#241b2c;text-align:center}.composer{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:end;padding:1rem 1.2rem;border-top:1px solid #4a355e;background:#171020}.composer textarea{resize:none;max-height:8rem}@media(max-width:760px){.topbar{flex-wrap:wrap;gap:.55rem}.topbar nav{order:3;width:100%}.topbar nav button{flex:1}.topbar>span:first-of-type{margin-left:auto}.messenger-grid{display:block}.messenger-grid>aside,.messenger-grid>main{height:100%;border:0}.messenger-shell.chat-open .messenger-grid>aside{display:none}.messenger-shell:not(.chat-open) .messenger-grid>main{display:none}.back-button{display:inline-grid;place-items:center}.message{max-width:88%}.request{align-items:flex-start;flex-direction:column}}.games-open{grid-template-rows:auto minmax(0,1fr)}.games-page{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.game-stage{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}.game-stage>*{min-width:0}.game-challenges{width:min(1180px,calc(100% - 2rem));margin:.75rem auto;padding:1rem}.game-challenges.compact{padding:.7rem 1rem}.game-challenges-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.game-challenges-header h2{margin:0;font-size:1rem}.game-challenges-header button{min-height:36px}.game-challenges-content{display:grid;gap:.75rem;margin-top:1rem}.game-challenges-content article{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem;border-top:1px solid #604c70}.game-challenges-content article strong{flex:1 1 220px}.game-challenges-content article small{flex:1 1 140px}.topbar nav button.active{background:#7850a0}@media(max-height:800px),(max-width:760px){.messenger-shell.games-open{height:auto;min-height:100vh;grid-template-rows:auto auto;overflow:visible}.games-page{overflow:visible;grid-template-rows:auto auto auto}.game-stage{overflow:visible}.game-challenges{width:min(100% - 1rem,1180px);margin:.5rem auto}.game-challenges-header{align-items:stretch;flex-direction:column}.game-challenges-header button{width:100%}}.games-hub,.bucca-game-shell{width:min(1180px,100%);margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.bucca-hero{position:relative;overflow:hidden;min-height:220px;display:grid;align-content:center;padding:clamp(1.5rem,4vw,3.5rem);border:1px solid #8f68ad;border-radius:24px;background:radial-gradient(circle at 80% 40%,#319fb766,transparent 28%),linear-gradient(135deg,#342049,#102f45)}.bucca-hero:after{content:"";position:absolute;inset:auto -5% -32px;height:90px;background:repeating-radial-gradient(ellipse at 50% 100%,#53c7dd55 0 7px,transparent 8px 19px)}.bucca-hero h1{margin-bottom:.35rem;font-size:clamp(2.5rem,8vw,5.5rem);line-height:.9}.bucca-hero p:last-child{max-width:680px;font-size:1.05rem}.game-lobby{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:1.5rem}.game-lobby>*{align-content:start}.game-lobby label{margin-bottom:.8rem}.game-error{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.75rem 1rem;border-radius:10px;background:#702d3f}.game-error button{min-height:30px;padding:.1rem .5rem;color:inherit;background:transparent}.match-toolbar,.bucca-placement>header,.battle-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.match-toolbar{margin-bottom:1.25rem}.match-toolbar h1,.bucca-placement h2,.battle-header h2{margin-bottom:0}.match-share{display:grid;gap:.35rem;max-width:100%}.match-share code{max-width:100%;padding:.45rem .6rem;overflow-x:auto;border-radius:7px;background:#151020}.waiting-room{text-align:center}.radar{width:110px;height:110px;margin:0 auto 1.5rem;border:2px solid #67d7d7;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 17px,#67d7d744 18px 19px)}.radar span{display:block;width:50%;height:50%;margin:50% 0 0 50%;transform-origin:0 0;border-left:2px solid #67d7d7;animation:radar-spin 2s linear infinite}@keyframes radar-spin{to{transform:rotate(360deg)}}.bucca-placement,.bucca-battle{padding:clamp(1rem,2vw,1.6rem);border:1px solid #4c7184;border-radius:20px;background:linear-gradient(180deg,#162b3b,#171324);box-shadow:0 20px 60px #06090d88}.ready-flags{display:flex;flex-wrap:wrap;gap:.5rem}.ready-flags span{padding:.45rem .7rem;border-radius:99px;background:#49384f}.ready-flags .ready{color:#baf5d0;background:#216044}.placement-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:.75rem;align-items:end}.placement-controls select{min-height:44px;padding:.65rem;color:inherit;background:#151d2a;border:1px solid #6e8495;border-radius:9px}.placement-progress,.placement-message{margin:.85rem 0}.placement-message{color:#ffe2a5}.placement-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.placement-footer span{color:#c5d1d8}.bucca-grid-scroll{max-width:100%;padding:.6rem;overflow-x:auto;overscroll-behavior-inline:contain;border-radius:16px;background:#092638}.bucca-grid{width:max-content;margin:auto}.bucca-grid-head,.bucca-grid-row{display:grid;grid-template-columns:38px repeat(8,48px);gap:4px;margin-bottom:4px}.bucca-column,.bucca-row-number{min-height:38px;display:grid;place-items:center;color:#d8f6ff;text-align:center}.bucca-column small{display:block;max-width:45px;overflow:hidden;font-size:.55rem;text-overflow:ellipsis}.bucca-cell{min-width:48px;min-height:48px;padding:0;border:1px solid #69bad055;border-radius:7px;color:#fff;background:linear-gradient(145deg,#1b748f,#12526f);box-shadow:inset 0 0 10px #9be9ef22;touch-action:manipulation}.bucca-cell:not(:disabled):hover{filter:brightness(1.18)}.bucca-cell:disabled{opacity:1;cursor:default}.bucca-cell.own-ship{background:linear-gradient(145deg,#78808c,#333d4b)}.bucca-cell.water{color:#d5f8ff;background:#267ca4}.bucca-cell.hit{color:#2c0a08;background:radial-gradient(circle,#ffe393 0 20%,#eb714e 24% 55%,#75233d 60%)}.bucca-cell.sunk{background:repeating-linear-gradient(45deg,#421821 0 7px,#8e2736 8px 14px)}.bucca-cell.selected{outline:4px solid #fff18c;outline-offset:-3px}.fog-bank{margin:.9rem 0;padding:.8rem;overflow:hidden;color:#d4f6f4;background:linear-gradient(90deg,transparent,#c5e5e633,transparent);text-align:center;letter-spacing:.08em}.turn-banner{padding:.7rem 1rem;border-radius:10px;background:#513447;font-weight:800}.turn-banner.your-turn{color:#102319;background:#83e2ac}.battle-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem}.battle-stats article{display:grid;gap:.3rem;padding:.75rem;border-radius:10px;background:#1d3544}.battle-stats .biggy-ready{color:#271b00;background:#ffd65f;animation:biggy-pulse 1.4s ease-in-out infinite alternate}@keyframes biggy-pulse{to{box-shadow:0 0 24px #ffd65f88}}.biggy-controls{min-height:54px;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.75rem}.impact-strip{margin-top:.8rem;padding:.8rem;border-left:4px solid #6ad2ea;background:#172b3b}.impact-strip.biggy-impact{border-color:#ffd65f;background:#493b1b}.bucca-reveal{display:flex;align-items:center;gap:1rem;margin-top:.8rem;padding:1rem;overflow:hidden;border:1px solid #89afbd;border-radius:12px;background:linear-gradient(90deg,#243a49,#161421);animation:reveal-in .35s ease-out}.bucca-reveal.king{border-color:#ffd65f;background:linear-gradient(90deg,#5b4210,#201421)}.reveal-ship{font-size:3rem;animation:sink 4s ease-in forwards}.crew-placeholder{margin:.35rem 0 0;color:#b6c4ca}@keyframes reveal-in{0%{opacity:0;transform:translateY(15px)}}@keyframes sink{to{transform:translateY(22px) rotate(-7deg);opacity:.25}}.cell-legend{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.cell-legend span{padding:.4rem .6rem;border-radius:7px;background:#243746}.cell-legend .water{background:#267ca4}.cell-legend .hit{background:#a54f3e}.cell-legend .sunk{background:#772638}.new-match-button{margin-top:1rem}@media(max-width:760px){.games-hub,.bucca-game-shell{padding:.8rem}.game-lobby{grid-template-columns:1fr}.match-toolbar,.bucca-placement>header,.battle-header,.placement-footer{align-items:stretch;flex-direction:column}.placement-controls,.battle-stats{grid-template-columns:1fr}.bucca-grid-head,.bucca-grid-row{grid-template-columns:34px repeat(8,44px)}.bucca-cell{min-width:44px;min-height:44px}.match-share code{font-size:.75rem}}.bucca-cell.valid-preview{outline-color:#7ff0a8}.bucca-cell.invalid-preview{outline-color:#ff657d;background:#70263a}.ship-inventory{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.55rem;margin:1rem 0}.ship-inventory button{display:grid;gap:.25rem;min-height:60px;text-align:left;background:#263b4b}.ship-inventory button.selected{outline:3px solid #77d9ed}.ship-inventory button.placed{color:#c7f9d7;background:#24533e}.placement-grid{touch-action:none}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.55fr);gap:1rem;align-items:start}.own-fleet-panel{padding:.8rem;border-radius:14px;background:#101d29}.compact .bucca-grid-head,.compact .bucca-grid-row{grid-template-columns:25px repeat(8,28px);gap:2px;margin-bottom:2px}.compact .bucca-cell{min-width:28px;min-height:28px;border-radius:4px}.compact .bucca-column,.compact .bucca-row-number{min-height:25px;font-size:.65rem}.compact .bucca-column small,.mobile-battle-tabs{display:none}.disconnect-notice{display:grid;gap:.3rem;margin:.8rem 0;padding:1rem;border:2px solid #ffcc6b;border-radius:12px;color:#fff3cf;background:#5b3b17}.match-end-reason{padding:.7rem;border-radius:8px;background:#293a49}.danger{background:#8c2e45}@media(max-width:760px){.ship-inventory{grid-template-columns:repeat(2,minmax(130px,1fr))}.battle-layout{display:block}.mobile-battle-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:.8rem}.mobile-battle-tabs button[aria-selected=true]{color:#11251b;background:#8fe3b2}.battle-layout .mobile-hidden{display:none}.compact .bucca-grid-head,.compact .bucca-grid-row{grid-template-columns:34px repeat(8,44px);gap:4px;margin-bottom:4px}.compact .bucca-cell{min-width:44px;min-height:44px}.compact .bucca-column,.compact .bucca-row-number{min-height:34px}.compact .bucca-column small{display:block}}.placement-grid{touch-action:pan-x}.placement-grid .bucca-cell{touch-action:none}.bot-lobby{grid-column:1 / -1;padding-top:1rem;border-top:1px solid #604c70}.bot-lobby label{max-width:320px}.bot-lobby select{width:100%;min-height:44px;padding:.65rem;color:inherit;background:#151d2a;border:1px solid #6e8495;border-radius:9px}.bot-opponent{margin:.35rem 0 0;color:#b9edf1;font-weight:700}.opponent-fleet{margin-top:.9rem;padding-top:.8rem;border-top:1px solid #365064}.opponent-fleet h3{margin:0 0 .6rem;font-size:1rem}.opponent-fleet-list{display:grid;gap:.45rem}.opponent-fleet-row{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:.4rem;font-size:.78rem}.ship-marks{display:flex;flex-wrap:wrap;gap:.3rem}.ship-marks i{color:#8ddbea;font-style:normal;letter-spacing:-.15em}.ship-marks i.sunk{color:#66717a;opacity:.45;text-decoration:line-through 2px #ef6b7e}.compact-fleet{display:none}@media(max-width:760px){.compact-fleet{display:block;margin:0 0 .65rem;padding:.55rem .65rem;overflow:hidden;border:1px solid #365064;border-radius:9px;background:#101d29}.compact-fleet h3{margin-bottom:.35rem;font-size:.85rem}.compact-fleet div{display:flex;flex-wrap:wrap;gap:.25rem .7rem;font-size:.78rem;white-space:nowrap}.own-fleet-panel .opponent-fleet{display:none}}.three-d-grid{position:relative;min-height:570px;isolation:isolate;background:linear-gradient(#163b50,#071d2b);perspective:900px}.bucca-3d-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 50% 20%,#b9e5e422,transparent 48%),linear-gradient(#294957,#08263b)}.bucca-3d-scene canvas{width:100%;height:100%;display:block}.three-d-grid .bucca-grid{position:relative;z-index:1;padding-top:28px}.three-d-grid .bucca-cell{border-color:#b8f3ff88;background:#1677984d;box-shadow:inset 0 0 12px #9be9ef22,0 3px #092f47;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.three-d-grid .bucca-cell.own-ship{background:linear-gradient(145deg,#9da8b4cc,#303946cc);box-shadow:inset 0 2px 3px #fff7,0 4px #17202a}.three-d-grid .bucca-cell.water{background:#309bc27d}.three-d-grid .bucca-cell.hit{background:radial-gradient(circle,#ffe393 0 18%,#ef734ecc 24% 52%,#75233dcc 60%)}.three-d-grid .bucca-cell.sunk{background:repeating-linear-gradient(45deg,#32131dcc 0 7px,#9b2c40cc 8px 14px)}.three-d-grid .bucca-column,.three-d-grid .bucca-row-number{color:#effcff;text-shadow:0 2px 5px #001}.compact.three-d-grid{min-height:365px}.webgl-fallback+.bucca-grid .bucca-cell{background-color:#176c91}@media(max-width:760px){.three-d-grid,.compact.three-d-grid{min-height:545px}.bucca-3d-scene{opacity:.82}.three-d-grid .bucca-grid{padding-top:12px}}.placement-zoom-toggle{display:none}@media(max-width:520px)and (orientation:portrait){html,body,#root{max-width:100%;overflow-x:hidden}.bucca-game-shell,.bucca-battle{min-width:0}.attack-board>.three-d-grid,.own-fleet-panel .three-d-grid,.placement-overview .three-d-grid{width:100%;min-height:330px;padding:.25rem;overflow:hidden}.attack-board>.three-d-grid .bucca-grid,.own-fleet-panel .three-d-grid .bucca-grid,.placement-overview .three-d-grid .bucca-grid{width:100%;padding-top:8px}.attack-board>.three-d-grid .bucca-grid-head,.attack-board>.three-d-grid .bucca-grid-row,.own-fleet-panel .three-d-grid .bucca-grid-head,.own-fleet-panel .three-d-grid .bucca-grid-row,.placement-overview .three-d-grid .bucca-grid-head,.placement-overview .three-d-grid .bucca-grid-row{grid-template-columns:18px repeat(8,minmax(0,1fr));gap:1px;margin-bottom:1px}.attack-board>.three-d-grid .bucca-cell,.own-fleet-panel .three-d-grid .bucca-cell,.placement-overview .three-d-grid .bucca-cell{min-width:0;min-height:0;aspect-ratio:1;border-radius:3px;font-size:.65rem}.attack-board>.three-d-grid .bucca-column,.attack-board>.three-d-grid .bucca-row-number,.own-fleet-panel .three-d-grid .bucca-column,.own-fleet-panel .three-d-grid .bucca-row-number,.placement-overview .three-d-grid .bucca-column,.placement-overview .three-d-grid .bucca-row-number{min-width:0;min-height:18px;font-size:.55rem}.attack-board>.three-d-grid .bucca-column small,.own-fleet-panel .three-d-grid .bucca-column small,.placement-overview .three-d-grid .bucca-column small{display:none}.placement-zoom-toggle{display:block}.placement-zoomed .three-d-grid{max-width:100%;overflow-x:auto;touch-action:pan-x}.placement-zoomed .three-d-grid .bucca-grid{width:max-content}.placement-zoomed .three-d-grid .bucca-grid-head,.placement-zoomed .three-d-grid .bucca-grid-row{grid-template-columns:34px repeat(8,46px);gap:4px}.placement-zoomed .three-d-grid .bucca-cell{min-width:46px;min-height:46px}.target-picker-grid{grid-template-columns:repeat(5,minmax(44px,1fr))}.target-picker-grid button{min-width:44px}}@media(max-width:760px)and (orientation:landscape){.games-hub,.bucca-game-shell{padding:.35rem}.bucca-battle{padding:.55rem}.attack-board>.three-d-grid{width:100%;min-height:500px;padding:.25rem;overflow:hidden}.attack-board>.three-d-grid .bucca-grid{width:100%;padding-top:6px}.attack-board>.three-d-grid .bucca-grid-head,.attack-board>.three-d-grid .bucca-grid-row{grid-template-columns:18px repeat(8,minmax(0,1fr));gap:2px;margin-bottom:2px}.attack-board>.three-d-grid .bucca-cell{min-width:0;min-height:0;aspect-ratio:1}.attack-board>.three-d-grid .bucca-column,.attack-board>.three-d-grid .bucca-row-number{min-width:0;min-height:20px}.attack-board>.three-d-grid .bucca-column small{display:none}}.three-d-grid .bucca-3d-scene{z-index:0}.three-d-grid .bucca-cell,.three-d-grid .bucca-cell.own-ship,.three-d-grid .bucca-cell.water,.three-d-grid .bucca-cell.hit,.three-d-grid .bucca-cell.sunk{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.three-d-grid .bucca-cell>span{opacity:0}.three-d-grid .bucca-cell:not(:disabled):hover,.three-d-grid .bucca-cell:focus-visible,.three-d-grid .bucca-cell.selected,.three-d-grid .bucca-cell.selected.invalid-preview{background:transparent;outline:0;box-shadow:none}.compact.three-d-grid{width:100%;overflow:hidden}.compact.three-d-grid .bucca-grid{width:100%}.compact.three-d-grid .bucca-grid-head,.compact.three-d-grid .bucca-grid-row{grid-template-columns:18px repeat(8,minmax(0,1fr));gap:2px}.compact.three-d-grid .bucca-cell{min-width:0;min-height:0;aspect-ratio:1}.mobile-fire-controls{display:none}@keyframes bucca-fire-ready{0%{box-shadow:0 0 10px #ffcf55aa}to{box-shadow:0 0 25px #fff18c,inset 0 0 10px #fff7b8}}@media(max-width:760px){.mobile-target-picker{display:none}.mobile-fire-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,34%);align-items:center;gap:.65rem;margin-top:.65rem;padding:.55rem;border:1px solid #77d9ed88;border-radius:12px;background:#0a1d2bd9}.mobile-fire-controls span{min-width:0;font-weight:800;color:#dffaff}.mobile-fire-controls button{min-height:48px}.mobile-fire-controls button.fire-ready{color:#17212a;background:linear-gradient(135deg,#fff18c,#ffb52e);border-color:#fffbd1;animation:bucca-fire-ready .75s ease-in-out infinite alternate}.attack-board>.three-d-grid,.own-fleet-panel .three-d-grid{min-height:0;aspect-ratio:1.08 / 1}}@media(max-height:520px)and (orientation:landscape){.games-hub,.bucca-game-shell{padding:.35rem}.bucca-battle{padding:.55rem}.battle-layout{display:block}.mobile-battle-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:.55rem}.battle-layout .mobile-hidden{display:none}.compact-fleet{display:block;margin:0 0 .5rem;padding:.45rem .6rem;overflow:hidden;border:1px solid #365064;border-radius:9px;background:#101d29}.compact-fleet h3{margin-bottom:.25rem;font-size:.8rem}.compact-fleet div{display:flex;flex-wrap:wrap;gap:.2rem .6rem;font-size:.75rem;white-space:nowrap}.own-fleet-panel .opponent-fleet{display:none}.attack-board>.three-d-grid{width:100%;min-height:0;aspect-ratio:1.08 / 1;padding:.25rem;overflow:hidden}.attack-board>.three-d-grid .bucca-grid{width:100%;padding-top:6px}.attack-board>.three-d-grid .bucca-grid-head,.attack-board>.three-d-grid .bucca-grid-row{grid-template-columns:18px repeat(8,minmax(0,1fr));gap:2px;margin-bottom:2px}.attack-board>.three-d-grid .bucca-cell{min-width:0;min-height:0;aspect-ratio:1}.attack-board>.three-d-grid .bucca-column,.attack-board>.three-d-grid .bucca-row-number{min-width:0;min-height:18px;font-size:.55rem}.attack-board>.three-d-grid .bucca-column small{display:none}.mobile-fire-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,34%);align-items:center;gap:.65rem;margin-top:.65rem;padding:.55rem;border:1px solid #77d9ed88;border-radius:12px;background:#0a1d2bd9}.mobile-fire-controls span{min-width:0;font-weight:800;color:#dffaff}.mobile-fire-controls button{min-height:48px}.mobile-fire-controls button.fire-ready{color:#17212a;background:linear-gradient(135deg,#fff18c,#ffb52e);border-color:#fffbd1;animation:bucca-fire-ready .75s ease-in-out infinite alternate}}.game-picker{display:flex;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid #4a355e;background:#171020}.game-picker button.active{background:#7850a0}.alpac-shell{width:min(1080px,100%);margin:0 auto;padding:clamp(.8rem,2.5vw,2rem)}.alpac-lobby{display:grid;gap:1rem;max-width:760px;margin:3rem auto}.alpac-launch{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem}.alpac-launch label{min-width:220px;flex:1}.alpac-launch select{width:100%;min-height:44px;padding:.6rem;color:inherit;background:#151d2a;border:1px solid #6e8495;border-radius:9px}.alpac-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.9rem 0}.alpac-progress article,.alpac-preview,.alpac-controls,.alpac-duel,.alpac-outcome{padding:.8rem;border:1px solid #4c7184;border-radius:12px;background:#172b3b}.alpac-progress h2{margin:0 0 .35rem;font-size:1rem}.alpac-progress p{margin:0}.alpac-preview{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.75rem}.alpac-preview span{padding:.35rem .5rem;border-radius:7px;background:#263b4b;font-size:.82rem}.alpac-preview .active{color:#18231e;background:#aaf3bd;font-weight:800;transform:scale(1.08)}.alpac-board{display:grid;grid-template-columns:repeat(6,minmax(48px,1fr));gap:.35rem;max-width:660px;margin:0 auto .8rem}.alpac-board button{min-height:58px;padding:.25rem;overflow:hidden;font-size:clamp(.57rem,1.4vw,.82rem);text-overflow:ellipsis;white-space:nowrap;background:#263b4b}.alpac-board button.selected{outline:3px solid #ffe489;background:#5e4d26}.alpac-board button.line-selected{outline:3px solid #6bdff1;background:#22505d}.alpac-edges{display:grid;grid-template-columns:repeat(11,minmax(42px,1fr));gap:.35rem;margin-bottom:.8rem}.alpac-edges button{min-height:42px;padding:.2rem;font-size:.72rem}.alpac-edges button.confirmed{color:#102c18;background:#91e8a8}.alpac-edges button.pending{color:#302400;background:#ffe489}.alpac-controls,.alpac-duel{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.75rem}.alpac-outcome{margin:.75rem 0;font-weight:800;border-color:#bda45c}@media(max-width:760px){.game-picker{overflow-x:auto}.alpac-shell{padding:.7rem}.alpac-progress{grid-template-columns:1fr}.alpac-board{grid-template-columns:repeat(6,minmax(0,1fr));gap:.2rem}.alpac-board button{min-width:0;min-height:48px;font-size:.55rem}.alpac-edges{grid-template-columns:repeat(6,minmax(42px,1fr))}.alpac-controls button,.alpac-duel button{flex:1 1 30%;min-height:44px}}.alpac-ai-actions,.alpac-choice-row,.alpac-power-list{display:flex;flex-wrap:wrap;gap:.55rem}.alpac-pending{margin:.75rem 0;padding:.65rem .8rem;border-radius:9px;color:#ffe9af;background:#4b3b17}.alpac-progress dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .75rem;margin:0}.alpac-progress dl div{display:flex;justify-content:space-between;gap:.4rem}.alpac-progress dt{color:#bdb1c8}.alpac-progress dd{margin:0;font-weight:800}.alpac-preview{justify-content:center}.alpac-preview .alpac-tile{min-width:126px;min-height:96px;display:grid;place-items:center;gap:.15rem;padding:.45rem;text-align:center}.alpac-preview .alpac-tile strong{font-size:2rem}.alpac-preview .alpac-tile small{font-weight:800}.alpac-preview .alpac-tile:first-child{outline:3px solid #9df5b6;background:#24533e}.alpac-game-area{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr);gap:1rem;align-items:start}.alpac-board-shell{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:48px auto 48px;gap:.45rem;width:min(100%,700px);margin:0 auto}.alpac-edge-group{display:grid;gap:.35rem}.alpac-edge-group.top,.alpac-edge-group.bottom{grid-column:2;grid-template-columns:repeat(6,minmax(0,1fr))}.alpac-edge-group.top{grid-row:1}.alpac-edge-group.bottom{grid-row:3}.alpac-edge-group.left,.alpac-edge-group.right{grid-row:2;grid-template-rows:repeat(5,minmax(0,1fr))}.alpac-edge-group.left{grid-column:1}.alpac-edge-group.right{grid-column:3}.alpac-edge-group button{min-width:0;min-height:0;padding:.15rem;color:#cceef8;background:#205168}.alpac-edge-group button.selected{color:#16220f;background:#aaf3bd;outline:3px solid #e8ffd6;outline-offset:-2px}.alpac-board{grid-column:2;grid-row:2;width:100%;max-width:none;margin:0;gap:.35rem}.alpac-board .alpac-tile{min-height:clamp(46px,9vw,78px);display:grid;place-items:center;padding:.2rem;color:#eefbff;border:1px solid #4b92a9;background:#173849;font-size:clamp(1rem,3vw,1.8rem)}.alpac-board .alpac-tile:disabled{opacity:1}.alpac-tile.number{background:linear-gradient(145deg,#224f77,#163249)}.alpac-tile.image{background:linear-gradient(145deg,#594071,#302143)}.alpac-tile.special{color:#221c05;background:linear-gradient(145deg,#ffdc78,#bd8528)}.alpac-tile.empty{color:#809aa7;background:#102734}.alpac-board .alpac-tile.selected{outline:4px solid #fff0a4;outline-offset:-4px;background:#69572a}.alpac-board .alpac-tile:not(:disabled):hover{filter:brightness(1.17)}.alpac-controls{display:grid;gap:.7rem;margin:0}.alpac-controls h2,.alpac-controls h3{margin:0}.alpac-power-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.alpac-power-list button.selected,.alpac-choice-row button.selected{color:#15231a;background:#aaf3bd}.alpac-power-config{display:grid;gap:.65rem;padding:.75rem;border-radius:10px;background:#101e2a}.alpac-power-config p{margin:0}.alpac-choice-row{align-items:center}.alpac-duel{display:grid;gap:.75rem}.alpac-duel>div{display:flex;flex-wrap:wrap;gap:.55rem}.alpac-result{margin:1rem 0}.primary{color:#102719;background:#91e8a8}@media(max-width:900px){.alpac-game-area{grid-template-columns:1fr}.alpac-controls{width:min(700px,100%);margin:0 auto}}@media(max-width:520px){.alpac-board-shell{grid-template-columns:35px minmax(0,1fr) 35px;grid-template-rows:35px auto 35px;gap:.2rem}.alpac-edge-group,.alpac-board{gap:.2rem}.alpac-board .alpac-tile{min-height:44px}.alpac-preview .alpac-tile{min-width:calc(50% - .4rem)}.alpac-power-list,.alpac-progress dl{grid-template-columns:1fr}}.mrc-shell{width:min(1280px,100%);margin:0 auto;padding:clamp(.7rem,2vw,1.5rem)}.mrc-shell .match-toolbar{display:flex;align-items:center;gap:1rem}.mrc-shell .match-toolbar>div:first-child{flex:1}.mrc-timer{display:grid;min-width:110px;text-align:center}.mrc-timer strong{font-size:1.8rem;color:#ffe489}.mrc-timer span{font-size:.75rem}.mrc-panel,.mrc-modal,.mrc-events{margin:.8rem auto;max-width:920px}.mrc-actions,.mrc-choice-row,.mrc-role-picker{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.mrc-role-picker{margin:.7rem 0;padding:.7rem;border:1px solid #527084;border-radius:10px}.mrc-alert{margin:.8rem auto;max-width:920px;padding:.8rem;border:2px solid #ffcc6b;border-radius:10px;background:#5b3b17;color:#fff3cf}.mrc-board-wrap{width:min(78vh,760px);max-width:100%;margin:1rem auto}.mrc-board{display:grid;gap:4px;aspect-ratio:1;padding:5px;border:2px solid #527084;border-radius:14px;background:#102734}.mrc-cell{display:grid;place-items:center;min-width:0;min-height:0;border:1px solid #315667;border-radius:7px;background:#173849}.mrc-cell.target{cursor:pointer;background:#1e5362;box-shadow:inset 0 0 0 2px #6bdff1}.mrc-piece{display:grid;place-items:center;width:92%;height:92%;min-width:0;padding:.15rem;border:2px solid #d4b44b;border-radius:50%;background:#745f23;color:#fff8d1}.mrc-piece.own{border-color:#91e8a8;background:#236041}.mrc-piece.opponent{border-color:#b9c7d0;background:#3a4953}.mrc-piece.selected{outline:3px solid #fff0a4;outline-offset:2px}.mrc-piece small{overflow:hidden;max-width:100%;font-size:clamp(.45rem,1vw,.7rem);text-overflow:ellipsis}.mrc-events{max-width:760px}.mrc-events p{margin:.35rem 0;padding:.35rem .5rem;border-left:3px solid #6bdff1;background:#182f3e}.mrc-joker-setup{display:grid;gap:.35rem;margin:.8rem 0;padding:.7rem;border:1px solid #876d35;border-radius:10px;background:#2b2515}@media(max-width:760px){.mrc-shell .match-toolbar{align-items:stretch;flex-wrap:wrap}.mrc-shell .match-toolbar .danger{width:100%}.mrc-timer{margin-left:auto}.mrc-board-wrap{width:min(92vw,620px)}.mrc-piece small{display:none}.mrc-shell{padding:.5rem}}.meg-game{width:100%;max-width:1260px;margin:auto;padding:12px}.meg-toolbar,.meg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.meg-toolbar{justify-content:space-between}.meg-clock{font-size:2rem;font-variant-numeric:tabular-nums}.meg-layout{display:grid;grid-template-columns:minmax(360px,760px) minmax(250px,340px);gap:20px;align-items:start}.meg-board{display:grid;grid-template:repeat(9,1fr) / repeat(9,1fr);aspect-ratio:1;width:100%;gap:3px}.meg-board button{min-width:0;min-height:0;padding:2px;border-radius:5px}.meg-cell{background:#172736;border:1px solid #667e90;display:flex;flex-direction:column;align-items:center;justify-content:center}.meg-board .meg-cell:disabled{opacity:1;cursor:default}.meg-cell span{font-size:clamp(18px,2.8vw,36px)}.meg-cell small{font-size:clamp(10px,1vw,14px);color:#fff}.meg-board .meg-own{background:#174b6c;color:#82d8ff}.meg-board .meg-opponent{background:#5d3422;color:#ffcf96}.meg-dock{font-size:1.3rem}.meg-game button[aria-pressed=true]{outline:3px solid #f3d562;outline-offset:-3px}.meg-board .meg-path{border:2px dashed #b1bfcf}.meg-board .meg-winning{box-shadow:inset 0 0 0 4px #f3d562}.meg-controls .card,.meg-game>.card{margin-block:12px;padding:14px}@media(max-width:850px){.meg-layout{grid-template-columns:1fr}.meg-board{max-width:760px}}@media(max-height:850px)and (min-width:851px){.meg-layout{grid-template-columns:minmax(360px,580px) minmax(250px,340px);justify-content:center}}
