:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#263329;
  font-synthesis:none;
  --ink:#263329;
  --muted:#6d786d;
  --panel:rgba(250,247,229,.88);
  --panel-strong:rgba(255,253,239,.96);
  --panel-dark:rgba(53,65,50,.82);
  --line:rgba(63,75,57,.12);
  --line-strong:rgba(73,87,62,.2);
  --shadow:0 18px 50px rgba(39,58,46,.18);
  --shadow-soft:0 10px 26px rgba(38,57,45,.13);
  --gold:#c89d43;
  --green:#6e9657;
}
*{box-sizing:border-box}
html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#8ccbd7}
body{user-select:none}
button{font:inherit}
#game{display:block;width:100%;height:100%;outline:none}
.panel{
  background:
    linear-gradient(145deg,rgba(255,255,255,.46),rgba(255,255,255,0) 46%),
    linear-gradient(180deg,var(--panel-strong),var(--panel));
  border:1px solid rgba(255,255,255,.66);
  box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.82),inset 0 0 0 1px rgba(87,91,66,.04);
  backdrop-filter:blur(18px) saturate(1.15);
}
.eyebrow{font-size:9px;line-height:1;letter-spacing:.19em;color:#7c8777;font-weight:900;text-transform:uppercase}
.brand-gem{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;
  color:#f8f1d6;font-weight:950;font-size:16px;letter-spacing:-.04em;
  background:linear-gradient(145deg,#42583d,#728659);
  box-shadow:inset 0 1px rgba(255,255,255,.2),0 6px 16px rgba(54,76,54,.25);
  border:1px solid rgba(38,58,39,.18)
}
.topbar{
  position:fixed;left:18px;right:18px;top:16px;min-height:72px;border-radius:20px;
  display:flex;align-items:center;justify-content:space-between;padding:11px 13px 11px 14px;pointer-events:none
}
.brand-lockup,.loading-brand{display:flex;align-items:center;gap:11px;min-width:0}
h1{font-size:21px;line-height:1;letter-spacing:.13em;margin:5px 0 0;color:#2f402e;text-shadow:0 1px rgba(255,255,255,.7)}
.resource-row{display:flex;gap:6px;flex-wrap:nowrap}
.resource-chip{
  min-width:88px;height:48px;padding:7px 11px 7px 8px;border-radius:14px;
  background:linear-gradient(180deg,rgba(75,95,65,.075),rgba(75,95,65,.035));
  border:1px solid rgba(77,92,68,.07);
  display:flex;align-items:center;gap:8px
}
.resource-icon{
  width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  color:#687d59;background:rgba(116,142,96,.1)
}
.resource-icon svg{width:15px;height:15px;stroke-width:1.8}
.resource-chip>span:last-child{display:flex;min-width:0;flex-direction:column;align-items:flex-end;margin-left:auto}
.resource-chip.material{min-width:105px}
.resource-chip.material.wood .resource-icon{color:#8a613d;background:rgba(155,105,62,.11)}
.resource-chip.material.stone .resource-icon{color:#68716e;background:rgba(104,113,110,.11)}
.resource-chip.compact{min-width:76px}
.resource-chip small{font-size:8px;letter-spacing:.12em;color:#879184;font-weight:800}
.resource-chip strong{font-size:16px;line-height:1.1;color:#334530;font-variant-numeric:tabular-nums}

.objective{
  position:fixed;left:18px;top:104px;width:280px;border-radius:20px;padding:14px
}
.panel-heading{display:flex;align-items:center;gap:9px}
.section-icon{
  width:29px;height:29px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;
  background:rgba(105,132,85,.09);color:#698259
}
.section-icon svg{width:14px;height:14px;stroke-width:1.9}
.objective h2,.tile-info h2{font-size:14px;line-height:1.25;margin:3px 0 0;color:#314230}
.objective>p,.tile-info>p{font-size:10.5px;line-height:1.5;color:#6c7769;margin:11px 1px 0}
.objective-meter{margin-top:13px;padding:10px;border-radius:12px;background:rgba(90,112,75,.055);border:1px solid rgba(80,99,69,.06)}
.objective-meter-head{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#788474;margin-bottom:7px}
.objective-meter-head b{font-size:9px;color:#4e6246;font-variant-numeric:tabular-nums}
.objective-track{height:5px;border-radius:99px;background:rgba(80,98,69,.1);overflow:hidden}
.objective-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7ea45f,#d2aa4f);transition:width .35s cubic-bezier(.2,.8,.2,1)}
.field-status{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
.field-chip{
  min-height:35px;padding:7px 8px;border-radius:11px;background:rgba(75,98,65,.05);
  border:1px solid rgba(76,94,66,.055);font-size:9px;color:#6f7b6c;display:flex;align-items:center;gap:7px
}
.field-chip>div{min-width:0;flex:1}
.field-chip>div>span{display:block;margin-bottom:4px}
.field-chip i{display:block;height:3px;border-radius:9px;background:rgba(75,99,65,.09);overflow:hidden}
.field-chip i em{display:block;height:100%;border-radius:9px;background:#8eaa66;transition:width .3s ease}
.field-chip b{color:#45583f;font-size:9px;font-variant-numeric:tabular-nums}
.field-chip.ready{background:rgba(212,170,77,.12);border-color:rgba(185,140,45,.13)}
.field-chip.ready i em{background:#d0a344}

.hand-wrap{
  position:fixed;left:50%;bottom:14px;transform:translateX(-50%);
  width:min(920px,calc(100% - 250px));pointer-events:none
}
.hand-meta{
  width:min(720px,calc(100% - 30px));margin:0 auto 9px;padding:7px 9px 7px 11px;border-radius:14px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:9px;color:#738070
}
.hand-label{display:flex;align-items:center;gap:7px}
.hand-label>.section-icon{width:24px;height:24px;border-radius:8px;font-size:11px}
.hand-label>b{font-size:9px;letter-spacing:.13em;color:#40513d}
.hand-count{padding-left:6px;color:#7c8777;border-left:1px solid rgba(80,98,69,.12)}
.hand-count b{color:#40513d}
#selection-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hand{
  min-width:0;display:flex;justify-content:center;align-items:flex-end;gap:10px;min-height:242px;
  pointer-events:none;padding:0 4px 2px
}
.reserve-zone{
  position:fixed;right:34px;bottom:22px;width:168px;height:238px;z-index:18;
  pointer-events:none;display:flex;align-items:flex-end;justify-content:center
}
.reserve-zone::before{
  content:"";position:absolute;left:16px;right:10px;bottom:2px;height:34px;border-radius:50%;
  background:rgba(29,48,38,.24);filter:blur(14px);transform:scaleX(1.08);opacity:.72
}
.reserve-meta{
  position:absolute;right:4px;top:4px;z-index:80;min-width:72px;height:27px;padding:0 8px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;gap:6px;
  background:rgba(252,248,228,.92);border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 20px rgba(37,55,43,.13),inset 0 1px rgba(255,255,255,.85);
  color:#74806f;font-size:7px;font-weight:900;letter-spacing:.11em;backdrop-filter:blur(10px)
}
.reserve-meta b{
  min-width:18px;height:18px;padding:0 5px;border-radius:7px;display:grid;place-items:center;
  background:rgba(82,105,70,.11);color:#40523c;font-size:9px;letter-spacing:0;font-variant-numeric:tabular-nums
}
.reserve-stack{
  position:relative;width:152px;height:214px;transform-origin:50% 100%;
  filter:drop-shadow(0 18px 24px rgba(22,31,25,.26));
  animation:reserve-idle 5.5s ease-in-out infinite
}
.reserve-stack.gain{animation:reserve-gain .46s cubic-bezier(.2,.9,.2,1),reserve-idle 5.5s .46s ease-in-out infinite}
.reserve-card{
  position:absolute;left:calc(10px + var(--stack-x,0)*1px);bottom:calc(7px + var(--stack-y,0)*1px);
  z-index:var(--stack-index,1);width:124px;height:174px;border-radius:17px;
  background:url("./assets/cards/corepolis-card-back.webp") center/cover no-repeat;
  border:1px solid rgba(244,217,142,.54);
  box-shadow:0 12px 24px rgba(25,34,28,.3),0 2px 4px rgba(18,26,20,.24),inset 0 0 0 1px rgba(255,255,255,.09);
  transform:rotate(var(--stack-tilt,0deg));transform-origin:50% 100%
}
.reserve-card::after{
  content:"";position:absolute;inset:4px;border-radius:13px;
  border:1px solid rgba(255,235,178,.18);box-shadow:inset 0 0 12px rgba(255,215,115,.05);pointer-events:none
}
.reserve-fly-card{
  position:fixed;z-index:9998;pointer-events:none;border-radius:17px;
  background:url("./assets/cards/corepolis-card-back.webp") center/cover no-repeat;
  border:1px solid rgba(244,217,142,.58);
  box-shadow:0 20px 36px rgba(23,35,28,.34),0 0 0 1px rgba(255,255,255,.1) inset;
  will-change:transform,opacity
}
.card{
  --tone:rgba(98,139,78,.28);
  width:172px;min-width:154px;height:232px;border:0;border-radius:21px;padding:0;text-align:left;
  color:#f7f2e8;background:#202620;
  box-shadow:0 15px 30px rgba(25,34,28,.28),inset 0 0 0 1px rgba(255,255,255,.07);
  cursor:pointer;pointer-events:auto;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,filter .18s ease,opacity .18s ease;
  position:relative;overflow:hidden
}
.card.deal-in{
  animation:card-deal .34s cubic-bezier(.2,.8,.2,1) both;
  animation-delay:calc(var(--deal-index,0)*32ms)
}
.card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;z-index:5;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 1px rgba(255,255,255,.12)
}
.card-preview{
  position:absolute;inset:0 0 auto 0;height:156px;z-index:0;overflow:hidden;
  background:linear-gradient(145deg,#3a493a,#202820);
  background-size:cover;background-position:center 45%;
  transform:scale(1.025);transition:transform .22s ease,filter .22s ease
}
.card-preview::after{
  content:"";position:absolute;left:-5%;right:-5%;bottom:-9px;height:72px;
  background-image:inherit;background-size:cover;background-position:center 45%;
  filter:blur(7px);transform:scale(1.08);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.72) 52%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.72) 52%,#000 100%);
  opacity:.82;pointer-events:none
}
.card-preview.placeholder{display:grid;place-items:center;background:
  radial-gradient(circle at 50% 38%,var(--tone),transparent 38%),
  linear-gradient(145deg,#354237,#1e2520)}
.card-preview.placeholder svg{width:42px;height:42px;color:rgba(245,240,218,.76);stroke-width:1.35}
.card-shade{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(18,23,20,.08) 0%,rgba(18,23,20,.03) 34%,rgba(28,34,29,.58) 58%,#202620 73%,#202620 100%),
    radial-gradient(circle at 50% 16%,transparent 0%,rgba(15,19,16,.16) 72%)
}
.card-top{
  position:absolute;left:9px;right:9px;top:9px;z-index:3;
  display:flex;justify-content:space-between;align-items:flex-start;gap:6px
}
.card-kind{
  display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border-radius:999px;
  font-size:6.7px;letter-spacing:.11em;font-weight:900;color:rgba(244,241,224,.86);
  background:rgba(25,31,27,.6);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(8px)
}
.card-cost{display:flex;gap:4px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.cost-chip,.cost-free{
  min-height:22px;padding:0 6px;border-radius:8px;display:inline-flex;align-items:center;gap:3px;
  color:#f6f1dd;background:rgba(24,30,26,.7);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px);font-size:8px;font-weight:900;font-variant-numeric:tabular-nums
}
.cost-chip svg{width:11px;height:11px;stroke-width:2}
.cost-chip.wood svg{color:#d2a06e}.cost-chip.stone svg{color:#c8ceca}
.cost-free{font-size:6.5px;letter-spacing:.09em;color:rgba(242,239,220,.8)}
.card-symbol{
  position:absolute;right:10px;top:40px;z-index:3;width:29px;height:29px;border-radius:9px;
  display:grid;place-items:center;color:rgba(247,242,224,.87);background:rgba(27,33,29,.48);
  border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(7px)
}
.card-symbol svg{width:15px;height:15px;stroke-width:1.7}
.card-body{position:absolute;left:12px;right:12px;bottom:12px;z-index:3}
.card-body b{display:block;font-size:14px;line-height:1.08;color:#fbf7e9;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.card-body p{
  min-height:31px;font-size:8.8px;line-height:1.42;color:rgba(232,232,218,.7);margin:6px 0 8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.card-action{
  display:flex;align-items:center;gap:4px;font-size:6.7px;letter-spacing:.12em;font-weight:900;color:rgba(216,224,205,.64)
}
.card-action svg{width:10px;height:10px}
.card:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 22px 40px rgba(24,33,27,.36),inset 0 0 0 1px rgba(255,255,255,.09)}
.card:hover .card-preview{transform:scale(1.07)}
.card.active{
  transform:translateY(-15px) scale(1.025);
  box-shadow:0 23px 46px rgba(25,34,28,.38),0 0 0 2px rgba(225,190,102,.9),0 0 0 5px rgba(225,190,102,.13)
}
.card.active .card-action{color:#e2c77d}
.card.unaffordable{filter:saturate(.45) brightness(.67);opacity:.72;cursor:not-allowed}
.card.unaffordable::after{
  content:"НЕ ХВАТАЕТ РЕСУРСОВ";position:absolute;left:10px;right:10px;top:105px;z-index:4;
  padding:5px 6px;border-radius:7px;text-align:center;font-size:6px;letter-spacing:.08em;font-weight:900;
  color:#f5d7cf;background:rgba(93,48,40,.78);border:1px solid rgba(255,211,199,.13)
}
.card.gold{--tone:rgba(222,165,55,.35)}
.card.green{--tone:rgba(87,145,79,.32)}
.card.stone{--tone:rgba(105,113,108,.32)}
.card.red{--tone:rgba(178,90,69,.3)}
.card.blue{--tone:rgba(75,126,164,.3)}

.tile-info{position:fixed;right:18px;top:104px;width:232px;border-radius:20px;padding:14px;pointer-events:none}
.toast{
  position:fixed;left:50%;top:104px;transform:translateX(-50%);padding:10px 14px;border-radius:13px;
  font-size:10px;font-weight:700;color:#4d5948;z-index:20;transition:opacity .2s ease;
  animation:toast-pop .24s cubic-bezier(.2,.9,.25,1.2)
}
.hidden{display:none!important}

.loading-screen{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(205,233,190,.72) 0,transparent 34%),
    linear-gradient(145deg,#87c7c5,#77b5c3 58%,#619aae);
  transition:opacity .58s ease,visibility .58s ease;
  overflow:hidden
}
.loading-screen::before,
.loading-screen::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:.16;filter:blur(1px);
  background:rgba(255,255,255,.42)
}
.loading-screen::before{width:240px;height:240px;left:-90px;bottom:-110px}
.loading-screen::after{width:170px;height:170px;right:-55px;top:-70px}
.loading-screen.done{opacity:0;visibility:hidden;pointer-events:none}
.loading-card{
  position:relative;z-index:1;width:min(520px,calc(100% - 40px));padding:23px 24px;border-radius:22px;
  background:
    radial-gradient(circle at 18% 8%,rgba(126,160,116,.18),transparent 34%),
    linear-gradient(155deg,rgba(31,43,37,.98),rgba(18,27,24,.97));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 34px 88px rgba(22,42,38,.34),inset 0 1px rgba(255,255,255,.08),inset 0 0 0 1px rgba(0,0,0,.12)
}
.loading-card .eyebrow{color:rgba(228,234,218,.58)}
.loading-brand{display:flex;align-items:center;gap:13px}
.loading-card .brand-gem{width:42px;height:42px;flex:0 0 auto}
.loading-gem{animation:loading-gem-breathe 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(0,0,0,.24))}
.loading-copy{min-width:0;flex:1}
.loading-phrase-window{
  position:relative;height:30px;margin-top:3px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%)
}
.loading-phrase{
  position:absolute;inset:0;display:flex;align-items:center;
  color:#fff8df;font-size:18px;line-height:1.15;font-weight:800;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  will-change:transform,opacity,filter
}
.loading-phrase-current{transform:translateY(0);opacity:1;filter:blur(0)}
.loading-phrase-next{transform:translateY(24px);opacity:0;filter:blur(5px)}
.loading-phrase-window.shifting .loading-phrase-current{
  animation:loading-phrase-out .42s cubic-bezier(.2,.78,.2,1) forwards
}
.loading-phrase-window.shifting .loading-phrase-next{
  animation:loading-phrase-in .42s cubic-bezier(.2,.78,.2,1) forwards
}
.loading-detail{
  min-height:15px;margin:17px 0 10px;color:rgba(222,231,216,.66);font-size:10px;
  transition:opacity .18s ease
}
.loading-track{
  position:relative;height:7px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.05);border-radius:99px;overflow:hidden;padding:1px
}
.loading-track i{
  position:relative;display:block;width:0;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#83b76e,#e0bc64);box-shadow:0 0 14px rgba(205,177,91,.16);transition:width .28s cubic-bezier(.2,.8,.2,1)
}
.loading-track i::after{
  content:"";position:absolute;top:0;bottom:0;width:42px;right:-8px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);
  transform:skewX(-18deg);animation:loading-progress-glint 1.65s ease-in-out infinite
}
.loading-foot{
  display:flex;justify-content:space-between;margin-top:8px;
  font-size:7px;letter-spacing:.12em;color:rgba(214,224,208,.48)
}
.loading-foot b{color:#f0d88b;font-variant-numeric:tabular-nums}
.loading-card.ready{
  animation:loading-card-ready .46s cubic-bezier(.2,.8,.2,1) both
}

@keyframes loading-phrase-out{
  from{transform:translateY(0);opacity:1;filter:blur(0)}
  to{transform:translateY(-22px);opacity:0;filter:blur(5px)}
}
@keyframes loading-phrase-in{
  from{transform:translateY(24px);opacity:0;filter:blur(5px)}
  to{transform:translateY(0);opacity:1;filter:blur(0)}
}
@keyframes loading-gem-breathe{
  0%,100%{transform:translateY(0);box-shadow:0 7px 13px rgba(36,54,39,.2),inset 0 1px rgba(255,255,255,.3)}
  50%{transform:translateY(-2px);box-shadow:0 11px 18px rgba(36,54,39,.24),inset 0 1px rgba(255,255,255,.3)}
}
@keyframes loading-progress-glint{
  0%,35%{opacity:0;transform:translateX(-44px) skewX(-18deg)}
  55%{opacity:.8}
  100%{opacity:0;transform:translateX(18px) skewX(-18deg)}
}
@keyframes loading-card-ready{
  0%{transform:translateY(0) scale(1)}
  52%{transform:translateY(-4px) scale(1.008)}
  100%{transform:translateY(0) scale(1)}
}
.marine-choice{
  position:fixed;inset:0;z-index:8500;display:grid;place-items:center;padding:24px;
  background:rgba(31,65,70,.36);backdrop-filter:blur(8px);
  animation:marine-choice-in .24s ease both
}
.marine-choice-card{
  width:min(720px,100%);padding:26px;border-radius:24px;
  background:linear-gradient(155deg,rgba(255,253,238,.985),rgba(234,235,212,.97));
  box-shadow:0 34px 90px rgba(32,61,63,.34),inset 0 1px rgba(255,255,255,.9)
}
.marine-choice-card h2{margin:5px 0 6px;font-size:27px;color:#30483e}
.marine-choice-card>p{margin:0 0 20px;color:#718070;font-size:12px;line-height:1.55}
.marine-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.marine-choice-grid button{
  appearance:none;border:1px solid rgba(79,100,77,.14);border-radius:18px;padding:18px;
  text-align:left;cursor:pointer;color:#354a3d;
  background:linear-gradient(145deg,rgba(255,255,248,.9),rgba(224,232,206,.86));
  box-shadow:0 9px 20px rgba(52,74,61,.09);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.marine-choice-grid button:hover{
  transform:translateY(-3px);border-color:rgba(99,139,91,.42);
  box-shadow:0 14px 28px rgba(52,74,61,.14)
}
.marine-choice-grid strong{display:block;margin:10px 0 7px;font-size:17px}
.marine-choice-grid small{display:block;min-height:42px;color:#68766a;font-size:10px;line-height:1.5}
.marine-choice-grid em{
  display:block;margin-top:13px;font-style:normal;font-size:8px;font-weight:900;letter-spacing:.12em;color:#9b7b3c
}
.marine-choice-icon{
  display:grid;place-items:center;width:38px;height:38px;border-radius:12px;
  color:#f8f3da;background:#557360;box-shadow:0 7px 15px rgba(54,80,64,.18)
}
.marine-choice-icon svg{width:19px;height:19px}
.marine-choice-note{
  display:flex;align-items:center;gap:7px;margin-top:14px;color:#738071;font-size:9px
}
.marine-choice-note svg{width:14px;height:14px}
@keyframes marine-choice-in{
  from{opacity:0}
  to{opacity:1}
}
@media(max-width:900px){
  .objective{width:232px}.tile-info{display:none}.resource-chip{min-width:64px}.resource-chip.material{min-width:82px}.resource-chip.compact{display:none}.resource-icon{display:none}
  .hand{justify-content:flex-start;overflow-x:auto;padding:10px 2px 3px}.card{flex:0 0 158px;height:220px}
  .hand-wrap{left:10px;transform:none;width:calc(100% - 132px);bottom:7px}
  .reserve-zone{right:8px;bottom:8px;width:118px;height:190px}.reserve-stack{width:110px;height:175px}.reserve-card{width:88px;height:124px;border-radius:12px}.reserve-meta{top:0;right:0}
}
@media(max-width:620px){
  .marine-choice{padding:12px}.marine-choice-card{padding:18px;border-radius:19px}.marine-choice-card h2{font-size:22px}.marine-choice-grid{grid-template-columns:1fr}.marine-choice-grid small{min-height:0}
  .topbar{align-items:center}.brand-gem{width:32px;height:32px;border-radius:10px}h1{font-size:16px}
  .resource-row{gap:3px}.resource-chip{padding:5px 6px;min-width:48px;height:40px}.resource-chip.material{min-width:64px}.resource-chip small{font-size:6px}.resource-chip strong{font-size:12px}
  .objective{top:87px;width:205px;padding:11px}.objective>p{display:none}.objective-meter{margin-top:9px}
  .field-status{grid-template-columns:1fr}.hand-wrap{left:5px;width:calc(100% - 96px)}.hand-meta{width:calc(100% - 10px)}
  .reserve-zone{right:4px;width:86px;height:154px}.reserve-stack{width:82px;height:142px}.reserve-card{left:calc(5px + var(--stack-x,0)*1px);width:68px;height:96px;border-radius:10px}.reserve-meta{transform:scale(.88);transform-origin:100% 0}
  .loading-card{width:calc(100% - 22px);padding:20px 18px;border-radius:19px}
  .loading-phrase{font-size:16px}.loading-phrase-window{height:28px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

@keyframes reserve-idle{
  0%,100%{transform:translateY(0) rotate(-.25deg)}
  50%{transform:translateY(-3px) rotate(.25deg)}
}
@keyframes reserve-gain{
  0%{transform:translateY(0) scale(1)}
  45%{transform:translateY(-10px) scale(1.055)}
  100%{transform:translateY(0) scale(1)}
}
@keyframes card-deal{
  from{opacity:0;transform:translateY(18px) scale(.94) rotate(-1.4deg)}
  to{opacity:1;transform:translateY(0) scale(1) rotate(0)}
}
@keyframes toast-pop{
  from{opacity:0;transform:translate(-50%,-8px) scale(.94)}
  to{opacity:1;transform:translate(-50%,0) scale(1)}
}
