/* Gilded Ramparts: navy base, bright gold, jewel accents. No white backgrounds. Shared shell generated by gen/strategy/build.py. */
.gr-h1{margin:.2rem 0 .5rem;font-family:"Playfair Display",Georgia,serif;color:#FFD54F}
.gr-stage{position:relative;width:100%;height:clamp(560px,min(170vw,88vh),940px);height:clamp(560px,min(170vw,88dvh),940px);border-radius:18px;overflow:hidden;background:#071634;
  border:3px solid #E8B422;box-shadow:0 0 0 1px #6B4E00,0 14px 40px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,233,168,.35);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate;color:#F7E7C1}
@media (min-width:900px){.gr-stage{height:max(580px,min(calc(100vh - 120px),860px));height:max(580px,min(calc(100dvh - 120px),860px))}}
@media (orientation:landscape) and (max-height:540px){.gr-stage{height:calc(100vh - 16px);height:calc(100dvh - 16px);min-height:300px}}
.gr-view{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.gr-view:focus-visible{box-shadow:inset 0 0 0 3px #FFE9A8}
.gr-view canvas{display:block;width:100%;height:100%}
.gr-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.gr-hud{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:6px 8px;padding-top:max(6px,env(safe-area-inset-top));pointer-events:none;flex-wrap:nowrap;
  background:linear-gradient(180deg,rgba(3,10,28,.85),rgba(3,10,28,.35) 80%,rgba(3,10,28,0))}
.gr-stage[data-mode="title"] .gr-hud>.gr-pill,.gr-stage[data-mode="how"] .gr-hud>.gr-pill,.gr-stage[data-mode="levels"] .gr-hud>.gr-pill,.gr-stage[data-mode="title"] .gr-tray,.gr-stage[data-mode="how"] .gr-tray,.gr-stage[data-mode="levels"] .gr-tray{visibility:hidden}
.gr-pill{pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;min-height:48px;padding:2px 9px;border-radius:14px;line-height:1.05;
  background:linear-gradient(180deg,rgba(20,40,86,.92),rgba(8,20,50,.92));border:1.5px solid rgba(232,180,34,.85);box-shadow:inset 0 1px 0 rgba(255,233,168,.35)}
.gr-pill small{font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:#E9D8A6;white-space:nowrap}
.gr-pill b{font-size:1.25rem;color:#FFE08A;font-variant-numeric:tabular-nums;white-space:nowrap}
.gr-corner{margin-left:auto;display:flex;gap:6px;pointer-events:auto}
.gr-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;cursor:pointer;background:rgba(11,37,69,.8);border:1.5px solid rgba(232,180,34,.85);color:#FFD54F;padding:0}
.gr-ico:hover,.gr-ico:focus-visible{background:#13294b;outline:2px solid #FFE9A8;outline-offset:1px}
.gr-bars{width:20px;height:16px;display:block;background:linear-gradient(#FFD54F,#FFD54F) 0 0/100% 3px,linear-gradient(#FFD54F,#FFD54F) 0 50%/100% 3px,linear-gradient(#FFD54F,#FFD54F) 0 100%/100% 3px;background-repeat:no-repeat}
.gr-sndi{width:22px;height:22px;display:block;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z' fill='%23FFD54F'/%3E%3Cpath d='M16 8.5a5 5 0 0 1 0 7M18.5 6a8.5 8.5 0 0 1 0 12' fill='none' stroke='%23FFD54F' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.gr-ico.off .gr-sndi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z' fill='%23FFD54F'/%3E%3Cpath d='M16 9l5 6M21 9l-5 6' fill='none' stroke='%23FF8FA3' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}
.gr-fsi{width:18px;height:18px;display:block;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5' fill='none' stroke='%23FFD54F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.gr-fsb.on .gr-fsi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4v5H4M20 9h-5V4M15 20v-5h5M4 15h5v5' fill='none' stroke='%23FFD54F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.gr-sheet{position:absolute;z-index:5;color:#F7E7C1}
.gr-sheet[hidden]{display:none!important}
.gr-card{left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,480px);max-height:calc(100% - 70px);margin-top:28px;overflow:auto;padding:1rem 1.1rem 1.2rem;border-radius:22px;text-align:center;
  background:radial-gradient(ellipse at 50% 0,rgba(44,72,150,.97),rgba(11,31,72,.97) 55%,rgba(6,18,46,.98));border:2px solid #E8B422;box-shadow:0 0 0 5px rgba(8,20,50,.6),0 0 0 6px rgba(232,180,34,.45),0 20px 50px rgba(0,0,0,.6);animation:gr-in .4s cubic-bezier(.2,1.3,.5,1)}
@keyframes gr-in{from{opacity:0;transform:translate(-50%,-45%) scale(.9)}}
.g-overlay.gr-card{display:block;inset:auto;left:50%;top:50%}
.gr-kick{margin:0;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#9AE6D8}
.gr-logo{margin:.1rem 0 .3rem;font:900 clamp(2rem,9vw,3rem)/1 "Playfair Display",Georgia,serif;background:linear-gradient(180deg,#FFF8DC,#FFD54F 55%,#C99700);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(3,10,28,.8))}
.gr-logo span{background:linear-gradient(90deg,var(--xa1),var(--xa2));-webkit-background-clip:text;background-clip:text}
.gr-tag{margin:.2rem 0 .7rem;color:#E9D8A6;font-size:1.05rem}
.gr-modes{display:grid;gap:.5rem;margin:.4rem 0 .7rem}
.gr-mode{display:flex;justify-content:space-between;align-items:center;gap:.6rem;min-height:58px;padding:.5rem 1rem;border-radius:16px;cursor:pointer;font:inherit;color:#FFF3C4;text-align:left;
  background:linear-gradient(180deg,rgba(20,50,110,.95),rgba(8,22,56,.95));border:2px solid rgba(232,180,34,.8);box-shadow:inset 0 1px 0 rgba(255,233,168,.35),0 4px 12px rgba(0,0,0,.35)}
.gr-mode b{font-size:1.12rem}.gr-mode small{color:#9AE6D8;font-size:.9rem;text-align:right}
.gr-mode:hover,.gr-mode:focus-visible{border-color:#FFE9A8;background:linear-gradient(180deg,#1C4A9C,#0B2460);outline:2px solid #FFE9A8;outline-offset:2px}
.gr-mode[disabled]{opacity:.45;cursor:not-allowed}
.gr-title{margin:.15rem 0 .6rem;font:800 1.8rem/1.1 "Playfair Display",Georgia,serif;background:linear-gradient(180deg,#FFF8DC,#FFD54F 55%,#C99700);-webkit-background-clip:text;background-clip:text;color:transparent}
.gr-steps{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;text-align:left}
.gr-steps li{display:flex;gap:.7rem;align-items:center;padding:.45rem .7rem;border-radius:12px;background:rgba(3,10,28,.45);border:1px solid rgba(232,180,34,.35);font-size:1.02rem}
.gr-si{font-size:1.5rem;flex:0 0 auto}
.gr-ebtns{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.8rem}
.gr-stage .btn{min-height:48px;min-width:48px}
.gr-note{color:#CFE8FF;margin:.3rem 0}
.gr-escore{font-size:1.6rem;font-weight:800;color:#FFE08A;margin:.1rem 0}
.gr-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.gr-mgrid #g-resume{grid-column:1/-1}
.gr-toggle{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;margin:.2rem auto;padding:.3rem .9rem;border-radius:14px;cursor:pointer;font:inherit;font-weight:700;color:#FFE9A8;background:rgba(3,10,28,.55);border:1.5px solid rgba(232,180,34,.6)}
.gr-toggle i{width:40px;height:24px;border-radius:12px;background:#24365E;position:relative;flex:0 0 auto;border:1px solid rgba(232,180,34,.6)}
.gr-toggle i::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#8FA3C8;transition:left .2s}
.gr-toggle[aria-pressed="true"] i{background:#1B7F5A}.gr-toggle[aria-pressed="true"] i::after{left:18px;background:#FFD54F}
.gr-lgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}
.gr-lv{min-height:50px;border-radius:12px;font:800 1.05rem/1 system-ui,sans-serif;color:#0B1F48;cursor:pointer;border:2px solid #FFE9A8;background:radial-gradient(circle at 35% 30%,#FFF3B0,#E8B422 60%,#8A6100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.gr-lv small{font-size:.62rem;letter-spacing:.05em;color:#3A2A00}
.gr-lv.locked{color:#8FA3C8;background:rgba(3,10,28,.6);border-color:rgba(143,163,200,.4);cursor:not-allowed}
.gr-lv.locked small{color:#8FA3C8}
.gr-lv:not(.locked):hover,.gr-lv:focus-visible{outline:3px solid #FFF8DC;outline-offset:2px}
.gr-realm{margin:.6rem 0 .3rem;text-align:left;font-weight:800;color:#FFE08A;letter-spacing:.04em}
.gr-bar{margin-top:.7rem}
.gr-toast{position:absolute;left:50%;top:64px;transform:translateX(-50%);z-index:4;max-width:min(92%,520px);padding:.5rem 1rem;border-radius:14px;background:rgba(6,18,46,.92);border:1.5px solid #E8B422;color:#FFF3C4;font-weight:700;text-align:center;pointer-events:none;transition:opacity .3s}
.gr-toast[hidden]{display:block!important;opacity:0}
@media (max-width:420px){.gr-pill{min-width:44px;padding:2px 5px}.gr-pill b{font-size:1.05rem}.gr-pill small{font-size:.58rem}.gr-ico{width:44px;height:44px}.gr-corner{gap:4px}.gr-hud{gap:4px;padding:5px}.gr-lgrid{grid-template-columns:repeat(5,1fr)}}
@media (orientation:landscape) and (max-height:540px){.gr-card{width:min(94%,640px);padding:.6rem 1rem .8rem}.gr-modes{grid-template-columns:1fr 1fr}.gr-tag{display:none}.gr-logo{font-size:2rem}.gr-steps{grid-template-columns:1fr 1fr}.gr-lgrid{grid-template-columns:repeat(9,1fr)}}
.gr-stage.gr-full{border-radius:0;border:0;height:100%;width:100%}
html.gr-fs-on .gr-stage{position:fixed;inset:0;z-index:9999;height:100vh;height:100dvh;width:100vw;border-radius:0;border:0;margin:0}
html.gr-fs-on,html.gr-fs-on body{overflow:hidden;height:100%}
html.gr-fs-on header.site,html.gr-fs-on footer.site,html.gr-fs-on .btt,html.gr-fs-on .skip,html.gr-fs-on [class*="vip-chat"]{display:none!important}
@media (prefers-reduced-motion:reduce){.gr-card{animation:none}}
.gr-stage>#g-snd{display:none!important}

/* ---- Gilded Ramparts specifics ---- */
.gr-stage{--xa1:#FF4D6D;--xa2:#B57BFF;background:radial-gradient(ellipse at 50% 30%,#163a6e,#071634 70%)}
.gr-gemp b::before,.gr-cost::before,.gr-gemi{content:"";display:inline-block;width:.62em;height:.62em;margin-right:.28em;vertical-align:.06em;transform:rotate(45deg);background:linear-gradient(135deg,#9AF7FF,#46E0C8 50%,#1B7F8F);border:1px solid #E6FFFF;border-radius:2px}
.gr-lifep b::before{content:"\2665";color:#FF6B8A;margin-right:.2em;font-size:.9em}
.gr-tray{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;gap:6px;align-items:stretch;padding:6px;padding-bottom:max(6px,env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(3,10,28,.92),rgba(3,10,28,.7) 75%,rgba(3,10,28,0))}
.gr-towers{display:flex;gap:5px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.gr-towers::-webkit-scrollbar{display:none}
.gr-tw{flex:1 0 60px;max-width:96px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;border-radius:14px;cursor:pointer;font:inherit;color:#FFF3C4;
  background:linear-gradient(180deg,rgba(20,44,96,.95),rgba(8,20,50,.95));border:2px solid rgba(232,180,34,.55)}
.gr-tw[aria-pressed="true"]{border-color:#FFE9A8;box-shadow:0 0 0 2px #FFD54F,0 0 18px rgba(255,213,79,.55);background:linear-gradient(180deg,#24539f,#0e2a66)}
.gr-tw.poor .gr-cost{color:#FF8FA3}
.gr-tw[disabled]{opacity:.5;cursor:not-allowed}
.gr-tw small{font-size:.68rem;line-height:1.05;text-align:center;color:#E9D8A6}
.gr-cost{font-weight:800;font-size:.86rem;color:#FFE08A;white-space:nowrap}
.gr-tw{min-width:0}
.gr-twrap{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}
.gr-cats{display:flex;gap:4px}
.gr-cat{flex:1 1 0;min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:4px;padding:2px 4px;border-radius:11px;cursor:pointer;font:800 .78rem/1 system-ui,sans-serif;color:#E9D8A6;background:rgba(3,10,28,.7);border:1.5px solid rgba(232,180,34,.4);white-space:nowrap;overflow:hidden}
.gr-cat[aria-selected="true"]{color:#1A1200;background:linear-gradient(180deg,#FFF3B0,#FFD54F 55%,#E8B422);border-color:#FFF8DC}
.gr-cat .gr-cs{display:none}
.gr-cat.locked{opacity:.5}
.gr-cat:focus-visible{outline:3px solid #FFF8DC;outline-offset:1px}
.gr-ci{width:12px;height:12px;flex:0 0 auto;transform:rotate(45deg);border-radius:2px;border:1px solid #FFF8DC}
.gr-ci.guns{background:#FFC72C}.gr-ci.boom{background:#FF4D6D}.gr-ci.energy{background:#B57BFF}.gr-ci.support{background:#46E0C8}.gr-ci.traps{background:#FF8A3D}
.gr-ic{width:44px;height:44px;margin:-2px 0}
.gr-tw.locked{opacity:.45}.gr-tw.locked .gr-ic{filter:grayscale(1) brightness(.7)}
.gr-tw{flex:1 1 0;max-width:110px}
.gr-combo{text-transform:none!important;letter-spacing:0!important;font-size:.84rem!important;color:#FFB070!important;font-weight:700}
.gr-wide{width:min(760px,calc(100% - 16px))!important;max-height:calc(100% - 16px);overflow:auto}
.gr-tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:.3rem 0 .5rem}
.gr-tier{min-height:52px;border-radius:12px;cursor:pointer;font:inherit;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#0b1020;border:2px solid rgba(255,255,255,.5)}
.gr-tier b{font-size:.9rem}.gr-tier small{font-size:.66rem;font-weight:700;line-height:1.1}
.gr-tier[aria-pressed="true"]{box-shadow:0 0 0 3px #FFF8DC,0 0 16px rgba(255,233,168,.7)}
.gr-tier.t0{background:linear-gradient(180deg,#E8A866,#CD7F32 60%,#8A4F1A)}.gr-tier.t1{background:linear-gradient(180deg,#FFFFFF,#D8DEE9 60%,#8F98A8)}.gr-tier.t2{background:linear-gradient(180deg,#FFF3B0,#FFD54F 60%,#B88A00)}
.gr-tier.t3{background:linear-gradient(180deg,#F4FFFF,#BFEFFF 60%,#6FA8C0)}.gr-tier.t4{background:linear-gradient(180deg,#5A3A8A,#1A1030 70%);color:#E6CCFF}
.gr-clist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
.gr-cx{display:flex;gap:8px;align-items:center;padding:6px;border-radius:14px;background:rgba(3,10,28,.55);border:1.5px solid rgba(232,180,34,.35);text-align:left}
.gr-cx.boss{border-color:#FFD54F}
.gr-cxi{width:84px;height:70px;flex:0 0 auto}
.gr-cx p{margin:0;line-height:1.2}
.gr-cxn{font-weight:800;color:#FFE08A}.gr-cxr{font-size:.78rem;color:#CFE8FF}.gr-cxs{font-size:.76rem;color:#E9D8A6}.gr-cxw{font-size:.76rem;color:#7DF29A}.gr-cxx{font-size:.76rem;color:#FF9AAE}
.gr-ccombo{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;text-align:left}.gr-ccombo p{margin:0;font-size:.84rem;color:#E9D8A6}.gr-ccombo b{color:#FFB070}
.gr-act{display:flex;gap:5px;flex:0 0 auto}
.gr-speed{min-width:52px;min-height:72px;border-radius:14px;font:800 1.1rem/1 system-ui,sans-serif;color:#FFE9A8;background:rgba(11,37,69,.9);border:2px solid rgba(232,180,34,.7);cursor:pointer}
.gr-go{min-width:118px;min-height:72px;border-radius:16px;cursor:pointer;font:800 1.02rem/1.1 system-ui,sans-serif;color:#1A1200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 8px;
  background:linear-gradient(180deg,#FFF3B0,#FFD54F 45%,#E8B422);border:2px solid #FFF8DC;box-shadow:0 0 0 2px #8A6100,0 6px 16px rgba(0,0,0,.4)}
.gr-go small{font-size:.72rem;font-weight:700;color:#4A3500}
.gr-go[disabled]{filter:saturate(.45) brightness(.55);cursor:default}
.gr-go.pulse{animation:gr-pulse 1.6s ease-in-out infinite}
@keyframes gr-pulse{50%{box-shadow:0 0 0 2px #8A6100,0 0 26px rgba(255,213,79,.9)}}
.gr-speed:focus-visible,.gr-go:focus-visible,.gr-tw:focus-visible{outline:3px solid #FFF8DC;outline-offset:2px}
.gr-panel{position:absolute;z-index:3;right:8px;top:64px;width:min(320px,calc(100% - 16px));padding:.6rem .7rem .7rem;border-radius:18px;background:linear-gradient(180deg,rgba(24,52,112,.97),rgba(7,20,50,.97));border:2px solid #E8B422;box-shadow:0 12px 30px rgba(0,0,0,.55);color:#F7E7C1}
.gr-phd{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.gr-pname{margin:0;font:800 1.15rem/1.15 "Playfair Display",Georgia,serif;color:#FFE08A}
.gr-x{width:44px;height:44px;border-radius:12px;font-size:1.6rem;line-height:1;color:#FFD54F;background:rgba(3,10,28,.5);border:1.5px solid rgba(232,180,34,.6);cursor:pointer}
.gr-pstat{margin:.25rem 0 .45rem;font-size:.92rem;color:#CFE8FF}
.gr-pbtns{display:grid;gap:.4rem}
.gr-pb{min-height:50px;border-radius:12px;padding:.35rem .6rem;cursor:pointer;font:inherit;font-weight:700;color:#FFF3C4;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:rgba(3,10,28,.55);border:1.5px solid rgba(232,180,34,.65)}
.gr-pb small{display:block;font-weight:500;font-size:.78rem;color:#9AE6D8}
.gr-pb.up{background:linear-gradient(180deg,#2a5fb0,#123a80);border-color:#FFE9A8}
.gr-pb[disabled]{opacity:.5;cursor:not-allowed}
.gr-pb:not([disabled]):hover,.gr-pb:focus-visible{outline:2px solid #FFE9A8;outline-offset:1px}
.gr-modes4{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.gr-tm{min-height:44px;border-radius:10px;font:700 .8rem/1 system-ui,sans-serif;color:#E9D8A6;background:rgba(3,10,28,.55);border:1.5px solid rgba(232,180,34,.4);cursor:pointer}
.gr-tm[aria-pressed="true"]{color:#1A1200;background:#FFD54F;border-color:#FFF8DC}
.gr-pl{margin:.2rem 0 0;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#E9D8A6}
.gr-gemrow{display:flex;justify-content:center;gap:10px;margin:.1rem 0 .2rem}
.gr-gemrow i{width:18px;height:18px;transform:rotate(45deg);border:1.5px solid #FFE9A8;border-radius:3px}
.gr-gemrow .g1{background:#FFC72C}.gr-gemrow .g2{background:#4FA8FF}.gr-gemrow .g3{background:#FF4D6D}.gr-gemrow .g4{background:#B57BFF}.gr-gemrow .g5{background:#46E0C8}
.gr-banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:3;pointer-events:none;font:900 clamp(1.6rem,7vw,2.8rem)/1 "Playfair Display",Georgia,serif;color:#FFE08A;text-shadow:0 3px 0 #3A2A00,0 0 24px rgba(255,213,79,.6);white-space:nowrap;opacity:0;transition:opacity .4s}
.gr-banner.on{opacity:1}
@media (max-width:420px){.gr-tw{min-height:62px}.gr-ic{width:36px;height:36px}.gr-cats{position:absolute;left:6px;right:6px;bottom:calc(100% - 2px)}.gr-cat{font-size:.8rem;min-height:40px;padding:2px 4px;background:rgba(3,10,28,.88)}.gr-cat .gr-ci{display:inline-block;width:9px;height:9px}.gr-cat .gr-cn{display:none}.gr-cat .gr-cs{display:inline}.gr-tier small{display:none}.gr-cxi{width:70px;height:58px}.gr-go{min-width:92px;min-height:66px;font-size:.92rem}.gr-speed{min-width:44px;min-height:66px}.gr-panel{left:6px;right:6px;width:auto;top:auto;bottom:162px;max-height:48%;overflow:auto;padding:.45rem .55rem .55rem}.gr-pname{font-size:1rem}.gr-pstat{font-size:.82rem;margin:.1rem 0 .3rem}.gr-pb{min-height:46px;font-size:.92rem}.gr-pb small{font-size:.72rem}.gr-x{width:40px;height:40px}.gr-pbtns{gap:.3rem}.gr-tw{flex:1 1 0;min-width:0}.gr-tw small{display:none}.gr-tw .gr-cost{font-size:.8rem}.gr-tw .gr-cost::before{display:none}.gr-go{min-width:78px;padding:4px}.gr-go small{font-size:.64rem}.gr-towers{gap:4px}.gr-tray{gap:4px;padding:5px}}
@media (orientation:landscape) and (max-height:540px){.gr-tw{min-height:48px;flex-direction:row;gap:4px}.gr-tw small{display:none}.gr-ic{width:34px;height:34px}.gr-cat{min-height:30px}.gr-go,.gr-speed{min-height:84px}.gr-tray{padding-top:2px}.gr-panel{top:58px;max-height:calc(100% - 140px);overflow:auto}}

.gr-titlecard .gr-modes{margin:.3rem 0 .5rem}.gr-titlecard .gr-tag{margin:.1rem 0 .4rem}.gr-mode small{white-space:nowrap}
@media (max-height:760px){.gr-titlecard .gr-tag{display:none}.gr-titlecard .gr-mode{min-height:52px}}
.gr-stage.gr-hurt{box-shadow:0 0 0 1px #6B4E00,inset 0 0 60px rgba(255,77,109,.55)}
.gr-stage[data-mode="title"] .gr-view,.gr-stage[data-mode="levels"] .gr-view{filter:brightness(.7) saturate(.9)}
/* v6: title + overlay rows never clip on phones */
.gr-mode{min-width:0}.gr-mode b{white-space:nowrap}.gr-mode small{min-width:0;overflow-wrap:anywhere}
.gr-card{box-sizing:border-box}
@media (max-width:520px){.gr-card{width:calc(100% - 24px);padding:.9rem .85rem 1rem;top:calc(50% + 26px);margin-top:0;max-height:calc(100% - 82px)}
 .gr-mode{flex-direction:column;align-items:flex-start;justify-content:center;gap:.18rem;min-height:60px;padding:.55rem .95rem}
 .gr-mode b{font-size:1.06rem}.gr-mode small,.gr-titlecard .gr-mode small{white-space:normal;text-align:left;color:#E9D8A6;font-size:.82rem;line-height:1.2}
 .gr-titlecard .gr-modes{gap:.55rem;margin:.5rem 0 .7rem}}
@media (orientation:landscape) and (max-height:540px){.gr-card{top:calc(50% + 24px);margin-top:0;max-height:calc(100% - 64px)}
 .gr-mode{flex-direction:column;align-items:flex-start;justify-content:center;gap:.1rem;min-height:50px;padding:.4rem .8rem}
 .gr-mode small,.gr-titlecard .gr-mode small{white-space:normal;text-align:left;color:#E9D8A6;font-size:.78rem}}
/* v6: build tray = two smooth scroll strips with full labels */
.gr-twrap{min-width:0;flex:1 1 auto}
.gr-cats,.gr-towers{display:flex;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding:0 8px;touch-action:pan-x}
.gr-cats::-webkit-scrollbar,.gr-towers::-webkit-scrollbar{display:none}
.gr-cats{gap:6px}.gr-towers{gap:6px;padding:2px 2px 2px 1px}
.gr-cats.gr-more,.gr-towers.gr-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),rgba(0,0,0,.15));mask-image:linear-gradient(90deg,#000 calc(100% - 34px),rgba(0,0,0,.15))}
.gr-cat{flex:0 0 auto;min-width:auto;overflow:visible;padding:0 13px;min-height:40px;font-size:.86rem;scroll-snap-align:start}
.gr-cat .gr-cn{display:inline!important}.gr-cat .gr-cs{display:none!important}
.gr-tw{flex:0 0 80px;max-width:none;min-height:78px;scroll-snap-align:start;padding:4px 3px}
.gr-tw small{white-space:nowrap;font-size:.72rem}.gr-cost{white-space:nowrap}
@media (max-width:420px){.gr-tw{flex-basis:76px;min-height:72px}.gr-go{min-width:84px;padding:4px 6px;font-size:.88rem}.gr-speed{min-width:42px}.gr-cats{gap:5px}}
@media (orientation:landscape) and (max-height:540px){.gr-tw{flex:0 0 auto;padding:4px 10px 4px 6px}.gr-tw small{display:inline;font-size:.74rem}.gr-cat{min-height:32px}}
@media (orientation:landscape) and (max-height:540px){.gr-card{top:calc(50% + 31px);max-height:calc(100% - 78px)}}
.gr-pause .gr-note{font-size:1rem!important;line-height:1.35;font-weight:600;color:#E9D8A6;margin:.3rem 0 .9rem}.gr-pause .btn{font-size:1rem;min-height:52px;white-space:normal}
.gr-tw small{display:block!important}
@media (max-width:520px){.gr-act{flex:0 0 auto}.gr-go{min-width:0;width:88px;max-width:88px;padding:4px 5px;font-size:.84rem;line-height:1.1;white-space:normal;text-align:center}.gr-go small{font-size:.64rem}.gr-speed{min-width:40px;width:40px}.gr-tray{gap:5px}}
@media (orientation:landscape) and (max-height:540px){.gr-tw small{display:inline!important}}
@media (orientation:landscape) and (max-height:540px){.gr-go,.gr-speed{min-height:0!important}.gr-tw{min-height:44px!important}.gr-cats{gap:5px}}
