/* source: css/foundation.min.css */
@layer reset,shell,components,screens,utilities;@layer reset{:root{color-scheme:light;--app-max: 1180px;--gutter: clamp(14px, 4vw, 24px);--topbar-h: 72px;--nav-h: 78px;--ink: #2f261d;--ink-2: #584b3b;--ink-3: #887967;--surface: #fffaf1;--surface-2: #f4ecdc;--surface-3: #e8dcc5;--surface-dark: #2e291f;--line: rgba(71, 52, 29, .14);--line-strong: rgba(71, 52, 29, .24);--green: #7f9d45;--green-2: #698635;--green-3: #4f6829;--green-soft: #e9f2d9;--gold: #d3a13b;--gold-2: #b77a1f;--gold-soft: #fff0bd;--danger: #a44e3c;--danger-soft: #f7dfd9;--blue: #647f91;--radius-xs: 10px;--radius-sm: 13px;--radius: 18px;--radius-lg: 26px;--shadow-xs: 0 4px 16px rgba(50, 39, 24, .055);--shadow-sm: 0 14px 34px rgba(50, 39, 24, .09);--shadow-md: 0 26px 64px rgba(50, 39, 24, .18);--display-font: Georgia, "Times New Roman", serif;--ui-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:#d9d4c8;scroll-behavior:smooth;text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100dvh;overflow-x:hidden;color:var(--ink);background:#d9d4c8;font-family:var(--ui-font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main,header,footer,nav,section,article,aside,div{min-width:0}button,input,textarea,select{font:inherit;color:inherit}button{max-width:100%;border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.55}img,video{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{text-wrap:balance}p,li{text-wrap:pretty}h1,h2{font-family:var(--display-font);letter-spacing:-.025em}h3,h4{letter-spacing:-.012em}a{color:inherit}form{margin:0}summary{list-style:none}summary::-webkit-details-marker{display:none}:focus-visible{outline:3px solid rgba(127,157,69,.38);outline-offset:2px}::selection{background:#d3a13b47}}@layer utilities{.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.good-text{color:var(--green-3)}.bad-text,.danger-text{color:var(--danger)}.muted-note,.meta{color:var(--ink-3);font-size:.86rem;line-height:1.45}.full-btn{width:100%}.hide-sm{display:inline}}

/* source: css/shell.min.css */
@layer shell{body:before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.75),transparent 34%),radial-gradient(circle at 90% 18%,rgba(197,181,142,.22),transparent 30%),linear-gradient(180deg,#e8e4da,#d6d1c5)}.bg-forest{position:fixed;inset:0;z-index:-2;opacity:.13;background:url(/camp/assets/ui/camp_background_soft.webp?v=20260714-v84-full-reset-real-ru-en) center top / cover no-repeat;filter:saturate(.65) blur(1px);pointer-events:none}.tma{width:min(100%,var(--app-max));min-height:100dvh;margin:0 auto;background:radial-gradient(circle at 50% -10%,rgba(255,255,255,.96),transparent 34%),linear-gradient(180deg,#fffbf3fb,#f7efe0fb);box-shadow:0 0 70px #2a221721;position:relative}.topbar{position:sticky;top:0;z-index:80;min-height:calc(var(--topbar-h) + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) var(--gutter) 9px;display:grid;grid-template-columns:48px minmax(0,1fr) auto 42px 42px;align-items:center;gap:8px;background:linear-gradient(180deg,#fffcf6f7,#fff9eee8);border-bottom:0;box-shadow:0 7px 24px #362b1c11;backdrop-filter:blur(18px) saturate(1.15)}.avatar-button{width:48px;height:48px;padding:2px;border-radius:50%;background:linear-gradient(145deg,#e6bd58,#8f6424);box-shadow:0 4px 12px #52381438;position:relative}.avatar-button img{width:100%;height:100%;border-radius:inherit;object-fit:cover;border:2px solid #fff8e8}.level-badge{position:absolute;right:-4px;bottom:-2px;min-width:20px;height:20px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--green-3);color:#fff;font-size:.68rem;font-weight:900;border:2px solid var(--surface)}.top-ident{min-width:0;display:grid;gap:4px}.top-ident>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display-font);font-size:clamp(1.05rem,4.3vw,1.42rem);line-height:1.1}.xpbar{height:6px;border-radius:99px;background:var(--surface-3);position:relative;overflow:hidden}.xpbar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),#b2c96c)}.xpbar em{display:none}.top-money{display:flex;align-items:center;gap:6px}.resource-pill{min-height:42px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:#ffffffc2;box-shadow:inset 0 0 0 1px #47341d13,var(--shadow-xs);white-space:nowrap}.resource-pill b{font-size:.92rem;font-weight:900;font-variant-numeric:tabular-nums}.resource-pill i{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-style:normal;font-weight:900}.coin-dot{color:var(--gold-2)}.energy-dot{color:#d5743e}.bell{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:#ffffffb8;border:0;box-shadow:inset 0 0 0 1px #47341d13,var(--shadow-xs);position:relative;font-size:1.05rem}.bell i{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#d84d3a;box-shadow:0 0 0 2px var(--surface)}.notice{position:fixed;z-index:120;left:50%;top:calc(var(--topbar-h) + env(safe-area-inset-top) + 10px);width:min(calc(100% - 28px),680px);transform:translate(-50%);padding:12px 16px;border-radius:14px;background:#2f2b22;color:#fff;box-shadow:var(--shadow-md);font-weight:700;text-align:center}.screen{min-height:calc(100dvh - var(--topbar-h));padding:18px var(--gutter) calc(var(--nav-h) + env(safe-area-inset-bottom) + 64px);overflow:clip}.view{display:grid;align-content:start;gap:clamp(16px,3vw,22px);min-width:0;animation:view-in .24s ease-out}@keyframes view-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bottom-nav{position:fixed;z-index:100;left:50%;bottom:0;width:min(100%,var(--app-max));min-height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:7px 10px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;border:0;border-radius:22px 22px 0 0;background:linear-gradient(180deg,#fffdf8f7,#fff9effb);box-shadow:0 -14px 42px #372b1c1f;backdrop-filter:blur(20px) saturate(1.15);transform:translate(-50%)}.bottom-nav button{min-width:0;min-height:60px;padding:4px 2px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:15px;background:transparent;color:var(--ink-2);transition:background .2s,color .2s,transform .2s}.bottom-nav button b{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;line-height:1.15;white-space:nowrap}.bottom-nav button.active{color:var(--green-3);background:#7f9d451b}.bottom-nav .nav-primary{margin-top:-14px;min-height:70px;border-radius:20px;background:linear-gradient(180deg,#8ca94d,#668532);color:#fff;border:2px solid rgba(255,252,244,.94);box-shadow:0 10px 24px #4c692840}.bottom-nav .nav-primary.active{color:#fff;background:linear-gradient(180deg,#96b457,#5f7d2e);transform:translateY(-2px)}.nav-icon{width:30px;height:30px;display:block;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 3px rgba(52,38,17,.14))}.tent-icon{background-image:url(/camp/assets/ui/nav_camp.webp?v=20260714-v84-full-reset-real-ru-en)}.clan-icon{background-image:url(/camp/assets/ui/nav_clan.webp?v=20260714-v84-full-reset-real-ru-en)}.games-icon{width:36px;height:36px;background-image:url(/camp/assets/ui/nav_games.webp?v=20260714-v84-full-reset-real-ru-en)}.craft-icon{background-image:url(/camp/assets/ui/nav_craft.webp?v=20260714-v84-full-reset-real-ru-en)}.face-icon{background-image:url(/camp/assets/ui/nav_profile.webp?v=20260714-v84-full-reset-real-ru-en)}.app-loader{position:fixed;inset:0;z-index:500;display:grid;place-items:center;overflow:hidden;color:#fff;background:#17150f}.app-loader-bg,.loading-screen-bg{position:absolute;inset:0;width:100%;height:100%}.app-loader-bg img,.loading-screen-bg img{width:100%;height:100%;object-fit:cover}.app-loader-shade,.loading-screen-shade{position:absolute;inset:0;background:linear-gradient(180deg,#120f0a33,#120f0ac7)}.app-loader-card,.loading-screen-content{position:relative;width:min(calc(100% - 40px),460px);padding:28px;border-radius:28px;background:#1b1811b8;border:0;text-align:center;backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px #ffffff1f,var(--shadow-md)}.app-loader-card h1,.loading-screen-content h1{margin-top:5px;font-size:clamp(2rem,9vw,3.6rem)}.loading-kicker{color:#d9c88c;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:900}.loading-orbs{margin-top:18px;display:flex;justify-content:center;gap:8px}.loading-orbs span{width:9px;height:9px;border-radius:50%;background:#e5ca72;animation:orb 1s infinite ease-in-out}.loading-orbs span:nth-child(2){animation-delay:.14s}.loading-orbs span:nth-child(3){animation-delay:.28s}@keyframes orb{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}dialog{border:0;padding:0;color:inherit}dialog::backdrop{background:#1b1711b3;backdrop-filter:blur(5px)}.app-dialog{width:min(calc(100% - 28px),720px);max-height:min(90dvh,920px);border-radius:28px;background:transparent;overflow:visible}.app-dialog-card{max-width:100%;max-height:90dvh;overflow-x:hidden;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;padding:clamp(20px,4vw,30px);border-radius:28px;background:linear-gradient(160deg,#fffdf7,var(--surface));box-shadow:var(--shadow-md);position:relative}.image-dialog{width:min(calc(100% - 20px),900px);max-height:92dvh;background:transparent}.image-dialog img{width:100%;max-height:90dvh;object-fit:contain;border-radius:18px}.dialog-close{position:absolute;z-index:4;right:12px;top:12px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#1f1b15db;color:#fff;font-size:1.55rem;line-height:1;box-shadow:0 8px 20px #1f1b1538}.app-dialog-close{position:sticky;float:right;top:0;margin:-10px -10px 0 10px}}

/* source: css/components.min.css */
@layer components{.panel,.soft-card{min-width:0;border:0;border-radius:var(--radius);background:#fffcf5d1;box-shadow:var(--shadow-xs)}.panel{padding:clamp(17px,4vw,24px)}.panel .panel,.panel .soft-card,.soft-card .panel,.soft-card .soft-card{border-color:transparent;background:#f4ecdc7a;box-shadow:none}.page-banner{min-height:clamp(176px,35vw,230px);overflow:hidden;border-radius:var(--radius-lg);position:relative;isolation:isolate;background:var(--surface-dark);box-shadow:var(--shadow-sm)}.page-banner-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}.page-banner-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#17140ee0,#17140e94 52%,#17140e1f),linear-gradient(0deg,rgba(23,20,14,.35),transparent 55%)}.page-banner-copy{width:min(74%,500px);min-height:inherit;padding:clamp(20px,5vw,34px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;color:#fff}.page-banner-kicker,.camp-hero-kicker,.section-mini-head>div>span,.games-section-head span,.group-activities-head>div>span{margin-bottom:5px;color:#dbc886;font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.page-banner h1{font-size:clamp(2rem,8vw,3.55rem);line-height:.98}.page-banner p{margin-top:8px;max-width:44ch;color:#ffffffd6;font-size:.92rem}.page-banner-actions{margin-top:15px;display:flex;flex-wrap:wrap;gap:8px}.hero-discount{padding:8px 12px;border-radius:99px;background:#ffffff29;border:0;box-shadow:inset 0 0 0 1px #ffffff24;font-weight:800}.green-btn,.gold-btn,.ghost-btn,.danger-btn,.hero-quiet-btn{min-height:46px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;font-weight:850;line-height:1.1;text-align:center;transition:transform .14s,filter .14s,box-shadow .14s}.green-btn{color:#fff;background:linear-gradient(180deg,#8dab4f,#668332);box-shadow:0 7px 16px #4c6b2633}.gold-btn{color:#3f2b0f;background:linear-gradient(180deg,#f0cf73,#d6a13a);box-shadow:0 7px 16px #91621a2e}.ghost-btn{color:var(--ink);background:var(--surface-2);border:0;box-shadow:inset 0 0 0 1px #47341d14}.danger-btn{color:#fff;background:var(--danger)}.hero-quiet-btn{color:#fff;background:#ffffff26;border:0;box-shadow:inset 0 0 0 1px #ffffff2e;backdrop-filter:blur(6px)}.green-btn:not(:disabled):active,.gold-btn:not(:disabled):active,.ghost-btn:not(:disabled):active,.hero-quiet-btn:not(:disabled):active{transform:translateY(1px) scale(.99)}.small-btn{min-height:42px;padding:8px 12px;font-size:.78rem}.status-pill,.status-badge,.flag{width:fit-content;padding:6px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-3);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.status-badge.green{background:var(--green-soft);color:var(--green-3)}.real-tabs,.pill-tabs,.tabs{width:100%;max-width:100%;min-width:0;display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:3px;scroll-snap-type:inline proximity;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:3px}.real-tabs::-webkit-scrollbar,.pill-tabs::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}.real-tabs button,.pill-tabs button,.tabs .tab{min-height:44px;flex:0 0 auto;padding:9px 13px;border-radius:12px;background:var(--surface-2);color:var(--ink-2);font-size:.82rem;font-weight:800;border:0;scroll-snap-align:start}.real-tabs button.active,.pill-tabs button.active,.tabs .tab.active{color:#fff;background:var(--green-2);box-shadow:0 6px 14px #4764222e}.real-tabs em,.pill-tabs em{margin-left:4px;font-style:normal;opacity:.75}.section-title,.clean-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h1,.clean-page-head h1{font-size:clamp(2rem,8vw,3rem);line-height:1}.section-title.small h1{font-size:1.7rem}.section-mini-head,.games-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.section-mini-head h3,.games-section-head h2{font-size:clamp(1.28rem,5vw,1.75rem)}.section-mini-head p,.games-section-head p{margin-top:5px;max-width:62ch;color:var(--ink-3);font-size:.88rem;line-height:1.45}.section-mini-head>b,.games-section-head>b{flex:0 0 auto;min-width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f4ecdcd1;color:var(--green-3)}.module-toolbar{min-height:80px;padding:4px 0 14px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;border:0;border-bottom:1px solid rgba(71,52,29,.09);border-radius:0;background:transparent;box-shadow:none}.module-toolbar>div{min-width:0}.module-toolbar span{color:var(--green-3);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.module-toolbar h1{margin-top:2px;font-size:clamp(1.55rem,6vw,2.3rem);line-height:1}.module-toolbar p{margin-top:5px;color:var(--ink-3);font-size:.8rem;line-height:1.35}.module-back,.module-refresh{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2);border:0;box-shadow:inset 0 0 0 1px #47341d14;font-size:1.5rem;font-weight:800}.module-refresh{font-size:1.18rem}.card-chevron{margin-left:auto;color:var(--ink-3);font-size:1.55rem;font-style:normal;line-height:1}.field,.inline-form label,.great-build-mini-form label{display:grid;gap:6px;min-width:0}.field label,.inline-form label>span,.great-build-mini-form label>span{color:var(--ink-2);font-size:.76rem;font-weight:850}input,textarea,select,.rich-editor{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:12px;background:#fffdf8;outline:0}textarea{min-height:96px;resize:vertical}input:focus,textarea:focus,select:focus,.rich-editor:focus{border-color:var(--green);box-shadow:0 0 0 3px #7f9d4524}.field label{display:flex;align-items:center;gap:7px}.field-icon{width:22px;height:22px;object-fit:contain}.form-grid{display:grid;gap:12px}.form-actions,.app-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.progress-line,.great-build-progress,.great-build-small-progress,.group-stage-progress,.boss-hp-meter,.contract-progress-line{height:9px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.progress-line span,.great-build-progress i,.great-build-small-progress i,.group-stage-progress i,.boss-hp-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),#c7d86f)}.empty-panel,.empty-inside,.group-empty-state{text-align:center;display:grid;justify-items:center;gap:10px}.empty-panel{min-height:300px;place-content:center}.empty-inside{min-height:180px;place-content:center;padding:24px;border:0;border-radius:var(--radius);background:#f4ecdc7a}.empty-img,.empty-inside img{width:112px;height:112px;object-fit:contain}.empty-panel p,.empty-inside p{max-width:42ch;color:var(--ink-3)}.participant-chips{display:flex;flex-wrap:wrap;gap:8px}.participant-chip{min-width:0;padding:8px 10px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:var(--surface-2);border:0;font-size:.76rem}.participant-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover}.participant-chip span{display:grid;min-width:0}.participant-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-chip em{color:var(--ink-3);font-style:normal;font-size:.68rem}.game-prompt{padding:14px;border-radius:14px;background:#f4ecdcb8;border:0}.game-prompt p{margin-top:4px;color:var(--ink-2)}.icon-img{object-fit:contain}.content-disclosure{overflow:hidden;border:0;border-radius:var(--radius);background:#fffcf5c7;box-shadow:var(--shadow-xs)}.content-disclosure>summary{min-height:78px;padding:13px 15px;display:grid;grid-template-columns:50px minmax(0,1fr) auto auto;align-items:center;gap:12px;cursor:pointer}.content-disclosure>summary>span:nth-child(2){display:grid;min-width:0}.content-disclosure>summary b{font-size:.96rem}.content-disclosure>summary em{color:var(--ink-3);font-style:normal;font-size:.76rem}.content-disclosure>summary strong{min-width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#7f9d451f;color:var(--green-3);font-size:.78rem}.content-disclosure>summary>i{font-style:normal;transition:transform .2s}.content-disclosure[open]>summary>i{transform:rotate(180deg)}.disclosure-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2)}.disclosure-icon img{width:42px;height:42px;object-fit:contain}.disclosure-body{margin:0 15px;padding:15px 0 17px;border-top:1px solid rgba(71,52,29,.09)}.app-dialog-section{display:grid;gap:12px}.app-dialog-section+.app-dialog-section{margin-top:18px}.app-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-panel-head h2{font-size:1.65rem}.app-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* source: css/home.min.css */
@layer screens{.reference-camp-view{gap:14px}.camp-dashboard-hero{min-height:clamp(220px,52vw,320px);overflow:hidden;border-radius:var(--radius-lg);position:relative;isolation:isolate;background:#252117;box-shadow:var(--shadow-sm)}.camp-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}.camp-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#18140eeb,#18140e94 52%,#18140e14),linear-gradient(0deg,rgba(24,20,14,.28),transparent 60%)}.camp-hero-copy{width:min(76%,510px);min-height:inherit;padding:clamp(18px,5vw,32px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;color:#fff}.camp-logo-lockup{margin-bottom:auto;display:inline-flex;align-items:center;gap:9px}.camp-logo-lockup img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,0,0,.3))}.camp-logo-lockup span{display:grid}.camp-logo-lockup b{font-family:var(--display-font);font-size:1.15rem;line-height:1}.camp-logo-lockup em{margin-top:2px;color:#ffffffad;font-size:.66rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.camp-hero-kicker{margin-bottom:6px}.camp-hero-copy h1{font-size:clamp(2.25rem,10vw,4.25rem);line-height:.92}.camp-hero-copy p{margin-top:8px;max-width:42ch;color:#ffffffd1;font-size:.9rem}.camp-hero-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.active-now-strip{padding:12px 14px;display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:12px;border:0;border-radius:18px;background:linear-gradient(135deg,#ecf5daf5,#fffbf2f5);box-shadow:var(--shadow-xs)}.active-now-strip>img{width:60px;height:60px;object-fit:contain;border-radius:15px;background:#ffffff9e;padding:4px}.active-now-strip>div{min-width:0}.active-now-strip span{color:var(--green-3);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.active-now-strip h2{margin-top:1px;font-family:var(--ui-font);font-size:1rem;line-height:1.22}.active-now-strip p{margin-top:3px;color:var(--ink-3);font-size:.76rem;line-height:1.35}.active-now-strip .green-btn{min-height:40px;padding-inline:13px;font-size:.78rem}.reference-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-action-card{min-width:0;min-height:116px;padding:12px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:var(--radius);background:#fffcf5ed;box-shadow:var(--shadow-xs);text-align:left;overflow:hidden}.reference-action-card:nth-child(3){grid-column:1 / -1;min-height:96px;background:linear-gradient(135deg,#eef5df,#fffaf0);border-color:#6584343b}.reference-action-art{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:var(--surface-2)}.reference-action-art img{width:54px;height:54px;object-fit:contain}.reference-action-copy{min-width:0;display:grid;align-content:center}.reference-action-copy em{color:var(--green-3);font-size:.63rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.reference-action-copy b{margin-top:2px;font-size:.98rem;line-height:1.22}.reference-action-copy small{margin-top:4px;color:var(--ink-3);font-size:.73rem;line-height:1.35}.camp-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-small-shortcut{min-width:0;min-height:72px;padding:10px 12px;display:flex;align-items:center;gap:10px;border:0;border-radius:17px;background:#fffcf5bd;text-align:left}.reference-small-shortcut img{width:46px;height:46px;flex:0 0 auto;object-fit:contain}.reference-small-shortcut span{min-width:0;display:grid}.reference-small-shortcut b{font-size:.88rem;line-height:1.22}.reference-small-shortcut em{margin-top:2px;color:var(--ink-3);font-size:.7rem;line-height:1.3;font-style:normal}.yandex-account-card{padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;background:#fff;border:1px solid var(--line)}.yandex-account-card>div{display:grid}.yandex-account-card span{color:var(--green-3);font-size:.65rem;font-weight:900;text-transform:uppercase}.yandex-account-card p{color:var(--ink-3);font-size:.72rem}.yandex-account-card .green-btn{flex:0 0 auto;font-size:.76rem}.hero-card,.event-hero{min-height:210px;overflow:hidden;position:relative;border-radius:var(--radius-lg);background:var(--surface-dark);color:#fff}.hero-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:relative;z-index:1;min-height:inherit;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;background:linear-gradient(0deg,#16120ce6,#16120c14)}.hero-overlay h2{margin-top:6px;font-size:1.8rem}.hero-overlay p{margin:5px 0 13px;color:#fffc}.hero-timer{position:absolute;top:12px;right:12px;z-index:2;padding:7px 10px;border-radius:999px;background:#16120cb3;font-size:.76rem;font-weight:800}.camp-news-line{padding:10px 12px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;border-radius:16px;background:var(--surface-2)}.camp-news-line img{width:42px;height:42px;object-fit:contain}.camp-news-line div{display:grid;min-width:0}.camp-news-line span{color:var(--ink-3);font-size:.65rem;text-transform:uppercase;font-weight:800}.camp-news-line b{font-size:.84rem;line-height:1.25}.loading-screen{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:hidden;color:#fff}.loading-tip-list{margin-top:20px;display:grid;gap:8px;text-align:left}.loading-tip{display:flex;gap:8px;color:#ffffffc7;font-size:.82rem}.loading-actions{margin-top:18px}@media (max-width: 520px){.active-now-strip{grid-template-columns:52px minmax(0,1fr);gap:10px}.active-now-strip>img{width:52px;height:52px;border-radius:14px}.active-now-strip .green-btn{grid-column:1 / -1;width:100%}.camp-hero-copy{width:100%}.camp-hero-copy p{font-size:.82rem;line-height:1.42}}}

/* source: css/games.min.css */
@layer screens{.games-view,.games-menu-view,.games-section-view{min-width:0;gap:clamp(14px,3vw,20px)}.games-view{--games-surface: rgba(255, 252, 245, .94);--games-surface-soft: rgba(246, 240, 226, .78);--games-divider: rgba(75, 57, 34, .11);--games-accent: #789a3d;--games-accent-dark: #4f6829}.games-view :where(.games-section-head-copy,.game-menu-copy,.game-card-head,.backpack-card-main,.great-build-req-main){min-width:0}.games-view :where(h1,h2,h3,h4,p,b,em,small){word-break:normal;overflow-wrap:normal;hyphens:none}.games-view .page-banner{border-radius:clamp(20px,4vw,28px)}.games-overview{display:grid;grid-template-columns:minmax(116px,.72fr) repeat(2,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid rgba(76,58,34,.09);border-radius:20px;background:var(--games-surface);box-shadow:0 8px 24px #352a1c13}.games-overview>*{min-width:0;max-width:100%}.games-overview-live,.games-overview>button{min-width:0;min-height:82px;padding:11px 13px}.games-overview-live{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:baseline;column-gap:7px;color:var(--games-accent-dark);background:linear-gradient(135deg,#e5f1d0eb,#f2f7e6cc)}.games-overview-live span{grid-column:1 / -1;color:var(--ink-3);font-size:.61rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.games-overview-live b{font-family:var(--display-font);font-size:1.8rem;line-height:1}.games-overview-live em{color:var(--ink-2);font-size:.68rem;font-style:normal}.games-overview>button{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 12px;align-items:center;gap:9px;border-left:1px solid var(--games-divider);background:transparent;text-align:left;transition:background .16s ease}.games-overview>button:active{background:#e8f0d8b3}.games-overview-art{width:48px;height:48px;display:grid;place-items:center}.games-overview-art img{width:46px;height:46px;object-fit:contain}.games-overview-copy{min-width:0;width:100%;display:grid;align-content:center;overflow:hidden}.games-overview-copy b{max-width:100%;font-size:.84rem;line-height:1.2}.games-overview-copy em{max-width:100%;margin-top:2px;color:var(--ink-3);font-size:.64rem;font-style:normal;line-height:1.25}.games-overview>button>i,.game-menu-card>.card-chevron{width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;color:#43372873;transform:rotate(45deg)}.games-menu-sections{display:grid;gap:14px}.games-view .games-menu-section{position:relative;display:block;padding:0;overflow:hidden;border:0;border-radius:clamp(20px,4vw,26px);background:var(--games-surface);box-shadow:0 8px 25px #352a1c13,inset 0 0 0 1px #4c3a2212}.games-view .games-menu-section.is-core{background:linear-gradient(145deg,#eff6dff7,#fffbf2f5 62%)}.games-view .games-menu-section.is-core:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;z-index:1;pointer-events:none;background:linear-gradient(180deg,#d9bc62,#75983b)}.games-view .games-menu-section>.games-section-head{width:100%;min-height:104px;padding:17px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:12px;overflow:hidden;cursor:pointer;user-select:none}.games-view .games-menu-section[open]>.games-section-head{border-bottom:1px solid var(--games-divider)}.games-section-head-copy>span{display:block;margin:0 0 4px;color:#b49438;font-size:.67rem;font-weight:900;letter-spacing:.13em;line-height:1.2;text-transform:uppercase}.games-section-head-copy h2{font-size:clamp(1.48rem,5vw,2rem);line-height:1.04}.games-section-head-copy p{margin-top:7px;max-width:64ch;color:var(--ink-3);font-size:.79rem;line-height:1.4}.games-section-count{min-width:50px;max-width:58px;display:grid;justify-items:center;align-content:center;color:var(--games-accent-dark);overflow:hidden}.games-section-count b{font-family:var(--display-font);font-size:1.38rem;line-height:1}.games-section-count em{margin-top:3px;color:var(--ink-3);font-size:.54rem;font-style:normal;letter-spacing:.04em;text-transform:uppercase}.games-section-chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;color:var(--ink-3);transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .2s ease}.games-view .games-menu-section[open] .games-section-chevron{transform:rotate(225deg) translate(-2px,-2px)}.games-view .games-menu-section>.games-menu-grid{padding:0 18px 8px;display:grid;grid-template-columns:1fr;gap:0}.game-menu-card,.games-view .is-core .game-menu-card:first-child{width:100%;min-width:0;min-height:92px;padding:12px 3px;display:grid;grid-template-columns:64px minmax(0,1fr) 18px;align-items:center;gap:12px;border:0;border-top:1px solid var(--games-divider);border-radius:0;background:transparent;box-shadow:none;text-align:left;overflow:visible;transition:background .16s ease,transform .16s ease}.game-menu-card:first-child{border-top:0}.game-menu-card:active{transform:scale(.995);background:#eaf1db9e}.game-menu-card.can-launch{background:linear-gradient(90deg,rgba(232,242,213,.55),transparent 72%)}.game-menu-art,.games-view .is-core .game-menu-card:first-child .game-menu-art{width:64px;height:64px;display:grid;place-items:center;border-radius:17px;background:#f7efdec7}.game-menu-art img,.games-view .is-core .game-menu-card:first-child .game-menu-art img{width:60px;height:60px;object-fit:contain}.game-menu-copy{display:grid;align-content:center;overflow:visible}.game-menu-title-line{min-width:0;display:flex;align-items:center;gap:8px}.game-menu-title-line>b,.games-view .is-core .game-menu-card:first-child .game-menu-copy b{min-width:0;font-family:var(--ui-font);font-size:.94rem;font-weight:850;line-height:1.2;white-space:normal}.game-menu-title-line>strong{min-width:24px;height:24px;padding:0 6px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;color:var(--games-accent-dark);background:#e0eec8e6;font-size:.66rem}.game-menu-copy>em{margin-top:3px;color:var(--ink-3);font-size:.7rem;font-style:normal;line-height:1.3;white-space:normal}.game-menu-status{width:fit-content;max-width:100%;margin-top:7px;display:inline-flex;align-items:center;gap:6px;color:var(--games-accent-dark);font-size:.62rem;font-weight:850;letter-spacing:.035em;line-height:1.25;text-transform:uppercase;white-space:normal}.game-menu-status>i{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#94aa5b;box-shadow:0 0 0 3px #94aa5b24}.game-menu-card:not(.can-launch) .game-menu-status{color:var(--ink-3)}.game-menu-card:not(.can-launch) .game-menu-status>i{background:#b4a793;box-shadow:none}.focused-game-section{min-width:0;display:grid;gap:14px}.games-view .module-toolbar{min-width:0;min-height:88px;padding:13px 14px;border:0;border-radius:20px;background:var(--games-surface);box-shadow:0 7px 22px #352a1c12,inset 0 0 0 1px #4c3a2212}.games-view .module-toolbar p{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}.games-view .module-back,.games-view .module-refresh{border:0;border-radius:13px;background:var(--games-surface-soft)}.game-card{min-width:0;padding:clamp(14px,3.4vw,20px);display:grid;gap:13px;border:0;border-radius:22px;background:var(--games-surface);box-shadow:0 8px 24px #352a1c13,inset 0 0 0 1px #4c3a2212}.game-card-head{min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:13px}.game-card-head>img{width:72px;height:72px;object-fit:contain;border-radius:17px;background:#f5eddbb8}.game-card-head span{display:inline-flex;max-width:100%;color:var(--games-accent-dark);font-size:.65rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.game-card-head h3{margin-top:2px;font-size:clamp(1.08rem,4.5vw,1.35rem);line-height:1.14}.game-card-head p{margin-top:4px;color:var(--ink-3);font-size:.79rem;line-height:1.4}.game-meta,.wagon-safe-meta{display:flex;flex-wrap:wrap;gap:6px 12px}.game-meta span,.wagon-safe-meta span{padding:0;border-radius:0;background:transparent;color:var(--ink-2);font-size:.72rem}.game-meta span+span,.wagon-safe-meta span+span{position:relative;padding-left:12px}.game-meta span+span:before,.wagon-safe-meta span+span:before{content:"";position:absolute;left:0;top:.45em;width:4px;height:4px;border-radius:50%;background:#584b3b66}.games-view .game-prompt{padding:12px 13px;border:0;border-radius:13px;background:#f2ebdcb8}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.option-btn{min-width:0;min-height:46px;padding:10px 11px;display:flex;align-items:center;gap:9px;border:0;border-radius:13px;background:var(--games-surface-soft);font-weight:750;text-align:left}.option-btn.chosen{color:var(--games-accent-dark);background:var(--green-soft);box-shadow:inset 0 0 0 1px #66843442}.game-actions{display:flex;flex-wrap:wrap;gap:8px}.mine-view,.resource-backpack-view,.great-build-view{min-width:0;display:grid;gap:16px}.mine-hero{min-height:clamp(240px,55vw,340px);overflow:hidden;position:relative;border-radius:24px;background:var(--surface-dark);box-shadow:0 12px 30px #2b231924}.mine-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.mine-hero-copy{position:relative;min-height:inherit;padding:clamp(18px,4vw,26px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;color:#fff;background:linear-gradient(0deg,#18140ef0,#18140e0f 80%)}.mine-hero-copy h2{margin-top:7px;font-size:clamp(1.9rem,7vw,3rem);line-height:1}.mine-hero-copy p{margin-top:7px;max-width:56ch;color:#ffffffd1;font-size:.83rem}.mine-hero-copy>small{margin-top:8px;color:#ffffffab}.mine-action-row{width:100%;margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:9px}.mine-action-row>span{padding:8px 10px;border-radius:10px;background:#0000004f;font-size:.73rem;font-weight:800}.games-view .mine-activity,.games-view .mine-history{padding:clamp(15px,3.5vw,20px);display:grid;gap:9px;border:0;border-radius:20px;background:var(--games-surface);box-shadow:0 7px 20px #352a1c11}.mine-activity>p{color:var(--ink-2)}.mine-chance-row{display:flex;flex-wrap:wrap;gap:7px}.mine-chance{padding:6px 9px;display:inline-flex;gap:5px;border-radius:999px;background:var(--games-surface-soft);font-size:.7rem}.mine-chance em{color:var(--ink-3);font-style:normal}.mine-inventory,.backpack-section{min-width:0;display:grid;gap:11px}.mine-inventory-grid,.backpack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mine-resource-card,.backpack-card{min-width:0;padding:11px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:11px;border:0;border-radius:17px;background:var(--games-surface);box-shadow:0 5px 17px #352a1c0f,inset 0 0 0 1px #4c3a2211}.resource-icon-frame,.resource-icon-button{width:58px;height:58px;display:grid;place-items:center;padding:0;border:0;border-radius:15px;background:var(--games-surface-soft)}.resource-icon-frame img,.resource-icon-button img{width:54px;height:54px;object-fit:contain}.backpack-card .resource-icon-button{background:transparent}.mine-resource-card>div{min-width:0;display:grid;align-content:center}.mine-resource-card span,.backpack-card-main>span,.great-build-req-main>span,.great-build-box span{color:var(--games-accent-dark);font-size:.61rem;font-weight:850;line-height:1.25;text-transform:uppercase}.mine-resource-card h4,.backpack-card h4{margin-top:3px;font-size:.86rem;line-height:1.2}.mine-resource-card p,.backpack-card p{margin-top:3px;color:var(--ink-3);font-size:.68rem;line-height:1.35}.mine-resource-card b{margin-top:5px;color:var(--gold-2)}.mine-history p{padding-top:9px;border-top:1px solid var(--games-divider);color:var(--ink-2);font-size:.79rem}.activity-backpack-link{display:flex;align-items:center;justify-content:space-between;gap:12px}.games-view .backpack-hero{padding:clamp(15px,4vw,22px);display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:16px;border:0;border-radius:22px;background:var(--games-surface);box-shadow:0 8px 24px #352a1c13}.backpack-hero>img{width:92px;height:92px;object-fit:contain}.backpack-hero h2{margin-top:5px;font-size:clamp(1.55rem,5vw,2rem)}.backpack-hero p{margin-top:5px;color:var(--ink-3);font-size:.8rem}.backpack-stats{display:grid;grid-template-columns:repeat(3,minmax(66px,1fr));overflow:hidden;border-radius:15px;background:var(--games-surface-soft)}.backpack-stats span{min-height:66px;padding:8px;display:grid;place-content:center;text-align:center;border-radius:0;background:transparent}.backpack-stats span+span{border-left:1px solid var(--games-divider)}.backpack-stats b{color:var(--games-accent-dark);font-size:1.18rem}.backpack-stats em{color:var(--ink-3);font-size:.6rem;font-style:normal}.backpack-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.backpack-card.is-required{background:linear-gradient(140deg,#eef7def7,#fffbf1fa);box-shadow:0 5px 17px #352a1c0f,inset 3px 0 #708f398f}.backpack-card-meta{margin-top:7px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.backpack-card-meta>b{color:var(--gold-2)}.backpack-card-meta>strong,.backpack-card-meta>em{padding:4px 7px;border-radius:999px;background:var(--green-soft);color:var(--games-accent-dark);font-size:.61rem;font-style:normal}.backpack-donate-form,.great-build-mini-form{margin-top:9px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.great-build-mini-form input{min-height:38px}.great-build-mini-form .ghost-btn,.great-build-mini-form .green-btn{min-height:38px;padding:8px 11px;font-size:.72rem}.great-build-hero{min-height:clamp(290px,62vw,420px);overflow:hidden;position:relative;isolation:isolate;border-radius:24px;background:#271d13;box-shadow:0 14px 34px #2b21172e}.great-build-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.great-build-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#1d140cf2,#1d140c1f 76%)}.great-build-hero-copy{min-height:inherit;padding:clamp(19px,4vw,28px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.great-build-hero-copy h2{margin-top:8px;font-size:clamp(2rem,8vw,3.4rem);line-height:.98}.great-build-hero-copy p{margin-top:7px;max-width:58ch;color:#ffffffd1;font-size:.84rem}.great-build-progress{margin-top:16px;background:#ffffff2e}.great-build-progress i{background:linear-gradient(90deg,#83a741,#e7cb65)}.great-build-metrics{margin-top:9px;display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px;font-size:.74rem}.great-build-metrics b{font-size:.9rem}.great-build-metrics span{color:#ffffffbd}.great-build-reqs{padding:0;display:grid;gap:12px;border:0;border-radius:0;background:transparent}.great-build-req-grid{display:grid;gap:10px}.great-build-req{min-width:0;padding:12px;display:grid;grid-template-columns:58px minmax(0,1fr) minmax(132px,.4fr);align-items:center;gap:11px;border:0;border-radius:18px;background:var(--games-surface);box-shadow:0 6px 19px #352a1c11,inset 0 0 0 1px #4c3a2211}.great-build-req.empty{opacity:.72}.great-build-req-main h4{margin-top:3px;font-size:.92rem}.great-build-req-main p{margin-top:2px;color:var(--ink-3);font-size:.69rem;line-height:1.35}.great-build-small-progress{margin-top:8px;height:6px}.great-build-req-main small{display:block;margin-top:5px;color:var(--ink-3);font-size:.65rem}.backpack-shortcut{min-width:0;padding:14px 16px;display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:13px;border-radius:20px;background:var(--games-surface);box-shadow:0 7px 22px #352a1c12,inset 0 0 0 1px #4c3a2211}.backpack-shortcut img{width:66px;height:66px;object-fit:contain}.backpack-shortcut>div>span{color:var(--games-accent-dark);font-size:.64rem;font-weight:900;text-transform:uppercase}.backpack-shortcut h3{margin-top:2px}.backpack-shortcut p{margin-top:3px;color:var(--ink-3);font-size:.74rem}.games-view .build-disclosure{border:0;border-radius:20px;background:var(--games-surface);box-shadow:0 7px 22px #352a1c11,inset 0 0 0 1px #4c3a2211}.games-view .build-disclosure>summary{min-height:78px}.games-view .build-disclosure .disclosure-body{border-top-color:var(--games-divider)}.great-build-box-grid,.great-build-slot-grid{padding-top:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.great-build-box,.great-build-slot{min-width:0;padding:13px 2px;display:grid;gap:9px;border:0;border-top:1px solid var(--games-divider);border-radius:0;background:transparent}.great-build-box:nth-child(-n+2),.great-build-slot:nth-child(-n+2){border-top:0}.great-build-box{grid-template-columns:62px minmax(0,1fr)}.great-build-box>img{width:62px;height:62px;object-fit:contain}.great-build-box>div{min-width:0}.great-build-box h4,.great-build-slot h4{margin-top:2px}.great-build-box p,.great-build-slot p,.great-build-slot small{color:var(--ink-3);font-size:.69rem}.great-build-box>form{grid-column:1 / -1}.great-build-slot em{color:var(--ink-3);font-size:.72rem}.great-build-text{display:grid;gap:10px;color:var(--ink-2);font-size:.83rem}.build-leader-list{padding-top:13px}.group-activities-panel{display:grid;gap:12px}.group-activities-grid{display:grid;gap:11px}.group-activity-card{overflow:hidden;border:0;border-radius:22px;background:var(--games-surface);box-shadow:0 8px 24px #352a1c13,inset 0 0 0 1px #4c3a2212}.games-view .group-activity-card>summary{min-height:96px;padding:11px 13px;display:grid;grid-template-columns:70px minmax(0,1fr) auto 18px;align-items:center;gap:11px;cursor:pointer}.group-summary-art{width:70px;height:70px;overflow:hidden;border-radius:17px;background:var(--games-surface-soft)}.group-summary-art img{width:100%;height:100%;object-fit:cover}.group-summary-copy{min-width:0;display:grid}.group-summary-copy>em{color:var(--games-accent-dark);font-size:.6rem;font-style:normal;font-weight:900;text-transform:uppercase}.group-summary-copy>b{margin-top:2px;font-size:.96rem;line-height:1.2}.group-summary-copy>small{margin-top:3px;color:var(--ink-3);font-size:.67rem;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.group-summary-progress{margin-top:8px;height:5px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.group-summary-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green-2),#cbd66a)}.group-summary-meta{min-width:66px;display:grid;text-align:right}.group-summary-meta b{color:var(--games-accent-dark);font-size:.78rem}.group-summary-meta em{color:var(--ink-3);font-size:.59rem;font-style:normal}.group-summary-chevron{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;color:var(--ink-3);font-size:0;transform:rotate(45deg);transition:transform .2s ease}.group-activity-card[open] .group-summary-chevron{transform:rotate(225deg)}.group-card-body{padding:0 14px 15px;display:grid;gap:12px;border-top:1px solid var(--games-divider)}.group-activity-visual{margin:0 -14px;height:clamp(175px,40vw,260px);overflow:hidden;background:var(--surface-dark)}.group-activity-art-img{width:100%;height:100%;object-fit:cover}.group-ui-meta{display:flex;flex-wrap:wrap;gap:6px 12px}.group-ui-meta span{padding:0;border-radius:0;background:transparent;color:var(--ink-2);font-size:.68rem;font-weight:750}.group-stages{display:grid;gap:7px}.group-stage{padding:9px;display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;border:0;border-radius:13px;background:#f4eddeb8}.group-stage.current{background:var(--green-soft);box-shadow:inset 3px 0 #6c8c377a}.group-stage.done{opacity:.72}.group-stage img{width:46px;height:46px;object-fit:contain}.group-stage>span{min-width:0;display:grid}.group-stage em,.group-stage small{color:var(--ink-3);font-size:.65rem;font-style:normal}.group-stage-progress{grid-column:1 / -1;height:5px}.group-option-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.group-option-previews>span{min-width:0;padding:9px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:7px;border:0;border-radius:13px;background:#f4eddeb8}.group-option-previews img{width:40px;height:40px;object-fit:contain;grid-row:1 / 3}.group-option-chip{display:none}.group-option-previews b{font-size:.72rem}.group-option-previews em{color:var(--ink-3);font-size:.61rem;font-style:normal}.group-result-panel{min-height:145px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;isolation:isolate;overflow:hidden;border-radius:17px;background-position:center;background-size:cover;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.68)}.group-result-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#14100be6,#14100b0a 82%)}.group-result-panel b{font-family:var(--display-font);font-size:1.45rem}.group-result-panel p{margin-top:4px;color:#ffffffdb}.group-activity-form{padding-top:3px}.video-backed{position:relative;overflow:hidden;isolation:isolate}.video-backed>*:not(.event-video-bg){position:relative;z-index:1}.event-video-bg,.event-art-bg{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;pointer-events:none;background:var(--games-surface-soft)}.event-video-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fffcf5e0,#fff9edf5)}.event-video-bg img,.event-video-bg video{width:100%;height:100%;object-fit:cover;opacity:.17;filter:saturate(.76) contrast(.92);transform:scale(1.025)}.game-history-panel,.history-stack{min-width:0;display:grid;gap:10px}.game-history-panel>h2{font-size:clamp(1.4rem,5vw,1.8rem)}.history-card{min-width:0;padding:11px;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:11px;border:0;border-radius:17px;background:var(--games-surface);box-shadow:0 6px 18px #352a1c0f,inset 0 0 0 1px #4c3a220f}.history-card>img{width:62px;height:62px;object-fit:contain}.history-card span{color:var(--games-accent-dark);font-size:.61rem;font-weight:850;text-transform:uppercase}.history-card h3{margin-top:2px;font-size:.91rem}.history-card p{margin-top:3px;color:var(--ink-3);font-size:.69rem}.history-card b{display:block;margin-top:5px;color:var(--games-accent-dark);font-size:.72rem}.duel-answer-form,.boss-attack-form,.tug-contribute-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}.boss-hp-meter{height:13px}.tug-meter{min-height:18px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:999px;background:var(--surface-2)}.tug-meter span:first-child{background:#8da84f}.tug-meter span:last-child{background:#b5684f}.native-garden-board{min-width:0;padding:clamp(12px,3vw,18px);display:grid;gap:12px;border-radius:22px;background:var(--games-surface);box-shadow:0 8px 24px #352a1c13}.garden-board-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.garden-cell{min-width:0;min-height:86px;padding:7px;display:grid;place-items:center;border:0;border-radius:13px;background:#f3ecddd1;text-align:center}.garden-cell span,.garden-cell em{font-size:.62rem;font-style:normal;line-height:1.2}.mini-games-panel{min-width:0;padding:0;display:grid;gap:14px;border:0;background:transparent;box-shadow:none}.mini-games-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-games-head h2{font-size:clamp(1.55rem,5vw,2rem)}.mini-games-head p{color:var(--ink-3);font-size:.79rem}.mini-games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.games-view .mini-game-card{min-width:0;padding:13px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:11px;border:0;border-radius:19px;background:var(--games-surface);box-shadow:0 7px 21px #352a1c11,inset 0 0 0 1px #4c3a220f}.mini-game-card>img{width:72px;height:72px;object-fit:contain}.mini-game-card>div{min-width:0}.mini-game-card h3{font-size:.94rem}.mini-game-card p,.mini-game-card small{color:var(--ink-3);font-size:.68rem;line-height:1.35}.mini-game-card>button{grid-column:1 / -1}.mini-leaderboards{display:grid;gap:10px}.mini-leaderboards-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 12px}.mini-leaderboards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-rating-card{min-width:0;padding:13px;border:0;border-radius:17px;background:var(--games-surface);box-shadow:0 6px 19px #352a1c0f,inset 0 0 0 1px #4c3a220f}.mini-rating-card header small{color:var(--ink-3)}.mini-rating-table{margin-top:9px;display:grid}.mini-rating-row{min-width:0;padding:7px 0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:7px;border-top:1px solid var(--games-divider);font-size:.72rem}.mini-rating-row.me{color:var(--games-accent-dark);font-weight:800}.mini-rating-row em{font-style:normal}}@layer utilities{@media (hover: hover) and (pointer: fine){.games-view .game-menu-card:hover,.games-view .games-overview>button:hover{transform:none;background:#e9f1da9e;box-shadow:none}}@media (min-width: 700px){.games-view .games-menu-section>.games-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.games-view .is-core .games-menu-grid{grid-template-columns:1.15fr .85fr}.games-view .is-core .game-menu-card:first-child{grid-column:auto}.games-view .game-menu-card,.games-view .is-core .game-menu-card:first-child{grid-template-columns:64px minmax(0,1fr) 18px}.games-view .games-menu-grid>.game-menu-card:nth-child(2){border-top:0}.games-view .mine-inventory-grid,.games-view .backpack-grid,.games-view .mini-games-grid,.games-view .mini-leaderboards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 699px){.games-view .games-menu-section>.games-menu-grid,.games-view .is-core .games-menu-grid{grid-template-columns:1fr}.games-view .game-menu-card,.games-view .is-core .game-menu-card:first-child{grid-template-columns:64px minmax(0,1fr) 18px}.games-view .mine-inventory-grid,.games-view .backpack-grid,.games-view .mini-games-grid,.games-view .mini-leaderboards-grid{grid-template-columns:1fr}.games-view .backpack-hero{grid-template-columns:78px minmax(0,1fr)}.games-view .backpack-hero>img{width:78px;height:78px}.games-view .backpack-stats{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.games-view .great-build-req{grid-template-columns:58px minmax(0,1fr)}.games-view .great-build-req>form{grid-column:1 / -1}.games-view .great-build-box-grid,.games-view .great-build-slot-grid{grid-template-columns:1fr}.games-view .great-build-box:nth-child(2),.games-view .great-build-slot:nth-child(2){border-top:1px solid var(--games-divider)}}@media (max-width: 619px){.games-view .games-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.games-view .games-overview-live{grid-column:1 / -1;min-height:58px;grid-template-columns:auto auto minmax(0,1fr);column-gap:7px}.games-view .games-overview-live span{grid-column:auto;align-self:center}.games-view .games-overview>button:first-of-type{border-left:0}.games-view .games-section-count em{display:none}.games-view .games-section-count{min-width:30px;max-width:34px}.games-view .group-summary-copy>small{display:block;overflow:visible;-webkit-box-orient:initial;-webkit-line-clamp:initial}}@media (max-width: 540px){.games-view .games-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.games-view .games-overview-live,.games-view .games-overview>button{min-height:74px;padding:9px 10px}.games-view .games-overview>button{grid-template-columns:40px minmax(0,1fr) 9px;gap:7px}.games-view .games-overview-art{width:40px;height:40px}.games-view .games-overview-art img{width:39px;height:39px}.games-view .games-overview-copy em{display:block}.games-view .games-menu-section>.games-section-head{min-height:96px;padding:15px 14px;grid-template-columns:minmax(0,1fr) auto 16px;gap:9px}.games-view .games-menu-section>.games-menu-grid{padding:0 14px 6px}.games-view .games-section-head p{display:block;overflow:visible;-webkit-line-clamp:initial}.games-view .game-menu-card,.games-view .is-core .game-menu-card:first-child{min-height:88px;padding:11px 2px;grid-template-columns:58px minmax(0,1fr) 16px;gap:10px}.games-view .game-menu-art,.games-view .is-core .game-menu-card:first-child .game-menu-art{width:58px;height:58px}.games-view .game-menu-art img,.games-view .is-core .game-menu-card:first-child .game-menu-art img{width:55px;height:55px}.games-view .game-card-head{grid-template-columns:62px minmax(0,1fr);gap:10px}.games-view .game-card-head>img{width:62px;height:62px}.games-view .group-activity-card>summary{grid-template-columns:60px minmax(0,1fr) 17px;gap:9px;min-height:88px}.games-view .group-summary-art{width:60px;height:60px}.games-view .group-summary-meta{display:none}.games-view .group-summary-copy>small{display:block;overflow:visible;-webkit-box-orient:initial;-webkit-line-clamp:initial}.games-view .group-activity-form,.games-view .swamp-route-form{grid-template-columns:1fr}.games-view .group-activity-form>button,.games-view .swamp-route-form>button{width:100%}.games-view .group-option-previews{grid-template-columns:1fr}.games-view .garden-board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 430px){.games-view .games-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.games-view .games-overview-live{grid-column:1 / -1;min-height:58px;grid-template-columns:auto auto minmax(0,1fr);column-gap:7px}.games-view .games-overview-live span{grid-column:auto;align-self:center}.games-view .games-overview>button:first-of-type{border-left:0}.games-view .games-menu-section>.games-section-head{padding-inline:13px}.games-view .games-menu-section>.games-menu-grid{padding-inline:13px}.games-view .backpack-shortcut{grid-template-columns:58px minmax(0,1fr);padding:13px}.games-view .backpack-shortcut img{width:58px;height:58px}.games-view .backpack-shortcut>button{grid-column:1 / -1;width:100%}.games-view .option-grid,.games-view .duel-answer-form,.games-view .boss-attack-form,.games-view .tug-contribute-form{grid-template-columns:1fr}.games-view .duel-answer-form>button,.games-view .boss-attack-form>button,.games-view .tug-contribute-form>button{width:100%}.games-view .activity-backpack-link{align-items:stretch;flex-direction:column}.games-view .activity-backpack-link>button{width:100%}}@media (max-width: 350px){.games-view .game-menu-card,.games-view .is-core .game-menu-card:first-child{grid-template-columns:52px minmax(0,1fr) 14px;gap:8px}.games-view .game-menu-art,.games-view .is-core .game-menu-card:first-child .game-menu-art{width:52px;height:52px;border-radius:14px}.games-view .game-menu-art img,.games-view .is-core .game-menu-card:first-child .game-menu-art img{width:49px;height:49px}.games-view .game-menu-title-line>b,.games-view .is-core .game-menu-card:first-child .game-menu-copy b{font-size:.88rem}.games-view .game-menu-status{font-size:.57rem;letter-spacing:.02em}.games-view .backpack-donate-form,.games-view .great-build-mini-form{grid-template-columns:1fr}.games-view .backpack-donate-form>button,.games-view .great-build-mini-form>button{width:100%}}}

/* source: css/economy.min.css */
@layer screens{.shop-view,.contracts-view,.profile-view{gap:14px}.shop-account-strip,.contract-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden;border-radius:18px;background:#fffcf5c7;box-shadow:var(--shadow-xs)}.shop-account-strip>span,.contract-dashboard>span{min-width:0;min-height:72px;padding:10px 14px;display:flex;align-items:center;gap:8px;border-left:1px solid var(--line)}.shop-account-strip>span:first-child,.contract-dashboard>span:first-child{border-left:0}.shop-account-strip img,.contract-dashboard img{width:48px;height:48px;flex:0 0 auto;object-fit:contain}.shop-account-strip i,.contract-dashboard i{min-width:0;display:grid;font-style:normal}.shop-account-strip b,.contract-dashboard b{color:var(--ink);font-size:1rem;font-variant-numeric:tabular-nums}.shop-account-strip em,.contract-dashboard em{color:var(--ink-3);font-size:.72rem;font-style:normal;line-height:1.2}.gold-sink-pitch{min-height:270px;padding:18px;display:grid;grid-template-columns:100px minmax(0,1fr);grid-template-areas:"art copy" "mini mini" "button button";align-items:center;gap:12px 16px;overflow:hidden;border-radius:var(--radius-lg);background:radial-gradient(circle at 90% 5%,rgba(255,244,191,.9),transparent 34%),linear-gradient(145deg,#fff3c9,#f5e1a0);border:1px solid rgba(176,125,38,.2);box-shadow:var(--shadow-sm)}.gold-sink-pitch>img{grid-area:art;width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 9px 12px rgba(106,71,16,.16))}.gold-sink-copy{grid-area:copy;min-width:0}.gold-sink-copy>span,.toy-raffle-copy>span{color:#8a641f;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.gold-sink-copy h2,.toy-raffle-copy h2{margin-top:4px;font-size:clamp(1.55rem,6vw,2.25rem);line-height:1}.gold-sink-copy p{margin-top:6px;color:#6d5838;font-size:.8rem}.gold-sink-copy>em{display:inline-block;margin-top:9px;padding:6px 9px;border-radius:999px;background:#704d1417;color:#75541d;font-style:normal;font-size:.72rem;font-weight:850}.gold-sink-mini{grid-area:mini;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.gold-sink-mini span{min-width:0;padding:8px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px;align-items:center;border-radius:13px;background:#ffffff7a}.gold-sink-mini img{width:36px;height:36px;grid-row:1 / 3;object-fit:contain}.gold-sink-mini b{font-size:.76rem;line-height:1.15}.gold-sink-mini em{color:#7f6a49;font-size:.68rem;font-style:normal;line-height:1.2}.gold-sink-pitch>.green-btn{grid-area:button;justify-self:end;min-width:150px}.toy-raffle-panel{padding:16px;display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"art copy" "actions actions";gap:12px 15px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,#fffaf0,#f3ead7);box-shadow:var(--shadow-xs)}.toy-raffle-panel.active{border-color:#708f3757;background:linear-gradient(145deg,#eff6e2,#fffaf0)}.toy-raffle-panel>img{grid-area:art;width:96px;height:96px;object-fit:contain}.toy-raffle-copy{grid-area:copy;min-width:0}.toy-raffle-copy p{margin-top:5px;color:var(--ink-2);font-size:.78rem}.toy-raffle-stats{margin-top:9px;display:grid;gap:2px}.toy-raffle-stats b{color:var(--green-3);font-size:.76rem}.toy-raffle-stats em,.toy-raffle-stats span,.toy-raffle-sponsor{color:var(--ink-3);font-size:.66rem;font-style:normal}.toy-raffle-actions{grid-area:actions;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.toy-raffle-pack{min-height:68px;padding:9px;display:grid;align-content:center;gap:2px;border-radius:13px;background:var(--surface);border:1px solid var(--line);text-align:left}.toy-raffle-pack b{font-size:.8rem}.toy-raffle-pack span{color:var(--ink-3);font-size:.7rem;line-height:1.25}.craft-tabs{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top) + 6px);z-index:20;padding:6px;border-radius:15px;background:#fffaf0f0;box-shadow:var(--shadow-xs);backdrop-filter:blur(14px)}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{min-width:0;min-height:260px;padding:0;display:grid;grid-template-rows:126px minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fffcf5f0;box-shadow:var(--shadow-xs);text-align:left}.product-card.gold-sink-product{border-color:#b57e224d;background:linear-gradient(180deg,#fff7d7,#fffaf0 58%)}.product-art{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,var(--surface-2),rgba(255,250,240,.4))}.product-art>img{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(62,42,17,.12))}.shop-item-badge{position:absolute;left:8px;top:8px;padding:5px 8px;border-radius:999px;background:#2d261dd1;color:#fff;font-size:.58rem;font-style:normal;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.product-copy{min-width:0;padding:11px 12px 7px;display:block}.product-copy h3{font-size:.98rem;line-height:1.15;overflow-wrap:normal;word-break:normal}.product-copy p{margin-top:6px;color:var(--ink-3);font-size:.76rem;line-height:1.38;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.product-footer{padding:9px 11px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px}.price-line{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.price-line b{color:var(--gold-2);font-size:.82rem}.price-line s{color:var(--ink-3);font-size:.65rem}.price-tag-icon{width:19px;height:19px;object-fit:contain}.product-footer .card-chevron{font-size:1.2rem}.craft-toy-link{min-height:76px;padding:10px 13px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-align:left}.craft-toy-link img{width:58px;height:58px;object-fit:contain}.craft-toy-link span{min-width:0;display:grid}.craft-toy-link em{color:var(--ink-3);font-size:.7rem;font-style:normal}.contract-tabs{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top) + 6px);z-index:20;padding:6px;border-radius:15px;background:#fffaf0f0;box-shadow:var(--shadow-xs);backdrop-filter:blur(14px)}.contract-list{display:grid;gap:10px}.contract-card{min-width:0;padding:12px;display:grid;grid-template-columns:72px minmax(0,1fr) minmax(110px,auto);align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;background:#fffcf5f0;box-shadow:var(--shadow-xs)}.contract-card.active{border-color:#6f8c3857;background:linear-gradient(140deg,#f0f6e4,#fffaf0)}.contract-card.completed{opacity:.78}.contract-icon{width:72px;height:72px;object-fit:contain}.contract-main{min-width:0}.contract-main h3{font-size:1rem;overflow-wrap:normal;word-break:normal}.contract-main p{margin-top:5px;color:var(--ink-3);font-size:.78rem;line-height:1.38}.contract-rewards{margin-top:8px;display:flex;flex-wrap:wrap;gap:7px}.contract-rewards span{padding:5px 7px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:.64rem}.contract-side{min-width:110px;display:grid;justify-items:end;gap:5px;text-align:right}.contract-progress{font-size:.8rem}.contract-side small{color:var(--ink-3);font-size:.63rem}.contract-cta{min-height:38px;padding:7px 10px;font-size:.68rem}.reference-profile-card{padding:18px;display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;border:0;border-radius:var(--radius-lg);background:#fffcf5f0;box-shadow:var(--shadow-sm)}.reference-profile-avatar{width:112px;height:112px;overflow:hidden;border-radius:30px;background:var(--surface-2);border:3px solid #fff;box-shadow:var(--shadow-sm)}.reference-profile-avatar img{width:100%;height:100%;object-fit:cover}.reference-profile-main{min-width:0}.reference-profile-main h1,.reference-profile-main h2{font-size:clamp(1.8rem,7vw,2.8rem)}.reference-profile-main p{color:var(--ink-3)}.reference-edit{min-width:40px;min-height:40px;margin-top:10px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.reference-profile-metrics{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden;border-top:1px solid var(--line)}.reference-profile-metrics>div{min-height:68px;padding:10px;display:grid;place-content:center;text-align:center;border-left:1px solid var(--line)}.reference-profile-metrics>div:first-child{border-left:0}.reference-profile-metrics img{width:27px;height:27px;margin:0 auto 2px;object-fit:contain}.reference-profile-metrics b{font-size:1rem}.reference-profile-metrics span{color:var(--ink-3);font-size:.72rem}.reference-inventory,.reference-ledger,.toy-avatar-panel{display:grid;gap:11px}.reference-inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profile-item-card{min-width:0;padding:10px;display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;border-bottom:1px solid var(--line);background:transparent}.profile-item-card img{width:54px;height:54px;object-fit:contain;grid-row:1 / 3}.profile-item-card b{min-width:0;align-self:end;font-size:.84rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.profile-item-card span{align-self:start;color:var(--gold-2);font-size:.75rem}.reference-ledger-list{display:grid}.profile-ledger-row{padding:9px 0;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--line)}.profile-ledger-row img{width:28px;height:28px;object-fit:contain}.profile-ledger-row span{min-width:0;line-height:1.25;overflow-wrap:normal;word-break:normal}.profile-ledger-row small{color:var(--ink-3)}.toy-avatar-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.toy-avatar-stats{display:flex;gap:7px}.toy-stat-chip{padding:6px 9px;border-radius:999px;background:var(--surface-2);font-size:.7rem}.toy-avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.toy-avatar-empty{min-height:250px;display:grid;place-items:center;gap:10px;text-align:center}.toy-avatar-empty>img{width:min(240px,72%);max-height:240px;object-fit:contain}.toy-avatar-empty>p{max-width:46ch}.toy-stat-chip{display:inline-flex;align-items:center;gap:5px}.toy-stat-chip img{width:24px;height:24px;object-fit:contain}.toy-avatar-card{padding:8px;display:grid;gap:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:center}.toy-main-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}@media (max-width: 619px){.shop-account-strip,.contract-dashboard{grid-template-columns:1fr}.shop-account-strip>span,.contract-dashboard>span{min-height:56px;padding:7px 10px;border-left:0;border-top:1px solid var(--line)}.shop-account-strip>span:first-child,.contract-dashboard>span:first-child{border-top:0}.shop-account-strip img,.contract-dashboard img{width:40px;height:40px}.gold-sink-pitch{grid-template-columns:76px minmax(0,1fr);padding:14px}.gold-sink-pitch>img{width:76px;height:76px}.gold-sink-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.toy-raffle-actions{grid-template-columns:1fr}.toy-raffle-pack{min-height:54px}.reference-inventory-grid{grid-template-columns:1fr;gap:0}.toy-avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 430px){.shop-view .craft-tabs,.contracts-view .contract-tabs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-right:6px;-webkit-mask-image:none;mask-image:none}.shop-view .craft-tabs button,.contracts-view .contract-tabs button{width:100%;min-width:0}.reference-profile-card{grid-template-columns:78px minmax(0,1fr);padding:14px}.reference-profile-avatar{width:78px;height:78px;border-radius:21px}.reference-profile-metrics{grid-template-columns:1fr}.reference-profile-metrics>div{min-height:50px;grid-template-columns:32px minmax(0,1fr);grid-template-areas:"icon label" "icon value";justify-content:start;gap:8px;border-left:0;border-top:1px solid var(--line);text-align:left}.reference-profile-metrics>div:first-child{border-top:0}.reference-profile-metrics img{grid-area:icon;width:30px;height:30px;margin:0;align-self:center}.reference-profile-metrics span{grid-area:label;align-self:end}.reference-profile-metrics b{grid-area:value;align-self:start}.toy-avatar-head{display:grid;justify-content:stretch;align-items:start}.toy-avatar-head .ghost-btn{width:100%}.toy-avatar-stats{flex-wrap:wrap}}}

/* source: css/community.min.css */
@layer screens{.clan-view,.garden-view,.mail-view,.stargazer-view,.admin-view{gap:14px}.reference-clan-card{padding:15px;display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-areas:"crest head" "metrics metrics";align-items:center;gap:13px 15px;border:0;border-radius:var(--radius-lg);background:linear-gradient(145deg,#ecf4ddf2,#fffaf0f2);box-shadow:var(--shadow-sm)}.clan-crest{grid-area:crest;width:92px;height:92px;display:grid;place-items:center;border-radius:24px;background:#ffffff8c}.clan-crest img{width:86px;height:86px;object-fit:contain}.clan-head{grid-area:head;min-width:0}.clan-head>span{color:var(--green-3);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.clan-head h2{margin-top:3px;font-size:clamp(1.6rem,6vw,2.3rem)}.clan-head p{margin-top:4px;color:var(--ink-3);font-size:.75rem}.clan-metrics{grid-area:metrics;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;border-top:1px solid var(--line)}.clan-metric{min-width:0;min-height:66px;padding:8px;display:grid;place-content:center;text-align:center;border-left:1px solid var(--line)}.clan-metric:first-child{border-left:0}.clan-metric>img{width:25px;height:25px;margin:0 auto 2px;object-fit:contain}.clan-metric>span{color:var(--ink-3);font-size:.68rem}.clan-metric>strong{font-size:.8rem;line-height:1.18;overflow-wrap:normal;word-break:normal}.clan-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clan-hub-card{min-width:0;min-height:94px;position:relative;padding:11px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:9px;border:0;border-radius:17px;background:#fffcf5f0;box-shadow:var(--shadow-xs);text-align:left}.clan-hub-card.attention{border-color:#af79235c;background:linear-gradient(145deg,#fff5ce,#fffaf0)}.clan-hub-card img{width:58px;height:58px;object-fit:contain}.clan-hub-card span{min-width:0;display:grid}.clan-hub-card b{font-size:.86rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.clan-hub-card em{margin-top:3px;color:var(--ink-3);font-size:.72rem;line-height:1.25;font-style:normal;overflow-wrap:normal;word-break:normal}.clan-hub-card>strong{position:absolute;top:8px;right:8px;min-width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:var(--green-soft);color:var(--green-3);font-size:.68rem}.clan-choice-grid{width:100%;display:grid;gap:10px}.clan-choice{padding:11px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left}.clan-choice>img{width:68px;height:68px;object-fit:contain}.clan-choice-text{min-width:0}.clan-choice-text h3{font-size:.92rem}.clan-choice-text p{color:var(--ink-3);font-size:.7rem}.reference-section{display:grid;gap:11px}.reference-section>h2{font-size:1.6rem}.reference-activity{padding:2px 0}.activity-row{padding:8px 0;display:grid;grid-template-columns:46px minmax(0,1fr);gap:9px;align-items:center;border-top:1px solid var(--line)}.activity-row img{width:46px;height:46px;object-fit:contain}.activity-row span{min-width:0;display:grid}.activity-row em{color:var(--ink-3);font-size:.68rem;font-style:normal}.clan-economy-panel,.clan-focus-panel,.clan-donate-panel,.clan-wind-panel{display:grid;gap:12px}.clan-economy-panel p,.clan-focus-panel p,.clan-donate-panel p,.clan-wind-panel p{color:var(--ink-3);font-size:.86rem;line-height:1.45}.economy-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.economy-chip-grid span{min-height:64px;padding:8px;display:grid;place-content:center;text-align:center;border-radius:13px;background:var(--surface-2)}.economy-chip-grid em{color:var(--ink-3);font-size:.7rem;font-style:normal}.economy-chip-grid b{color:var(--green-3)}.focus-bars{display:grid;gap:9px}.focus-bars label{display:grid;gap:5px;color:var(--ink-2);font-size:.72rem;font-weight:800}.focus-bars label>span{height:8px;overflow:hidden;border-radius:99px;background:var(--surface-3)}.focus-bars i{display:block;height:100%;background:var(--green-2)}.donate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.clan-donate-btn{min-width:0;min-height:126px;padding:10px;display:grid;place-items:center;align-content:center;gap:3px}.clan-donate-btn img{width:56px;height:56px;object-fit:contain}.clan-donate-btn b{font-size:.76rem}.clan-donate-btn small{color:#3f2b0fb8;font-size:.6rem}.donate-amount{font-size:.7rem;font-weight:900}.clan-wind-panel{grid-template-columns:82px minmax(0,1fr) auto;align-items:center}.clan-wind-panel>img{width:82px;height:82px;object-fit:contain}.clan-event-card,.clan-task-card,.clan-building-card{padding:12px 2px;display:grid;gap:10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.clan-event-card{grid-template-columns:64px minmax(0,1fr) auto;align-items:center}.clan-event-card>img{width:64px;height:64px;object-fit:contain}.clan-event-body{min-width:0}.clan-event-body p,.clan-task-card p,.clan-building-card p,.benefit-line{color:var(--ink-3);font-size:.77rem;line-height:1.38}.clan-event-meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px;color:var(--ink-2);font-size:.66rem}.clan-task-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.clan-building-card{grid-template-columns:70px minmax(0,1fr) auto;align-items:center}.clan-building-card>img{width:70px;height:70px;object-fit:contain}.clan-building-card h3 span{margin-left:5px;color:var(--green-3);font-size:.6rem;text-transform:uppercase}.building-actions{display:grid;gap:7px}.events-strip{display:flex;gap:8px;overflow-x:auto}.garden-panel,.garden-tab-panel,.spirit-hub{display:grid;gap:12px}.garden-panel.panel{padding:0;border:0;background:transparent;box-shadow:none}.garden-tabs{position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top) + 6px);z-index:20;padding:5px;border-radius:15px;background:#fffaf0f0;box-shadow:var(--shadow-xs)}.garden-panel .tab-body{display:grid;gap:12px}.tab-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.spirit-grid{display:grid;gap:10px}.spirit-card{padding:12px;display:grid;grid-template-columns:82px minmax(0,1fr);gap:11px}.spirit-card>img{width:82px;height:82px;object-fit:contain}.spirit-main{min-width:0}.spirit-title{display:flex;justify-content:space-between;align-items:start;gap:9px}.spirit-title h3{font-size:1rem;overflow-wrap:normal;word-break:normal}.spirit-title span{flex:0 0 auto;color:var(--green-3);font-size:.72rem;font-weight:800}.spirit-main p{margin-top:5px;color:var(--ink-3);font-size:.78rem;line-height:1.4}.spirit-main small{display:block;margin-top:5px;color:var(--ink-3);font-size:.7rem;line-height:1.3}.spirit-actions{margin-top:9px;display:flex;flex-wrap:wrap;gap:7px}.spirit-actions button{min-height:38px;padding:7px 10px;font-size:.68rem}.rare-summon-card{padding:13px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.rare-summon-card img{width:72px;height:72px;object-fit:contain}.captcha-box,.captcha-options{margin-top:8px;display:flex;flex-wrap:wrap;gap:7px}.captcha-options button{min-height:36px;padding:7px 10px;border-radius:10px;background:var(--surface-2)}.fire-spirit-card,.fire-spirit-screen{min-height:420px;overflow:hidden;position:relative;border-radius:var(--radius-lg);background:#211712;color:#fff}.fire-spirit-video,.fire-spirit-screen-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fire-spirit-shade,.fire-spirit-screen-shade{position:absolute;inset:0;background:linear-gradient(0deg,#1f130ef0,#1f130e29)}.fire-spirit-content,.fire-spirit-screen-content{position:relative;min-height:inherit;padding:20px;display:flex;flex-direction:column;justify-content:flex-end}.fire-spirit-card-icon{width:66px;height:66px;object-fit:contain}.fire-spirit-kicker{display:flex;align-items:center;gap:7px;color:#f0cf8c;font-size:.68rem;font-weight:900;text-transform:uppercase}.fire-spirit-kicker img{width:28px;height:28px;object-fit:contain}.fire-spirit-content h3{margin-top:7px;font-family:var(--display-font);font-size:2rem}.fire-spirit-content p{margin-top:6px;max-width:56ch;color:#ffffffd1;font-size:.8rem}.fire-wish-input{margin-top:13px;display:grid;gap:6px}.fire-wish-input textarea{background:#ffffffe0;color:var(--ink)}.fire-wish-input em{text-align:right;color:#ffffffa6;font-size:.68rem}.fire-wish-sent{margin-top:13px;padding:11px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;border-radius:14px;background:#ffffff1f}.fire-wish-sent img{width:48px;height:48px;object-fit:contain}.chat-only-view{min-height:calc(100dvh - var(--topbar-h) - var(--nav-h) - 50px);grid-template-rows:auto minmax(260px,1fr) auto auto;position:relative}.chat-close-btn{justify-self:end;width:40px;height:40px;border-radius:50%;background:var(--surface-2);font-size:1.3rem}.chat-messages{min-height:340px;max-height:calc(100dvh - 255px);padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fffcf5c7}.chat-message-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:end;gap:7px}.chat-message-row.mine{grid-template-columns:minmax(0,1fr) 34px}.chat-message-row.mine .chat-avatar{grid-column:2}.chat-message-row.mine .chat-bubble{grid-column:1;grid-row:1;justify-self:end;background:var(--green-soft)}.chat-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--ink-2);font-weight:900}.chat-bubble{max-width:min(86%,530px);padding:9px 11px;border-radius:14px 14px 14px 4px;background:#fff;border:1px solid var(--line)}.chat-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 10px;color:var(--ink-3);font-size:.69rem}.chat-meta b{min-width:0;color:var(--ink-2);overflow-wrap:anywhere;word-break:break-word}.chat-text{margin-top:3px;overflow-wrap:break-word;word-break:normal;font-size:.86rem}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.chat-form textarea{min-height:46px;max-height:120px}.mail-panel{display:grid;gap:12px}.mail-board-head{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px}.mail-board-head>img{width:76px;height:76px;object-fit:contain}.mail-board-head span{color:var(--green-3);font-size:.65rem;font-weight:900;text-transform:uppercase}.mail-board-head p{color:var(--ink-3);font-size:.72rem}.mail-list{display:grid;gap:9px}.mail-row{padding:11px 2px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;border-bottom:1px solid var(--line);background:transparent}.mail-row.unread{border-color:#6c8c3759;background:linear-gradient(140deg,#f1f7e7,#fffaf0)}.mail-stamp{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:var(--surface-2)}.mail-stamp img{width:48px;height:48px;object-fit:contain}.mail-body{min-width:0}.mail-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 10px}.mail-meta h3{font-size:.92rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.mail-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.mail-time,.mail-state{padding:4px 6px;border-radius:8px;background:var(--surface-2);color:var(--ink-3);font-size:.66rem}.mail-state.is-unread{background:var(--green-soft);color:var(--green-3)}.mail-copy{margin-top:6px;color:var(--ink-2);font-size:.8rem;line-height:1.4;overflow-wrap:break-word;word-break:normal}.mail-image{margin-top:8px;width:100%;max-height:280px;object-fit:cover;border-radius:12px}.mail-actions{margin-top:8px}.page-hero,.reference-stargazer-hero{overflow:hidden;min-height:210px;position:relative;border-radius:var(--radius-lg);background:var(--surface-dark);color:#fff}.page-hero>img,.reference-stargazer-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.stargazer-riddle-list{display:grid;gap:9px}.riddle-card,.stargazer-riddle-list-item{min-width:0;padding:10px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-align:left}.riddle-card>img,.stargazer-riddle-list-item>img{width:72px;height:72px;object-fit:cover;border-radius:13px}.riddle-card p,.stargazer-riddle-list-copy p{color:var(--ink-3);font-size:.76rem;line-height:1.35}.riddle-time{min-width:72px;text-align:right;color:var(--green-3);font-size:.76rem}.stargazer-featured-riddle,.reference-riddle-detail{padding:15px 0;display:grid;gap:12px;border:0;background:transparent}.detail-visual{width:100%;max-height:340px;object-fit:cover;border-radius:18px}.parchment,.reference-riddle-parchment{padding:18px;border-radius:18px;background:#fff5d7;border:0}.answer-form{display:grid;gap:9px}.answer-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-grid{display:grid;gap:12px}.slot-row{display:flex;flex-wrap:wrap;gap:7px}.slot{min-width:42px;height:42px;border-radius:11px;background:var(--surface-2)}.slot.active{background:var(--green-2);color:#fff}.rich-toolbar{display:flex;flex-wrap:wrap;gap:5px}.rich-toolbar button{min-width:36px;height:36px;border-radius:9px;background:var(--surface-2)}.admin-table{display:grid;gap:8px}.admin-row{padding:10px 2px;display:grid;grid-template-columns:34px 54px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;border-bottom:1px solid var(--line);background:transparent}.admin-row>img{width:54px;height:54px;object-fit:cover;border-radius:10px}.admin-row p{color:var(--ink-3);font-size:.72rem;line-height:1.3}.file-label{min-height:36px;padding:7px 10px;display:inline-flex;align-items:center;border-radius:10px;background:var(--surface-2);font-size:.7rem;font-weight:800}.file-label input{display:none}@media (max-width: 620px){.reference-clan-card{grid-template-columns:78px minmax(0,1fr);padding:14px}.clan-crest{width:78px;height:78px;border-radius:20px}.clan-crest img{width:72px;height:72px}.clan-hub-card{min-height:92px;padding:10px 2px;grid-template-columns:56px minmax(0,1fr);align-content:center;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.clan-hub-card img{width:48px;height:48px}.clan-hub-card.attention{border-color:#af792347;background:linear-gradient(90deg,rgba(255,245,206,.7),transparent)}.clan-event-card,.clan-building-card{grid-template-columns:58px minmax(0,1fr)}.clan-event-card>button,.building-actions{grid-column:1 / -1;justify-self:stretch}.clan-event-card>button{width:100%}.spirit-card{grid-template-columns:68px minmax(0,1fr)}.spirit-card>img{width:68px;height:68px}.stargazer-riddle-list-item{grid-template-columns:64px minmax(0,1fr)}.stargazer-riddle-list-item>img{width:64px;height:64px}.stargazer-riddle-list-item>button{grid-column:1 / -1;width:100%}.admin-row{position:relative;grid-template-columns:34px 54px minmax(0,1fr);padding-right:44px;align-items:start}.admin-row>.hide-sm{display:none}.admin-row>.menu-btn{position:absolute;top:10px;right:2px;width:38px;height:38px}}@media (max-width: 390px){.clan-hub-grid{grid-template-columns:1fr}.clan-hub-card{min-height:84px}.clan-metric>span{font-size:.63rem}.clan-metric>strong{font-size:.76rem}}@media (max-width: 430px){.chat-form{grid-template-columns:1fr}.chat-form textarea{min-height:64px}.chat-form .green-btn{width:100%}}}

/* source: css/minigames.min.css */
@layer screens{.mini-game-fullscreen{position:fixed;inset:0;z-index:300;width:100%;min-height:100dvh;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));display:grid;place-items:center;overflow:auto;background:#17140f;color:#fff}.mini-game-bg{position:fixed;inset:0;z-index:-2}.mini-game-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,#18140e4d,#120f0beb);backdrop-filter:blur(3px)}.mini-game-bg img{width:100%;height:100%;object-fit:cover;opacity:.55}.mini-float-back{position:fixed;z-index:4;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#ffffff21;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1.8rem;backdrop-filter:blur(12px)}.mini-game-stage{width:min(100%,680px);min-height:0;display:grid;place-items:center}.mini-card{width:min(100%,620px);padding:clamp(14px,3vw,22px);display:grid;gap:14px;border-radius:26px;background:#fffaf0f5;color:var(--ink);border:1px solid rgba(255,255,255,.3);box-shadow:0 28px 80px #00000059;backdrop-filter:blur(18px)}.mini-loading{min-height:220px;place-content:center;grid-template-columns:repeat(3,12px)}.mini-loader-dot{width:11px;height:11px;border-radius:50%;background:var(--green);animation:orb 1s infinite ease-in-out}.mini-loader-dot:nth-child(2){animation-delay:.14s}.mini-loader-dot:nth-child(3){animation-delay:.28s}.mini-hud,.maze-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mini-hud,.maze-hud{overflow:hidden;border-radius:15px;background:var(--surface-2)}.mini-hud>span,.maze-hud>span,.maze-size-switch{min-width:0;min-height:58px;padding:8px;display:grid;place-content:center;text-align:center;border:0;border-left:1px solid var(--line);background:transparent}.mini-hud>span:first-child,.maze-hud>span:first-child{border-left:0}.mini-hud b,.maze-hud b{font-size:.92rem;line-height:1}.mini-hud em,.maze-hud em{margin-top:4px;color:var(--ink-3);font-size:.65rem;line-height:1.2;font-style:normal}.mini-lives b{color:#b95348;letter-spacing:.05em}.mini-status{min-height:55px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:14px;background:var(--surface-2);color:var(--ink-2);font-size:.78rem}.mini-status b{color:var(--green-3);font-size:1rem}.mini-status em{color:var(--ink-3);font-size:.65rem;font-style:normal}.mini-bottom-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mini-bottom-actions>button{min-width:0}.balda-board{width:min(100%,430px);aspect-ratio:1;margin-inline:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.balda-cell{min-width:0;aspect-ratio:1;display:grid;place-items:center;position:relative;border-radius:14px;border:1px solid var(--line-strong);background:linear-gradient(180deg,#fffdf6,#eee3ce);color:var(--ink);font-family:var(--display-font);font-size:clamp(1.1rem,5.4vw,1.75rem);font-weight:900;text-transform:uppercase;box-shadow:0 3px 8px #34281814}.balda-cell.playable{border-style:dashed;background:#f1f6e6}.balda-cell.selected{background:var(--green);color:#fff;border-color:var(--green-3);transform:translateY(-1px)}.balda-cell.new{box-shadow:0 0 0 3px #d3a13b5c}.balda-cell i{position:absolute;right:4px;top:3px;font-family:var(--ui-font);font-size:.5rem;font-style:normal;opacity:.7}.balda-wordline{flex-direction:column;text-align:center}.balda-wordline span{color:var(--ink-3);font-size:.7rem}.word-board{display:grid;gap:6px;width:min(100%,430px);margin-inline:auto}.word-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.word-row>span,.word-cell{min-width:0;aspect-ratio:1;display:grid;place-items:center;border-radius:13px;background:#fffdf8;border:2px solid var(--surface-3);font-size:clamp(1.05rem,5vw,1.65rem);font-weight:900;text-transform:uppercase}.word-row.active>span,.word-row.active .word-cell{border-color:#7f9d4573}.word-cell.cursor{box-shadow:0 0 0 3px #7f9d4540;border-color:var(--green)}.word-row .correct,.word-row .right{background:#7f9d45;color:#fff;border-color:#668332}.word-row .present,.word-row .place{background:#d3a13b;color:#fff;border-color:#b77a1f}.word-row .absent,.word-row .wrong{background:#8a8379;color:#fff;border-color:#716a61}.word-message{text-align:center}.mini-letter-picker-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:end center;background:#14110c94;backdrop-filter:blur(5px)}.mini-letter-picker{width:min(100%,620px);max-height:82dvh;overflow:auto;padding:16px 16px max(16px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -20px 55px #00000040}.mini-letter-picker>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mini-letter-picker>header button{width:40px;height:40px;border-radius:12px;background:var(--surface-2)}.mini-letter-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.mini-letter-grid button{min-width:0;min-height:44px;border-radius:11px;background:var(--surface-2);border:1px solid var(--line);font-weight:850;text-transform:uppercase}.maze-game{width:min(100%,650px)}.maze-hud{grid-template-columns:1.35fr 1fr 1fr 1fr}.maze-size-switch{grid-template-columns:repeat(2,1fr);align-items:center;padding:4px}.maze-size-switch button{min-height:38px;border-radius:10px;background:transparent;font-weight:850}.maze-size-switch button.active{background:var(--green-2);color:#fff}.maze-board{--maze-gap:4px;width:min(100%,470px);aspect-ratio:1;margin-inline:auto;padding:7px;display:grid;grid-template-columns:repeat(var(--maze-size,5),1fr);gap:var(--maze-gap);border-radius:21px;background:#1a1610e6;box-shadow:inset 0 0 0 1px #ffffff14,0 16px 38px #20180e2e;touch-action:none}.maze-cell{min-width:0;aspect-ratio:1;padding:0;display:grid;place-items:center;overflow:hidden;border-radius:7px;background-position:center;background-size:cover;position:relative}.maze-cell>span{width:100%;height:100%;display:grid;place-items:center;background:#ffffff05}.maze-cell.current{box-shadow:0 0 0 3px #f2d26e,0 0 18px #f2d26ebf;z-index:2}.maze-cell.step-ready{cursor:pointer}.maze-cell.unknown{background:radial-gradient(circle,#4a463f,#24211d);opacity:.8}.maze-cell.void{background:transparent}.maze-icon{width:58%;height:58%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}.maze-message{flex-wrap:wrap}.maze-controls button[data-maze-move]{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:13px;font-weight:850}.mini-claim{padding:12px 2px;display:grid;gap:4px;border-block:1px solid var(--line);background:transparent}.mini-claim.ready{background:var(--green-soft)}.mini-claim.success{background:#e5f2df}.mini-claim.locked{background:var(--danger-soft)}.mini-claim span{color:var(--ink-3);font-size:.72rem}@media (max-width: 420px){.mini-game-fullscreen{padding-inline:10px}.mini-card{padding:12px;border-radius:22px}.mini-hud,.maze-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-hud>span:nth-child(odd),.maze-hud>span:nth-child(odd){border-left:0}.mini-hud>span:nth-child(n+3),.maze-hud>span:nth-child(n+3),.maze-size-switch{border-top:1px solid var(--line)}.mini-status{align-items:flex-start;flex-direction:column}.mini-letter-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}}

/* source: css/overlays.min.css */
@layer components{.resource-pill-icon{width:24px;height:24px;flex:0 0 auto;object-fit:contain}.bell>img{width:27px;height:27px;object-fit:contain}.app-panel{min-width:0;display:grid;gap:clamp(16px,3vw,22px)}.app-panel>*{min-width:0;max-width:100%}.app-panel-head{min-height:82px;padding-right:44px;display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:12px}.app-panel-head>img{width:66px;height:66px;object-fit:contain}.app-panel-head>div{min-width:0}.app-panel-head h2{font-size:clamp(1.55rem,6vw,2.2rem);line-height:1}.app-panel-head p{margin-top:6px;color:var(--ink-3);font-size:.82rem;line-height:1.4}.modal-story-hero{min-height:150px;padding:16px 54px 16px 16px;overflow:hidden;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:14px;border-radius:22px;background:radial-gradient(circle at 8% 0%,rgba(255,255,255,.72),transparent 42%),linear-gradient(145deg,#e9f1d8,#f8eed9);border:0;box-shadow:inset 0 0 0 1px #4c5e2b12}.modal-story-hero>img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(55,39,18,.14))}.modal-story-hero>div{min-width:0}.modal-story-hero span{color:var(--green-3);font-size:.65rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.modal-story-hero h2{margin-top:4px;font-size:clamp(1.65rem,7vw,2.4rem);line-height:1}.modal-story-hero p{margin-top:7px;color:var(--ink-2);font-size:.84rem;line-height:1.45}.modal-story-hero.empty-illustration>img{opacity:.85}.app-mini-grid>div,.resource-detail-stats>div{min-height:72px;padding:10px;display:grid;place-content:center;text-align:center;border-radius:14px;background:#f4ecdcbd;border:0}.app-mini-grid>div b{color:var(--green-3);font-size:1.08rem}.app-mini-grid>div span{color:var(--ink-3);font-size:.65rem}.app-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.balance-big{min-height:80px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:18px;background:linear-gradient(135deg,#fff1bb,#f4df9e);border:0;box-shadow:inset 0 0 0 1px #a8731f1a}.balance-big span{color:#76531d;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.balance-big strong{color:#5a3c0f;font-size:clamp(1.25rem,6vw,1.75rem)}.stars-gold-card{padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.stars-gold-card p{margin-top:4px;color:var(--ink-2);font-size:.76rem}.stars-limit{display:block;margin-top:6px;color:var(--ink-3);font-size:.65rem}.inventory-row,.modal-inventory{display:flex;flex-wrap:wrap;gap:7px}.inventory-chip{padding:7px 10px;border:0;border-radius:999px;background:var(--surface-2);font-size:.72rem}.modal-list,.leader-list,.clan-event-grid,.clan-task-list,.clan-building-list{display:grid;gap:8px}.modal-list-line,.leader-row,.list-line{min-height:44px;padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border-radius:11px;background:var(--surface-2);font-size:.78rem}.leader-row{grid-template-columns:26px 38px minmax(0,1fr) auto}.leader-row>img{width:38px;height:38px;object-fit:cover;border-radius:11px}.leader-row>span{min-width:0;display:grid}.leader-row>span>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-row small{color:var(--ink-3)}.leader-row em{font-style:normal;color:var(--ink-3)}.action-result-panel{gap:10px;justify-items:center;text-align:center}.action-result-panel h2{font-size:clamp(1.7rem,7vw,2.15rem);line-height:1}.action-result-panel>p{max-width:42ch;color:var(--ink-2);font-size:.94rem;line-height:1.5}.action-result-panel>.green-btn{min-width:142px}.result-visual{width:94px;height:94px;display:grid;place-items:center;border-radius:25px;background:linear-gradient(145deg,#eff6df,#e3edcf);box-shadow:0 10px 24px #4960261f}.result-icon{width:84px;height:84px;object-fit:contain}.result-dice{width:82px;height:82px;display:grid;place-items:center;position:relative;font-size:3.1rem}.result-dice b{position:absolute;right:-4px;bottom:-4px;min-width:29px;height:29px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--green-3);font-size:.78rem}.action-result-panel.danger .result-visual{background:var(--danger-soft)}.group-result-window{gap:9px}.group-result-bg{width:100%;height:142px;object-fit:cover;object-position:center 42%;border-radius:18px}.group-result-window .result-visual{width:82px;height:82px;margin-top:-50px;position:relative;border:5px solid var(--surface);border-radius:50%;background:#f8e7a7;box-shadow:var(--shadow-sm)}.group-result-window .result-icon{width:68px;height:68px}.events-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.events-tabs::-webkit-scrollbar{display:none}.events-tabs button{min-height:44px;flex:0 0 auto;padding:9px 12px;border-radius:12px;background:var(--surface-2);color:var(--ink-2);font-size:.74rem;font-weight:800}.events-tabs button.active{color:#fff;background:var(--green-2)}.events-tabs button b{margin-left:3px}.event-tab-panel{display:none}.event-tab-panel.active{display:block}.modal-event-list{display:grid;gap:8px}.modal-event-row{min-width:0;padding:9px;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:14px;background:#f4ecdc8f}.modal-event-row>img{width:56px;height:56px;object-fit:contain;border-radius:12px;background:var(--surface-2)}.modal-event-row>div{min-width:0}.modal-event-row h3{font-size:.84rem}.modal-event-row p{margin-top:2px;color:var(--ink-3);font-size:.68rem}.modal-event-row small{display:block;margin-top:4px;color:var(--green-3);font-size:.64rem}.modal-event-row button{min-height:42px;padding:8px 11px;font-size:.72rem}.guide-status-row,.toy-flow-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.guide-status-row article,.toy-flow-status article{min-width:0;min-height:96px;padding:10px;display:grid;justify-items:center;align-content:center;text-align:center;border:0;border-radius:14px;background:#f4ecdcc2}.guide-status-row img,.toy-flow-status img{width:44px;height:44px;object-fit:contain}.guide-status-row b,.toy-flow-status b{font-size:.75rem}.guide-status-row span,.toy-flow-status span{color:var(--ink-3);font-size:.62rem}.guide-steps{display:grid;gap:7px}.guide-steps article{padding:9px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;border-radius:13px;background:var(--surface-2)}.guide-steps article>b{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--green-2)}.guide-steps h3{font-size:.82rem}.guide-steps p{color:var(--ink-3);font-size:.67rem}.mini-rule-chips{display:grid;gap:7px}.mini-rule-chips article{padding:9px 11px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;border-radius:12px;background:var(--surface-2)}.mini-rule-chips article b{color:var(--green-3);font-size:.75rem}.mini-rule-chips article span{font-size:.78rem}.toy-create-form,.toy-field,.toy-status{display:grid;gap:9px}.toy-status{padding:10px;border-radius:12px;background:var(--surface-2)}.shop-sink-note,.resource-detail-note{padding:11px;display:grid;gap:3px;border-radius:13px;background:var(--gold-soft);color:#684c1c}.shop-sink-note span,.resource-detail-note{font-size:.74rem}.event-mini{min-width:124px;min-height:92px;padding:9px;flex:0 0 144px;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:7px;text-align:left;border:0;border-radius:15px;background:#fffcf59e}.event-mini img{width:44px;height:44px;object-fit:contain;grid-row:1 / 3}.event-mini b{font-size:.73rem;line-height:1.15}.event-mini span{color:var(--green-3);font-size:.62rem}.simple-event{min-width:0;padding:10px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-radius:15px;background:#fffcf59e}.simple-event>img{width:58px;height:58px;object-fit:contain}.simple-event>div{min-width:0}.simple-event h3{font-size:.85rem}.simple-event p{color:var(--ink-3);font-size:.69rem}.simple-event b{color:var(--green-3);font-size:.65rem}.profile-link,.camp-stargazer-topline{min-width:0;min-height:76px;padding:10px 12px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;text-align:left}.profile-link>img,.camp-stargazer-topline>img{width:54px;height:54px;object-fit:contain}.profile-link>span,.camp-stargazer-topline>span{min-width:0;display:grid}.profile-link h3,.camp-stargazer-topline b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.profile-link p,.camp-stargazer-topline small{color:var(--ink-3);font-size:.68rem}.camp-stargazer-topline em{color:var(--green-3);font-size:.62rem;font-style:normal;font-weight:900;text-transform:uppercase}.info-line{padding:9px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;border-radius:13px;background:var(--surface-2)}.info-line img{width:42px;height:42px;object-fit:contain}.info-line span{min-width:0;display:grid}.info-line em{color:var(--ink-3);font-size:.65rem;font-style:normal}.agreement-lock{overflow:hidden}.agreement-gate,.agreement-confirm{position:fixed;inset:0;z-index:900;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;background:#191510bd;backdrop-filter:blur(8px)}.agreement-card{width:min(100%,620px);max-height:min(88dvh,760px);padding:20px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;overflow:hidden;border-radius:24px;background:var(--surface);box-shadow:var(--shadow-md)}.agreement-title-row{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:12px}.agreement-icon{width:68px;height:68px;object-fit:contain}.agreement-title-row h2{font-size:1.7rem;line-height:1}.agreement-lead{margin-top:4px;color:var(--ink-3);font-size:.76rem}.agreement-scroll{min-height:0;overflow:auto;padding:14px 16px;border:0;border-radius:15px;background:#f4ecdca8}.agreement-scroll ul{margin:0;padding-left:20px;display:grid;gap:8px}.agreement-scroll li{color:var(--ink-2);font-size:.78rem}.agreement-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.agreement-confirm-card{width:min(100%,390px);padding:22px;display:grid;gap:12px;text-align:center;border-radius:22px;background:var(--surface);box-shadow:var(--shadow-md)}.agreement-confirm-card h3{font-size:1.25rem}.duel-card,.quiz-card,.live-quiz-card,.wagon-card,.wagon-private-card,.quick-card,.tug-card,.boss-card,.game-result,.feature-card{min-width:0;padding:14px;display:grid;gap:11px;border:0;border-radius:var(--radius);background:#fffcf5b8;box-shadow:none}.game-result.good{background:var(--green-soft)}.game-result.bad{background:var(--danger-soft)}.game-history-panel,.compact-history,.event-list,.compact-list{display:grid;gap:9px}.info-line,.game-result p{color:var(--ink-2);font-size:.8rem}.dice-roll-badge{width:fit-content;padding:7px 10px;border-radius:999px;background:var(--gold-soft);color:#6c4d18;font-weight:850}.admin-raffle-panel,.admin-announcement,.admin-answers{padding:15px;display:grid;gap:12px;border:0;border-radius:var(--radius);background:#f4ecdc94}.admin-raffle-head{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:11px}.admin-raffle-head>img{width:58px;height:58px;object-fit:contain}.admin-raffle-head>div{min-width:0}.admin-raffle-head p{margin-top:3px;color:var(--ink-3);font-size:.76rem;line-height:1.4}.admin-raffle-state{padding:7px 9px;border-radius:10px;background:var(--green-soft);color:var(--green-3);font-size:.7rem;font-weight:850}.admin-raffle-actions,.upload-row,.answer-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.answer-table{display:grid;gap:7px}.answer-row{padding:9px;border-radius:12px;background:var(--surface-2)}.answer-field,.rich-field,.announcement-file{display:grid;gap:6px}.upload-status{color:var(--ink-3);font-size:.7rem}}@layer screens{.camp-view,.clan-hub-view,.reference-clan-view,.reference-profile-view,.reference-stargazer-view,.stargazer-list-only-view,.auth-view,.backpack-route-view,.build-route-view,.fire-spirit-screen-wrap{min-width:0}.games-menu-section{display:block;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.games-menu-section>.games-section-head{min-height:82px;padding:5px 2px 12px;cursor:pointer;border-bottom:1px solid rgba(71,52,29,.08)}.games-menu-section>.games-menu-grid{padding:14px 0 0}.games-section-chevron{flex:0 0 auto;color:var(--ink-3);font-style:normal;transition:transform .2s}.games-menu-section[open] .games-section-chevron{transform:rotate(180deg)}.group-activities-panel{gap:9px}.group-activities-head{min-height:52px;padding:0 3px}.group-activities-head>div>span{margin-bottom:2px;color:var(--green-3)}.group-activities-head p{max-width:56ch}.group-activity-card>summary{min-height:88px;padding:8px 10px;grid-template-columns:62px minmax(0,1fr) auto 18px}.group-summary-art{width:62px;height:62px;border-radius:14px}.group-result-panel{min-height:145px;padding:18px;position:relative;isolation:isolate;overflow:hidden;justify-content:flex-end;text-shadow:0 2px 6px rgba(0,0,0,.7);background-position:center}.group-result-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#14100beb,#14100b14 82%)}.group-result-panel b,.group-result-panel p{position:relative}.group-result-panel p{max-width:52ch}.reference-stargazer-hero{min-height:220px;padding:22px;display:flex;align-items:flex-end;background-image:linear-gradient(0deg,#14110ce0,#14110c14 80%),var(--hero-bg);background-size:cover;background-position:center}.reference-stargazer-hero>div{position:relative;z-index:1}.reference-stargazer-hero h1{font-size:clamp(2rem,8vw,3.2rem);line-height:.94}.reference-stargazer-hero p{margin-top:7px;color:#fffc}.stargazer-actions{display:flex;flex-wrap:wrap;gap:8px}.featured-riddle-copy{display:grid;gap:8px}.featured-riddle-copy>span{color:var(--green-3);font-size:.68rem;font-weight:900;text-transform:uppercase}.featured-riddle-timer{color:var(--ink-3);font-size:.74rem}.riddle-detail{display:grid;gap:12px}.back-title{display:flex;align-items:center;gap:10px}.back-title .back-btn{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px #47341d14;font-size:1.45rem}.detail-visual{width:100%;max-height:none;aspect-ratio:16 / 9;overflow:hidden;position:relative;border-radius:18px;background:var(--surface-dark)}.detail-visual>img{width:100%;height:100%;object-fit:cover}.detail-visual>.full-btn{position:absolute;right:10px;bottom:10px;width:auto;min-height:44px;padding:8px 12px;border-radius:12px;color:#fff;background:#191510c2;backdrop-filter:blur(6px)}.riddle-detail-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.riddle-detail-head h1{font-size:clamp(1.8rem,7vw,2.7rem)}.riddle-text{color:var(--ink-2)}.typo-hint,.result-message{padding:9px 10px;border-radius:11px;background:#ffffff8c;color:var(--ink-3);font-size:.72rem}.fire-spirit-panel,.fire-spirit-screen-wrap{display:grid;gap:13px}.fire-spirit-screen{min-height:min(620px,calc(100dvh - var(--topbar-h) - var(--nav-h) - 54px))}.fire-spirit-screen-topline,.fire-spirit-title-row,.fire-spirit-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.fire-spirit-title-row>img{width:72px;height:72px;flex:0 0 auto;object-fit:contain}.fire-spirit-title-row h1{font-size:clamp(2.3rem,10vw,4.5rem);line-height:.92}.fire-spirit-lead{color:#ffffffd1}.fire-spirit-status-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fire-spirit-status-cards>*{min-width:0;padding:9px;display:grid;justify-items:center;text-align:center;border-radius:12px;background:#ffffff1f}.fire-spirit-status-cards img{width:42px;height:42px;object-fit:contain}.fire-spirit-status-cards span{color:#ffffffad;font-size:.62rem}.fire-spirit-status-cards b{font-size:.68rem}.fire-spirit-screen .fire-spirit-panel{padding:13px;border-color:#ffffff29;background:#18130ebd;color:#fff;backdrop-filter:blur(10px)}.fire-spirit-rule-strip{padding:10px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;border-radius:13px;background:#ffffff1a;color:#ffffffc7;font-size:.73rem}.swamp-route-form{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.swamp-route-form label{display:grid;gap:5px}.swamp-route-form label>span{color:#fffc;font-size:.7rem;font-weight:800}.resource-empty-state{min-height:160px;display:grid;place-content:center;justify-items:center;gap:9px;text-align:center}.resource-empty-state img{width:92px;height:92px;object-fit:contain}.resource-empty-state p{max-width:44ch;color:var(--ink-3)}.mini-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px}.mini-toolbar .back-btn,.mini-toolbar .menu-btn,.jump-btn{min-height:44px;padding:9px 12px;border-radius:12px;background:var(--surface-2);font-weight:800}.back-title{min-width:0}.back-title h1{font-size:1.55rem}.maze-board-viewport{width:100%;overflow:auto;overscroll-behavior:contain}.maze-controls-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.maze-swipe-hint{text-align:center;color:var(--ink-3);font-size:.7rem}.clean-mini-game,.balda-game,.word-game{margin-inline:auto}.balda-actions,.word-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.word-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.balda-reward-progress{font-size:.7rem}.chat-bottom-form{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);z-index:6;padding:10px;margin:-10px;border:0;border-radius:18px;background:#fffaf0f5;box-shadow:0 -8px 26px #372b1c1a;backdrop-filter:blur(12px)}body.no-bottom-nav .chat-bottom-form{bottom:calc(env(safe-area-inset-bottom) + 8px)}}@layer utilities{@media (min-width: 900px){.screen{padding:24px clamp(28px,4vw,48px) 136px}.bottom-nav{width:min(calc(100% - 48px),680px);bottom:18px;border:0;border-radius:22px;padding-bottom:8px}.reference-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-action-card:nth-child(3){grid-column:auto;min-height:116px}.games-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.is-core .games-menu-grid{grid-template-columns:1.35fr .85fr}.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reference-inventory-grid,.mine-inventory-grid,.backpack-grid,.clan-hub-grid,.group-option-previews,.mini-games-grid,.mini-leaderboards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 540px){.app-dialog{width:calc(100% - 12px);max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)))}.app-dialog-card{max-height:inherit;padding:18px;border-radius:25px;overscroll-behavior:contain}.app-dialog-close{position:absolute;float:none;top:10px;right:10px;margin:0;width:42px;height:42px}.app-panel{gap:16px}.admin-raffle-head{grid-template-columns:50px minmax(0,1fr)}.admin-raffle-head>img{width:50px;height:50px}.modal-story-hero{min-height:132px;padding:14px 48px 14px 12px;grid-template-columns:84px minmax(0,1fr);gap:11px;border-radius:19px}.modal-story-hero>img{width:84px;height:84px}.modal-story-hero h2{font-size:1.65rem}.modal-story-hero p{font-size:.78rem}.app-panel-head{min-height:64px;padding-right:40px;grid-template-columns:54px minmax(0,1fr);gap:9px}.app-panel-head>img{width:54px;height:54px}.app-panel-head h2{font-size:1.5rem}.group-result-bg{height:132px}.group-result-window .result-visual{margin-top:-46px}.group-result-window>p{font-size:.82rem}.stars-gold-card{grid-template-columns:1fr}.stars-gold-card .green-btn{width:100%}.modal-event-row{grid-template-columns:48px minmax(0,1fr)}.modal-event-row>img{width:48px;height:48px}.modal-event-row>button{grid-column:1 / -1;justify-self:end}.games-menu-section>.games-section-head{min-height:76px;padding:4px 1px 11px}.games-menu-section>.games-menu-grid{padding:12px 0 0}.games-section-head p{display:block;overflow:visible}.group-summary-meta{display:none}.group-activity-card>summary{grid-template-columns:58px minmax(0,1fr) 18px;gap:8px;min-height:82px}.group-summary-art{width:58px;height:58px}.group-summary-copy>small{-webkit-line-clamp:2}.group-activity-form,.swamp-route-form{grid-template-columns:1fr}.group-activity-form>button,.swamp-route-form>button{width:100%}.group-card-body{padding-inline:10px}.group-activity-visual{margin-inline:-10px;height:172px}.agreement-card{padding:15px;border-radius:20px}.agreement-title-row{grid-template-columns:54px minmax(0,1fr)}.agreement-icon{width:54px;height:54px}.agreement-title-row h2{font-size:1.42rem}.agreement-actions .green-btn{width:100%}.stargazer-riddle-list-item{grid-template-columns:62px minmax(0,1fr)}.stargazer-riddle-list-item>img{width:62px;height:62px}.stargazer-riddle-list-item>button{grid-column:1 / -1;justify-self:end}.riddle-detail-head{display:grid}.riddle-detail-head .jump-btn{justify-self:start}.fire-spirit-status-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.fire-spirit-status-cards>*{padding:6px 4px}.fire-spirit-status-cards img{width:34px;height:34px}.fire-spirit-status-cards b{font-size:.58rem}}@media (max-width: 390px){.topbar{grid-template-columns:42px minmax(0,1fr) auto 36px;padding-inline:9px}.resource-pill{padding-inline:7px;gap:4px}.resource-pill-icon{width:21px;height:21px}.resource-pill i{width:17px;height:17px}.bell{width:36px;height:36px}.bell>img{width:24px;height:24px}.bottom-nav{padding-inline:4px;gap:1px}.bottom-nav button{min-height:56px}.bottom-nav .nav-primary{min-height:68px}.nav-icon{width:27px;height:27px}.games-icon{width:33px;height:33px}.app-mini-grid{gap:6px}.app-mini-grid>div{min-height:62px;padding:7px}.guide-status-row,.toy-flow-status{gap:5px}.guide-status-row article,.toy-flow-status article{min-height:86px;padding:6px}.guide-status-row img,.toy-flow-status img{width:38px;height:38px}.action-result-panel h2{font-size:1.62rem}.group-result-bg{height:124px}.group-result-window .result-visual{width:76px;height:76px;margin-top:-43px}.group-result-window .result-icon{width:62px;height:62px}}}

/* source: css/season-gryzlo.min.css */
@layer screens{.gryzlo-story-card{min-height:196px;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,58%) minmax(180px,42%);align-items:end;border:1px solid rgba(227,184,87,.24);border-radius:var(--radius-lg);background:#1f251b;color:#fff;box-shadow:var(--shadow-sm)}.gryzlo-story-bg,.gryzlo-story-shade{position:absolute;inset:0;width:100%;height:100%}.gryzlo-story-bg{z-index:-3;object-fit:cover;object-position:center 54%}.gryzlo-story-shade{z-index:-2;background:linear-gradient(90deg,#111610f5,#141911c7,#14161026),linear-gradient(0deg,rgba(10,13,9,.48),transparent 70%)}.gryzlo-story-character{position:absolute;z-index:-1;right:clamp(4px,3vw,38px);bottom:-5%;width:min(33%,270px);height:112%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 18px rgba(0,0,0,.42))}.gryzlo-story-copy{min-width:0;padding:clamp(17px,4vw,28px);align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gryzlo-story-copy>span,.gryzlo-shop-title>span,.gryzlo-offer-copy>span,.gryzlo-lore-hero-copy>span,.gryzlo-lore-intro span,.gryzlo-dialog-copy>span,.gryzlo-season-next small{color:#e2c36f;font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.gryzlo-story-copy h2{margin-top:4px;font-size:clamp(1.72rem,5vw,2.65rem);line-height:1;overflow-wrap:normal;word-break:normal}.gryzlo-story-copy p{margin-top:7px;max-width:48ch;color:#ffffffd1;font-size:.86rem;line-height:1.4}.gryzlo-story-copy>div{margin-top:13px;display:flex;flex-wrap:wrap;gap:7px}.gryzlo-text-btn{min-height:36px;padding:7px 10px;border-radius:10px;background:#ffffff1a;color:#fff;font-size:.74rem;font-weight:850}.gryzlo-story-progress{position:absolute;top:12px;right:12px;padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#0f120da3;color:#ffffffdb;font-size:.65rem;backdrop-filter:blur(8px)}.gryzlo-shop-view{gap:13px}.gryzlo-shop-hero{min-height:clamp(238px,35vw,330px);position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;border-radius:var(--radius-lg);background:#29251c;color:#fff;box-shadow:var(--shadow-sm)}.gryzlo-shop-hero-bg,.gryzlo-shop-hero-shade{position:absolute;inset:0;width:100%;height:100%}.gryzlo-shop-hero-bg{z-index:-3;object-fit:cover;object-position:center}.gryzlo-shop-hero-shade{z-index:-2;background:linear-gradient(90deg,#18140ef0,#18140eb8 48%,#18140e14 78%),linear-gradient(0deg,rgba(20,16,11,.34),transparent 60%)}.gryzlo-shop-title{width:min(64%,570px);padding:clamp(20px,5vw,36px);display:flex;flex-direction:column;align-items:flex-start}.gryzlo-shop-title h1{margin-top:5px;font-size:clamp(2.3rem,8vw,4.5rem);line-height:.88}.gryzlo-shop-title p{margin-top:10px;max-width:43ch;color:#ffffffd1;font-size:.86rem}.gryzlo-shop-title>div{margin-top:15px;display:flex;flex-wrap:wrap;gap:8px}.gryzlo-shop-portrait{display:none}.gryzlo-season-discount{position:absolute;top:14px;right:14px;padding:8px 11px;border-radius:999px;background:linear-gradient(180deg,#efd279,#c89532);color:#3c2a10;font-size:.72rem;box-shadow:0 8px 20px #0003}.gryzlo-daily-offer{min-height:134px;position:relative;isolation:isolate;overflow:hidden;padding:15px;display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid rgba(167,117,29,.23);border-radius:var(--radius);background:#f3dfaa;box-shadow:var(--shadow-xs)}.gryzlo-offer-banner,.gryzlo-offer-shade{position:absolute;inset:0;z-index:-2;width:100%;height:100%}.gryzlo-offer-banner{object-fit:cover;object-position:center;opacity:.46}.gryzlo-offer-shade{z-index:-1;background:linear-gradient(90deg,#fff7daf7,#fff7dae6 62%,#f1d58bb8)}.gryzlo-offer-item{width:92px;height:92px;padding:6px;object-fit:contain;border-radius:19px;background:#ffffff6b;filter:drop-shadow(0 8px 10px rgba(76,50,12,.12))}.gryzlo-offer-copy{min-width:0}.gryzlo-offer-copy>span{color:#8b5d18}.gryzlo-offer-copy h2{margin-top:3px;font-size:clamp(1.35rem,4vw,1.85rem);line-height:1}.gryzlo-offer-copy p{margin-top:5px;color:#6c5836;font-size:.8rem;line-height:1.4}.gryzlo-offer-copy em{display:inline-block;margin-top:6px;color:#88662c;font-size:.72rem;font-style:normal;font-weight:800}.gryzlo-offer-buy{min-width:152px;display:grid;justify-items:end;gap:9px}.gryzlo-offer-buy>span{display:flex;align-items:baseline;gap:7px}.gryzlo-offer-buy .gryzlo-coin-icon{width:22px;height:22px;align-self:center;object-fit:contain}.gryzlo-offer-buy s{color:#977e54;font-size:.7rem}.gryzlo-offer-buy b{color:#714b12;font-size:1rem}.gryzlo-offer-buy .gold-btn{min-width:152px}.gryzlo-daily-offer.is-complete{filter:saturate(.72)}.shop-side-quests{border-block:1px solid var(--line);background:transparent}.shop-side-quests>summary{min-height:70px;padding:12px 2px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.shop-side-quests>summary span{min-width:0;display:grid}.shop-side-quests>summary b{font-size:.88rem}.shop-side-quests>summary em{color:var(--ink-3);font-size:.76rem;line-height:1.3;font-style:normal}.shop-side-quests>summary i{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-2);font-style:normal;transition:transform .2s ease}.shop-side-quests[open]>summary i{transform:rotate(180deg)}.shop-side-quests-body{padding:0 0 12px;display:grid;gap:12px}.gryzlo-lore-view{gap:13px}.gryzlo-lore-hero{min-height:clamp(260px,42vw,370px);position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;border-radius:var(--radius-lg);background:#1d2118;color:#fff;box-shadow:var(--shadow-sm)}.gryzlo-lore-map,.gryzlo-lore-hero-shade{position:absolute;inset:0;width:100%;height:100%}.gryzlo-lore-map{z-index:-2;object-fit:cover;object-position:center}.gryzlo-lore-hero-shade{z-index:-1;background:linear-gradient(90deg,#10140ef2,#10140ea8 53%,#10140e29),linear-gradient(0deg,rgba(13,15,11,.38),transparent 60%)}.gryzlo-lore-hero-copy{width:min(67%,650px);padding:clamp(20px,5vw,38px)}.gryzlo-lore-hero-copy h1{margin-top:4px;font-size:clamp(2.25rem,8vw,4.3rem);line-height:.92}.gryzlo-lore-hero-copy p{margin-top:9px;max-width:58ch;color:#fffc;font-size:.83rem}.gryzlo-lore-hero-copy>div{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.gryzlo-lore-intro{min-height:86px;padding:10px 14px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff7dc,#fffaf0)}.gryzlo-lore-intro img{width:64px;height:64px;object-fit:cover;object-position:top center;border:2px solid #e5c876;border-radius:17px;background:#d7c08b}.gryzlo-lore-intro div{min-width:0}.gryzlo-lore-intro span{color:#85601c}.gryzlo-lore-intro p{margin-top:3px;color:var(--ink-2);font-family:var(--display-font);font-size:1.03rem}.gryzlo-lore-intro>b{min-width:48px;padding:8px;border-radius:12px;background:#86601b17;color:#775316;text-align:center;font-size:.72rem}.gryzlo-chapter-list{display:grid;gap:8px}.gryzlo-chapter{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fffcf5f0;box-shadow:var(--shadow-xs)}.gryzlo-chapter>summary,.gryzlo-chapter-locked-head{min-height:94px;padding:12px 14px;display:grid;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:12px;cursor:pointer}.gryzlo-chapter-locked-head{cursor:default}.gryzlo-chapter>summary>b,.gryzlo-chapter-locked-head>b{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--surface-2);color:var(--gold-2);font-family:var(--display-font);font-size:1.1rem}.gryzlo-chapter.is-read>summary>b{background:var(--green-soft);color:var(--green-3)}.gryzlo-chapter>summary>span,.gryzlo-chapter-locked-head>span{min-width:0;display:grid}.gryzlo-chapter>summary em,.gryzlo-chapter-locked-head em{color:var(--green-3);font-size:.61rem;font-style:normal;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.gryzlo-chapter>summary strong,.gryzlo-chapter-locked-head strong{margin-top:1px;font-family:var(--display-font);font-size:1.14rem;line-height:1.1}.gryzlo-chapter>summary small,.gryzlo-chapter-locked-head small{margin-top:3px;color:var(--ink-3);font-size:.75rem;line-height:1.3;overflow-wrap:normal;word-break:normal}.gryzlo-chapter>summary>i{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-2);font-style:normal;transition:transform .2s ease}.gryzlo-chapter[open]>summary>i{transform:rotate(180deg)}.gryzlo-chapter.is-locked{opacity:.68;background:#eee9dde6}.gryzlo-chapter-locked-head>i{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#47341d14;color:var(--ink-3);font-style:normal}.gryzlo-chapter-body{padding:0 22px 19px 74px;color:var(--ink-2);font-size:.83rem}.gryzlo-chapter-body p+p{margin-top:9px}.gryzlo-chapter-body blockquote{margin:14px 0 0;padding:10px 12px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:var(--surface-2);color:#755420;font-family:var(--display-font);font-size:.92rem}.gryzlo-season-next{min-height:178px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;border-radius:var(--radius-lg);background:#20231a;color:#fff}.gryzlo-season-next>img,.gryzlo-season-next>span{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.gryzlo-season-next>span{z-index:-1;background:linear-gradient(90deg,#141610f0,#14161080,#1416101f)}.gryzlo-season-next>div{width:min(70%,560px);padding:22px}.gryzlo-season-next h2{margin-top:3px;font-size:clamp(1.55rem,5vw,2.25rem)}.gryzlo-season-next p{margin-top:6px;color:#ffffffc2;font-size:.76rem}.gryzlo-dialog-panel{display:grid;gap:15px}.gryzlo-dialog-art{min-height:220px;position:relative;isolation:isolate;overflow:hidden;border-radius:20px;background:#28241b}.gryzlo-dialog-art>img:first-child,.gryzlo-dialog-art>span{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.gryzlo-dialog-art>span{z-index:-1;background:linear-gradient(90deg,#191610a8,#1916101a)}.gryzlo-dialog-art>img:last-child{position:absolute;right:4%;bottom:-5%;width:48%;height:110%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 15px rgba(0,0,0,.35))}.gryzlo-dialog-copy>span{color:var(--gold-2)}.gryzlo-dialog-copy h2{margin-top:3px;font-size:2rem}.gryzlo-dialog-copy p{margin-top:6px;color:var(--ink-2);font-family:var(--display-font);font-size:1.16rem}}@layer shell{body.gryzlo-route .topbar{background:#fffaf0;backdrop-filter:none}.nav-season-mark{position:absolute;top:3px;right:8px;min-width:24px;height:18px;padding:0 5px;display:grid;place-items:center;border:2px solid var(--surface);border-radius:999px;background:#c88b2b;color:#fff;font-size:.52rem;font-style:normal;font-weight:900}.bottom-nav button[data-nav=shop]{position:relative}.gryzlo-encounter{position:fixed;z-index:96;right:max(12px,calc((100vw - var(--app-max)) / 2 + 12px));bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px);width:min(calc(100% - 24px),430px);min-height:98px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:4px;padding:7px;border:1px solid rgba(228,192,97,.35);border-radius:20px;background:#232017f5;color:#fff;box-shadow:0 18px 42px #1b160e4d;opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(15px)}.gryzlo-encounter.is-visible{opacity:1;transform:none;pointer-events:auto}.gryzlo-encounter-main{min-width:0;min-height:72px;padding:5px;display:grid;grid-template-columns:62px minmax(0,1fr) 18px;align-items:center;gap:9px;border-radius:15px;background:transparent;color:inherit;text-align:left}.gryzlo-encounter-main>img{width:62px;height:62px;object-fit:cover;object-position:top center;border:2px solid rgba(230,196,104,.68);border-radius:15px;background:#b59b62}.gryzlo-encounter-main>span{min-width:0;display:grid}.gryzlo-encounter-main em{color:#e2c36f;font-size:.58rem;font-style:normal;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.gryzlo-encounter-main b{margin-top:1px;font-family:var(--display-font);font-size:1rem;line-height:1.15;overflow-wrap:normal;word-break:normal}.gryzlo-encounter-main small{margin-top:3px;color:#ffffffc7;font-size:.72rem;line-height:1.35;display:block;overflow:visible}.gryzlo-encounter-main>i{color:#e2c36f;font-size:1.4rem;font-style:normal}.gryzlo-encounter-close{width:32px;height:32px;display:grid;place-items:center;align-self:start;border-radius:10px;background:#ffffff14;color:#ffffffb8;font-size:1.1rem}body.no-bottom-nav .gryzlo-encounter,body.mini-game-route .gryzlo-encounter{display:none!important}}@layer utilities{@media (hover:hover) and (pointer:fine){.gryzlo-story-card:hover,.gryzlo-daily-offer:hover,.gryzlo-chapter:hover{box-shadow:var(--shadow-sm)}.gryzlo-chapter>summary:hover{background:#f5eddc73}}@media (min-width: 900px){.gryzlo-daily-offer{padding-inline:22px}.gryzlo-offer-copy p{max-width:60ch}.gryzlo-chapter-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gryzlo-chapter[open]{grid-row:span 2}}@media (max-width: 620px){.gryzlo-story-card{min-height:216px;grid-template-columns:minmax(0,1fr) 112px}.gryzlo-story-character{right:-14px;width:42%;height:100%}.gryzlo-story-copy{padding:16px 88px 16px 16px}.gryzlo-story-copy h2{font-size:1.48rem}.gryzlo-story-progress{top:9px;right:9px}.gryzlo-shop-hero{min-height:272px}.gryzlo-shop-hero-bg{object-position:62% center}.gryzlo-shop-hero-shade{background:linear-gradient(90deg,#18140ef0,#18140ea3 68%,#18140e33)}.gryzlo-shop-title{width:82%;padding:18px}.gryzlo-shop-title h1{font-size:2.55rem}.gryzlo-shop-title p{max-width:32ch}.gryzlo-daily-offer{grid-template-columns:72px minmax(0,1fr);padding:12px;gap:10px}.gryzlo-offer-item{width:72px;height:72px}.gryzlo-offer-buy{grid-column:1 / -1;min-width:0;display:flex;align-items:center;justify-content:space-between}.gryzlo-offer-buy .gold-btn{min-width:0}.gryzlo-lore-hero{min-height:310px}.gryzlo-lore-map{object-position:62% center}.gryzlo-lore-hero-copy{width:87%;padding:18px}.gryzlo-lore-hero-copy h1{font-size:2.55rem}.gryzlo-lore-hero-copy p{line-height:1.38}.gryzlo-chapter>summary,.gryzlo-chapter-locked-head{grid-template-columns:42px minmax(0,1fr) 30px;gap:9px;padding:10px}.gryzlo-chapter>summary>b,.gryzlo-chapter-locked-head>b{width:42px;height:42px;border-radius:13px}.gryzlo-chapter-body{padding:0 14px 16px}.gryzlo-season-next>div{width:86%;padding:18px}}@media (max-width: 390px){.gryzlo-story-card{min-height:226px}.gryzlo-story-copy{padding-right:66px}.gryzlo-story-character{right:-28px;width:47%}.gryzlo-story-copy h2{font-size:1.42rem}.gryzlo-season-discount{top:9px;right:9px}.gryzlo-shop-title{width:92%}.gryzlo-shop-title p{max-width:28ch}.gryzlo-lore-intro{grid-template-columns:54px minmax(0,1fr)}.gryzlo-lore-intro img{width:54px;height:54px}.gryzlo-lore-intro>b{grid-column:1 / -1;justify-self:stretch}.gryzlo-chapter>summary small{display:block}.gryzlo-encounter{right:8px;width:calc(100% - 16px);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 22px)}.gryzlo-encounter-main{grid-template-columns:54px minmax(0,1fr) 14px;gap:7px}.gryzlo-encounter-main>img{width:54px;height:54px}}@media (prefers-reduced-motion: reduce){.gryzlo-encounter,.shop-side-quests>summary i,.gryzlo-chapter>summary>i{transition:none}}}

/* source: css/clan-community.min.css */
@layer screens{.community-clan-view{gap:clamp(12px,2.2vw,20px)}.community-clan-ident{position:relative;overflow:hidden;background:linear-gradient(130deg,#f6efd9fa,#fffbf0fa)}.community-clan-ident:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold-2),var(--green-2),transparent)}.community-clan-ident .clan-head h1{margin-top:3px;font-size:clamp(1.55rem,5vw,2.35rem);line-height:1}.community-system-note{min-height:58px;padding:10px 13px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;border:1px solid rgba(164,78,60,.25);border-radius:15px;background:var(--danger-soft);color:#73382e}.community-system-note:before{content:"!";grid-row:1 / span 2;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#a44e3c24;font-weight:950}.community-system-note b{font-size:.79rem}.community-system-note span{font-size:.7rem}.community-build-hero{min-height:clamp(370px,48vw,440px);overflow:hidden;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.38fr);align-items:end;gap:22px;padding:clamp(20px,4vw,42px);border-radius:clamp(22px,4vw,32px);background:#211d16;color:#fff;box-shadow:0 22px 46px #2d221433}.community-build-bg{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 45%}.community-build-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#14110ceb,#14110ca8,#14110c2e),linear-gradient(0deg,rgba(16,14,10,.7),transparent 60%)}.community-build-copy{max-width:660px;min-width:0}.community-build-copy>span{color:#f1d68d;font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.community-build-copy h2{margin-top:5px;font-size:clamp(2rem,5vw,3.45rem);line-height:.98}.community-build-copy>p{margin-top:10px;max-width:60ch;color:#ffffffc9;font-size:clamp(.79rem,1.5vw,.94rem)}.community-build-progress{margin-top:18px;max-width:580px;display:grid;gap:7px}.community-build-progress>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.72rem}.community-build-progress>div strong{color:#f5dc91;font-size:.74rem}.community-build-progress>span{height:12px;padding:2px;overflow:hidden;border-radius:99px;background:#ffffff30;border:1px solid rgba(255,255,255,.16)}.community-build-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#76993c,#d8cf62);box-shadow:0 0 15px #d1cf5866}.community-build-actions{margin-top:15px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.community-build-actions small{color:#ffffffb3;font-size:.69rem}.community-build-side{align-self:end;padding:15px;display:grid;justify-items:center;text-align:center;border:1px solid rgba(255,255,255,.17);border-radius:20px;background:#14120d85;backdrop-filter:blur(10px)}.community-build-side>strong{color:#ead495;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.community-build-side>b{margin-top:1px;font-family:var(--display-font);font-size:2rem}.community-build-side>span{color:#ffffffa8;font-size:.62rem}.community-hero-resources{margin-top:11px;display:flex;justify-content:center}.community-hero-resources>i{width:42px;height:42px;margin-left:-5px;position:relative;display:grid;place-items:center;border:2px solid rgba(255,255,255,.64);border-radius:13px;background:#ffffffe6}.community-hero-resources>i:first-child{margin-left:0}.community-hero-resources img{width:34px;height:34px;object-fit:contain}.community-hero-resources em{position:absolute;right:-3px;bottom:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:7px;background:#e8bd57;color:#3b2a12;font-size:.54rem;font-style:normal;font-weight:950}.community-play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(11px,2vw,17px);align-items:start}.community-action-card{min-width:0;overflow:hidden;position:relative;isolation:isolate;border:1px solid var(--line);border-radius:22px;background:#fffbf2f7;box-shadow:var(--shadow-sm)}.community-card-banner{width:100%;height:126px;position:absolute;inset:0 0 auto;z-index:-3;object-fit:cover;object-position:center}.community-card-shade{position:absolute;inset:0 0 auto;z-index:-2;height:150px;background:linear-gradient(180deg,#19161033,#fffbf2c2 72%,#fffbf2)}.community-card-head{min-height:112px;padding:15px 15px 10px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:end;gap:10px}.community-card-head>img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(40,30,16,.16))}.community-card-head>span{min-width:0;display:grid;align-content:end}.community-card-head em{color:var(--green-3);font-size:.6rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.community-card-head h2,.community-card-head h3{font-family:var(--display-font);font-size:clamp(1.35rem,3.2vw,1.78rem);line-height:1}.community-card-head>b{align-self:center;padding:7px 9px;border:1px solid rgba(91,113,49,.15);border-radius:10px;background:#f0f5e1f0;color:var(--green-3);font-size:.65rem;white-space:nowrap}.community-card-body{padding:0 15px 16px;display:grid;gap:11px}.community-card-body>p{min-height:0;color:var(--ink-3);font-size:.82rem;line-height:1.42}.community-secret-until{width:fit-content;padding:4px 7px;border-radius:8px;background:var(--surface-2);color:var(--ink-3);font-size:.58rem}.community-secret-until b{color:var(--green-3)}.community-secret-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.community-secret-rules>span{min-width:0;padding:7px;display:grid;text-align:center;border-left:1px solid var(--line)}.community-secret-rules>span:first-child{border-left:0}.community-secret-rules b{color:var(--green-3);font-size:.61rem}.community-secret-rules em{color:var(--ink-3);font-size:.65rem;line-height:1.2;font-style:normal}.community-leader-secret{padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;border-radius:14px;background:linear-gradient(135deg,#fff0ba,#fff8df)}.community-leader-secret>span{grid-column:1 / -1;color:#93621f;font-size:.57rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.community-leader-secret code,.community-leader-secret>b{min-width:0;overflow-wrap:anywhere;color:#49321a;font-family:var(--ui-font);font-size:.88rem;font-weight:950;letter-spacing:.035em}.community-leader-secret p{grid-column:1 / -1;color:#765c36;font-size:.72rem;line-height:1.35}.community-leader-secret .ghost-btn{grid-row:2;grid-column:2;min-height:38px;padding:7px 10px;font-size:.63rem}.community-result{min-height:42px;padding:9px 11px;display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink-2);font-size:.69rem}.community-result.is-success{border-color:#5a802f40;background:var(--green-soft);color:var(--green-3)}.community-result.is-breach{border-color:#b5761f4d;background:var(--gold-soft);color:#704812}.community-result.is-error{border-color:#a44e3c38;background:var(--danger-soft);color:#7b3b31}.community-result.is-empty{color:var(--ink-3)}.community-word-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.community-word-form input{text-transform:uppercase;letter-spacing:.025em}.community-word-form .green-btn{padding-inline:13px;font-size:.72rem}.community-disabled-copy{color:var(--danger);font-size:.63rem}.community-resolved{padding:9px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center;border-radius:13px;background:var(--green-soft)}.community-resolved img{width:42px;height:42px;object-fit:contain}.community-resolved span{min-width:0;display:grid}.community-resolved b{color:var(--green-3);font-size:.72rem}.community-resolved em{color:var(--ink-3);font-size:.59rem;font-style:normal}.community-route-list{display:grid;gap:0}.community-route{min-width:0;min-height:70px;padding:9px 2px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid var(--line);background:transparent;text-align:left}.community-route:not(:disabled):hover{border-color:#69863559;background:#f8fbed}.community-route>img{width:46px;height:46px;object-fit:contain}.community-route>span{min-width:0;display:grid}.community-route b{font-size:.78rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.community-route em{color:var(--ink-3);font-size:.68rem;line-height:1.25;font-style:normal;overflow-wrap:normal;word-break:normal}.community-route span>i{height:5px;margin-top:5px;overflow:hidden;border-radius:99px;background:var(--surface-3)}.community-route span>i u{display:block;height:100%;border-radius:inherit;background:var(--green-2);text-decoration:none}.community-route>strong{color:var(--ink-3);font-size:.62rem}.community-route.is-selected{margin-inline:-6px;padding-inline:8px;border-radius:12px;background:var(--green-soft)}.community-route.is-complete{opacity:.72}.community-route.is-complete>strong{color:var(--green-3)}.community-card-foot{min-height:38px;padding-top:9px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);color:var(--ink-3);font-size:.61rem}.community-card-foot>strong{flex:0 0 auto;color:var(--green-3)}.community-trust-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.community-trust-form label{min-width:0;display:grid;gap:5px}.community-trust-form label>span{color:var(--ink-2);font-size:.65rem;font-weight:850}.community-trust-form .green-btn{padding-inline:12px;font-size:.7rem}.community-trust-status{min-height:72px;padding:10px;display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.community-trust-status.is-matched{border-color:#5b7c3047;background:var(--green-soft)}.community-trust-status img{width:50px;height:50px;object-fit:contain}.community-trust-status span{min-width:0;display:grid}.community-trust-status b{font-size:.77rem}.community-trust-status em{color:var(--ink-3);font-size:.64rem;font-style:normal}.community-resource-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.community-resource-row>span{min-width:0;padding:7px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:6px;border-left:1px solid var(--line)}.community-resource-row>span:first-child{border-left:0}.community-resource-row img{width:38px;height:38px;object-fit:contain}.community-resource-row i{min-width:0;display:grid;font-style:normal}.community-resource-row b{font-size:.66rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.community-resource-row em{color:var(--green-3);font-size:.64rem;line-height:1.2;font-style:normal}.community-feed{display:grid}.community-feed>div{min-width:0;min-height:56px;padding:7px 0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid var(--line)}.community-feed>div>img{width:42px;height:42px;object-fit:contain}.community-feed>div>span{min-width:0;display:grid}.community-feed b{font-size:.74rem;line-height:1.2;overflow-wrap:normal;word-break:normal}.community-feed em{color:var(--ink-3);font-size:.66rem;line-height:1.25;font-style:normal;overflow-wrap:normal;word-break:normal}.community-feed time{color:var(--ink-3);font-size:.53rem;white-space:nowrap}.community-empty{min-height:52px;padding:10px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:12px;color:var(--ink-3);font-size:.67rem;text-align:center}.clan-management-details{overflow:hidden;border-block:1px solid var(--line);background:transparent}.clan-management-details>summary{min-height:72px;padding:12px 2px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;cursor:pointer}.clan-management-details>summary span{min-width:0;display:grid}.clan-management-details>summary b{font-size:.84rem}.clan-management-details>summary em{color:var(--ink-3);font-size:.74rem;line-height:1.3;font-style:normal}.clan-management-details>summary i{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface-2);color:var(--ink-3);font-size:1rem;font-style:normal;transition:transform .18s ease}.clan-management-details[open]>summary i{transform:rotate(180deg)}.clan-management-details>.clan-hub-grid{padding:0 0 12px}.community-secret-card.is-compact{border-radius:var(--radius-lg)}.community-secret-card.is-compact .community-card-banner{height:100%;min-height:220px;object-position:center 35%;opacity:.38}.community-secret-card.is-compact .community-card-shade{height:100%;background:linear-gradient(90deg,#fffbf2f7 20%,#fffbf2c9),linear-gradient(0deg,#fffbf2,transparent)}.community-secret-card.is-compact .community-card-head{min-height:92px;padding-bottom:6px}.community-secret-card.is-compact .community-card-body{grid-template-columns:minmax(0,1fr) minmax(260px,.82fr);align-items:start}.community-secret-card.is-compact .community-card-body>p{grid-column:1;min-height:0}.community-secret-card.is-compact .community-secret-until,.community-secret-card.is-compact .community-secret-rules,.community-secret-card.is-compact .community-leader-secret{grid-column:1}.community-secret-card.is-compact .community-result,.community-secret-card.is-compact .community-resolved,.community-secret-card.is-compact .community-word-form,.community-secret-card.is-compact .community-disabled-copy{grid-column:2}.gryzlo-secret-join{min-height:92px;padding:12px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(135deg,#fff4cf,#fffaf0)}.gryzlo-secret-join>img{width:62px;height:62px;object-fit:contain}.gryzlo-secret-join>span{min-width:0;display:grid}.gryzlo-secret-join b{font-size:.82rem}.gryzlo-secret-join em{color:var(--ink-3);font-size:.67rem;font-style:normal}@media (max-width: 759px){.community-build-hero{min-height:410px;grid-template-columns:1fr;align-content:end;padding:19px}.community-build-shade{background:linear-gradient(0deg,#120f0bf2,#120f0bb3 55%,#120f0b1f)}.community-build-side{width:fit-content;max-width:100%;grid-template-columns:auto auto auto;justify-items:start;align-items:baseline;gap:4px 8px;padding:9px 11px}.community-build-side>b{font-size:1.3rem}.community-hero-resources{grid-column:1 / -1;margin-top:5px}.community-play-grid,.community-secret-card.is-compact .community-card-body{grid-template-columns:1fr}.community-secret-card.is-compact .community-card-body>p,.community-secret-card.is-compact .community-secret-until,.community-secret-card.is-compact .community-secret-rules,.community-secret-card.is-compact .community-leader-secret,.community-secret-card.is-compact .community-result,.community-secret-card.is-compact .community-resolved,.community-secret-card.is-compact .community-word-form,.community-secret-card.is-compact .community-disabled-copy{grid-column:1}}@media (max-width: 470px){.community-clan-ident{grid-template-columns:70px minmax(0,1fr)}.community-clan-ident .clan-crest{width:70px;height:70px;border-radius:19px}.community-clan-ident .clan-crest img{width:66px;height:66px}.community-clan-ident .clan-head h1{font-size:1.42rem}.community-build-hero{min-height:420px;border-radius:22px}.community-build-copy h2{font-size:2rem}.community-build-copy>p{font-size:.75rem}.community-build-actions{align-items:stretch}.community-build-actions .gold-btn{width:100%}.community-build-side{display:none}.community-card-head{grid-template-columns:50px minmax(0,1fr) auto;padding-inline:12px}.community-card-head>img{width:50px;height:50px}.community-card-head h2,.community-card-head h3{font-size:1.34rem}.community-card-body{padding-inline:12px}.community-word-form,.community-trust-form{grid-template-columns:1fr}.community-word-form .green-btn,.community-trust-form .green-btn{width:100%}.community-leader-secret{grid-template-columns:1fr}.community-leader-secret .ghost-btn{grid-row:auto;grid-column:1;width:100%}.community-secret-rules{grid-template-columns:1fr;gap:0}.community-secret-rules>span{min-height:40px;padding:7px 2px;grid-template-columns:minmax(74px,.38fr) minmax(0,1fr);align-items:center;gap:8px;border-left:0;border-top:1px solid var(--line);text-align:left}.community-secret-rules>span:first-child{border-top:0}.community-resource-row{grid-template-columns:1fr;gap:0}.community-resource-row>span{min-height:52px;padding:6px 2px;border-left:0;border-top:1px solid var(--line)}.community-resource-row>span:first-child{border-top:0}.community-feed time{display:none}.community-route{grid-template-columns:42px minmax(0,1fr)}.community-route>img{width:42px;height:42px}.community-route>strong{grid-column:2;justify-self:start}.gryzlo-secret-join{grid-template-columns:52px minmax(0,1fr)}.gryzlo-secret-join>img{width:52px;height:52px}.gryzlo-secret-join .ghost-btn{grid-column:1 / -1;width:100%}}@media (prefers-reduced-motion: reduce){.clan-management-details>summary i{transition:none}}}

/* source: css/platform.min.css */
@layer utilities{body.no-bottom-nav .screen{padding-bottom:calc(env(safe-area-inset-bottom) + 18px)}body.no-bottom-nav .chat-only-view{min-height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 34px)}:where(h1,h2,h3,h4,p,li,label,summary,button,b,strong,small,em,span){overflow-wrap:normal;word-break:normal;hyphens:none}:where(.game-menu-copy b,.game-menu-copy em,.game-menu-copy small,.reference-action-copy b,.reference-small-shortcut b,.module-toolbar p,.clan-hub-card b,.clan-hub-card em){overflow:visible;text-overflow:clip;white-space:normal}:where(code,pre,.ui-breakable,.chat-text,.mail-copy,.community-leader-secret code){overflow-wrap:anywhere;word-break:break-word}@media (hover: hover) and (pointer: fine){button:not(:disabled):hover{filter:brightness(1.025)}.reference-action-card:hover,.game-menu-card:hover,.clan-hub-card:hover,.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}}@media (min-width: 620px){.screen{padding-top:22px}.reference-action-grid,.games-menu-grid,.shop-grid,.clan-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-action-card:nth-child(3){grid-column:auto}.is-core .game-menu-card:first-child{grid-column:1 / -1}.product-card{min-height:270px}}@media (min-width: 900px){body.no-bottom-nav .chat-only-view{min-height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px)}.reference-action-grid,.games-menu-grid,.clan-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.is-core .games-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.is-core .game-menu-card:first-child{grid-column:auto}}@media (max-width: 619px){:root{--topbar-h: 68px;--nav-h: 76px}.screen{padding-top:16px}.topbar{grid-template-columns:44px minmax(0,1fr) auto 40px;gap:7px}.avatar-button{width:44px;height:44px}.chat-top{display:none}.bell{width:40px;height:40px;border-radius:14px}.resource-pill{min-height:40px;padding:0 9px}.resource-pill b{font-size:.86rem}.real-tabs,.pill-tabs,.tabs,.contract-tabs,.events-tabs{max-width:100%;min-width:0;overflow-x:auto;padding-right:28px;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 24px),transparent 100%)}.real-tabs::-webkit-scrollbar,.pill-tabs::-webkit-scrollbar,.tabs::-webkit-scrollbar,.contract-tabs::-webkit-scrollbar,.events-tabs::-webkit-scrollbar{display:none}:where(.real-tabs,.pill-tabs,.tabs,.contract-tabs,.events-tabs)>button{scroll-snap-align:start}.bottom-nav{padding-inline:7px}.bottom-nav button b{font-size:.7rem}.page-banner{min-height:190px}.page-banner-copy{width:min(88%,460px);padding:19px}.page-banner h1{font-size:clamp(2rem,9vw,2.6rem)}.camp-dashboard-hero{min-height:250px}.camp-hero-copy{width:90%;padding:19px}.camp-logo-lockup{margin-bottom:auto}.games-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.games-overview>span{grid-column:1 / -1;min-height:58px}.games-overview>button{min-height:72px}.reference-action-grid,.games-menu-grid,.shop-grid,.clan-hub-grid,.camp-shortcuts{grid-template-columns:minmax(0,1fr)}.reference-action-card:nth-child(3),.is-core .game-menu-card:first-child{grid-column:auto}.reference-action-card,.game-menu-card,.is-core .game-menu-card:first-child{min-height:92px;padding:11px 12px;grid-template-columns:62px minmax(0,1fr) auto;gap:11px}.reference-action-art,.game-menu-art,.is-core .game-menu-card:first-child .game-menu-art{width:62px;height:62px}.reference-action-art img,.game-menu-art img,.is-core .game-menu-card:first-child .game-menu-art img{width:58px;height:58px}.game-menu-card>.card-chevron{display:block}.game-menu-copy b{font-size:.98rem;line-height:1.25}.game-menu-copy em{margin-top:3px;font-size:.72rem;line-height:1.35}.game-menu-copy small{margin-top:6px;font-size:.66rem;line-height:1.25}.backpack-hero{grid-template-columns:78px minmax(0,1fr)}.backpack-hero>img{width:78px;height:78px}.backpack-stats{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.backpack-actions{grid-column:1 / -1;justify-content:stretch}.backpack-actions>button{flex:1}.great-build-req{grid-template-columns:58px minmax(0,1fr)}.great-build-req>form{grid-column:1 / -1}.great-build-box-grid,.great-build-slot-grid{grid-template-columns:1fr}.contract-tabs{display:flex;overflow-x:auto}.contract-tabs button{width:auto;min-width:max-content}.contract-card{grid-template-columns:64px minmax(0,1fr)}.contract-icon{width:64px;height:64px}.contract-side{grid-column:1 / -1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end}.clan-wind-panel{grid-template-columns:68px minmax(0,1fr)}.clan-wind-panel>img{width:68px;height:68px}.clan-wind-panel>button{grid-column:1 / -1}.clan-event-card,.clan-building-card{grid-template-columns:60px minmax(0,1fr)}.clan-event-card>img,.clan-building-card>img{width:60px;height:60px}.clan-event-card>button,.building-actions{grid-column:1 / -1}.donate-grid{grid-template-columns:1fr}.group-activity-card>summary{grid-template-columns:62px minmax(0,1fr) 20px}.group-summary-art{width:62px;height:62px}.group-summary-meta{display:none}.group-option-previews,.mini-games-grid,.mini-leaderboards-grid{grid-template-columns:1fr}.game-card-head{grid-template-columns:64px minmax(0,1fr);gap:11px}.game-card-head>img{width:64px;height:64px;border-radius:15px}.mine-inventory-grid,.backpack-grid{grid-template-columns:1fr}.activity-backpack-link{align-items:stretch}.activity-backpack-link>button{flex:1}}@media (max-width: 430px){.screen{padding-inline:13px}.topbar{padding-inline:11px}.top-ident>strong{font-size:1rem}.resource-pill i{display:none}.contracts-view .contract-tabs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-right:6px;-webkit-mask-image:none;mask-image:none}.contracts-view .contract-tabs button{width:100%;min-width:0}.bottom-nav{padding-inline:4px;gap:1px}.bottom-nav button{min-height:58px}.bottom-nav .nav-primary{min-height:68px}.bottom-nav button b{font-size:.66rem}.nav-icon{width:28px;height:28px}.games-icon{width:34px;height:34px}.app-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-profile-card{grid-template-columns:88px minmax(0,1fr)}.reference-profile-avatar{width:88px;height:88px;border-radius:23px}.clan-metrics,.economy-chip-grid,.gold-sink-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-board-head{grid-template-columns:64px minmax(0,1fr)}.mail-board-head>img{width:64px;height:64px}.mail-board-head>button{grid-column:1 / -1;justify-self:stretch}.mini-card{padding:13px;gap:12px;border-radius:20px}.balda-board,.word-board,.maze-board{max-width:calc(100vw - 44px)}.mini-bottom-actions{gap:7px}.mini-bottom-actions>button{padding-inline:8px;font-size:.72rem}.duel-answer-form,.boss-attack-form,.tug-contribute-form{grid-template-columns:1fr}.duel-answer-form>button,.boss-attack-form>button,.tug-contribute-form>button{width:100%}}@media (max-width: 350px){.topbar{grid-template-columns:42px minmax(0,1fr) auto 36px;gap:5px}.top-money .resource-pill{padding-inline:7px}.bottom-nav button b{font-size:.64rem}.modal-story-hero{grid-template-columns:68px minmax(0,1fr)}.modal-story-hero>img{width:68px;height:68px}.app-panel-head{grid-template-columns:50px minmax(0,1fr)}.app-panel-head>img{width:50px;height:50px}}@media (max-width: 360px){.guide-status-row,.toy-flow-status{grid-template-columns:1fr}.modal-story-hero{grid-template-columns:56px minmax(0,1fr);gap:10px}.modal-story-hero>img{width:56px;height:56px}.clan-building-card{grid-template-columns:minmax(0,1fr)}.clan-building-card>img{width:64px;height:64px}.clan-building-card>div,.clan-building-card h3{min-width:0;max-width:100%}.building-actions{width:100%}.building-actions>button{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}}

/* source: css/ui-rework.min.css */
@layer rework{:root{--app-max: 1440px;--gutter: clamp(14px, 3.2vw, 38px);--topbar-h: 74px;--nav-h: 78px;--ink: #30271e;--ink-2: #5d4f3f;--ink-3: #887867;--surface: #fffaf1;--surface-raised: rgba(255, 252, 246, .96);--surface-2: #f3ead9;--surface-3: #e6dac3;--line: rgba(72, 53, 30, .105);--line-strong: rgba(72, 53, 30, .19);--green: #849f45;--green-2: #6d8937;--green-3: #516b2c;--radius: 18px;--radius-lg: 26px;--shadow-xs: 0 5px 18px rgba(51, 39, 24, .055);--shadow-sm: 0 15px 38px rgba(51, 39, 24, .105)}html{background:#d5d0c5}body{font-size:clamp(15px,.25vw + 14px,17px)}:where(h1,h2,h3,h4,p,b,strong,em,small,label,summary,button,.ui-copy){min-width:0;max-width:100%}:where(h1,h2,h3,h4,p,.reference-action-copy,.game-menu-copy,.contract-main,.community-card-head,.community-card-body){overflow-wrap:anywhere}:where(p,small,em){line-height:1.42}.skip-link{position:fixed;left:12px;top:10px;z-index:1000;padding:10px 14px;border-radius:12px;color:#fff;background:#27301d;transform:translateY(-150%);transition:transform .15s ease}.skip-link:focus{transform:none}.tma{background:radial-gradient(circle at 50% -8%,rgba(255,255,255,.98),transparent 34%),linear-gradient(180deg,#fffbf4fc,#f6eedffc);box-shadow:0 0 80px #29211724}.topbar{min-height:calc(var(--topbar-h) + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) var(--gutter) 10px;border-bottom:1px solid rgba(75,57,34,.055);background:#fffbf4e6;box-shadow:0 8px 28px #362b1c0f}.top-ident>strong{line-height:1.16}.resource-pill,.bell{min-height:44px;background:#ffffffdb;box-shadow:0 5px 17px #3428190e,inset 0 0 0 1px #47341d12}.resource-pill{padding-inline:11px}.screen{min-height:calc(100dvh - var(--topbar-h));padding:clamp(16px,2.4vw,30px) var(--gutter) calc(var(--nav-h) + env(safe-area-inset-bottom) + 54px);overflow-x:clip;overflow-y:visible}.view{gap:clamp(14px,2.2vw,22px)}.bottom-nav{width:min(calc(100% - 24px),760px);bottom:max(8px,env(safe-area-inset-bottom));min-height:var(--nav-h);padding:7px;border-radius:24px;background:#fffcf6f2;box-shadow:0 16px 48px #32271933,inset 0 0 0 1px #ffffffd1}.bottom-nav button{min-height:62px;border-radius:17px}.bottom-nav button b{font-size:.74rem}.bottom-nav button.active:not(.nav-primary){background:#7f9d451f}.bottom-nav .nav-primary{margin-top:-12px;min-height:72px;border-radius:21px}.nav-season-mark{top:4px;right:6px}.panel,.soft-card,.reference-action-card,.game-menu-card,.product-card,.contract-card,.community-action-card,.clan-hub-card{border:0}:is(.panel,.soft-card,.app-dialog-section,.reference-section)>:is(.panel,.soft-card){border:0;border-radius:0;background:transparent;box-shadow:none}.panel>.panel+.panel,.panel>.soft-card+.soft-card{border-top:1px solid var(--line)}.green-btn,.gold-btn,.ghost-btn,.danger-btn,.hero-quiet-btn{min-height:48px;padding:11px 17px;border-radius:14px;font-size:max(.82rem,14px)}.small-btn{min-height:44px}.green-btn{background:linear-gradient(180deg,#91ae50,#698535)}.ghost-btn{background:#f1e9d9}input,textarea,select,.rich-editor{min-height:48px;padding:11px 13px;border-color:var(--line-strong);border-radius:13px;font-size:16px}textarea{min-height:108px}.page-banner{min-height:clamp(205px,28vw,280px);border-radius:var(--radius-lg)}.page-banner-copy{width:min(72%,650px);padding:clamp(20px,4vw,38px)}.page-banner h1{font-size:clamp(2.1rem,5.7vw,4rem);line-height:.96}.page-banner p{font-size:clamp(.84rem,1.2vw,.98rem)}.content-disclosure{border-radius:20px;background:var(--surface-raised);box-shadow:var(--shadow-xs)}.content-disclosure>summary{min-height:78px;padding:13px 16px;grid-template-columns:50px minmax(0,1fr) auto 24px}.content-disclosure>summary b{font-size:.96rem;line-height:1.25}.content-disclosure>summary em{display:block;margin-top:2px}.content-disclosure>summary>i{width:24px;display:grid;place-items:center;color:var(--ink-3)}.disclosure-body{margin-inline:16px}.reference-camp-view{gap:clamp(14px,2vw,20px)}.camp-home-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "today" "story";gap:clamp(14px,2vw,20px);align-items:start}.camp-dashboard-hero{grid-area:hero}.camp-today-panel{grid-area:today;min-width:0;display:grid;gap:12px;align-content:start}.camp-home-layout>.gryzlo-story-card{grid-area:story}.camp-dashboard-hero{min-height:clamp(250px,48vw,340px);border-radius:var(--radius-lg)}.camp-hero-copy{width:min(82%,650px);padding:clamp(19px,4vw,34px)}.camp-hero-copy h1{font-size:clamp(2.5rem,8.5vw,4.7rem)}.camp-hero-copy p{font-size:clamp(.84rem,1.15vw,.98rem)}.camp-hero-actions{margin-top:14px}.camp-section-heading{padding:2px 2px 4px}.camp-section-heading>span{color:var(--green-3);font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.camp-section-heading h2{margin-top:2px;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1}.camp-section-heading p{margin-top:6px;max-width:58ch;color:var(--ink-3);font-size:.78rem}.active-now-strip{min-width:0;padding:11px 12px;border-radius:18px;background:linear-gradient(135deg,#eaf3d8,#fffaf0);box-shadow:var(--shadow-xs)}.active-now-strip .green-btn{min-height:44px}.reference-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.reference-action-card,.reference-action-card:nth-child(3){grid-column:auto;min-height:100px;padding:11px;grid-template-columns:54px minmax(0,1fr) 14px;gap:9px;border-radius:17px;background:var(--surface-raised);box-shadow:var(--shadow-xs)}.reference-action-card:nth-child(3){background:linear-gradient(140deg,#eff5e3,#fffaf0)}.reference-action-art{width:54px;height:54px;border-radius:15px}.reference-action-art img{width:50px;height:50px}.reference-action-copy em{font-size:.58rem;line-height:1.25}.reference-action-copy b{font-size:.9rem;line-height:1.22}.reference-action-copy small{font-size:.68rem}.camp-services-disclosure{overflow:hidden}.camp-services-disclosure>summary{background:linear-gradient(135deg,#f5eee0e6,#fffcf6f5)}.camp-services-body{display:grid;gap:10px}.camp-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reference-small-shortcut,.camp-guide-link{min-height:76px;padding:10px 12px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;border-radius:16px;background:#f4ecdc9e;text-align:left}.reference-small-shortcut{grid-template-columns:48px minmax(0,1fr)}.reference-small-shortcut img,.camp-guide-link>img{width:48px;height:48px;object-fit:contain}.camp-guide-link span{display:grid;min-width:0}.camp-guide-link em{color:var(--ink-3);font-size:.7rem;font-style:normal}.gryzlo-story-card{min-height:210px}.gryzlo-story-copy{padding:clamp(17px,3vw,26px)}.gryzlo-story-copy h2{font-size:clamp(1.65rem,4vw,2.45rem)}.app-dialog{width:min(calc(100% - 22px),760px)}.app-dialog-card{padding:clamp(18px,3.5vw,30px);border-radius:27px;background:#fffaf1}.app-panel{gap:16px}.modal-story-hero{min-height:118px;padding:4px 50px 15px 2px;grid-template-columns:92px minmax(0,1fr);gap:14px;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.modal-story-hero>img{width:88px;height:88px}.app-panel-head{min-height:74px;padding:0 44px 12px 0;border-bottom:1px solid var(--line)}.app-mini-grid{gap:0;overflow:hidden;border-radius:15px;background:#f4ecdca8}.app-mini-grid>div,.resource-detail-stats>div{min-height:68px;border-left:1px solid var(--line);border-radius:0;background:transparent}.app-mini-grid>div:first-child{border-left:0}.panel-disclosure-list{display:grid;gap:8px}.panel-disclosure{border-radius:17px;box-shadow:none;background:#f4ecdc7a}.panel-disclosure>summary{min-height:72px}.panel-disclosure .disclosure-body{padding-bottom:14px}.guide-status-row,.toy-flow-status{overflow:hidden;gap:0;border-radius:15px;background:#f4ecdca8}.guide-status-row article,.toy-flow-status article{border-left:1px solid var(--line);border-radius:0;background:transparent}.guide-status-row article:first-child,.toy-flow-status article:first-child{border-left:0}.guide-steps article{border-radius:0;border-top:1px solid var(--line);background:transparent}.guide-steps article:first-child{border-top:0}.shop-account-strip,.contract-dashboard,.reference-profile-card,.reference-clan-card{border:0;background:var(--surface-raised);box-shadow:var(--shadow-xs)}.product-card{min-height:244px;border-radius:18px;box-shadow:var(--shadow-xs)}.product-card.gold-sink-product{border:0}.product-copy h3,.contract-main h3,.profile-item-card b,.profile-ledger-row span{overflow-wrap:anywhere}.contract-card{border-radius:18px;box-shadow:var(--shadow-xs)}.contract-rewards span{background:#efe7d7c7}.reference-inventory,.reference-ledger,.toy-avatar-panel.panel{padding:0;border-radius:0;background:transparent;box-shadow:none}.toy-avatar-grid{gap:10px}.toy-avatar-card{padding:10px;border:0;border-radius:18px;background:var(--surface-raised);box-shadow:var(--shadow-xs)}.toy-avatar-visual{position:relative;width:100%;min-width:0;margin:0;justify-self:center;isolation:isolate}.toy-avatar-card .toy-main-img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:14px}.toy-avatar-badge{position:absolute;right:-3px;bottom:-3px;z-index:1;width:clamp(28px,21%,34px);aspect-ratio:1;display:grid;place-items:center;border:3px solid var(--surface-raised);border-radius:50%;background:linear-gradient(145deg,#a9c956,#587a22);box-shadow:0 5px 13px #405b1a47,inset 0 1px #ffffff7a;color:#fff;font:900 1.05rem/1 system-ui,sans-serif;text-shadow:0 1px 1px rgba(45,65,17,.3)}.toy-avatar-copy{min-width:0;display:grid;align-content:center;gap:4px}.toy-avatar-copy>b{line-height:1.2}.toy-avatar-card .green-btn,.toy-avatar-card .ghost-btn{width:100%}.toy-state-line{min-width:0;min-height:26px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--ink-2);font-size:.75rem;line-height:1.25}.toy-state-line img{flex:0 0 26px;width:26px;height:26px;object-fit:contain}.toy-state-line em{min-width:0;font-style:normal;overflow-wrap:anywhere}.toy-state-line.is-active{color:var(--green-3);font-weight:750}.community-action-card{border-radius:22px;box-shadow:var(--shadow-xs)}.community-card-banner{height:176px}.community-card-shade{height:190px;background:linear-gradient(180deg,#19161029,#fffbf28a 64%,#fffbf2 94%)}.community-card-head{min-height:170px;padding:76px 15px 14px;align-items:end}.community-card-head h2,.community-card-head h3{font-size:clamp(1.45rem,3.2vw,1.9rem);line-height:1.04}.community-card-body{position:relative;padding:14px 15px 17px;background:#fffbf2}.community-card-body>p{font-size:.84rem}.community-secret-rules>span{border-left-color:var(--line)}.game-card,.group-activity-card,.games-view .games-menu-section,.games-view .mine-activity,.games-view .mine-history,.games-view .backpack-hero,.games-view .build-disclosure,.great-build-req,.backpack-shortcut,.mine-resource-card,.backpack-card{box-shadow:var(--shadow-xs)}.games-view .module-toolbar{border-radius:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none}.games-view .module-toolbar p{overflow-wrap:anywhere}.games-view :where(h1,h2,h3,h4,p,b,em,small){overflow-wrap:anywhere}.games-view .game-prompt{background:#f2ebdc9e}.great-build-reqs{background:transparent;box-shadow:none}.great-build-req{border-radius:17px}.great-build-req-main p{font-size:.73rem}.great-build-mini-form input,.great-build-mini-form .ghost-btn,.great-build-mini-form .green-btn{min-height:44px}.empty-inside{min-height:150px;padding:20px;border-radius:16px;background:#f4ecdc6b}.empty-inside img{width:92px;height:92px}@media (min-width: 760px){.camp-dashboard-hero{min-height:330px}.camp-home-layout>.gryzlo-story-card{min-height:222px}.camp-services-body{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start}.camp-services-body .camp-more-actions{grid-column:1}.camp-services-body .camp-shortcuts{grid-column:2;grid-row:1}.camp-services-body .camp-guide-link{grid-column:2}.community-card-head{min-height:176px}.toy-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 760px) and (min-aspect-ratio: 6 / 5){.camp-home-layout{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);grid-template-areas:"hero today" "story today"}.camp-today-panel{padding:4px 0 0;position:sticky;top:calc(var(--topbar-h) + env(safe-area-inset-top) + 18px)}}@media (min-width: 1000px){.screen{padding-inline:clamp(32px,4vw,58px)}.bottom-nav{bottom:16px}.native-contracts{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.contract-card{grid-template-columns:68px minmax(0,1fr);align-items:start}.contract-icon{width:68px;height:68px}.contract-side{grid-column:1 / -1;min-width:0;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;justify-items:start;text-align:left}.contract-side .contract-cta{justify-self:end}.toy-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 759px){:root{--topbar-h: 68px;--nav-h: 76px;--gutter: clamp(12px, 3.8vw, 18px)}.screen{padding-top:14px;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 34px)}.bottom-nav{width:calc(100% - 12px);bottom:max(4px,env(safe-area-inset-bottom))}.bottom-nav button b{font-size:.69rem}.camp-dashboard-hero{min-height:270px}.camp-logo-lockup{margin-bottom:auto}.camp-hero-copy{width:94%;padding:18px}.camp-hero-copy h1{font-size:clamp(2.45rem,12vw,3.45rem)}.camp-hero-actions>*{min-height:46px}.camp-home-layout>.gryzlo-story-card{min-height:205px}.gryzlo-story-copy{padding-right:90px}.page-banner{min-height:208px}.page-banner-copy{width:90%;padding:19px}.page-banner h1{font-size:clamp(2rem,10vw,2.85rem)}.reference-action-grid,.camp-primary-actions,.camp-more-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-action-card,.reference-action-card:nth-child(3),.is-core .game-menu-card:first-child{grid-column:auto}.shop-account-strip,.contract-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-account-strip>span,.contract-dashboard>span{min-height:64px;padding:8px 6px;display:grid;grid-template-columns:32px minmax(0,1fr);border-top:0;border-left:1px solid var(--line)}.shop-account-strip>span:first-child,.contract-dashboard>span:first-child{border-left:0}.shop-account-strip img,.contract-dashboard img{width:32px;height:32px}.shop-account-strip b,.contract-dashboard b{font-size:.86rem}.shop-account-strip em,.contract-dashboard em{font-size:.61rem}.contract-card{grid-template-columns:62px minmax(0,1fr);padding:11px;align-items:start}.contract-icon{width:62px;height:62px}.contract-side{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;justify-items:start;gap:7px;text-align:left}.contract-side .contract-cta{justify-self:end;min-height:44px}.community-build-hero{min-height:350px}.community-card-head{min-height:168px}.community-card-body{padding-top:13px}.modal-story-hero{min-height:100px;padding:2px 46px 13px 0;grid-template-columns:72px minmax(0,1fr)}.modal-story-hero>img{width:70px;height:70px}.modal-story-hero h2{font-size:1.65rem}.toy-avatar-grid{grid-template-columns:1fr}.toy-avatar-card{min-height:138px;grid-template-columns:116px minmax(0,1fr) minmax(108px,auto);grid-template-rows:auto auto;align-items:center;gap:8px 11px;text-align:left}.toy-avatar-card .toy-avatar-visual{grid-row:1 / -1;width:116px;align-self:center}.toy-avatar-card .toy-main-img{width:100%;height:auto}.toy-avatar-card .toy-avatar-copy{align-self:end}.toy-avatar-card .toy-state-line{justify-content:flex-start}.toy-avatar-card>button{grid-column:3;min-width:108px;align-self:start}.toy-avatar-card>button+button{grid-column:2 / -1;width:100%}.toy-avatar-card.active{min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;gap:7px;padding-block:14px;text-align:center}.toy-avatar-card.active .toy-avatar-visual{grid-column:1;grid-row:1;width:clamp(152px,42vw,176px)}.toy-avatar-card.active .toy-avatar-copy{grid-column:1;grid-row:2;align-self:auto;text-align:center}.toy-avatar-card.active .toy-state-line{justify-content:center}.toy-avatar-card.active>button{grid-column:1;grid-row:3;width:min(100%,260px);min-width:0;align-self:auto}.toy-avatar-card.active>button+button{grid-column:1;grid-row:auto;width:min(100%,260px)}.games-view .module-toolbar{min-height:78px;padding:8px 0 12px}.games-view .great-build-req{box-shadow:var(--shadow-xs)}}@media (max-width: 520px){.topbar{grid-template-columns:44px minmax(0,1fr) auto 40px;gap:7px}.chat-top{display:none}.active-now-strip{grid-template-columns:50px minmax(0,1fr)}.active-now-strip>img{width:50px;height:50px}.active-now-strip .green-btn{grid-column:1 / -1;width:100%}.reference-action-card,.reference-action-card:nth-child(3){min-height:104px;grid-template-columns:48px minmax(0,1fr);align-content:center;gap:8px}.reference-action-card .card-chevron{display:none}.reference-action-art{width:48px;height:48px}.reference-action-art img{width:45px;height:45px}.reference-action-copy b{font-size:.86rem}.reference-action-copy small{display:none}.camp-shortcuts,.camp-services-body .reference-action-grid{grid-template-columns:1fr}.camp-services-disclosure>summary{grid-template-columns:46px minmax(0,1fr) auto 20px;padding-inline:12px}.camp-services-disclosure .disclosure-icon{width:46px;height:46px}.product-card{min-height:226px;grid-template-rows:112px minmax(0,1fr) auto}.product-art>img{width:92px;height:92px}.product-copy p{-webkit-line-clamp:3}.toy-avatar-card{grid-template-columns:clamp(104px,31vw,120px) minmax(0,1fr);grid-template-rows:auto auto}.toy-avatar-card .toy-avatar-visual{width:clamp(104px,31vw,120px)}.toy-avatar-card>button,.toy-avatar-card>button+button{grid-column:2;min-width:0}.community-card-head{min-height:164px;padding:72px 12px 12px;grid-template-columns:48px minmax(0,1fr) auto;gap:8px}.community-card-head>img{width:48px;height:48px}.community-card-head h2,.community-card-head h3{font-size:1.35rem}.app-dialog{width:calc(100% - 10px)}.app-dialog-card{padding:17px;border-radius:24px}.app-mini-grid>div{min-height:62px;padding-inline:5px}.guide-status-row article,.toy-flow-status article{padding-inline:5px}}@media (max-width: 370px){.reference-action-grid,.camp-primary-actions{grid-template-columns:1fr}.reference-action-card,.reference-action-card:nth-child(3){min-height:78px;grid-template-columns:52px minmax(0,1fr) 14px}.reference-action-card .card-chevron,.reference-action-copy small{display:block}.contract-side{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-side .contract-cta{grid-column:1 / -1;width:100%}.toy-avatar-card{grid-template-columns:96px minmax(0,1fr)}.toy-avatar-card .toy-avatar-visual{width:96px}.camp-hero-actions{width:100%}.camp-hero-actions>*{flex:1 1 auto}}@media (max-width: 320px){.toy-avatar-card{grid-template-columns:88px minmax(0,1fr);gap-inline:8px}.toy-avatar-card .toy-avatar-visual{width:88px}.toy-avatar-card.active .toy-avatar-visual{width:clamp(136px,46vw,148px)}}@media (orientation: landscape) and (min-width: 700px) and (max-height: 680px){:root{--topbar-h: 62px;--nav-h: 66px}.topbar{padding-block:calc(6px + env(safe-area-inset-top)) 6px}.avatar-button{width:42px;height:42px}.resource-pill,.bell{min-height:40px;height:40px}.screen{padding-top:12px;padding-bottom:92px}.bottom-nav{min-height:66px}.bottom-nav button{min-height:52px}.bottom-nav .nav-primary{min-height:60px}.nav-icon{width:27px;height:27px}.games-icon{width:31px;height:31px}.camp-dashboard-hero{min-height:260px}.page-banner{min-height:190px}}@media (prefers-reduced-motion: reduce){.skip-link{transition:none}}}

/* source: css/progression-v75.min.css */
.svg-symbol-root{position:absolute;overflow:hidden}.profile-achievements{overflow:hidden;background:#fffcf6f5}.profile-achievements>summary strong{min-width:42px;padding:6px 9px;border-radius:999px;color:#536b2f;background:#eaf2d9;text-align:center;font-size:.75rem}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding-block:4px 16px}.achievement-row{min-width:0;padding:14px 2px;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:start;gap:12px;border-top:1px solid rgba(72,53,30,.1)}.achievement-row:nth-child(-n+2){border-top:0}.achievement-row>img{width:68px;height:68px;object-fit:contain;filter:saturate(.72);opacity:.66}.achievement-row.unlocked>img{filter:none;opacity:1}.achievement-row>div{min-width:0}.achievement-row span{display:block;color:#8a7967;font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.achievement-row.unlocked span{color:#69853b}.achievement-row h3{margin:2px 0 4px;color:#342a21;font-size:.92rem;line-height:1.2}.achievement-row p{margin:0;color:#817160;font-size:.72rem;line-height:1.38}.achievement-row small{display:block;margin-top:5px;color:#776756;font-size:.66rem}.achievement-progress{height:6px;margin-top:9px;overflow:hidden;border-radius:999px;background:#e7dece}.achievement-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#79983e,#abc967)}@media (max-width: 620px){.achievement-grid{grid-template-columns:minmax(0,1fr);gap:0}.achievement-row:nth-child(2){border-top:1px solid rgba(72,53,30,.1)}}@media (max-width: 380px){.achievement-row{grid-template-columns:58px minmax(0,1fr);gap:10px}.achievement-row>img{width:58px;height:58px}}.great-build-portfolio,.clan-build-overview{min-width:0;display:grid;gap:12px}.great-build-project-grid,.clan-build-overview-grid{min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(238px,32%);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;padding:2px 2px 10px}.great-build-project,.clan-build-overview-card{min-width:0;scroll-snap-align:start;border:0;border-radius:18px;background:#fffcf6f5;box-shadow:0 6px 20px #33271813;color:#342a21;text-align:left}.great-build-project{min-height:126px;padding:10px;display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:10px}.great-build-project>img{width:82px;height:82px;object-fit:contain}.great-build-project>span,.clan-build-overview-card>span{min-width:0;display:grid;align-content:center}.great-build-project em,.clan-build-overview-card em{color:#708d3b;font-size:.59rem;font-style:normal;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.great-build-project b,.clan-build-overview-card b{margin-top:3px;font-size:.84rem;line-height:1.2}.great-build-project small,.clan-build-overview-card small{margin-top:4px;color:#817160;font-size:.64rem;line-height:1.32}.great-build-project span>i,.clan-build-overview-card span>i{height:6px;margin-top:8px;overflow:hidden;border-radius:99px;background:#e5dccb}.great-build-project span>i>u,.clan-build-overview-card span>i>u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#77963e,#b5cc6b);text-decoration:none}.great-build-project>strong{align-self:start;padding:5px 7px;border-radius:9px;color:#5e7535;background:#edf4df;font-size:.66rem}.great-build-project.selected{background:linear-gradient(145deg,#edf5dd,#fffaf0);box-shadow:0 7px 22px #5b772d24,inset 3px 0 #7e9d43}.great-build-project:disabled{opacity:1;cursor:default}.great-build-donate-all{min-width:0;padding:14px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:13px;border-radius:18px;background:linear-gradient(135deg,#eaf3d6,#fffaf0);box-shadow:0 7px 22px #4a602617}.great-build-donate-all>div{min-width:0;display:grid;gap:2px}.great-build-donate-all b{color:#3e5128;font-size:.93rem}.great-build-donate-all span{color:#617b35;font-size:.73rem;font-weight:800}.great-build-donate-all small{color:#807361;font-size:.66rem}.great-build-donate-all .green-btn{min-width:116px}.great-build-hero:has(.great-build-hero-art[src*="/v75/great_build_"]){background:radial-gradient(circle at 78% 34%,rgba(198,169,82,.28),transparent 32%),linear-gradient(135deg,#314125,#171b13 58%,#0e110c)}.great-build-hero-art[src*="/v75/great_build_"]{padding:clamp(12px,3vw,28px);object-fit:contain;object-position:82% center}.clan-build-overview{padding:17px;border-radius:22px;background:linear-gradient(145deg,#f1f6e1f0,#fffbf2fa);box-shadow:0 10px 28px #372e1e14}.clan-build-overview .section-mini-head{align-items:center}.clan-build-overview .section-mini-head>div>span{color:#657f38}.clan-build-overview .section-mini-head .ghost-btn{flex:0 0 auto}.clan-build-overview-grid{grid-auto-columns:minmax(214px,27%)}.clan-build-overview-card{min-height:234px;padding:12px;display:grid;grid-template-rows:122px minmax(0,1fr);gap:7px}.clan-build-overview-card>img{width:100%;height:122px;object-fit:contain}.clan-build-overview-card.focused{background:linear-gradient(150deg,#e5f0cd,#fffaf1);box-shadow:0 8px 24px #546f2724,inset 0 -3px #7e9d43}.clan-build-overview-card.ready{box-shadow:0 8px 25px #ac7e2726,inset 0 -3px #d3a347}.clan-build-overview>.muted-note{margin:0 2px}@media (max-width: 620px){.great-build-project-grid{grid-auto-columns:minmax(256px,88%)}.clan-build-overview{padding:14px 12px}.clan-build-overview-grid{grid-auto-columns:minmax(218px,76%)}.great-build-donate-all{grid-template-columns:minmax(0,1fr)}.great-build-donate-all .green-btn{width:100%}}@media (max-width: 390px){.clan-choice{grid-template-columns:62px minmax(0,1fr);align-items:center}.clan-choice>img{width:62px;height:62px}.clan-choice>.green-btn{grid-column:1 / -1;width:100%}.great-build-project{grid-template-columns:70px minmax(0,1fr)}.great-build-project>img{width:70px;height:70px}.great-build-project>strong{grid-column:1;grid-row:1;justify-self:end;align-self:end}.clan-build-overview .section-mini-head{align-items:stretch}.clan-build-overview .section-mini-head .ghost-btn{width:100%}}

/* source: css/chat-v75.min.css */
@layer screens{body.chat-mode{height:var(--app-viewport-height, 100dvh);min-height:0;overflow:hidden;overscroll-behavior:none}body.chat-mode .tma{height:var(--app-viewport-height, 100dvh);min-height:0;overflow:hidden}body.chat-mode .screen{height:calc(var(--app-viewport-height, 100dvh) - var(--topbar-h) - env(safe-area-inset-top));min-height:0;padding:0 var(--gutter);overflow:hidden}body.chat-mode .chat-only-view{width:min(100%,920px);height:100%;min-height:0;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:0;overflow:hidden;animation:none}.chat-screen-head{z-index:3;padding:10px 4px 8px;background:linear-gradient(180deg,#fffaf1fc,#fffaf1eb);box-shadow:0 10px 22px #41311a0b}.chat-title-row{min-height:46px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:9px}.chat-close-btn,.chat-refresh-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:transparent;color:var(--ink-2);font-size:1.55rem;line-height:1}.chat-refresh-btn{font-size:1.2rem}.chat-close-btn:active,.chat-refresh-btn:active{background:var(--surface-2)}.chat-title-copy{min-width:0;text-align:center}.chat-title-copy>span{display:block;color:var(--green-3);font-size:.62rem;font-weight:900;letter-spacing:.09em;line-height:1.1;text-transform:uppercase}.chat-title-copy h1{margin-top:2px;overflow:hidden;font-size:clamp(1.12rem,4vw,1.4rem);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.chat-channel-tabs{margin-top:6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(71,52,29,.1)}.chat-channel-tabs>button{min-width:0;min-height:42px;padding:5px 6px 8px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink-3)}.chat-channel-tabs>button>span{font-size:.92rem}.chat-channel-tabs>button>b{min-width:0;overflow:hidden;font-size:.76rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.chat-channel-tabs>button>i{min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--surface-2);color:var(--ink-3);font-size:.58rem;font-style:normal;font-weight:900;line-height:1}.chat-channel-tabs>button.active{border-bottom-color:var(--green);color:var(--green-3)}.chat-channel-tabs>button.active>i{background:var(--green-soft);color:var(--green-3)}.chat-channel-hint{margin-top:6px;overflow:hidden;color:var(--ink-3);font-size:.65rem;line-height:1.25;text-align:center;text-overflow:ellipsis;white-space:nowrap}.chat-stream-wrap{min-height:0;position:relative;overflow:hidden}body.chat-mode .chat-messages{width:100%;height:100%;min-height:0;max-height:none;padding:13px 5px 18px;display:flex;flex-direction:column;gap:9px;overflow-x:hidden;overflow-y:auto;border:0;border-radius:0;background:transparent;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.chat-state{min-height:100%;padding:30px 20px;display:grid;place-content:center;justify-items:center;gap:5px;color:var(--ink-3);text-align:center}.chat-state>span{font-size:2.1rem;filter:drop-shadow(0 5px 8px rgba(71,52,29,.12))}.chat-state>b{color:var(--ink-2);font-size:.9rem}.chat-state>p{max-width:34ch;font-size:.72rem;line-height:1.4}.chat-message-row{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:end;gap:7px}.chat-message-row.mine{grid-template-columns:minmax(0,1fr) 32px}.chat-message-row.mine .chat-avatar{grid-column:2}.chat-message-row.mine .chat-bubble{grid-column:1;grid-row:1;justify-self:end}.chat-avatar{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(145deg,#efe5cf,#ddd0b5);color:var(--ink-2);box-shadow:0 3px 8px #3d2d1914;font-size:.76rem;font-weight:900}.chat-message-row.mine .chat-avatar{background:linear-gradient(145deg,#9bb75e,#708f39);color:#fff}.chat-bubble{width:fit-content;max-width:min(84%,590px);padding:8px 10px 7px;border:0;border-radius:16px 16px 16px 5px;background:#ffffffed;box-shadow:0 5px 16px #3a2b1812}.chat-message-row.mine .chat-bubble{border-radius:16px 16px 5px;background:linear-gradient(145deg,#edf5de,#e3efcf)}.chat-message-row.pending .chat-bubble{opacity:.68}.chat-message-row.failed .chat-bubble{background:var(--danger-soft)}.chat-meta{margin-bottom:3px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--ink-3);font-size:.62rem;line-height:1.2}.chat-author{min-width:0;overflow:hidden;padding:0;border-radius:0;background:transparent;color:var(--ink-2);font-weight:900;text-align:left;text-overflow:ellipsis;white-space:nowrap}.chat-meta>span{flex:0 0 auto;white-space:nowrap}.chat-text{color:var(--ink);font-size:clamp(.82rem,2.7vw,.9rem);line-height:1.42;overflow-wrap:anywhere;word-break:break-word}.chat-message-body{margin-top:6px}.chat-inline-mention,.chat-inline-tag{display:inline;padding:0;border-radius:4px;background:transparent;color:var(--green-3);font:inherit;font-weight:850;line-height:inherit}.chat-inline-mention.is-me{padding-inline:2px;background:var(--gold-soft);color:#76520f}.chat-quoted-reply{margin:0 0 6px;padding:5px 8px;display:grid;gap:1px;overflow:hidden;border:0;border-left:3px solid var(--green);border-radius:4px 9px 9px 4px;background:#59713014;color:var(--ink-3);font-size:.69rem;line-height:1.32}.chat-quoted-reply>b,.chat-quoted-reply>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-quoted-reply>b{color:var(--green-3)}.chat-message-actions{min-height:27px;margin:5px -3px -3px;display:flex;justify-content:flex-end;gap:2px;opacity:.42;transition:opacity .15s ease}.chat-bubble:hover .chat-message-actions,.chat-bubble:focus-within .chat-message-actions{opacity:1}.chat-message-actions>button{width:29px;height:27px;display:grid;place-items:center;border-radius:9px;background:transparent;font-size:.76rem;line-height:1}.chat-message-actions>button:active{background:#47341d14}.chat-message-row.is-sticker .chat-bubble{padding:3px 7px;background:transparent;box-shadow:none}.chat-message-row.is-sticker .chat-text{font-size:2.2rem;line-height:1.15}.chat-message-row.is-reaction .chat-bubble{padding-block:6px}.chat-reaction-line{display:inline-flex;align-items:center;gap:5px}.chat-reaction-line>b{font-size:1.2rem;line-height:1}.chat-reaction-line>span{color:var(--green-3);font-size:.72rem;font-weight:900}.chat-reaction-line>i{color:var(--ink-3);font-size:.56rem;font-style:normal}.chat-jump-latest{position:absolute;right:10px;bottom:10px;z-index:4;min-height:34px;padding:6px 12px;border-radius:999px;background:#2f261de6;color:#fff;box-shadow:0 7px 18px #271e1338;font-size:.67rem;font-weight:850}body.chat-mode .chat-bottom-form{z-index:10;position:relative;margin:0 calc(var(--gutter) * -1);padding:8px var(--gutter) calc(7px + env(safe-area-inset-bottom));display:block;border:0;border-top:1px solid rgba(71,52,29,.09);background:#fffbf3f7;box-shadow:0 -12px 30px #3c2c1813;backdrop-filter:blur(18px) saturate(1.1)}.chat-composer-row{display:grid;grid-template-columns:42px minmax(0,1fr) 44px;align-items:end;gap:7px}.chat-tool-btn,.chat-send-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2);color:var(--ink-2);font-size:1.2rem;line-height:1}.chat-send-btn{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#94b454,#698934);color:#fff;box-shadow:0 7px 16px #53702b3b;font-size:1rem}.chat-input-shell{min-height:44px;display:flex;align-items:center;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px #47341d24}body.chat-mode .chat-form textarea{width:100%;height:44px;min-height:44px;max-height:116px;margin:0;padding:11px 12px;resize:none;overflow-y:auto;border:0;border-radius:inherit;outline:0;background:transparent;color:var(--ink);font-size:.86rem;line-height:1.4}.chat-input-shell:focus-within{box-shadow:inset 0 0 0 2px #69893480}.chat-composer-foot{min-height:25px;padding:4px 3px 0 49px;display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-quick-tags{min-width:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.chat-quick-tags::-webkit-scrollbar{display:none}.chat-quick-tags>button{min-height:22px;padding:2px 7px;border-radius:999px;background:transparent;color:var(--green-3);font-size:.61rem;font-weight:850;white-space:nowrap}.chat-quick-tags>button:active{background:var(--green-soft)}.chat-char-count{flex:0 0 auto;color:var(--ink-3);font-size:.58rem;font-variant-numeric:tabular-nums}.chat-char-count.near-limit{color:var(--danger);font-weight:900}.chat-status-line{display:none}.chat-reply-preview{margin-bottom:6px;padding:6px 7px 6px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-left:3px solid var(--green);border-radius:5px 12px 12px 5px;background:var(--green-soft)}.chat-reply-preview>div{min-width:0}.chat-reply-preview span{display:block;color:var(--green-3);font-size:.64rem}.chat-reply-preview p{overflow:hidden;color:var(--ink-3);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.chat-reply-preview>button{flex:0 0 auto;width:30px;height:30px;border-radius:10px;background:transparent;color:var(--ink-3);font-size:1.05rem}.chat-picker,.chat-mention-suggestions{position:absolute;left:max(7px,var(--gutter));right:max(7px,var(--gutter));bottom:calc(100% + 7px);z-index:20;max-height:min(44dvh,350px);overflow-x:hidden;overflow-y:auto;border:0;border-radius:20px;background:#fffcf6fb;box-shadow:0 18px 50px #2d211233,inset 0 0 0 1px #47341d14;overscroll-behavior:contain}.chat-picker-tabs{position:sticky;top:0;z-index:2;padding:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#fffcf6fa}.chat-picker-tabs>button{min-height:35px;border-radius:11px;background:transparent;color:var(--ink-3);font-size:.68rem;font-weight:900}.chat-picker-tabs>button.active{background:var(--green-soft);color:var(--green-3)}.chat-picker-content{padding:5px 10px 12px}.chat-emoji-group+.chat-emoji-group{margin-top:8px}.chat-emoji-group>b{display:block;margin-bottom:3px;color:var(--ink-3);font-size:.6rem;text-transform:uppercase;letter-spacing:.07em}.chat-emoji-group>div{display:grid;grid-template-columns:repeat(8,minmax(34px,1fr));gap:3px}.chat-emoji-group button{min-width:34px;height:38px;display:grid;place-items:center;border-radius:10px;background:transparent;font-size:1.25rem}.chat-emoji-group button:active{background:var(--surface-2);transform:scale(.94)}.chat-sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.chat-sticker-grid>button{min-width:0;min-height:82px;padding:6px 4px;display:grid;place-items:center;align-content:center;gap:3px;border-radius:14px;background:transparent}.chat-sticker-grid>button:active{background:var(--surface-2)}.chat-sticker-grid>button>span{font-size:1.7rem;line-height:1.15}.chat-sticker-grid>button>small{width:100%;overflow:hidden;color:var(--ink-3);font-size:.55rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.chat-sticker-sprite{width:min(64px,100%);aspect-ratio:1;display:block;background-image:var(--chat-sticker-atlas);background-repeat:no-repeat;background-size:var(--chat-sticker-size, 600% 400%);background-position:var(--chat-sticker-position, 0 0);filter:drop-shadow(0 5px 6px rgba(57,40,20,.14))}.chat-rendered-sticker{width:min(150px,40vw);margin:0;display:grid;justify-items:center}.chat-rendered-sticker>img{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(57,40,20,.18))}.chat-rendered-sticker>figcaption{margin-top:-4px;display:flex;align-items:center;gap:5px;color:var(--ink-3);font-size:.57rem}.chat-rendered-sticker>figcaption>span{color:var(--green-3);font-weight:900}.chat-rendered-sticker>figcaption>b{font-size:inherit}.chat-picker-loading{min-height:130px;display:grid;place-content:center;justify-items:center;gap:5px;color:var(--ink-3);text-align:center}.chat-picker-loading>span{font-size:1.8rem}.chat-picker-loading>b{font-size:.69rem}.chat-picker-loading>button{min-height:34px;margin-top:4px;padding:6px 12px;border-radius:11px;background:var(--green-soft);color:var(--green-3);font-size:.64rem;font-weight:900}.chat-picker-loading.is-error>b{color:var(--danger)}.chat-mention-suggestions{padding:7px}.chat-mention-suggestions>button{width:100%;min-height:46px;padding:5px 7px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:12px;background:transparent;text-align:left}.chat-mention-suggestions>button:active{background:var(--surface-2)}.chat-mention-suggestions>button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);font-size:.72rem;font-weight:900}.chat-mention-suggestions>button>b{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.chat-mention-suggestions>button>small{color:var(--ink-3);font-size:.61rem}@media (pointer: coarse){.chat-message-actions{opacity:.68}}@media (max-width: 619px){body.chat-mode .screen{padding-inline:9px}.chat-screen-head{padding-inline:1px}body.chat-mode .chat-bottom-form{margin-inline:-9px;padding-inline:9px}.chat-bubble{max-width:89%}.chat-picker,.chat-mention-suggestions{left:7px;right:7px}.chat-emoji-group>div{grid-template-columns:repeat(6,minmax(34px,1fr))}.chat-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 370px){.chat-channel-tabs>button{gap:3px;padding-inline:3px}.chat-channel-tabs>button>span{display:none}.chat-channel-hint{font-size:.61rem}.chat-composer-row{grid-template-columns:40px minmax(0,1fr) 42px;gap:5px}.chat-tool-btn{width:40px;height:40px}.chat-send-btn{width:42px;height:42px}.chat-composer-foot{padding-left:45px}}@media (min-width: 760px){.chat-screen-head{padding-top:14px}.chat-bubble{max-width:min(76%,590px)}body.chat-mode .chat-messages{padding-inline:18px}.chat-picker,.chat-mention-suggestions{left:auto;right:var(--gutter);width:min(560px,calc(100% - var(--gutter) * 2))}}}

/* source: css/clan-emotes-v76.min.css */
@layer screens{.clan-tone-alchemists{--clan-emote-accent: #6d8e3d;--clan-emote-ink: #40591e;--clan-emote-tint: rgba(109,142,61,.13)}.clan-tone-scribes{--clan-emote-accent: #6c5091;--clan-emote-ink: #4d356c;--clan-emote-tint: rgba(108,80,145,.12)}.clan-tone-ashfeet{--clan-emote-accent: #c44f2f;--clan-emote-ink: #8b301c;--clan-emote-tint: rgba(196,79,47,.12)}.clan-tone-copperfangs{--clan-emote-accent: #b36d2f;--clan-emote-ink: #754212;--clan-emote-tint: rgba(179,109,47,.13)}.clan-tone-moonriveters{--clan-emote-accent: #436d9e;--clan-emote-ink: #2e527a;--clan-emote-tint: rgba(67,109,158,.12)}.chat-picker-tabs{padding:8px;gap:6px;background:linear-gradient(180deg,#fffdf8fc,#faf4e8f7);border-bottom:1px solid rgba(71,52,29,.065)}.chat-picker-tabs>button{position:relative;min-height:39px;overflow:hidden;border-radius:13px;transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .12s ease}.chat-picker-tabs>button.active{background:linear-gradient(135deg,#edf5de,#ddeac5);color:#405b20;box-shadow:inset 0 0 0 1px #4f682917,0 4px 13px #4f68291a}.chat-picker-tabs>button:active{transform:scale(.98)}.chat-picker-tabs>button:focus-visible,.chat-clan-emote-grid>button:focus-visible,.chat-clan-pack-empty>button:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 52%,white);outline-offset:2px}.chat-picker-content{padding:7px 11px 13px}.chat-regular-picker{display:grid;gap:9px}.chat-picker-section-title{min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink-3)}.chat-picker-section-title>b{font-size:.62rem;letter-spacing:.065em;text-transform:uppercase}.chat-picker-section-title>span{min-width:23px;padding:2px 7px;border-radius:999px;background:#47341d0f;font-size:.64rem;font-weight:900;text-align:center}.chat-regular-stickers{margin-top:2px;padding-top:7px;border-top:1px solid rgba(71,52,29,.08)}.chat-regular-stickers .chat-sticker-grid{margin-top:4px}.chat-picker-loading.is-compact{min-height:84px}.chat-clan-picker{display:grid;gap:13px}.chat-own-clan-pack{overflow:hidden;border-radius:17px;background:radial-gradient(circle at 95% 0,color-mix(in srgb,var(--clan-emote-accent) 18%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--clan-emote-accent) 10%,#fffdf8),#fffaf0);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--clan-emote-accent) 18%,transparent)}.chat-own-clan-pack>header{padding:9px 11px 5px;display:grid;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:9px}.chat-own-clan-pack>header>img{width:45px;height:45px;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(51,37,19,.18))}.chat-own-clan-pack>header span{display:block;color:var(--clan-emote-ink, var(--clan-emote-accent));font-size:.7rem;font-weight:950;letter-spacing:.065em;text-transform:uppercase}.chat-own-clan-pack>header b{display:block;margin-top:1px;overflow:hidden;color:var(--ink);font-family:var(--display-font);font-size:.88rem;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.chat-own-clan-pack>p{margin:0;padding:0 11px 8px;color:var(--ink-2);font-size:.65rem;line-height:1.35}.chat-clan-emote-grid{padding:7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#ffffff7a;border-top:1px solid color-mix(in srgb,var(--clan-emote-accent) 13%,transparent)}.chat-clan-emote-grid>button{min-width:0;min-height:84px;padding:5px 3px 6px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:13px;background:transparent;transition:background .14s ease,transform .12s ease}.chat-clan-emote-grid>button:hover{background:color-mix(in srgb,var(--clan-emote-accent) 9%,transparent)}.chat-clan-emote-grid>button:active{transform:scale(.95)}.chat-clan-emote-grid>button>small{width:100%;overflow:hidden;color:var(--ink-3);min-height:2.35em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.69rem;line-height:1.18;text-overflow:ellipsis;white-space:normal}.chat-clan-emote-sprite,.chat-clan-pack-preview-sprite,.chat-inline-clan-emote{display:inline-block;flex:0 0 auto;background-image:var(--clan-emote-atlas);background-repeat:no-repeat;background-size:var(--clan-emote-size, 400% 200%);background-position:var(--clan-emote-position, 0 0)}.chat-clan-emote-sprite{width:min(61px,100%);aspect-ratio:1;filter:drop-shadow(0 6px 7px rgba(57,40,20,.17))}.chat-clan-pack-empty{padding:12px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;border-radius:16px;background:linear-gradient(135deg,#f5ecd9,#fffaf0);box-shadow:inset 0 0 0 1px #47341d13}.chat-clan-pack-empty>span{font-size:1.65rem}.chat-clan-pack-empty b{display:block;font-size:.75rem}.chat-clan-pack-empty p{margin:2px 0 0;color:var(--ink-2);font-size:.65rem;line-height:1.3}.chat-clan-pack-empty>button{min-height:38px;padding:7px 10px;border-radius:11px;background:var(--green);color:#fff;font-size:.65rem;font-weight:900}.chat-clan-pack-list{display:grid;gap:0}.chat-clan-pack-list .chat-picker-section-title{margin-bottom:2px}.chat-clan-pack-legend{position:relative;min-height:58px;padding:6px 5px;display:grid;grid-template-columns:42px minmax(110px,1fr) 84px 23px;align-items:center;gap:7px;border-top:1px solid rgba(71,52,29,.075)}.chat-clan-pack-legend:first-of-type{border-top:0}.chat-clan-pack-legend.is-unlocked{margin-inline:-3px;padding-inline:8px;border:0;border-radius:14px;background:var(--clan-emote-tint, rgba(127,157,69,.1))}.chat-clan-pack-legend>img{width:41px;height:41px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(57,40,20,.13))}.chat-clan-pack-legend>div{min-width:0}.chat-clan-pack-legend>div>b,.chat-clan-pack-legend>div>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-clan-pack-legend>div>b{color:var(--ink);font-size:.67rem}.chat-clan-pack-legend>div>small{margin-top:1px;color:var(--ink-2);font-size:.69rem}.chat-clan-pack-legend>i{font-size:.69rem;font-style:normal;text-align:center}.chat-clan-pack-legend.is-unlocked>i{color:var(--clan-emote-accent);font-size:.9rem;font-weight:950}.chat-clan-pack-legend.is-locked .chat-clan-pack-previews{filter:grayscale(.28);opacity:.54}.chat-clan-pack-previews{display:flex;justify-content:flex-end}.chat-clan-pack-preview-sprite{width:31px;height:31px;margin-left:-4px;border-radius:50%;background-color:#ffffffb8;box-shadow:0 2px 6px #3928141c}.chat-inline-clan-emote{width:1.48em;height:1.48em;margin:-.28em .08em -.36em;vertical-align:baseline;filter:drop-shadow(0 2px 2px rgba(57,40,20,.16))}.chat-message-row.is-clan-message .chat-bubble{position:relative;border-left:3px solid var(--clan-emote-accent, var(--green));background:linear-gradient(110deg,var(--clan-emote-tint, rgba(127,157,69,.075)),rgba(255,255,255,.94) 45%);box-shadow:0 7px 19px #37281512,inset 0 0 0 1px color-mix(in srgb,var(--clan-emote-accent, var(--green)) 11%,transparent)}.chat-message-row.is-clan-message.mine .chat-bubble{background:linear-gradient(110deg,color-mix(in srgb,var(--clan-emote-accent, var(--green)) 13%,#f5f9ea),#edf4dd)}.chat-message-row.is-clan-message .chat-meta:after{content:"#\43a\43b\430\43d";margin-left:2px;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--clan-emote-accent, var(--green)) 12%,transparent);color:var(--clan-emote-accent, var(--green-3));font-size:.62rem;font-weight:950;line-height:1.5}.chat-message-row.is-sticker.is-clan-message .chat-bubble{padding:7px 9px 4px;background:linear-gradient(145deg,var(--clan-emote-tint, rgba(127,157,69,.09)),rgba(255,255,255,.58))}.chat-rendered-clan-emote>img{filter:drop-shadow(0 9px 12px color-mix(in srgb,var(--clan-emote-accent) 24%,transparent))}.chat-rendered-clan-emote>figcaption{flex-wrap:wrap;justify-content:center}.chat-rendered-clan-emote>figcaption>i{width:100%;overflow:hidden;color:var(--clan-emote-accent);font-size:.62rem;font-style:normal;font-weight:850;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 430px){.chat-picker-content{padding-inline:8px}.chat-clan-emote-grid>button{min-height:86px}.chat-clan-emote-sprite{width:min(55px,100%)}.chat-clan-pack-legend{grid-template-columns:38px minmax(90px,1fr) 69px 20px;gap:5px}.chat-clan-pack-legend>img{width:37px;height:37px}.chat-clan-pack-preview-sprite{width:27px;height:27px}.chat-clan-pack-empty{grid-template-columns:38px minmax(0,1fr)}.chat-clan-pack-empty>button{grid-column:1 / -1;width:100%}}@media (max-width: 350px){.chat-clan-emote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-clan-pack-legend{grid-template-columns:36px minmax(0,1fr) 21px}.chat-clan-pack-previews{display:none}}@media (prefers-reduced-motion: reduce){.chat-picker-tabs>button,.chat-clan-emote-grid>button{transition:none}}}

/* source: css/clan-competition-v76.min.css */
@layer clanCompetition{.clan-competition{min-width:0;display:grid;align-items:start;gap:clamp(12px,1.8vw,20px)}.clan-season-hero{min-height:clamp(310px,39vw,410px);overflow:hidden;position:relative;isolation:isolate;display:flex;align-items:flex-end;padding:clamp(22px,4vw,48px);border-radius:clamp(24px,4vw,34px);color:#fffaf0;background:radial-gradient(circle at 82% 34%,rgba(201,164,70,.31),transparent 28%),linear-gradient(128deg,#192016,#2d3920 48%,#171a13);box-shadow:0 28px 70px #2a201440,inset 0 0 0 1px #ffffff17}.clan-season-hero:before{content:"";position:absolute;inset:0;z-index:-3;opacity:.4;background:repeating-linear-gradient(115deg,transparent 0 48px,rgba(255,255,255,.025) 49px 50px),radial-gradient(circle at 13% 17%,rgba(218,188,97,.15),transparent 21%)}.clan-season-hero:after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:4px;background:linear-gradient(90deg,#93712a,#f1d57d 45%,#7d9d45 78%,transparent)}.clan-season-art{position:absolute;z-index:-2;inset:-8% -2% -10% auto;width:min(58%,690px);height:118%;object-fit:contain;object-position:right center;filter:drop-shadow(0 24px 34px rgba(0,0,0,.34));opacity:.94}.clan-season-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#12150efa,#12150ed6 44%,#12150e33 82%),linear-gradient(0deg,rgba(9,11,8,.76),transparent 52%)}.clan-season-crown{position:absolute;top:clamp(16px,3vw,30px);right:clamp(17px,3vw,31px);width:clamp(70px,10vw,118px);height:clamp(70px,10vw,118px);object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.28))}.clan-season-copy{width:min(67%,760px);min-width:0;display:grid;align-content:end}.clan-season-source{max-width:min(58%,520px);min-height:33px;position:absolute;top:clamp(15px,2.5vw,26px);left:clamp(18px,3.7vw,45px);z-index:2;padding:4px 5px 4px 10px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#ffffffb3;background:#070a065c;backdrop-filter:blur(10px);font-size:.68rem}.clan-season-source>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clan-season-source>button{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#f4db8d;background:#ffffff1a;font-size:1rem}.clan-season-source.is-unavailable{color:#ffe7a8;border-color:#f2c45c47;background:#57360f8c}.clan-season-hero.is-unavailable .clan-season-live i{background:#e3a94b;box-shadow:0 0 0 4px #e3a94b21,0 0 12px #e3a94b}.clan-season-live{width:fit-content;max-width:100%;min-height:31px;padding:5px 9px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0a0c085c;backdrop-filter:blur(10px);color:#ffffffc2;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.clan-season-live i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#b7d469;box-shadow:0 0 0 4px #b7d46921,0 0 12px #b7d469}.clan-season-live b{padding-left:7px;border-left:1px solid rgba(255,255,255,.17);color:#f2d889;font-size:.6rem}.clan-season-kicker{margin-top:18px;color:#f1d57e;font-size:clamp(.62rem,.9vw,.72rem);font-weight:900;letter-spacing:.14em;text-transform:uppercase}.clan-season-copy :is(h1,h2){max-width:780px;margin-top:5px;color:#fffaf0;font-size:clamp(2.25rem,5.5vw,4.6rem);line-height:.93;letter-spacing:-.045em;text-shadow:0 5px 24px rgba(0,0,0,.35)}.clan-season-copy>p{max-width:62ch;margin-top:12px;color:#ffffffbd;font-size:clamp(.76rem,1.1vw,.92rem)}.clan-season-copy>p b{color:#f2d788}.clan-season-stats{max-width:690px;margin-top:clamp(17px,2vw,24px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.17)}.clan-season-stats>span{min-width:0;min-height:67px;padding:12px 15px 0 0;display:grid;align-content:start;border-right:1px solid rgba(255,255,255,.13)}.clan-season-stats>span+span{padding-left:15px}.clan-season-stats>span:last-child{border-right:0}.clan-season-stats em{overflow:hidden;color:#ffffffb8;font-size:.65rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.clan-season-stats strong{overflow:hidden;color:#fff8e7;font-family:var(--display-font);font-size:clamp(1.2rem,2.2vw,1.75rem);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.clan-podium-section,.clan-rank-table-section{min-width:0;align-self:start;padding:clamp(15px,2.4vw,25px);border-radius:clamp(20px,3vw,28px);background:#fffcf5f7;box-shadow:0 12px 34px #32271817}.clan-competition-unavailable{grid-column:1 / -1;min-height:235px;padding:clamp(22px,4vw,42px);display:grid;place-items:center;align-content:center;text-align:center;border-radius:clamp(20px,3vw,28px);background:linear-gradient(145deg,#fffcf5fa,#f1ebdafa);box-shadow:0 12px 34px #32271817}.clan-unavailable-crests{height:66px;display:flex;justify-content:center;align-items:center}.clan-unavailable-crests img{width:62px;height:62px;margin-left:-9px;object-fit:contain;filter:saturate(.7) drop-shadow(0 6px 8px rgba(57,40,22,.13))}.clan-unavailable-crests img:first-child{margin-left:0}.clan-competition-unavailable>span{margin-top:12px;color:#796431;font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.clan-competition-unavailable h2{margin-top:3px;font-size:clamp(1.65rem,4vw,2.45rem)}.clan-competition-unavailable p{max-width:62ch;margin-top:7px;color:var(--ink-2);font-size:.76rem}.clan-competition-unavailable .green-btn{width:min(100%,280px);margin-top:16px}.clan-competition-head{min-width:0;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:12px}.clan-competition-head>div{min-width:0}.clan-competition-head span{display:block;color:var(--green-3);font-size:.68rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.clan-competition-head h2{margin-top:2px;font-size:clamp(1.35rem,2.9vw,2rem);line-height:1}.clan-competition-head>b{color:var(--ink-3);font-size:.62rem;text-align:right}.clan-table-trophy{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(65,45,20,.15))}.clan-podium{min-width:0;margin-top:17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(7px,1.2vw,13px)}.clan-podium-card{min-width:0;min-height:196px;position:relative;padding:18px 12px 13px;display:grid;justify-items:center;align-content:start;text-align:center;border-radius:20px;background:linear-gradient(180deg,#f2ebdbb8,#ffffff59)}.clan-podium-card.rank-1{min-height:218px;padding-top:20px;background:linear-gradient(180deg,#ffefb8c2,#fffcf29e);box-shadow:inset 0 0 0 1px #c2902d2b}.clan-podium-card.is-mine{box-shadow:inset 0 0 0 2px #75973a85,0 8px 22px #526c2a1a}.clan-podium-medal{width:54px;height:39px;position:absolute;top:-8px;left:50%;transform:translate(-50%);display:grid;place-items:center}.clan-podium-medal img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.9}.clan-podium-medal>b{z-index:1;color:#4a351a;font-size:.7rem;text-shadow:0 1px rgba(255,255,255,.55)}.clan-podium-crest{width:clamp(65px,8vw,92px);height:clamp(65px,8vw,92px);object-fit:contain;filter:drop-shadow(0 9px 12px rgba(57,40,22,.17))}.rank-1 .clan-podium-crest{width:clamp(78px,9vw,105px);height:clamp(78px,9vw,105px)}.clan-podium-card>span{min-width:0;margin-top:5px;display:grid;justify-items:center}.clan-podium-card>span em{max-width:100%;overflow:hidden;color:var(--green-3);font-size:.65rem;font-style:normal;font-weight:900;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.clan-podium-card>span strong{max-width:100%;overflow:hidden;font-size:clamp(.69rem,1.2vw,.88rem);line-height:1.16;text-overflow:ellipsis;white-space:nowrap}.clan-podium-card>span small{color:var(--ink-2);font-size:.65rem}.clan-podium-score{margin-top:7px;color:#4e642d;font-family:var(--display-font);font-size:1.1rem}.clan-podium-card>.clan-rank-move{position:absolute;right:8px;top:9px}.clan-rank-move{min-width:27px;height:27px;padding-inline:6px;display:inline-grid;place-items:center;border-radius:9px;font-size:.64rem;font-weight:950}.clan-rank-move.is-up{color:#4f7226;background:#e7f1d4}.clan-rank-move.is-down{color:#9a493b;background:#f8e3df}.clan-rank-move.is-still{color:#877967;background:#eee7da}.clan-rank-table{min-width:0;margin-top:13px;display:grid}.clan-rank-table-head,.clan-rank-row{min-width:0;display:grid;grid-template-columns:42px minmax(140px,1fr) 78px 76px 36px;align-items:center;gap:9px}.clan-rank-table-head{min-height:32px;padding-inline:10px;color:var(--ink-3);font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.clan-rank-row{min-height:66px;padding:7px 10px;border-top:1px solid var(--line)}.clan-rank-row.is-mine{margin:3px -3px;padding-inline:13px;border:0;border-radius:16px;background:linear-gradient(90deg,#e8f1d7,#f8f8eb);box-shadow:inset 3px 0 #7e9e42}.clan-rank-number{color:var(--ink-3);font-family:var(--display-font);font-size:1.15rem;text-align:center}.is-mine>.clan-rank-number{color:var(--green-3)}.clan-rank-identity{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:9px}.clan-rank-identity>img{width:46px;height:46px;object-fit:contain}.clan-rank-identity>i{min-width:0;display:grid;font-style:normal}.clan-rank-identity b{overflow:hidden;font-size:.79rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.clan-rank-identity em{overflow:hidden;color:var(--ink-2);font-size:.65rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.clan-rank-identity>u{padding:4px 6px;border-radius:7px;color:#fff;background:var(--green-2);font-size:.62rem;font-weight:950;text-decoration:none;text-transform:uppercase}.clan-rank-week{color:var(--ink-2);font-size:.84rem;text-align:right}.clan-rank-today{display:grid;color:var(--green-3);font-size:.76rem;text-align:right}.clan-rank-today small{color:var(--ink-2);font-size:.62rem;font-weight:600}.clan-rank-row>.clan-rank-move{justify-self:end}.clan-next-rank-progress{min-width:0;min-height:70px;margin-top:12px;padding:11px 13px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(140px,.75fr) 44px;align-items:center;gap:13px;border-radius:16px;background:#f3ebdc}.clan-next-rank-progress.is-leader{background:linear-gradient(90deg,#fff0c2,#f4f2db)}.clan-next-rank-progress>span{min-width:0;display:grid}.clan-next-rank-progress b{font-size:.68rem}.clan-next-rank-progress em{color:var(--ink-2);font-size:.65rem;font-style:normal}.clan-next-rank-progress>i{height:8px;overflow:hidden;border-radius:99px;background:#5340281f}.clan-next-rank-progress>i>u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#708e39,#bdd76f);box-shadow:0 0 12px #6d903338;text-decoration:none}.clan-next-rank-progress>strong{color:var(--green-3);font-size:.72rem;text-align:right}.clan-league-details{overflow:hidden;border-block:1px solid var(--line)}.clan-league-details>summary{min-height:70px;padding:11px 2px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:10px;cursor:pointer}.clan-league-details>summary>span{min-width:0;display:grid}.clan-league-details>summary b{font-size:.8rem}.clan-league-details>summary em{color:var(--ink-3);font-size:.67rem;font-style:normal}.clan-league-details>summary>i,.clan-stage-details>summary>i{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--ink-3);background:var(--surface-2);font-size:1rem;font-style:normal;transition:transform .18s ease}.clan-league-details[open]>summary>i,.clan-stage-details[open]>summary>i{transform:rotate(180deg)}.clan-league-body{padding:0 2px 16px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1fr);gap:18px 26px}.clan-league-body>p{align-self:center;color:var(--ink-2);font-size:.74rem}.clan-league-body>small{grid-column:1 / -1;padding-top:11px;border-top:1px solid var(--line);color:var(--ink-3);font-size:.62rem}.clan-prize-status{min-width:0;padding:13px;display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:11px;border-radius:17px;background:linear-gradient(135deg,#fff0bd,#fff8df)}.clan-prize-status>img{width:70px;height:70px;object-fit:contain}.clan-prize-status>span{min-width:0;display:grid}.clan-prize-status strong{color:#60451d;font-size:.75rem}.clan-prize-status p{margin-top:3px;color:#7b633c;font-size:.64rem}.clan-prize-status.is-informational:after{content:"\431\435\437  \43e\431\435\449\430\43d\43d\43e\439  \430\432\442\43e\432\44b\43f\43b\430\442\44b";grid-column:1 / -1;width:fit-content;padding:4px 7px;border-radius:8px;color:#79591d;background:#ffffff7a;font-size:.62rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.clan-rule-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.clan-rule-list>article{min-width:0;min-height:62px;padding:8px 0;display:grid;grid-template-columns:27px minmax(0,1fr);align-items:start;gap:7px;border-top:1px solid var(--line)}.clan-rule-list>article:nth-child(-n+2){border-top:0}.clan-rule-list>article>b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:var(--green-3);background:var(--green-soft);font-size:.62rem}.clan-rule-list span{min-width:0;display:grid}.clan-rule-list strong{font-size:.64rem}.clan-rule-list em{color:var(--ink-2);font-size:.64rem;line-height:1.3;font-style:normal}.clan-trend-basis{grid-column:1 / -1;padding:10px 12px;border-radius:13px;color:var(--ink-2);background:var(--surface-2);font-size:.64rem!important}.clan-prize-list{display:grid}.clan-prize-list>div{min-height:52px;padding:7px 0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;border-top:1px solid var(--line)}.clan-prize-list>div:first-child{border-top:0}.clan-prize-list>div>b{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#5a431d;background:#f4d985;font-family:var(--display-font)}.clan-prize-list>div:nth-child(2)>b{color:#596168;background:#dfe4e3}.clan-prize-list>div:nth-child(3)>b{color:#68452b;background:#dfb38a}.clan-prize-list span{min-width:0;display:grid}.clan-prize-list strong{font-size:.69rem}.clan-prize-list em{color:var(--ink-2);font-size:.65rem;font-style:normal}.clan-battle-brief{min-width:0;padding:clamp(16px,2.5vw,24px);display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,32px);border-radius:24px;color:#f9f4e8;background:linear-gradient(125deg,#303a24,#1e2419);box-shadow:0 15px 36px #29311d29}.clan-battle-brief>header>span{color:#d8c378;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.clan-battle-brief h2{margin-top:3px;color:#fffaf0;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1}.clan-battle-brief header p{margin-top:7px;color:#ffffff96;font-size:.67rem}.clan-battle-brief>div{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.clan-battle-action{min-width:0;min-height:92px;padding:10px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:16px;color:#352c21;background:#fffcf3f0;text-align:left;box-shadow:0 6px 16px #0000001a}.clan-battle-action>img{width:48px;height:48px;object-fit:contain}.clan-battle-action>span{min-width:0;display:grid}.clan-battle-action b{font-size:.7rem;line-height:1.2}.clan-battle-action em{overflow:hidden;color:var(--ink-2);font-size:.65rem;font-style:normal;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.clan-battle-action>strong{align-self:end;grid-column:2;color:var(--green-3);font-size:.64rem}.clan-battle-action>i{grid-row:1 / span 2;grid-column:3;color:var(--ink-3);font-size:1.2rem;font-style:normal}.clan-stage-details{min-width:0;overflow:hidden;border:0;border-radius:22px;background:#fffcf5f5;box-shadow:0 8px 25px #32271812}.clan-stage-details>summary,.clan-management-details.clan-stage-details>summary{min-height:86px;padding:12px 15px;display:grid;grid-template-columns:58px minmax(0,1fr) 40px;align-items:center;gap:11px;cursor:pointer}.clan-stage-details>summary>span:nth-child(2){min-width:0;display:grid}.clan-stage-details>summary>span:nth-child(2)>b{font-size:.84rem}.clan-stage-details>summary>span:nth-child(2)>em{color:var(--ink-3);font-size:.67rem;line-height:1.35;font-style:normal}.clan-stage-icon{width:58px;height:58px;position:relative;display:grid!important;place-items:center;border-radius:17px;background:#f2eadb}.clan-stage-icon>img{width:54px;height:54px;object-fit:contain}.clan-stage-icon>b{position:absolute;left:-3px;top:-3px;width:20px;height:20px;display:grid;place-items:center;border:2px solid #fffaf1;border-radius:7px;color:#fff;background:var(--green-2);font-size:.62rem}.clan-stage-body{min-width:0;padding:3px 15px 17px}.clan-stage-body{display:grid;gap:clamp(11px,2vw,17px)}.clan-stage-details>.clan-hub-grid{padding:0 15px 16px}.clan-stage-details[open]>summary{border-bottom:1px solid var(--line)}.clan-stage-details[open]>summary+.clan-stage-body{padding-top:15px}.clan-stage-body>.clan-build-overview{padding:0;background:transparent;box-shadow:none}.clan-community-stage[open]{overflow:visible;background:transparent;box-shadow:none}.clan-community-stage[open]>summary{margin-bottom:12px;border:0;border-radius:22px;background:#fffcf5f7;box-shadow:0 8px 25px #32271812}.clan-community-stage[open]>summary+.clan-stage-body{padding:0}.clan-community-stage .community-build-hero{box-shadow:none}.camp-clan-battle-cta{min-width:0;min-height:80px;padding:9px 11px;display:grid;grid-template-columns:64px minmax(0,1fr) auto 18px;align-items:center;gap:10px;overflow:hidden;position:relative;border-radius:19px;color:#fff8e8;background:linear-gradient(115deg,#2d3921,#1e2519 75%);box-shadow:0 12px 27px #2b361f2b;text-align:left}.camp-clan-battle-cta:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#d7bc63,#7fa047)}.camp-clan-battle-art{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 6px 9px rgba(0,0,0,.22))}.camp-clan-battle-cta>span{min-width:0;display:grid}.camp-clan-battle-cta em{overflow:hidden;color:#e2cf91;font-size:.62rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.camp-clan-battle-cta b{overflow:hidden;color:#fffaf0;font-family:var(--display-font);font-size:1.12rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.camp-clan-battle-cta small{overflow:hidden;color:#ffffffb8;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.camp-clan-battle-cta>strong{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(233,211,135,.27);border-radius:14px;color:#f3d985;background:#0003;font-family:var(--display-font);font-size:1.12rem}.camp-clan-battle-cta>i{color:#ffffff8c;font-size:1.2rem;font-style:normal}.clan-join-kicker{color:var(--green-3);font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.clan-join-title{margin-top:4px;font-size:clamp(1.65rem,4.2vw,2.45rem);line-height:1.02}.clan-join-panel .clan-choice-grid{grid-auto-flow:column;grid-auto-columns:minmax(278px,36%);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;padding:3px 2px 11px;scroll-snap-type:inline mandatory;scrollbar-width:thin;touch-action:pan-x;-webkit-overflow-scrolling:touch}.clan-join-panel .clan-choice{min-height:112px;scroll-snap-align:start;border:0;border-radius:18px;background:#f5eddf;box-shadow:none}@media (min-width: 980px){.clan-competition{grid-template-columns:minmax(310px,.42fr) minmax(0,.58fr)}.clan-season-hero{grid-column:1 / -1}.clan-podium-section{grid-column:1}.clan-rank-table-section{grid-column:2}.clan-league-details{grid-column:1 / -1}}@media (max-width: 900px){.clan-season-copy{width:min(76%,690px)}.clan-battle-brief{grid-template-columns:1fr}}@media (max-width: 700px){.clan-season-hero{min-height:365px;padding:20px}.clan-season-art{inset:-4% -13% auto auto;width:72%;height:76%;opacity:.72}.clan-season-shade{background:linear-gradient(0deg,#11150dfa,#11150dd4 52%,#11150d29)}.clan-season-crown{width:68px;height:68px}.clan-season-copy{width:100%}.clan-season-copy :is(h1,h2){max-width:13ch;font-size:clamp(2.25rem,10vw,3.25rem)}.clan-season-copy>p{max-width:44ch}.clan-season-kicker{margin-top:13px}.clan-podium-card{min-height:176px;padding-inline:7px;border-radius:16px}.clan-podium-card.rank-1{min-height:194px}.clan-podium-crest{width:64px;height:64px}.rank-1 .clan-podium-crest{width:73px;height:73px}.clan-podium-card>.clan-rank-move{display:none}.clan-rank-table-head,.clan-rank-row{grid-template-columns:34px minmax(0,1fr) 62px 58px 31px;gap:5px}.clan-rank-table-head{padding-inline:5px}.clan-rank-table-head>span{font-size:.6rem}.clan-rank-row{min-height:61px;padding:6px 5px}.clan-rank-row.is-mine{padding-inline:8px 5px}.clan-rank-identity{grid-template-columns:39px minmax(0,1fr);gap:6px}.clan-rank-identity>img{width:39px;height:39px}.clan-rank-identity>u{display:none}.clan-rank-identity b{font-size:.72rem}.clan-rank-identity em{color:var(--ink-2);font-size:.69rem}.clan-rank-week{font-size:.74rem}.clan-rank-today{font-size:.7rem}.clan-rank-today small{display:none}.clan-rank-move{min-width:26px;width:26px;height:26px;padding:0}.clan-next-rank-progress{grid-template-columns:minmax(0,1fr) 42px;gap:8px}.clan-next-rank-progress>i{grid-column:1 / -1;grid-row:2}.clan-next-rank-progress>strong{grid-column:2;grid-row:1}.clan-league-body{grid-template-columns:1fr}.clan-league-body>small,.clan-trend-basis{grid-column:1}.clan-battle-brief>div{grid-template-columns:1fr}.clan-battle-action{min-height:72px;grid-template-columns:48px minmax(0,1fr) auto auto}.clan-battle-action>strong{grid-row:1;grid-column:3;align-self:center}.clan-battle-action>i{grid-row:1;grid-column:4}}@media (max-width: 430px){.clan-season-hero{min-height:388px;border-radius:24px}.clan-season-live span{display:none}.clan-season-live b{border-left:0;padding-left:0}.clan-season-copy>p{font-size:.72rem}.clan-season-stats>span{min-height:59px;padding-right:7px}.clan-season-stats>span+span{padding-left:8px}.clan-season-stats em{font-size:.62rem}.clan-season-stats strong{font-size:1.1rem}.clan-podium-section,.clan-rank-table-section{padding:13px 11px;border-radius:21px}.clan-competition-head>b{display:none}.clan-podium{gap:4px}.clan-podium-card{min-height:162px;padding:16px 4px 9px}.clan-podium-card.rank-1{min-height:180px}.clan-podium-medal{width:46px}.clan-podium-card>span em{font-size:.65rem}.clan-podium-card>span strong{font-size:.72rem}.clan-podium-card>span small{font-size:.65rem}.clan-podium-score{font-size:.93rem}.clan-rank-table-head,.clan-rank-row{grid-template-columns:28px minmax(0,1fr) 54px 48px 27px;gap:3px}.clan-rank-number{font-size:.9rem}.clan-rank-identity{grid-template-columns:34px minmax(0,1fr);gap:5px}.clan-rank-identity>img{width:34px;height:34px}.clan-rank-identity b{font-size:.72rem}.clan-rank-identity em{color:var(--ink-2);font-size:.69rem}.clan-rank-week{font-size:.7rem}.clan-rank-today{font-size:.69rem}.clan-rank-move{min-width:23px;width:23px;height:23px;font-size:.65rem}.clan-next-rank-progress b{font-size:.68rem}.clan-rule-list{grid-template-columns:1fr}.clan-rule-list>article:nth-child(2){border-top:1px solid var(--line)}.clan-stage-details>summary,.clan-management-details.clan-stage-details>summary{min-height:80px;padding-inline:11px;grid-template-columns:52px minmax(0,1fr) 36px;gap:8px}.clan-stage-icon{width:52px;height:52px}.clan-stage-icon>img{width:49px;height:49px}.clan-stage-details>summary>span:nth-child(2)>b{font-size:.76rem}.clan-stage-details>summary>span:nth-child(2)>em{font-size:.65rem}.clan-stage-details>summary>i{width:36px;height:36px}.clan-stage-body{padding-inline:11px}.clan-stage-details>.clan-hub-grid{padding-inline:11px}.camp-clan-battle-cta{min-height:74px;grid-template-columns:55px minmax(0,1fr) auto 13px;gap:7px}.camp-clan-battle-art{width:55px;height:55px}.camp-clan-battle-cta b{font-size:.96rem}.camp-clan-battle-cta>strong{min-width:36px;height:36px;border-radius:11px;font-size:.94rem}.clan-join-panel .clan-choice-grid{grid-auto-columns:minmax(278px,88%)}}@media (max-width: 370px){.clan-season-hero{min-height:402px;padding:17px}.clan-season-copy :is(h1,h2){font-size:2.12rem}.clan-season-crown{right:10px;width:58px;height:58px}.clan-podium-card>span em{display:none}.clan-podium-crest{width:56px;height:56px}.rank-1 .clan-podium-crest{width:64px;height:64px}.clan-rank-table-head,.clan-rank-row{grid-template-columns:24px minmax(0,1fr) 50px 43px 24px;gap:2px}.clan-rank-identity{grid-template-columns:30px minmax(0,1fr)}.clan-rank-identity>img{width:30px;height:30px}.clan-rank-identity em{display:none}.clan-rank-today{font-size:.69rem}.clan-rank-move{min-width:21px;width:21px;height:21px}.camp-clan-battle-cta small{display:none}}@media (prefers-reduced-motion: reduce){.clan-league-details>summary>i,.clan-stage-details>summary>i{transition:none}}}

/* source: css/chat-v77.min.css */
@layer v77-chat{body.chat-mode,body.chat-mode .tma{width:100%;height:var(--app-viewport-height, 100dvh);min-height:0;overflow:hidden;overscroll-behavior:none}body.chat-mode .screen{width:100%;height:calc(var(--app-viewport-height, 100dvh) - var(--topbar-h) - env(safe-area-inset-top));min-height:0;padding:0 clamp(8px,2.4vw,18px);overflow:hidden}body.chat-mode .chat-only-view{width:100%;max-width:880px;min-width:0;height:100%;min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:0;overflow:hidden;contain:inline-size;animation:none}body.chat-mode .chat-only-view>*,body.chat-mode .chat-screen-head>*,body.chat-mode .chat-bottom-form>*,body.chat-mode .chat-composer-row>*,body.chat-mode .chat-composer-foot>*{min-width:0;max-width:100%}.chat-screen-head{z-index:3;padding:7px 0 6px;background:#fffaf1f5;border-bottom:1px solid rgba(71,52,29,.075);box-shadow:none}.chat-title-row{min-height:42px;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:6px}.chat-close-btn,.chat-refresh-btn{width:40px;height:40px;border-radius:12px;background:transparent}.chat-title-copy>span{font-size:.61rem}.chat-title-copy h1{margin-top:0;font-size:clamp(1.06rem,4.4vw,1.3rem)}.chat-channel-tabs{width:100%;min-width:0;margin-top:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:0;border-radius:13px;background:#5345300e}.chat-channel-tabs>button{width:100%;min-width:0;min-height:38px;padding:4px 5px;gap:4px;overflow:hidden;border:0;border-radius:11px;color:var(--ink-3)}.chat-channel-tabs>button>span{flex:0 0 auto;font-size:.82rem}.chat-channel-tabs>button>span>img{width:18px;height:18px;object-fit:contain}.chat-channel-tabs>button>b{flex:0 1 auto;min-width:0;font-size:.7rem}.chat-channel-tabs>button>i{flex:0 0 auto;min-width:18px;height:18px;padding-inline:4px;font-size:.55rem}.chat-channel-tabs>button.active{color:var(--green-3);background:#fffdf7f0;box-shadow:0 3px 10px #372a1912,inset 0 0 0 1px #53692d1a}.chat-channel-hint{max-width:62ch;min-height:1.3em;margin:5px auto 0;display:-webkit-box;overflow:hidden;color:#7c6d5b;font-size:.63rem;line-height:1.3;text-align:center;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chat-stream-wrap{width:100%;min-width:0;min-height:0;position:relative;overflow:hidden;contain:inline-size}body.chat-mode .chat-messages{width:100%;min-width:0;height:100%;min-height:0;max-height:none;padding:10px 2px 13px;gap:8px;overflow-x:hidden;overflow-y:auto;border:0;border-radius:0;background:transparent;scrollbar-gutter:auto}.chat-state{width:100%;min-width:0;min-height:100%;padding:clamp(18px,5vh,38px) 14px;place-content:center}.chat-state>span{font-size:1.85rem}.chat-state>b{max-width:28ch;color:var(--ink-2);font-size:.85rem;line-height:1.3;overflow-wrap:anywhere}.chat-state>p{max-width:36ch;color:#81715e;font-size:.69rem;line-height:1.4;overflow-wrap:anywhere}.chat-message-row{width:100%;min-width:0;grid-template-columns:30px minmax(0,1fr);gap:6px;contain:inline-size}.chat-message-row.mine{grid-template-columns:minmax(0,1fr) 30px}.chat-avatar{width:30px;height:30px;font-size:.7rem}.chat-bubble{min-width:0;max-width:min(88%,560px);padding:7px 9px 6px;border-radius:14px 14px 14px 5px;box-shadow:0 4px 13px #3a2b1811}.chat-message-row.mine .chat-bubble{border-radius:14px 14px 5px}.chat-meta{min-width:0;margin-bottom:2px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:2px 7px;font-size:.6rem}.chat-author{flex:1 1 82px;max-width:100%}.chat-meta>span{flex:0 0 auto;margin-left:auto}.chat-message-row.is-clan-message .chat-meta:after{flex:0 0 auto;order:3;margin-left:0;font-size:.57rem}.chat-text{min-width:0;font-size:clamp(.8rem,2.65vw,.88rem);line-height:1.4}.chat-message-actions{min-height:25px;margin-top:3px}.chat-message-actions>button{width:28px;height:25px}.chat-message-actions>button>img{width:19px;height:19px;object-fit:contain}body.chat-mode .chat-bottom-form{z-index:10;position:relative;width:100%;min-width:0;max-width:100%;margin:0;padding:7px 0 calc(6px + env(safe-area-inset-bottom));display:block;overflow:visible;border:0;border-top:1px solid rgba(71,52,29,.08);border-radius:0;background:#fffbf3fa;box-shadow:0 -8px 22px #3c2c180e;backdrop-filter:blur(16px) saturate(1.08);contain:inline-size}.chat-composer-row{width:100%;min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) 42px;align-items:end;gap:6px}.chat-tool-btn{width:40px;height:40px;border-radius:12px}.chat-send-btn{width:42px;height:42px;border-radius:13px;box-shadow:0 5px 13px #53702b33}.chat-input-shell{width:100%;min-width:0;min-height:42px;border-radius:13px}body.chat-mode .chat-form textarea{display:block;width:100%;min-width:0;height:42px;min-height:42px;max-height:94px;padding:10px 11px;border-radius:13px;font-size:.82rem;line-height:1.35}.chat-composer-foot{width:100%;min-width:0;min-height:24px;padding:4px 2px 0 46px;display:flex;align-items:center;gap:6px;overflow:clip}.chat-quick-tags{width:100%;min-width:0;flex:1 1 0;display:flex;gap:3px;overflow:hidden;contain:inline-size;overscroll-behavior:none}.chat-quick-tags>button{flex:0 0 auto;min-height:22px;padding:2px 6px;font-size:.59rem}.chat-quick-tags>.chat-more-tags{margin-left:auto;color:var(--green-3);background:#59713014}.chat-char-count{flex:0 0 auto;font-size:.56rem}.chat-reply-preview{width:100%;min-width:0;margin-bottom:5px;padding-block:5px}.chat-reply-preview p{max-width:100%}.chat-picker,.chat-mention-suggestions{left:0;right:0;bottom:calc(100% + 6px);width:auto;min-width:0;max-width:100%;max-height:min(46dvh,max(110px,calc(var(--app-viewport-height, 100dvh) - var(--topbar-h) - 154px)));overflow-x:hidden;overflow-y:auto;border-radius:17px;box-shadow:0 14px 38px #2d21122e,inset 0 0 0 1px #47341d13;overscroll-behavior:contain;contain:inline-size}.chat-picker-tabs{padding:6px;gap:4px}.chat-picker-tabs>button{min-height:36px;border-radius:11px}.chat-picker-content{width:100%;min-width:0;padding:6px 8px 10px}.chat-picker-tags{width:100%;padding:4px 0 8px;border-bottom:1px solid rgba(71,52,29,.08)}.chat-picker-tags>div:last-child{display:flex;flex-wrap:wrap;gap:5px}.chat-picker-tags>div:last-child>button{min-height:30px;padding:5px 9px;border-radius:999px;background:#59713014;color:var(--green-3);font-size:.67rem;font-weight:900}.chat-regular-picker,.chat-clan-picker,.chat-regular-stickers,.chat-clan-pack-list,.chat-own-clan-pack{width:100%;min-width:0;max-width:100%}.chat-emoji-group>div{grid-template-columns:repeat(8,minmax(32px,1fr));gap:2px}.chat-emoji-group button{min-width:32px;height:36px}.chat-sticker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.chat-sticker-grid>button{min-height:74px;padding:4px 2px}.chat-sticker-sprite{width:min(56px,100%)}.chat-own-clan-pack{border-radius:14px}.chat-own-clan-pack>header{padding:7px 9px 4px;grid-template-columns:40px minmax(0,1fr);gap:7px}.chat-own-clan-pack>header>img{width:40px;height:40px}.chat-own-clan-pack>p{padding:0 9px 6px;font-size:.62rem}.chat-clan-emote-grid{padding:5px;gap:3px}.chat-clan-emote-grid>button{min-height:75px;padding:3px 2px 4px}.chat-clan-emote-sprite{width:min(52px,100%)}.chat-clan-pack-legend{min-width:0;max-width:100%}.chat-rendered-sticker{width:min(126px,36vw)}@media (max-width: 430px){.chat-channel-tabs>button{gap:3px;padding-inline:3px}.chat-channel-tabs>button>span{display:none}.chat-channel-hint{font-size:.61rem}.chat-emoji-group>div{grid-template-columns:repeat(6,minmax(32px,1fr))}.chat-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-clan-emote-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.chat-clan-pack-legend{grid-template-columns:36px minmax(0,1fr) 62px 18px;gap:4px}.chat-clan-pack-legend>img{width:35px;height:35px}.chat-clan-pack-preview-sprite{width:25px;height:25px}}@media (max-width: 350px){body.chat-mode .screen{padding-inline:6px}.chat-title-row{grid-template-columns:38px minmax(0,1fr) 38px;gap:4px}.chat-close-btn,.chat-refresh-btn{width:38px;height:38px}.chat-channel-tabs>button>i{display:none}.chat-composer-row{grid-template-columns:38px minmax(0,1fr) 40px;gap:4px}.chat-tool-btn{width:38px;height:38px}.chat-send-btn{width:40px;height:40px}.chat-composer-foot{padding-left:42px}.chat-quick-tags>button:nth-child(4){display:none}.chat-clan-emote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-clan-pack-legend{grid-template-columns:34px minmax(0,1fr) 18px}.chat-clan-pack-previews{display:none}}@media (max-width: 300px){.chat-quick-tags>button:nth-child(3){display:none}}@media (orientation: landscape) and (max-height: 560px){.chat-screen-head{padding-block:3px 4px}.chat-title-row{min-height:36px}.chat-close-btn,.chat-refresh-btn{width:36px;height:36px}.chat-title-copy>span,.chat-channel-hint{display:none}.chat-channel-tabs{margin-top:2px}.chat-channel-tabs>button{min-height:34px}body.chat-mode .chat-messages{padding-block:7px 9px}.chat-state{padding-block:12px}.chat-composer-foot{min-height:20px;padding-top:2px}.chat-picker,.chat-mention-suggestions{max-height:48dvh}}@media (min-width: 760px){body.chat-mode .chat-only-view{max-width:820px}body.chat-mode .chat-messages{padding-inline:12px}.chat-bubble{max-width:min(74%,560px)}.chat-picker,.chat-mention-suggestions{left:auto;right:0;width:min(540px,100%)}}@media (prefers-reduced-motion: reduce){.chat-channel-tabs>button,.chat-send-btn{transition:none}}}

/* source: css/clan-workspace-v77.min.css */
@layer clanWorkspace{.community-clan-view,.compact-profile-view,.compact-mail-view{gap:clamp(10px,1.6vw,16px)}.clan-identity-card{min-width:0;padding:clamp(14px,2.2vw,22px);display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.58fr);grid-template-areas:"main leader" "stats leader";gap:13px 18px;overflow:hidden;position:relative;border-radius:23px;background:linear-gradient(138deg,#fffdf7fa,#f3edddf0);box-shadow:0 10px 30px #34281717}.clan-identity-card:before{content:"";width:220px;height:220px;position:absolute;right:-80px;bottom:-115px;border-radius:50%;background:color-mix(in srgb,var(--clan-emote-accent, #809c46) 14%,transparent);pointer-events:none}.clan-identity-main{grid-area:main;min-width:0;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:13px}.clan-identity-crest{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 8px 13px rgba(59,44,25,.13))}.clan-identity-main>div{min-width:0}.clan-identity-main span,.clan-leader-card span,.clan-priority-head span,.profile-inventory-hub header span,.reference-profile-main>span{color:#607b35;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.clan-identity-main h1{margin-top:2px;font-size:clamp(1.75rem,4vw,2.6rem);line-height:1}.clan-identity-main p{margin-top:5px;color:var(--ink-3);font-size:.76rem}.clan-identity-stats{grid-area:stats;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border-top:1px solid var(--line)}.clan-identity-stats>span{min-height:48px;padding:8px 11px 0;display:grid;align-content:center;border-left:1px solid var(--line)}.clan-identity-stats>span:first-child{border-left:0;padding-left:0}.clan-identity-stats em{color:var(--ink-3);font-size:.61rem;font-style:normal;text-transform:uppercase}.clan-identity-stats b{margin-top:1px;font-size:.9rem}.clan-leader-card{grid-area:leader;min-width:0;padding:11px;align-self:stretch;display:grid;grid-template-columns:66px minmax(0,1fr);align-content:center;align-items:center;gap:9px 11px;border-radius:18px;background:#ebe6d5c2}.clan-leader-card>img{width:66px;height:66px;object-fit:contain;grid-row:1}.clan-leader-card>div{min-width:0;display:grid}.clan-leader-card b{margin-top:2px;overflow-wrap:anywhere;font-size:.9rem}.clan-leader-card small{margin-top:3px;display:-webkit-box;overflow:hidden;color:var(--ink-3);font-size:.66rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.clan-leader-card>button{grid-column:1 / -1;min-height:40px;width:100%}.clan-priority-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.clan-priority-card{min-width:0;padding:15px;display:grid;align-content:start;gap:12px;border-radius:20px;background:#fffcf5f2;box-shadow:0 7px 22px #34281711}.clan-priority-head{min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:11px}.clan-priority-head>img{width:72px;height:72px;object-fit:contain}.clan-priority-head>div{min-width:0}.clan-priority-head h2{margin-top:2px;font-size:1.14rem;line-height:1.08}.clan-priority-head p{margin-top:4px;color:var(--ink-3);font-size:.7rem;line-height:1.35}.clan-build-goals{display:grid;gap:9px}.clan-build-goals label{display:grid;gap:4px}.clan-build-goals label>span{display:flex;justify-content:space-between;gap:10px;font-size:.68rem}.clan-build-goals em{color:var(--green-3);font-style:normal;font-weight:900;white-space:nowrap}.clan-build-goals label>i,.building-people>i{height:7px;overflow:hidden;border-radius:99px;background:#e4dccd}.clan-build-goals u,.building-people u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#75943c,#c6bd54);text-decoration:none}.clan-priority-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}.clan-priority-actions>button{min-height:42px}.clan-build-now.is-ready{background:linear-gradient(145deg,#edf5da,#fffaf0)}.clan-inventory-preview{min-width:0;display:grid;gap:1px;border-top:1px solid var(--line)}.clan-inventory-preview>button,.profile-resource-preview>button{min-width:0;min-height:50px;padding:6px 2px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid var(--line);text-align:left}.clan-inventory-preview img,.profile-resource-preview img{width:42px;height:42px;object-fit:contain}.clan-inventory-preview span,.profile-resource-preview span{min-width:0;display:grid}.clan-inventory-preview b,.profile-resource-preview b{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.clan-inventory-preview em,.profile-resource-preview em{color:var(--ink-3);font-size:.63rem;font-style:normal}.clan-inventory-preview strong,.profile-resource-preview strong{color:var(--gold-2);font-size:.73rem}.clan-inventory-open{width:100%;min-height:40px;margin-top:auto}.clan-inventory-empty{min-height:115px;display:grid;grid-template-columns:68px minmax(0,1fr);place-content:center;align-items:center;gap:10px;color:var(--ink-3);font-size:.72rem}.clan-inventory-empty img{width:68px;height:68px;object-fit:contain}.clan-quick-actions{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.clan-quick-actions .clan-battle-action{min-height:68px;padding:8px 10px;grid-template-columns:43px minmax(0,1fr) 16px;grid-template-rows:auto;border-radius:16px;background:#fffcf5eb;box-shadow:0 5px 16px #3227180e}.clan-quick-actions .clan-battle-action>img{width:43px;height:43px}.clan-quick-actions .clan-battle-action>span{grid-column:2;grid-row:1;align-content:center}.clan-quick-actions .clan-battle-action>span>b{font-size:.74rem;white-space:normal}.clan-quick-actions .clan-battle-action>span>em{overflow:visible;font-size:.64rem;text-overflow:clip;white-space:normal}.clan-quick-actions .clan-battle-action>span>small{margin-top:2px;color:var(--green-3);font-size:.61rem;font-weight:900}.clan-quick-actions .clan-battle-action>i{grid-row:1;grid-column:3;align-self:center}.community-clan-view .clan-competition{grid-template-columns:minmax(0,1fr);gap:10px}.community-clan-view .clan-season-hero{grid-column:1;min-height:224px;padding:18px 21px;border-radius:22px}.community-clan-view .clan-season-art{inset:-12% -4% -14% auto;width:min(46%,480px);height:126%;opacity:.78}.community-clan-view .clan-season-crown{width:66px;height:66px;top:14px;right:15px}.community-clan-view .clan-season-copy{width:min(72%,700px)}.community-clan-view .clan-season-copy :is(h1,h2){margin-top:7px;max-width:none;font-size:clamp(1.75rem,4vw,2.55rem)}.community-clan-view .clan-season-copy>p{max-width:56ch;margin-top:6px;font-size:.74rem}.community-clan-view .clan-season-kicker{margin-top:8px;font-size:.59rem}.community-clan-view .clan-season-live{min-height:27px;padding-block:3px}.community-clan-view .clan-season-stats{margin-top:11px}.community-clan-view .clan-season-stats>span{min-height:46px;padding:6px 10px}.community-clan-view .clan-season-source{top:10px;left:auto;right:92px}.community-clan-view .clan-rank-table-section{grid-column:1;padding:13px;border-radius:19px}.community-clan-view .clan-competition-head h2{font-size:1.15rem}.clan-podium-details,.clan-league-details{overflow:hidden;border:0;border-radius:18px;background:#fffcf5f0;box-shadow:0 5px 18px #3227180e}.clan-podium-details>summary,.clan-league-details>summary{min-height:66px;padding:9px 13px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;cursor:pointer}.clan-podium-details>summary::-webkit-details-marker{display:none}.clan-podium-details>summary>span:first-child{min-width:0;display:grid}.clan-podium-details summary b{font-size:.78rem}.clan-podium-details summary em{color:var(--ink-3);font-size:.65rem;font-style:normal}.clan-podium-details summary>strong{color:var(--green-3);font-size:.66rem}.clan-podium-summary-crests{display:flex;padding-left:9px}.clan-podium-summary-crests i{width:38px;height:38px;position:relative;margin-left:-9px;display:grid;place-items:center;border:2px solid #fffaf1;border-radius:50%;background:#eee6d7}.clan-podium-summary-crests img{width:34px;height:34px;object-fit:contain}.clan-podium-summary-crests i>b{position:absolute;right:-2px;bottom:-2px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--green-2);font-size:.5rem}.clan-podium-details .clan-podium-section{margin:0;padding:13px;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.community-clan-view .clan-stage-details{border-radius:18px}.community-clan-view .clan-stage-details>summary,.community-clan-view .clan-management-details.clan-stage-details>summary{min-height:68px;padding:8px 12px;grid-template-columns:48px minmax(0,1fr) 34px}.community-clan-view .clan-stage-icon{width:48px;height:48px;border-radius:14px}.community-clan-view .clan-stage-icon>img{width:44px;height:44px}.community-clan-view .clan-stage-body{padding-inline:12px}.community-clan-view .clan-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 12px 12px;gap:1px;overflow:hidden;border-radius:15px;background:var(--line)}.community-clan-view .clan-hub-card{min-height:68px;padding:7px 9px;grid-template-columns:42px minmax(0,1fr);border:0;border-radius:0;background:#fffaf1;box-shadow:none}.community-clan-view .clan-hub-card img{width:40px;height:40px}.clan-window-panel{gap:12px}.clan-build-window .app-panel-head{margin-bottom:0}.clan-focus-panel{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);align-items:center;gap:14px;border:0;border-radius:18px;background:linear-gradient(140deg,#eef4df,#fffaf1)}.clan-focus-panel>div:first-child>span,.clan-focus-panel.is-empty>span{color:var(--green-3);font-size:.62rem;font-weight:900;text-transform:uppercase}.clan-focus-panel h2{margin-top:3px;font-size:1.22rem}.clan-focus-panel p{margin-top:4px;color:var(--ink-3);font-size:.72rem}.clan-focus-panel.is-empty{grid-template-columns:1fr}.clan-focus-panel ol{margin:5px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:6px}.clan-focus-panel ol li{padding:8px;border-radius:10px;background:#ffffff9e;color:var(--ink-3);font-size:.66rem}.focus-bars{display:grid;gap:9px}.focus-bars label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;font-size:.68rem}.focus-bars label>em{color:var(--green-3);font-style:normal;font-weight:900}.focus-bars label>span{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:99px;background:#ddd5c5}.focus-bars label>span i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#74923d,#c5bc53)}.clan-build-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.clan-build-how>span{min-height:48px;padding:7px 9px;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;border-radius:12px;background:#f3ecdf}.clan-build-how b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--green-2);font-size:.65rem}.clan-build-how em{font-size:.66rem;font-style:normal;line-height:1.25}.clan-window-actions{padding:9px 11px;display:grid;grid-template-columns:48px auto minmax(0,1fr);align-items:center;gap:10px;border-radius:14px;background:#fff6d9}.clan-window-actions>img{width:48px;height:48px;object-fit:contain}.clan-window-actions small{color:var(--ink-3);font-size:.66rem}.clan-building-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.clan-building-card{min-width:0;padding:11px;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;border:0;border-radius:17px;background:#fffaf1;box-shadow:0 5px 17px #3227180f}.clan-building-card>img{width:76px;height:76px;object-fit:contain}.clan-building-card>div:nth-child(2){min-width:0}.building-status{color:var(--green-3);font-size:.59rem;font-weight:900;text-transform:uppercase}.clan-building-card h3{margin-top:2px;font-size:.87rem}.clan-building-card p{margin-top:3px;color:var(--ink-3);font-size:.65rem;line-height:1.3}.building-benefit{margin-top:7px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px}.building-benefit>span{min-width:0;display:grid;color:var(--ink-2);font-size:.62rem}.building-benefit b{color:var(--ink-3);font-size:.54rem;text-transform:uppercase}.building-benefit>i{color:var(--green-3);font-style:normal}.building-people{margin-top:8px;display:grid;gap:4px}.building-people>span{display:flex;justify-content:space-between;gap:8px;font-size:.62rem}.building-people em{font-style:normal;font-weight:900}.clan-building-card small{margin-top:5px;display:block;color:var(--ink-3);font-size:.6rem}.building-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.building-actions>button:only-child{grid-column:1 / -1}.clan-leader-mail-panel{gap:12px}.clan-mail-recipient{min-width:0;padding:10px 12px;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;border-radius:18px;background:linear-gradient(140deg,#eef3df,#fffaf1)}.clan-mail-recipient>img{width:76px;height:76px;object-fit:contain}.clan-mail-recipient span{color:var(--green-3);font-size:.62rem;font-weight:900;text-transform:uppercase}.clan-mail-recipient h2{margin-top:2px;font-size:1.3rem}.clan-mail-recipient p{margin-top:2px;color:var(--ink-3);font-size:.7rem}.clan-mail-hint{color:var(--ink-3);font-size:.71rem}.clan-leader-mail-form{display:grid;gap:10px}.clan-leader-mail-form label{display:grid;gap:5px}.clan-leader-mail-form label>span{color:var(--ink-2);font-size:.67rem;font-weight:900}.clan-leader-mail-form input,.clan-leader-mail-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:12px;background:#fffdf8;color:var(--ink);font:inherit}.clan-leader-mail-form textarea{min-height:120px;resize:vertical}.clan-leader-mail-form>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.clan-leader-mail-form small{color:var(--ink-3);font-size:.62rem}.clan-mail-disabled{min-height:150px;display:grid;place-content:center;justify-items:center;gap:7px;text-align:center}.clan-mail-disabled>span{font-size:2rem}.clan-mail-disabled p{max-width:42ch;color:var(--ink-3);font-size:.72rem}.compact-mail-view{width:min(100%,900px);margin-inline:auto}.compact-mail-view .mail-panel{min-width:0;padding:0;display:grid;gap:8px;border:0;background:transparent;box-shadow:none}.compact-mail-view .mail-board-head{min-width:0;padding:10px 13px;grid-template-columns:64px minmax(0,1fr) 40px;gap:10px;border-radius:18px;background:#fffcf5f5;box-shadow:0 6px 20px #3227180f}.compact-mail-view .mail-board-head>img{width:64px;height:64px}.compact-mail-view .mail-board-head h1{margin-top:1px;font-size:1.45rem;line-height:1}.compact-mail-view .mail-board-head p{margin-top:3px;font-size:.68rem}.mail-refresh-compact{width:40px;height:40px;border-radius:12px;color:var(--green-3);background:#edf2e1;font-size:1rem}.compact-mail-view .mail-board-head>.mail-refresh-compact{grid-column:3;grid-row:1;justify-self:end;align-self:center}.mail-board-note{padding:0 4px;color:var(--ink-3);font-size:.67rem}.compact-mail-view .mail-list{gap:2px;overflow:hidden;border-radius:18px;background:#fffcf5f0;box-shadow:0 7px 22px #3227180f}.compact-mail-view .mail-row{min-width:0;padding:0;display:block;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.compact-mail-view .mail-row:first-child{border-top:0}.compact-mail-view .mail-row.unread{background:linear-gradient(90deg,#e9f3d6e6,#fffcf5f0)}.compact-mail-view .mail-row>summary{min-width:0;min-height:68px;padding:7px 10px;display:grid;grid-template-columns:50px minmax(0,1fr) auto 24px;align-items:center;gap:8px;cursor:pointer;list-style:none}.compact-mail-view .mail-row>summary::-webkit-details-marker{display:none}.compact-mail-view .mail-stamp{width:50px;height:50px;border-radius:13px}.compact-mail-view .mail-stamp img{width:48px;height:48px}.mail-summary-copy{min-width:0;display:grid;gap:2px}.mail-summary-copy>span{min-width:0;display:flex;align-items:center;gap:6px}.mail-summary-copy b{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.mail-summary-copy i{flex:0 0 auto;padding:3px 5px;border-radius:6px;color:var(--green-3);background:#e5efd4;font-size:.52rem;font-style:normal;font-weight:900;text-transform:uppercase}.mail-summary-copy em{overflow:hidden;color:var(--ink-3);font-size:.66rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.compact-mail-view .mail-time{padding:0;color:var(--ink-3);background:transparent;font-size:.6rem;white-space:nowrap}.mail-chevron{color:var(--ink-3);font-size:1rem;font-style:normal;transition:transform .16s ease}.mail-row[open] .mail-chevron{transform:rotate(180deg)}.compact-mail-view .mail-body{margin:0 12px 10px 68px;padding:10px 12px;border-radius:13px;background:#f2ebddb3}.compact-mail-view .mail-copy{margin-top:0;font-size:.76rem}.compact-mail-view .mail-image{max-height:220px;object-fit:contain;background:#ffffff80}.compact-profile-view .reference-profile-card{padding:13px;grid-template-columns:82px minmax(0,1fr);gap:11px;border-radius:20px}.compact-profile-view .reference-profile-avatar{width:82px;height:82px;border-radius:22px}.compact-profile-view .reference-profile-main h1{margin-top:2px;font-size:clamp(1.55rem,5vw,2.1rem);line-height:1}.compact-profile-view .reference-profile-main p{margin-top:3px;font-size:.72rem}.compact-profile-view .reference-edit{min-height:34px;margin-top:7px;padding:6px 9px;font-size:.64rem}.compact-profile-view .reference-profile-metrics{margin-top:2px}.compact-profile-view .reference-profile-metrics>div{min-height:52px;padding:6px}.compact-profile-view .reference-profile-metrics img{width:24px;height:24px}.profile-inventory-hub{min-width:0;padding:14px;display:grid;gap:10px;border-radius:20px;background:#fffcf5f5;box-shadow:0 7px 22px #32271811}.profile-inventory-hub>header{min-width:0;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px}.profile-inventory-hub>header>img{width:70px;height:70px;object-fit:contain}.profile-inventory-hub header h2{margin-top:2px;font-size:1.25rem}.profile-inventory-hub header p{margin-top:3px;color:var(--ink-3);font-size:.68rem}.profile-resource-preview{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;border-top:1px solid var(--line)}.profile-inventory-hub .reference-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;border-top:1px solid var(--line)}.profile-inventory-hub .profile-item-card{min-height:55px;padding:7px 2px;grid-template-columns:46px minmax(0,1fr)}.profile-inventory-hub .profile-item-card img{width:46px;height:46px}.profile-inventory-empty{min-height:72px;padding:8px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:9px;border-radius:13px;background:#f3ecde}.profile-inventory-empty>img{width:58px;height:58px;object-fit:contain}.profile-inventory-empty>span{min-width:0;display:grid}.profile-inventory-empty b{font-size:.75rem}.profile-inventory-empty em{color:var(--ink-3);font-size:.63rem;font-style:normal}.profile-regular-empty{padding-top:5px;color:var(--ink-3);font-size:.69rem}.profile-inventory-more{border-top:1px solid var(--line)}.profile-inventory-more>summary{min-height:40px;display:grid;place-items:center;color:var(--green-3);font-size:.68rem;font-weight:900;cursor:pointer}.profile-ledger-disclosure{border:0;border-radius:18px;background:#fffcf5f0;box-shadow:0 5px 18px #3227180e}.toy-avatar-disclosure{overflow:hidden;border:0;border-radius:18px;background:#fffcf5f0;box-shadow:0 5px 18px #3227180e}.toy-avatar-disclosure .toy-avatar-panel{padding-top:12px;display:grid;gap:10px;border-top:1px solid var(--line)}.toy-avatar-disclosure .toy-avatar-empty{min-height:220px}.build-route-view .great-build-view{gap:11px}.build-route-view .great-build-hero{min-height:245px;border-radius:21px}.build-route-view .great-build-hero-copy{padding:18px 20px}.build-route-view .great-build-hero-copy h2{font-size:clamp(1.75rem,5vw,2.65rem)}.build-route-view .great-build-guide{min-width:0;padding:9px 11px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;border-radius:16px;background:#fffcf5f2;box-shadow:0 5px 17px #3227180e}.great-build-guide>div{min-width:0;display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:7px}.great-build-guide>div>b{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--green-2);font-size:.66rem}.great-build-guide span{min-width:0;display:grid}.great-build-guide strong{font-size:.68rem}.great-build-guide em{overflow:hidden;color:var(--ink-3);font-size:.59rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.great-build-guide>i{color:var(--ink-3);font-style:normal}.build-route-view .backpack-shortcut{min-height:76px;padding:9px 12px;grid-template-columns:58px minmax(0,1fr) auto;border-radius:17px}.build-route-view .backpack-shortcut img{width:58px;height:58px}.build-route-view .great-build-reqs{gap:9px}.build-route-view .great-build-donate-all{padding:10px 12px;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;border-radius:16px}.great-build-donate-all>img{width:52px;height:52px;object-fit:contain}.build-route-view .great-build-req-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.build-route-view .great-build-req{padding:9px;grid-template-columns:50px minmax(0,1fr);gap:8px;border-radius:15px}.build-route-view .great-build-req>.resource-icon-button{width:50px;height:50px}.build-route-view .great-build-req>form{grid-column:1 / -1}.build-route-view .great-build-req-main p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.build-route-view .build-disclosure>summary{min-height:64px}.great-build-projects .great-build-project-grid{grid-auto-columns:minmax(235px,38%)}@media (max-width: 820px){.clan-identity-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "stats" "leader"}.clan-leader-card{grid-template-columns:60px minmax(0,1fr) auto}.clan-leader-card>img{width:60px;height:60px}.clan-leader-card>button{grid-column:3;grid-row:1;width:auto}.clan-building-list{grid-template-columns:minmax(0,1fr)}}@media (max-width: 680px){.clan-priority-grid,.clan-quick-actions{grid-template-columns:minmax(0,1fr)}.clan-quick-actions .clan-battle-action{min-height:62px;grid-template-columns:46px minmax(0,1fr) 18px}.clan-quick-actions .clan-battle-action>span>b{font-size:.78rem}.clan-quick-actions .clan-battle-action>span>em,.clan-quick-actions .clan-battle-action>span>small{font-size:.65rem}.community-clan-view .clan-season-hero{min-height:255px;padding:17px}.community-clan-view .clan-season-art{inset:-18% -16% auto auto;width:69%;height:88%;opacity:.58}.community-clan-view .clan-season-copy{width:100%}.community-clan-view .clan-season-copy :is(h1,h2){max-width:15ch;font-size:clamp(1.7rem,8vw,2.35rem)}.community-clan-view .clan-season-copy>p{max-width:44ch}.community-clan-view .clan-season-source{right:82px;max-width:46%}.community-clan-view .clan-hub-grid,.clan-focus-panel,.clan-build-how{grid-template-columns:minmax(0,1fr)}.clan-window-actions{grid-template-columns:44px minmax(0,1fr)}.clan-window-actions>img{width:44px;height:44px}.clan-window-actions>small{grid-column:1 / -1}.profile-inventory-hub>header{grid-template-columns:58px minmax(0,1fr)}.profile-inventory-hub>header>img{width:58px;height:58px}.profile-inventory-hub>header>button{grid-column:1 / -1;width:100%}.profile-resource-preview,.profile-inventory-hub .reference-inventory-grid,.build-route-view .great-build-guide{grid-template-columns:minmax(0,1fr)}.great-build-guide>i{display:none}.build-route-view .great-build-req-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 460px){.clan-identity-card{padding:12px;border-radius:19px}.clan-identity-main{grid-template-columns:68px minmax(0,1fr);gap:10px}.clan-identity-crest{width:68px;height:68px}.clan-identity-main h1{font-size:1.48rem}.clan-identity-main p{font-size:.68rem}.clan-leader-card{grid-template-columns:54px minmax(0,1fr)}.clan-leader-card>img{width:54px;height:54px}.clan-leader-card>button{grid-column:1 / -1;grid-row:auto;width:100%}.clan-identity-stats>span{padding-inline:7px}.clan-priority-card{padding:12px;border-radius:17px}.clan-priority-head{grid-template-columns:60px minmax(0,1fr)}.clan-priority-head>img{width:60px;height:60px}.clan-priority-head h2{font-size:1rem}.clan-priority-actions{grid-template-columns:minmax(0,1fr)}.community-clan-view .clan-season-hero{min-height:270px;border-radius:20px}.community-clan-view .clan-season-crown{width:55px;height:55px}.community-clan-view .clan-season-source{right:68px}.community-clan-view .clan-season-source>span{display:none}.community-clan-view .clan-season-source{padding-left:4px}.clan-podium-details>summary{grid-template-columns:minmax(0,1fr) auto}.clan-podium-details summary>strong{display:none}.clan-podium-summary-crests i{width:34px;height:34px}.clan-podium-summary-crests img{width:30px;height:30px}.compact-mail-view .mail-board-head{grid-template-columns:54px minmax(0,1fr) 38px}.compact-mail-view .mail-board-head>img{width:54px;height:54px}.compact-mail-view .mail-row>summary{grid-template-columns:44px minmax(0,1fr) 20px;min-height:62px;padding-inline:7px}.compact-mail-view .mail-stamp{width:44px;height:44px}.compact-mail-view .mail-stamp img{width:42px;height:42px}.compact-mail-view .mail-time{display:none}.compact-mail-view .mail-body{margin-left:7px;margin-right:7px}.clan-building-card{grid-template-columns:62px minmax(0,1fr)}.clan-building-card>img{width:62px;height:62px}.building-benefit{grid-template-columns:minmax(0,1fr)}.building-benefit>i{display:none}.clan-leader-mail-form>div{align-items:stretch;flex-direction:column}.clan-leader-mail-form .green-btn{width:100%}.compact-profile-view .reference-profile-card{grid-template-columns:70px minmax(0,1fr)}.compact-profile-view .reference-profile-avatar{width:70px;height:70px}.compact-profile-view .reference-profile-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-profile-view .reference-profile-metrics>div,.compact-profile-view .reference-profile-metrics>div:first-child{min-height:62px;padding:6px 3px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:none;place-content:center;gap:1px;border-top:0;border-left:1px solid var(--line);text-align:center}.compact-profile-view .reference-profile-metrics>div:first-child{border-left:0}.compact-profile-view .reference-profile-metrics img,.compact-profile-view .reference-profile-metrics span,.compact-profile-view .reference-profile-metrics b{grid-area:auto;align-self:auto}.compact-profile-view .reference-profile-metrics img{width:22px;height:22px;margin-inline:auto}.compact-profile-view .reference-profile-metrics span{font-size:.59rem}.compact-profile-view .reference-profile-metrics b{font-size:.77rem}.profile-inventory-empty{grid-template-columns:50px minmax(0,1fr)}.profile-inventory-empty>img{width:50px;height:50px}.profile-inventory-empty>button{grid-column:1 / -1;width:100%}.build-route-view .great-build-hero{min-height:260px}.build-route-view .great-build-donate-all{grid-template-columns:46px minmax(0,1fr)}.great-build-donate-all>img{width:46px;height:46px}.build-route-view .great-build-donate-all>button{grid-column:1 / -1;width:100%}.build-route-view .backpack-shortcut{grid-template-columns:50px minmax(0,1fr)}.build-route-view .backpack-shortcut img{width:50px;height:50px}.build-route-view .backpack-shortcut>button{grid-column:1 / -1;width:100%}}}

/* source: css/platform-v78.min.css */
@layer platformV80{.test-season-gold-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid rgba(159,112,32,.18);border-radius:18px;background:linear-gradient(135deg,#fff7d8f5,#f4e7bee0);box-shadow:var(--shadow-xs)}.test-season-gold-card>img{width:54px;height:54px;object-fit:contain}.test-season-gold-card>span{display:grid;min-width:0;gap:1px}.test-season-gold-card em{color:#7d662f;font-size:.66rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.test-season-gold-card b{font-size:.98rem;line-height:1.2}.test-season-gold-card small{color:var(--ink-3);font-size:.75rem;line-height:1.3}.test-season-gold-card>strong{color:#7c5719;font-size:clamp(1.15rem,4.8vw,1.55rem);font-variant-numeric:tabular-nums;white-space:nowrap}.resource-pill.is-display-only{cursor:default}.resource-pill.is-display-only:hover{filter:none}.inline-gold-icon{width:1.25em;height:1.25em;display:inline-block;object-fit:contain;vertical-align:-.28em;flex:0 0 auto}.platform-link-card,.yandex-account-card{width:100%;border:1px solid rgba(87,100,49,.17);border-radius:18px;background:#fcfaf1f5;box-shadow:var(--shadow-xs);overflow:hidden}.platform-link-card>summary{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}.platform-link-card>summary::-webkit-details-marker{display:none}.platform-link-card>summary>img{width:48px;height:48px;object-fit:contain}.platform-link-card>summary>span{display:grid;min-width:0;gap:1px}.platform-link-card>summary em{color:var(--green-deep);font-size:.62rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.platform-link-card>summary b{font-size:.98rem;line-height:1.2}.platform-link-card>summary small{color:var(--ink-3);font-size:.73rem}.platform-link-card>summary>i{color:var(--ink-3);font-size:1.25rem;font-style:normal;transition:transform .2s ease}.platform-link-card[open]>summary>i{transform:rotate(180deg)}.platform-link-body{display:grid;gap:10px;margin:0;padding:0 14px 14px}.platform-link-body p{margin:0;color:var(--ink-3);font-size:.78rem;line-height:1.42}.platform-link-body label{display:grid;gap:5px;color:var(--ink-2);font-size:.72rem;font-weight:800}.platform-link-body input{width:100%;min-height:44px;border:1px solid rgba(82,70,46,.22);border-radius:12px;background:#fff;padding:10px 12px;color:var(--ink);font:inherit}.platform-link-code{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.platform-link-code code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:12px;background:#667e3117;padding:12px;color:var(--green-deep);font-size:.72rem;user-select:text;-webkit-user-select:text}.yandex-account-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px}.yandex-account-card>img{width:46px;height:46px;object-fit:contain}.yandex-account-card>div{display:grid;min-width:0;gap:2px}.yandex-account-card span{color:var(--green-deep);font-size:.62rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.yandex-account-card b{font-size:.98rem}.yandex-account-card p{margin:0;color:var(--ink-3);font-size:.74rem;line-height:1.35}.yandex-account-card>strong{color:var(--green-deep);font-size:.72rem}body.yandex-shell{position:fixed;inset:0;width:100%;height:var(--app-viewport-height, 100dvh);min-width:0;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.yandex-shell :where(input,textarea,select,[contenteditable=true]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}body.yandex-shell :where(img,svg,canvas,button){-webkit-user-drag:none;user-drag:none}body.yandex-shell .tma{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,var(--app-max));height:var(--app-viewport-height, 100dvh);min-height:0;overflow:hidden}body.yandex-shell .topbar{position:relative;top:auto}body.yandex-shell .screen{width:100%;height:100%;min-height:0;overflow-x:clip;overflow-y:auto;overscroll-behavior:none;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px)}body.yandex-shell :where(.clan-choice-grid,.chat-quick-tags,.events-strip,.events-tabs,.contract-tabs){touch-action:pan-x;-webkit-overflow-scrolling:touch}body.yandex-shell .bottom-nav{max-width:var(--app-max)}body.yandex-shell.no-bottom-nav .screen{padding-bottom:max(10px,env(safe-area-inset-bottom))}body.yandex-shell.chat-mode .screen,body.yandex-shell.mini-game-route .screen{overflow:hidden;touch-action:none}body.yandex-shell dialog{overscroll-behavior:none}body.yandex-shell .app-dialog-card{overscroll-behavior:contain;touch-action:pan-y}@media (max-width: 390px){.test-season-gold-card{grid-template-columns:44px minmax(0,1fr) auto;gap:9px;padding:11px}.test-season-gold-card>img{width:44px;height:44px}.test-season-gold-card small{display:none}.test-season-gold-card>strong{font-size:1.03rem}.platform-link-card>summary{grid-template-columns:40px minmax(0,1fr) 16px;gap:8px;padding:11px}.platform-link-card>summary>img{width:40px;height:40px}.platform-link-body{padding:0 11px 11px}.platform-link-code{grid-template-columns:minmax(0,1fr)}.yandex-account-card{grid-template-columns:40px minmax(0,1fr);padding:11px}.yandex-account-card>img{width:40px;height:40px}.yandex-account-card>strong{grid-column:2}}@media (max-height: 430px) and (orientation: landscape){body.yandex-shell .topbar{min-height:52px;padding-block:max(4px,env(safe-area-inset-top)) 4px}body.yandex-shell .avatar-button{width:40px;height:40px}body.yandex-shell .resource-pill,body.yandex-shell .bell{min-height:36px;height:36px}body.yandex-shell .screen{padding-top:8px}}}

/* source: css/adaptive-v78.min.css */
@layer adaptiveV78{:root{--app-viewport-height: 100vh;--adaptive-inline: clamp(12px, 3.8vw, 24px);--adaptive-safe-left: max(var(--adaptive-inline), env(safe-area-inset-left));--adaptive-safe-right: max(var(--adaptive-inline), env(safe-area-inset-right));--art-contrast-surface: linear-gradient(145deg, rgba(234, 222, 196, .88), rgba(255, 250, 239, .98));--art-contrast-surface-new: linear-gradient(145deg, rgba(223, 234, 204, .94), rgba(255, 249, 234, .98));--art-contrast-ring: inset 0 0 0 1px rgba(82, 59, 28, .13), 0 3px 9px rgba(54, 39, 19, .07)}@supports (height: 100dvh){:root{--app-viewport-height: 100dvh}}html,body{width:100%;min-width:0;max-width:100%;min-height:100%;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;overscroll-behavior-y:none}body{min-height:var(--app-viewport-height, 100dvh);-webkit-text-size-adjust:100%;text-size-adjust:100%}:where(.tma,.bottom-nav,.app-loader,dialog){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:where(input,textarea,select,option,[contenteditable=true],[role=textbox]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}:where(img,svg,video,canvas){max-inline-size:100%;-webkit-user-drag:none;user-drag:none}:where(.mail-stamp,.disclosure-icon,.resource-icon-frame,.resource-icon-button){overflow:hidden;background:var(--art-contrast-surface);box-shadow:var(--art-contrast-ring)}.mail-row.unread .mail-stamp{background:var(--art-contrast-surface-new)}:where(.mail-stamp,.disclosure-icon,.resource-icon-frame,.resource-icon-button)>img{max-width:100%;max-height:100%;filter:drop-shadow(0 1px 1.5px rgba(55,38,17,.24)) saturate(1.04) contrast(1.025)}:where(.community-route>img,.community-feed>div>img,.profile-item-card>img,.activity-row>img,.modal-event-row>img){overflow:hidden;border-radius:12px;background:var(--art-contrast-surface);box-shadow:var(--art-contrast-ring)}:where(button,input,textarea,select){min-width:0}:where(.view,.view>*,.panel,.soft-card,article,section,header,footer,form,fieldset,details,summary,[class$=-grid],[class$=-row],[class$=-head],[class$=-body],[class$=-copy]){min-inline-size:0;max-inline-size:100%}:where(.view h1,.view h2,.view h3,.view h4,.view p,.view li,.view b,.view strong,.view small,.view em,.view label,.app-dialog h1,.app-dialog h2,.app-dialog h3,.app-dialog p,.app-dialog b,.app-dialog strong,.app-dialog small){max-inline-size:100%;overflow-wrap:anywhere}.tma{width:min(100%,var(--app-max));max-width:100%;min-height:var(--app-viewport-height, 100dvh);overflow-x:hidden;overflow-x:clip;overscroll-behavior:none}.topbar{width:100%;max-width:100%;padding-left:var(--adaptive-safe-left);padding-right:var(--adaptive-safe-right)}.screen{width:100%;max-width:100%;min-height:calc(var(--app-viewport-height, 100dvh) - var(--topbar-h));padding-left:var(--adaptive-safe-left);padding-right:var(--adaptive-safe-right);overflow-x:hidden;overflow-x:clip}.bottom-nav{width:min(calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right)),var(--app-max));max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right));padding-bottom:max(7px,env(safe-area-inset-bottom))}.bottom-nav button,.bottom-nav button b{min-width:0;max-width:100%}.bottom-nav button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice{width:min(calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)),680px);max-width:calc(100vw - 24px)}.app-dialog,.image-dialog{width:min(calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)),720px);max-width:calc(100vw - 16px);max-height:calc(var(--app-viewport-height, 100dvh) - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));margin:auto;overflow:hidden}.image-dialog{width:min(calc(100vw - 16px),900px)}.app-dialog-card{width:100%;max-width:100%;max-height:inherit;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.image-dialog img{width:100%;max-height:calc(var(--app-viewport-height, 100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain}.agreement-gate,.agreement-confirm,.mini-game-fullscreen,.mini-letter-picker-backdrop{width:100%;height:var(--app-viewport-height, 100dvh);max-width:100vw;max-height:var(--app-viewport-height, 100dvh);overflow-x:hidden;overscroll-behavior:none}.agreement-card,.agreement-confirm-card,.mini-card,.mini-letter-picker{max-width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:calc(var(--app-viewport-height, 100dvh) - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))}body.chat-mode,body.chat-mode .tma{width:100%;height:var(--app-viewport-height, 100dvh);max-height:var(--app-viewport-height, 100dvh);overflow:hidden}body.chat-mode .screen,body.chat-mode .chat-only-view,body.chat-mode .chat-stream-wrap{min-width:0;max-width:100%;overflow-x:hidden}body.chat-mode .chat-bottom-form{min-width:0;max-width:100%;overflow:visible}body.chat-mode .screen{padding-top:0;padding-bottom:0;padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.chat-message-row,.chat-bubble,.chat-meta,.chat-text,.chat-reply-preview,.chat-input-shell{min-width:0;max-width:100%}.chat-bubble{overflow-wrap:anywhere}.chat-picker,.chat-mention-suggestions{max-width:100%;max-height:min(48dvh,calc(var(--app-viewport-height, 100dvh) - var(--topbar-h) - 128px));overscroll-behavior:contain}.chat-quick-tags{max-width:100%;padding-right:2px;scroll-padding-inline:2px 16px}.community-clan-view .clan-season-art{inset:0 0 0 auto;width:min(44%,480px);height:100%;max-width:100%;object-fit:contain;object-position:right center}:where(.clan-identity-card,.clan-priority-grid,.clan-competition,.clan-rank-table-section,.clan-rank-table,.clan-rank-row,.clan-focus-panel,.clan-building-list,.clan-window-panel,.profile-inventory-hub,.reference-inventory-grid){min-width:0;max-width:100%}.games-view .backpack-section>.section-mini-head,.games-view .mine-inventory>.section-mini-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-content:start;gap:3px}.games-view .backpack-section>.section-mini-head>:is(h3,p),.games-view .mine-inventory>.section-mini-head>:is(h3,p){width:100%;max-width:64ch}.games-view .module-toolbar,.games-view .backpack-hero,.games-view .great-build-view,.games-view .great-build-reqs,.games-view .great-build-req,.games-view .backpack-card,.games-view .backpack-shortcut{min-width:0;max-width:100%}.games-view :where(input,textarea,select){max-width:100%}@media (max-width: 430px){:root{--adaptive-inline: 12px;--topbar-h: 66px;--nav-h: 72px}.topbar{grid-template-columns:42px minmax(0,1fr) auto 36px;gap:5px;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:7px}.avatar-button{width:42px;height:42px}.top-ident>strong{font-size:.98rem}.resource-pill{min-height:38px;padding-inline:7px;gap:4px}.resource-pill-icon{width:21px;height:21px}.resource-pill b{max-width:9ch;overflow:visible;font-size:.78rem;white-space:nowrap}.resource-pill i{display:none}.bell{width:36px;height:36px}.screen{padding-top:12px;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 34px)}.bottom-nav{width:calc(100% - 8px - env(safe-area-inset-left) - env(safe-area-inset-right));min-height:calc(var(--nav-h) + env(safe-area-inset-bottom));bottom:max(4px,env(safe-area-inset-bottom));padding:5px 3px max(5px,env(safe-area-inset-bottom));gap:1px;border-radius:19px}.bottom-nav button{min-height:54px;padding-inline:1px}.bottom-nav .nav-primary{min-height:64px;margin-top:-11px;border-radius:17px}.bottom-nav button b{font-size:clamp(.58rem,2.7vw,.66rem)}.nav-icon{width:27px;height:27px}.games-icon{width:32px;height:32px}.nav-season-mark{right:3px}.app-dialog-card{padding:16px;border-radius:22px}.app-dialog-close{top:8px;right:8px;width:40px;height:40px}.app-panel-head{padding-right:38px}.section-mini-head,.games-section-head{min-width:0}.games-view .module-toolbar{min-height:76px;padding:8px 0 11px;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}.games-view .module-back,.games-view .module-refresh{width:40px;height:40px}.games-view .module-toolbar h1{font-size:clamp(1.4rem,7vw,1.72rem)}.games-view .module-toolbar p{font-size:.72rem;line-height:1.32}.games-view .backpack-hero{padding:13px;grid-template-columns:64px minmax(0,1fr);gap:10px}.games-view .backpack-hero>img{width:64px;height:64px}.games-view .backpack-hero h2{font-size:1.48rem;line-height:1.03}.games-view .backpack-hero p{font-size:.73rem;line-height:1.35}.games-view .backpack-stats{grid-column:1 / -1}.games-view .backpack-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.games-view .backpack-actions>button{width:100%;padding-inline:8px}.games-view .section-mini-head h3{font-size:1.3rem;line-height:1.08}.games-view .section-mini-head p{font-size:.76rem;line-height:1.36}.build-route-view .great-build-hero-copy{padding:16px}.build-route-view .great-build-hero-copy h2{font-size:clamp(1.7rem,9vw,2.25rem)}.clan-identity-stats>span{padding-inline:7px}.clan-identity-stats>span:first-child{padding-left:0}.clan-identity-stats em{font-size:.55rem}.clan-identity-stats b{font-size:.8rem}.community-clan-view .clan-season-art{width:48%;opacity:.62;object-position:right top}.community-clan-view .clan-season-copy{width:100%}.community-clan-view .clan-season-copy :is(h1,h2){max-width:12ch}.gryzlo-story-card{grid-template-columns:minmax(0,1fr)}.gryzlo-story-copy{width:72%;max-width:72%;padding:16px}.gryzlo-story-copy h2{font-size:1.35rem}.gryzlo-story-character{right:-22px;width:48%}.content-disclosure>summary{min-width:0;padding-inline:10px;gap:7px}.disclosure-body{margin-inline:10px}.chat-title-row{grid-template-columns:38px minmax(0,1fr) 38px}.chat-close-btn,.chat-refresh-btn{width:38px;height:38px}.chat-composer-row{grid-template-columns:38px minmax(0,1fr) 40px;gap:5px}.chat-tool-btn{width:38px;height:38px}.chat-send-btn{width:40px;height:40px}.chat-composer-foot{padding-left:43px}}@media (max-width: 350px){:root{--adaptive-inline: 10px}.topbar{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.top-ident>strong{font-size:.9rem}.resource-pill b{max-width:8ch;font-size:.74rem}.bottom-nav button b{font-size:.59rem}.community-clan-view .clan-rank-table-section{padding-inline:8px}.community-clan-view .clan-rank-table-head,.community-clan-view .clan-rank-row{grid-template-columns:22px minmax(0,1fr) 46px 40px 22px;gap:2px}.clan-rank-identity{grid-template-columns:28px minmax(0,1fr)}.clan-rank-identity>img{width:28px;height:28px}.games-view .module-toolbar{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}.games-view .module-back,.games-view .module-refresh{width:38px;height:38px}.games-view .module-toolbar h1{font-size:1.35rem}.app-dialog-card{padding:14px}.modal-story-hero{grid-template-columns:58px minmax(0,1fr)}.modal-story-hero>img{width:58px;height:58px}}@media (orientation: landscape) and (max-height: 560px){:root{--topbar-h: 56px;--nav-h: 60px;--adaptive-inline: 12px}.topbar{min-height:calc(var(--topbar-h) + env(safe-area-inset-top));padding-top:calc(5px + env(safe-area-inset-top));padding-bottom:5px;grid-template-columns:40px minmax(0,1fr) auto 36px 36px}.avatar-button{width:40px;height:40px}.resource-pill{min-height:36px}.bell{width:36px;height:36px}.chat-top{display:grid}.screen{padding-top:10px;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 20px)}.bottom-nav{width:min(calc(100% - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)),680px);min-height:calc(var(--nav-h) + env(safe-area-inset-bottom));bottom:max(4px,env(safe-area-inset-bottom));padding-block:3px max(3px,env(safe-area-inset-bottom))}.bottom-nav button{min-height:48px}.bottom-nav .nav-primary{min-height:56px;margin-top:-8px}.bottom-nav button b{font-size:.61rem}.nav-icon{width:24px;height:24px}.games-icon{width:29px;height:29px}.app-dialog,.image-dialog{max-height:calc(var(--app-viewport-height, 100dvh) - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.app-dialog-card{padding:14px 16px}body.chat-mode .screen{padding-top:0;padding-bottom:0}.chat-screen-head{padding-block:2px 3px}.chat-composer-foot{min-height:18px;padding-top:1px}.chat-picker,.chat-mention-suggestions{max-height:44dvh}.mini-game-fullscreen{padding-block:max(7px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-bottom))}.mini-card{gap:8px;padding:10px 12px}}@media (min-width: 900px){.topbar,.screen{padding-left:clamp(28px,4vw,48px);padding-right:clamp(28px,4vw,48px)}.bottom-nav{max-width:680px}}}

/* source: css/polish-v81.min.css */
@layer polishV81{:root{--v81-ink: #30271e;--v81-muted: #786a5a;--v81-paper: #fffdf8;--v81-line: rgba(72, 53, 30, .14);--v81-green: #6d8937}:where(input,textarea,select,option,.rich-editor){color:var(--v81-ink)!important;-webkit-text-fill-color:var(--v81-ink)!important;background-color:var(--v81-paper)!important;caret-color:var(--v81-ink)}:where(input,textarea,select)::placeholder{color:#8b7d6c!important;-webkit-text-fill-color:#8b7d6c!important;opacity:1}:where(input,textarea,select):disabled{color:#675d50!important;-webkit-text-fill-color:#675d50!important;background-color:#eee7da!important;opacity:1}select{color-scheme:light}select option{color:#2f261d!important;background:#fffdf8!important}body.yandex-shell :where(input,textarea,select,option,[contenteditable=true],[role=textbox]){-webkit-touch-callout:none!important}body.yandex-shell :where(img,svg,canvas,video){-webkit-touch-callout:none!important;-webkit-user-drag:none!important;user-drag:none!important}:where(.panel,.soft-card,.reference-action-card,.game-menu-card,.content-disclosure,.app-dialog-card,.mail-message,.profile-inventory-hub,.clan-priority-card,.games-overview,.camp-today-panel,.camp-services-disclosure){color:var(--v81-ink)}.camp-command-dock{position:relative;isolation:isolate;overflow:hidden;padding:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;border-radius:22px;background:linear-gradient(145deg,#fffdf7fa,#eee6d3f5);box-shadow:0 10px 28px #362a1b17,inset 0 0 0 1px var(--v81-line)}.camp-command-dock:after{content:"";position:absolute;right:-16px;bottom:-28px;z-index:-1;width:128px;height:128px;background:url(../assets/ui/v81/ornament_gears.webp) center / contain no-repeat;opacity:.1;pointer-events:none}.camp-command-card,.camp-command{min-width:0;min-height:112px;padding:10px 8px 9px;display:grid;grid-template-rows:54px auto auto;place-items:center;align-content:center;gap:3px;border:0;border-radius:17px;color:var(--v81-ink);background:#ffffffbf;box-shadow:inset 0 0 0 1px #48351e17,0 5px 14px #35291a0e;text-align:center}.camp-command:is(:hover,:focus-visible),.camp-command-card:is(:hover,:focus-visible){background:#fff;transform:translateY(-1px)}.camp-command-card.is-ready{background:linear-gradient(180deg,#f6fbe9,#edf3dc);box-shadow:inset 0 0 0 1px #6d893747,0 7px 17px #536b2c1a}.camp-command-card>img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(55,39,20,.18))}.camp-command>img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(55,39,20,.18))}.camp-command>span{min-width:0;display:grid;justify-items:center;gap:2px}.camp-command>span>b{font-size:.78rem;line-height:1.15}.camp-command>span>em{max-width:100%;overflow:hidden;color:var(--v81-muted);font-size:.62rem;font-style:normal;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.camp-command>i{display:none}.camp-command-card>b{font-size:.78rem;line-height:1.15}.camp-command-card>small{overflow:hidden;color:var(--v81-muted);font-size:.62rem;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.camp-command-card.is-ready>small{color:#58722f;font-weight:800}.games-gateway,.games-gateway-grid,.gathering-hub-grid,.gathering-gateway-grid,.activity-gateway-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.games-gateway-card,.game-gateway-card,.gathering-hub-card,.gathering-gateway-card,.activity-gateway-card{min-width:0;min-height:148px;padding:12px;display:grid;grid-template-rows:72px auto auto;justify-items:center;align-content:center;gap:5px;border:0;border-radius:20px;color:var(--v81-ink);background:linear-gradient(155deg,#fffdf8,#f1e9d9);box-shadow:0 7px 20px #352a1c13,inset 0 0 0 1px #48351e14;text-align:center}.game-gateway-card,.gathering-gateway-card{grid-template-columns:72px minmax(0,1fr) auto;grid-template-rows:auto;justify-items:stretch;align-items:center;text-align:left}.game-gateway-art,.gathering-gateway-art{width:72px;height:72px;position:relative;display:grid;place-items:center}.game-gateway-art>img,.gathering-gateway-art>img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(50,35,19,.18))}.gathering-gateway-art>i{position:absolute;right:-4px;bottom:-4px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#fffaf0;box-shadow:0 3px 9px #3528162e}.gathering-gateway-art>i>img{width:27px;height:27px;object-fit:contain}.game-gateway-copy,.gathering-gateway-copy{min-width:0;display:grid;gap:2px}.game-gateway-copy em,.gathering-gateway-copy em{overflow:hidden;color:var(--v81-muted);font-size:.61rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.game-gateway-copy b,.gathering-gateway-copy b{font-size:.9rem;line-height:1.12}.game-gateway-copy small,.gathering-gateway-copy small{color:var(--v81-muted);font-size:.66rem}.game-gateway-copy strong,.gathering-gateway-copy strong{color:var(--v81-green);font-size:.67rem}.games-gateway-card>img,.gathering-hub-card>img,.activity-gateway-card>img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(50,35,19,.18))}.games-gateway-card>b,.gathering-hub-card>b,.activity-gateway-card>b{font-size:.9rem;line-height:1.12}.games-gateway-card>small,.gathering-hub-card>small,.activity-gateway-card>small{color:var(--v81-muted);font-size:.67rem;line-height:1.25}.gathering-hub-card.is-ready,.gathering-gateway-card.is-ready,.gathering-gateway-card.is-dispatch{background:linear-gradient(155deg,#f8fdeb,#e8f1d3);box-shadow:0 8px 22px #4b68251f,inset 0 0 0 2px #6d89373d}.gathering-hub-card.is-claim,.gathering-gateway-card.is-claim{background:linear-gradient(155deg,#fff9dd,#f2e3ad);box-shadow:0 8px 22px #8b671f24,inset 0 0 0 2px #be913147}.games-gateway-head,.gathering-gateway-summary{min-width:0;padding:13px 15px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:11px;border-radius:20px;color:var(--v81-ink);background:linear-gradient(145deg,#fffdf7fa,#efe7d5f2);box-shadow:0 8px 24px #362a1b13,inset 0 0 0 1px var(--v81-line)}.games-gateway-head>img,.gathering-gateway-summary>img{width:58px;height:58px;object-fit:contain}.games-gateway-head>div,.gathering-gateway-summary>div{min-width:0}.games-gateway-head span,.gathering-gateway-summary span{color:var(--v81-green);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.games-gateway-head h1,.gathering-gateway-summary h2{margin-top:2px;font-size:clamp(1.3rem,5vw,2rem);line-height:1.05}.games-gateway-head p,.gathering-gateway-summary p{margin-top:4px;color:var(--v81-muted);font-size:.73rem}.games-gateway-live{width:fit-content;padding:7px 10px;display:flex;align-items:baseline;gap:5px;border-radius:999px;color:var(--v81-muted);background:#fffdf7e0;font-size:.68rem;box-shadow:inset 0 0 0 1px var(--v81-line)}.games-gateway-live b{color:var(--v81-green);font-size:1rem}.games-gateway-live em{font-style:normal}.gateway-intro{padding:14px 16px;display:flex;align-items:center;gap:12px;border-radius:18px;background:#fffdf7e6;box-shadow:inset 0 0 0 1px var(--v81-line)}.gateway-intro>img{width:62px;height:62px;flex:0 0 auto;object-fit:contain}.gateway-intro>div{min-width:0}.gateway-intro h2{font-size:1.15rem}.gateway-intro p{margin-top:3px;color:var(--v81-muted);font-size:.76rem}.mine-secondary-disclosure{overflow:hidden;border-radius:18px;background:#fffdf8f0;box-shadow:0 6px 18px #352a1c0e,inset 0 0 0 1px #48351e17}.mine-secondary-disclosure>summary{min-height:64px;padding:10px 13px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;cursor:pointer;list-style:none}.mine-secondary-disclosure>summary::-webkit-details-marker{display:none}.mine-secondary-disclosure>summary img{width:44px;height:44px;object-fit:contain}.mine-secondary-disclosure>summary span{min-width:0;display:grid;gap:2px}.mine-secondary-disclosure>summary b{font-size:.86rem}.mine-secondary-disclosure>summary em{overflow:hidden;color:var(--v81-muted);font-size:.65rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.mine-secondary-disclosure>summary i{color:var(--v81-muted);font-size:1.1rem;font-style:normal;transition:transform .18s ease}.mine-secondary-disclosure[open]>summary i{transform:rotate(180deg)}.mine-secondary-body{padding:0 13px 13px}.mine-secondary-body>:first-child{margin-top:0}.profile-gold-metric{cursor:pointer;border:0;color:var(--v81-ink);background:transparent}.reference-profile-metrics>:is(div,button).reference-profile-metric{min-height:62px;padding:7px;display:grid;place-content:center;justify-items:center;gap:1px;border:0;border-left:1px solid var(--v81-line);color:var(--v81-ink);background:transparent;text-align:center}.reference-profile-metrics>:first-child{border-left:0}.reference-profile-metric.is-action{cursor:pointer;background:linear-gradient(180deg,#f2f9ded1,#e8f1cf9e)}.reference-profile-metric.is-action:is(:hover,:focus-visible){background:#eef6d9}.reference-profile-metric img{width:27px;height:27px;margin:0 auto 2px;object-fit:contain}.reference-profile-metric span{color:var(--v81-muted);font-size:.66rem}.reference-profile-metric b{font-size:.92rem}.gathering-disclosure{color:var(--v81-ink)}.gathering-disclosure>.disclosure-body{padding-top:2px}@media (max-width: 720px){.camp-command-dock,.games-gateway,.games-gateway-grid,.gathering-hub-grid,.gathering-gateway-grid,.activity-gateway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-command-card,.camp-command{min-height:102px}.games-gateway-card,.game-gateway-card,.gathering-hub-card,.gathering-gateway-card,.activity-gateway-card{min-height:136px;padding:10px 8px}.game-gateway-card,.gathering-gateway-card{grid-template-columns:minmax(0,1fr);grid-template-rows:64px auto;justify-items:center;text-align:center}.game-gateway-art,.gathering-gateway-art,.game-gateway-art>img,.gathering-gateway-art>img{width:64px;height:64px}.game-gateway-copy,.gathering-gateway-copy{justify-items:center}.game-gateway-copy small{display:none}.game-gateway-card>.card-chevron,.gathering-gateway-card>.card-chevron{display:none}.games-gateway-head,.gathering-gateway-summary{grid-template-columns:52px minmax(0,1fr)}.games-gateway-head>button,.gathering-gateway-summary>button{grid-column:1 / -1;width:100%}}@media (max-width: 360px){.camp-command-dock{padding:9px;gap:7px}.camp-command-card,.camp-command{min-height:96px;grid-template-rows:46px auto auto}.camp-command-card>img,.camp-command>img{width:46px;height:46px}.games-gateway-card,.game-gateway-card,.gathering-hub-card,.gathering-gateway-card,.activity-gateway-card{min-height:126px}.games-gateway-card>img,.gathering-hub-card>img,.activity-gateway-card>img{width:62px;height:62px}}@media (orientation: landscape) and (max-height: 520px){.camp-command-dock,.games-gateway,.gathering-hub-grid,.activity-gateway-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.camp-command-card,.camp-command{min-height:90px;grid-template-rows:42px auto auto}.camp-command-card>img,.camp-command>img{width:42px;height:42px}.games-gateway-card,.gathering-hub-card,.activity-gateway-card{min-height:112px;grid-template-rows:55px auto auto}.games-gateway-card>img,.gathering-hub-card>img,.activity-gateway-card>img{width:55px;height:55px}}}html,body,.tma,.screen,.view{max-inline-size:100%;overflow-x:clip}*{scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0;display:none}.clan-join-panel .clan-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:clamp(8px,1.1vw,13px);width:100%;max-width:100%;padding:4px 0 0;overflow-x:clip;overflow-y:visible;overscroll-behavior-inline:auto;scroll-snap-type:none;scrollbar-width:none;touch-action:pan-y}.clan-join-panel .clan-choice{min-width:0;min-height:226px;padding:13px 11px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:74px minmax(0,1fr) auto;align-items:start;align-content:start;gap:8px;scroll-snap-align:none;text-align:center}.clan-join-panel .clan-choice>img{width:74px;height:74px;margin-inline:auto}.clan-join-panel .clan-choice-text{width:100%;min-width:0}.clan-join-panel .clan-choice-text h3{font-size:clamp(.76rem,1.05vw,.9rem);line-height:1.18;overflow-wrap:normal;word-break:normal;hyphens:none}.clan-join-panel .clan-choice-text p{margin-top:5px;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;color:var(--v81-muted);font-size:clamp(.62rem,.85vw,.7rem);line-height:1.32;overflow-wrap:normal;word-break:normal;hyphens:none}.clan-join-panel .clan-choice>.green-btn{grid-column:auto;width:100%;min-height:42px;padding-inline:8px}.great-build-project-grid,.clan-build-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,238px),1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:10px;padding:2px 0;overflow:visible;overscroll-behavior-inline:auto;scroll-snap-type:none;touch-action:pan-y}.great-build-project,.clan-build-overview-card{scroll-snap-align:none}.events-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;overflow:visible}.event-mini{width:100%;min-width:0}:where(.real-tabs,.pill-tabs,.tabs,.contract-tabs,.events-tabs){display:flex;flex-wrap:wrap;align-items:stretch;max-width:100%;padding-right:3px;overflow:visible;overscroll-behavior-inline:auto;scroll-snap-type:none;touch-action:pan-y;-webkit-mask-image:none;mask-image:none}:where(.real-tabs,.pill-tabs,.tabs,.contract-tabs,.events-tabs)>:is(button,.tab){min-width:min(132px,100%);flex:1 1 auto;scroll-snap-align:none}.chat-quick-tags{display:flex;flex-wrap:wrap;overflow:hidden;touch-action:pan-y}@media (max-width: 1050px){.clan-join-panel .clan-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 680px){.clan-join-panel .clan-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clan-join-panel .clan-choice{min-height:218px;padding:11px 9px;grid-template-rows:66px minmax(0,1fr) auto}.clan-join-panel .clan-choice>img{width:66px;height:66px}.great-build-project-grid,.clan-build-overview-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 350px){.clan-join-panel .clan-choice-grid{grid-template-columns:minmax(0,1fr)}.clan-join-panel .clan-choice{min-height:0;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;text-align:left}.clan-join-panel .clan-choice>img{width:62px;height:62px}.clan-join-panel .clan-choice-text p{-webkit-line-clamp:2}.clan-join-panel .clan-choice>.green-btn{grid-column:1 / -1}}

/* source: css/v83-season-zero.min.css */
@layer polish{.topbar{grid-template-columns:48px minmax(0,1fr) auto 54px 42px}.top-language-toggle{min-width:54px;height:42px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:0;border-radius:14px;background:#ffffffdb;box-shadow:0 5px 17px #3428190e,inset 0 0 0 1px #47341d14;color:var(--ink-3);font-size:.68rem;font-weight:900;letter-spacing:.02em;white-space:nowrap}.top-language-toggle i{color:#3b312447;font-style:normal;font-weight:700}.top-language-toggle [data-language-code]{opacity:.58;transition:opacity .15s ease,color .15s ease,transform .15s ease}.top-language-toggle [data-language-code].is-active{color:var(--green-3);opacity:1;transform:scale(1.07)}.top-language-toggle:focus-visible,.communications-top:focus-visible,.communications-menu button:focus-visible{outline:3px solid rgba(104,139,52,.28);outline-offset:2px}.top-communications{position:relative;min-width:0}.communications-top{width:42px;height:42px}.communications-count{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border:2px solid #fffaf2;border-radius:999px;background:#c94735;color:#fff;font-size:.56rem;font-style:normal;font-weight:900;line-height:1;box-shadow:0 3px 7px #4c211838}.communications-top .communications-count:not(.hidden)+*{display:none}.communications-menu{position:absolute;z-index:260;top:calc(100% + 9px);right:0;width:min(238px,calc(100vw - 20px));padding:7px;display:grid;gap:5px;border:1px solid rgba(91,70,43,.13);border-radius:17px;background:#fffcf6fb;box-shadow:0 18px 45px #30261933;backdrop-filter:blur(18px);transform-origin:top right;animation:v83-menu-in .13s ease-out}.communications-menu.hidden{display:none}.communications-menu:before{content:"";position:absolute;right:14px;top:-6px;width:12px;height:12px;border-left:1px solid rgba(91,70,43,.13);border-top:1px solid rgba(91,70,43,.13);background:#fffcf6fb;transform:rotate(45deg)}.communications-menu button{position:relative;z-index:1;min-width:0;min-height:58px;padding:8px 10px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;border:0;border-radius:13px;background:transparent;color:var(--ink);text-align:left}.communications-menu button:hover{background:#e4ecd2b3}.communications-menu img{width:42px;height:42px;object-fit:contain}.communications-menu span{min-width:0;display:grid;gap:2px}.communications-menu b{font-size:.82rem}.communications-menu small{overflow:hidden;color:var(--ink-3);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}@keyframes v83-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}@media (max-width: 619px){.topbar{grid-template-columns:44px minmax(0,1fr) auto 49px 40px;gap:6px}.top-language-toggle{min-width:49px;height:40px;padding-inline:5px;font-size:.63rem}.communications-top{width:40px;height:40px}}@media (max-width: 430px){.topbar{grid-template-columns:42px minmax(0,1fr) auto 45px 36px;gap:5px}.top-language-toggle{min-width:45px;height:36px;padding-inline:4px;border-radius:12px;font-size:.58rem}.communications-top{width:36px;height:36px}.communications-menu{position:fixed;top:calc(var(--topbar-h) + env(safe-area-inset-top) - 1px);right:max(7px,env(safe-area-inset-right));width:min(238px,calc(100vw - 14px))}.communications-menu:before{display:none}}@media (max-width: 350px){.topbar{grid-template-columns:40px minmax(0,1fr) auto 42px 34px;gap:4px}.avatar-button{width:40px;height:40px}.top-language-toggle{min-width:42px;padding-inline:3px}.communications-top{width:34px;height:34px}.top-ident>strong{font-size:.88rem}.resource-pill{padding-inline:5px}.resource-pill b{font-size:.72rem}}@media (orientation: landscape) and (max-height: 560px){.topbar{grid-template-columns:40px minmax(0,1fr) auto 46px 36px}.top-language-toggle{min-width:46px;height:36px}.communications-top{width:36px;height:36px}.communications-menu{top:calc(100% + 5px)}}}@layer polish{.mail-safety-note{padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;border:1px solid rgba(113,137,59,.18);border-radius:13px;background:#ecf3dcb8;color:var(--ink-2);font-size:.66rem;line-height:1.4}.mail-safety-note b{color:var(--green-3);white-space:nowrap}.mail-row.is-player-mail{border-left:3px solid rgba(103,139,50,.32)}.mail-sender{display:block;margin-top:2px;color:var(--green-3);font-size:.6rem;font-style:normal}.mail-sender b{font-size:inherit}.compact-mail-view .mail-body{padding:3px 12px 12px 70px}.compact-mail-view .mail-copy{color:var(--ink-2);font-size:.73rem;line-height:1.5}.mail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.mail-actions:empty{display:none}.mail-reply-form{margin-top:10px;padding:12px;display:grid;gap:9px;border:1px solid rgba(104,139,52,.2);border-radius:14px;background:#f7faeeeb}.mail-reply-form.hidden{display:none}.mail-reply-head{display:flex;align-items:center;gap:8px}.mail-reply-head>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.mail-reply-head>div{min-width:0;display:grid}.mail-reply-head b{font-size:.78rem}.mail-reply-head small{overflow:hidden;color:var(--ink-3);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.mail-reply-form label{display:grid;gap:4px}.mail-reply-form label>span{color:var(--ink-2);font-size:.63rem;font-weight:900}.mail-reply-form input,.mail-reply-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:11px;background:#fffdf8;color:var(--ink);font:inherit}.mail-reply-form textarea{min-height:104px;resize:vertical}.mail-reply-form>p{margin:0;color:var(--ink-3);font-size:.59rem;line-height:1.4}.mail-reply-form>div:last-child{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 520px){.mail-safety-note{grid-template-columns:minmax(0,1fr);gap:3px}.compact-mail-view .mail-body{padding-left:9px;padding-right:9px}.mail-reply-form>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.mail-reply-form>div:last-child button{width:100%}}}@layer polish{.random-clan-join-panel{justify-items:center;text-align:center}.random-clan-join-panel>p{max-width:720px;color:var(--ink-3)}.random-clan-crests{width:min(100%,760px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.random-clan-crests>div{min-width:0;padding:9px 6px;display:grid;justify-items:center;gap:5px;border:1px solid rgba(91,70,43,.09);border-radius:15px;background:#fffcf6c7}.random-clan-crests img{width:clamp(46px,8vw,74px);height:clamp(46px,8vw,74px);object-fit:contain}.random-clan-crests span{max-width:100%;color:var(--ink-2);font-size:.6rem;font-weight:900;line-height:1.15}.random-clan-explainer{width:min(100%,650px);padding:11px 13px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;border-radius:15px;background:#ecf3dcc7;text-align:left}.random-clan-explainer>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fffdf8;font-size:1.2rem}.random-clan-explainer p{display:grid;gap:2px}.random-clan-explainer b{font-size:.76rem}.random-clan-explainer small{color:var(--ink-3);font-size:.64rem;line-height:1.35}.random-clan-join-button{width:min(100%,420px);min-height:52px;font-size:.86rem}@media (max-width: 560px){.random-clan-crests{grid-template-columns:repeat(5,minmax(56px,1fr));overflow-x:auto;padding-bottom:5px}.random-clan-crests>div{min-width:68px}.random-clan-crests span{font-size:.54rem}}}@layer polish{.clan-election-cta{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid rgba(117,86,24,.24);border-radius:22px;background:radial-gradient(circle at 8% 20%,rgba(255,226,128,.25),transparent 32%),linear-gradient(135deg,#fff9e0fa,#f0e5bbf0);box-shadow:0 13px 30px #3a2b151c}.clan-election-cta.is-open{border-color:#5c802b66;box-shadow:0 15px 34px #45602226}.clan-election-cta-icon{position:relative;width:70px;height:70px;display:grid;place-items:center}.clan-election-cta-icon img{width:70px;height:70px;object-fit:contain}.clan-election-cta-icon span{position:absolute;right:-2px;bottom:-1px;width:28px;height:28px;display:grid;place-items:center;border:2px solid #fff9e9;border-radius:50%;background:#6c8d39;font-size:.9rem}.clan-election-cta-copy{min-width:0;display:grid;gap:3px}.clan-election-cta-copy>span{color:#7a5b20;font-size:.58rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.clan-election-cta-copy h2{margin:0;color:var(--ink);font-size:clamp(.96rem,2vw,1.18rem);line-height:1.1}.clan-election-cta-copy p{margin:0;color:var(--green-3);font-size:.72rem;font-weight:900}.clan-election-cta-copy small{color:var(--ink-3);font-size:.6rem;line-height:1.35}.clan-election-cta-meta{min-width:72px;padding:8px 10px;display:grid;justify-items:center;border-radius:14px;background:#ffffff94}.clan-election-cta-meta b{color:#74561e;font-size:1.15rem}.clan-election-cta-meta span{color:var(--ink-3);font-size:.56rem;font-weight:850}.clan-election-cta>button{min-height:46px;padding-inline:17px;white-space:nowrap}.clan-election-panel{display:grid;gap:14px}.clan-election-status{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid rgba(104,139,52,.2);border-radius:17px;background:#f0f7e0d1}.clan-election-status.is-closed{border-color:#715d3f2e;background:#f6f0e1cc}.clan-election-status>div{min-width:0;display:grid;gap:3px}.clan-election-status span{color:var(--green-3);font-size:.58rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.clan-election-status h3{margin:0;font-size:.88rem}.clan-election-status p{margin:0;color:var(--ink-3);font-size:.65rem;line-height:1.42}.clan-election-status>button{align-self:start}.clan-election-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.clan-election-rules article{min-width:0;padding:10px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;border:1px solid rgba(94,72,37,.1);border-radius:14px;background:#fffcf5cc}.clan-election-rules article>b{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--green);color:#fff}.clan-election-rules article>span{display:grid;gap:2px}.clan-election-rules strong{font-size:.68rem}.clan-election-rules small{color:var(--ink-3);font-size:.57rem;line-height:1.35}.clan-election-wallet{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px}.clan-election-wallet>div{min-width:0;padding:10px 11px;display:grid;gap:2px;border-radius:13px;background:#483d2a0e}.clan-election-wallet span{color:var(--ink-3);font-size:.56rem;font-weight:850}.clan-election-wallet b{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.clan-election-register{width:100%;min-height:48px}.clan-election-registered{min-height:48px;padding:10px 13px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(80,128,40,.25);border-radius:14px;background:#e4f3d3bf;color:var(--green-3)}.clan-election-registered span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}.clan-election-registered b{font-size:.72rem}.clan-election-no-votes{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed rgba(132,87,35,.24);border-radius:14px;background:#fff2d4a6}.clan-election-no-votes p{margin:0;color:var(--ink-2);font-size:.63rem;line-height:1.38}.clan-election-no-votes button{flex:0 0 auto}.clan-election-candidates{display:grid;gap:8px}.clan-election-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:2px}.clan-election-section-title span{font-size:.77rem;font-weight:950}.clan-election-section-title b{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#66853624;color:var(--green-3);font-size:.66rem}.clan-election-candidate{padding:10px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(91,70,43,.1);border-radius:16px;background:#fffdf7e6}.clan-election-candidate.is-me{border-color:#54812d57;background:#f1f8e2e6}.clan-election-candidate-rank span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#efe4c7;color:#76591f;font-size:.77rem;font-weight:950}.clan-election-candidate-copy{min-width:0;display:grid;gap:2px}.clan-election-candidate-copy>span{color:var(--ink-3);font-size:.52rem;font-weight:900;text-transform:uppercase}.clan-election-candidate-copy h3{margin:0;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.clan-election-tally{display:flex;flex-wrap:wrap;gap:4px 10px}.clan-election-tally b{color:var(--green-3);font-size:.61rem}.clan-election-tally small{color:var(--ink-3);font-size:.58rem}.clan-election-vote-actions{display:grid;grid-template-columns:repeat(2,auto);gap:6px}.clan-election-vote-actions button{min-height:38px;padding:7px 10px;font-size:.59rem;white-space:nowrap}.danger-outline{border-color:#93403042!important;color:#8d4335!important}.clan-election-empty{padding:22px 14px;display:grid;justify-items:center;gap:4px;border:1px dashed rgba(100,81,48,.2);border-radius:16px;text-align:center}.clan-election-empty>span{font-size:1.65rem}.clan-election-empty b{font-size:.76rem}.clan-election-empty p{margin:0;max-width:440px;color:var(--ink-3);font-size:.62rem;line-height:1.4}.clan-election-footnote{margin:0;color:var(--ink-3);font-size:.56rem;line-height:1.4;text-align:center}@media (max-width: 760px){.clan-election-cta{grid-template-columns:auto minmax(0,1fr) auto}.clan-election-cta>button{grid-column:1 / -1;width:100%}}@media (max-width: 580px){.clan-election-cta{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:12px}.clan-election-cta-icon,.clan-election-cta-icon img{width:56px;height:56px}.clan-election-cta-meta{grid-column:1 / -1;grid-row:auto;min-width:0;display:flex;justify-content:center;gap:4px}.clan-election-cta-copy small{display:block}.clan-election-rules,.clan-election-wallet{grid-template-columns:minmax(0,1fr)}.clan-election-wallet>div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.clan-election-wallet b{text-align:right}.clan-election-candidate{grid-template-columns:34px minmax(0,1fr)}.clan-election-vote-actions{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.clan-election-vote-actions button{width:100%}.clan-election-no-votes{align-items:stretch;flex-direction:column}.clan-election-no-votes button{width:100%}}}@layer polish{.agreement-card-v84{grid-template-rows:auto auto minmax(0,1fr) auto}.agreement-critical-warning{padding:11px 12px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px;border:1px solid rgba(151,63,46,.28);border-radius:15px;background:#ffe8decc}.agreement-critical-warning>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#a34d3c;color:#fff;font-size:1rem;font-weight:950}.agreement-critical-warning>div{min-width:0;display:grid;gap:3px}.agreement-critical-warning b{color:#7f3529;font-size:.75rem;line-height:1.25}.agreement-critical-warning p{margin:0;color:#795a51;font-size:.61rem;line-height:1.4}.agreement-card-v84 .agreement-actions .green-btn{min-height:48px}@media (max-width: 430px){.agreement-critical-warning{grid-template-columns:28px minmax(0,1fr);padding:9px}.agreement-critical-warning>span{width:28px;height:28px}}}@layer polish{.clan-mail-safety{padding:10px 12px;display:grid;gap:3px;border:1px solid rgba(157,72,51,.22);border-radius:14px;background:#ffefe2c7}.clan-mail-safety b{color:#8a3e30;font-size:.68rem}.clan-mail-safety span{color:#76564c;font-size:.6rem;line-height:1.42}}

/* source: css/v85-living-world.min.css */
:root{--v85-night: #17170f;--v85-night-2: #282719;--v85-copper: #b77a37;--v85-copper-light: #e1b65d;--v85-moss: #788d43;--v85-parchment: #fff8e8;--v85-ink-soft: #776751}.great-build-stage-badge{position:absolute;z-index:3;top:18px;right:18px;max-width:min(44%,230px);padding:10px 12px;display:grid;justify-items:end;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#17170fb8;color:#fff;box-shadow:0 10px 30px #0000002e;backdrop-filter:blur(9px)}.great-build-stage-badge span{color:#e6ca75;font-size:.57rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.great-build-stage-badge b{margin-top:2px;font-family:var(--display-font);font-size:1.35rem;line-height:1}.great-build-stage-badge em{margin-top:3px;overflow:hidden;color:#ffffffbd;font-size:.64rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.great-build-stage-rail{margin-top:14px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.great-build-stage-rail>i{height:5px;position:relative;border-radius:99px;background:#ffffff30}.great-build-stage-rail>i.reached{background:#d6b859}.great-build-stage-rail>i.current{box-shadow:0 0 0 3px #e1b65d33}.great-build-stage-rail span{position:absolute;left:50%;bottom:8px;opacity:0;color:#fff;font-size:.5rem;font-style:normal;transform:translate(-50%)}.great-build-stage-rail>i.current span{opacity:.78}.great-build-hero-art[data-fallback-asset]{object-position:center}.camp-home-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"hero" "today" "story"!important}.living-camp-v85{grid-area:hero;min-height:clamp(480px,66vw,650px);overflow:hidden;position:relative;isolation:isolate;border-radius:30px;background:var(--v85-night);color:#fff;box-shadow:0 26px 60px #251d1138}.living-camp-art,.living-camp-vignette{position:absolute;inset:0;width:100%;height:100%}.living-camp-art{z-index:-3;object-fit:cover;object-position:center}.living-camp-vignette{z-index:-2;background:linear-gradient(180deg,#0e0e09d1,#0e0e091a 35%,#0e0e092e 63%,#0e0e09e0),linear-gradient(90deg,rgba(15,13,8,.38),transparent 48%,rgba(15,13,8,.18));pointer-events:none}.living-camp-heading{position:absolute;z-index:2;top:clamp(20px,4vw,36px);left:clamp(20px,4vw,38px);width:min(50%,540px)}.living-camp-heading>span,.toy-shop-copy>span,.codex-hero-v85 em,.expedition-hero-v85 em{color:#f1cd79;font-size:.7rem;font-style:normal;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.living-camp-heading h1{margin-top:5px;font-size:clamp(2.4rem,5.2vw,4rem);line-height:.91;text-shadow:0 5px 24px rgba(0,0,0,.55)}.living-camp-heading p{margin-top:10px;max-width:48ch;color:#fffc;font-size:clamp(.78rem,1.3vw,.95rem)}.living-camp-summary{position:absolute;z-index:2;top:clamp(22px,4vw,38px);right:clamp(18px,3vw,30px);display:flex;gap:8px}.living-camp-summary>span{min-width:84px;padding:10px 12px;display:grid;border-radius:16px;background:#14130da8;box-shadow:inset 0 0 0 1px #ffffff1f;backdrop-filter:blur(12px)}.living-camp-summary b{color:#ffe29b;font-size:1.2rem}.living-camp-summary em{color:#ffffffab;font-size:.62rem;font-style:normal}.living-camp-hotspots{position:absolute;z-index:3;inset:0;pointer-events:none}.camp-hotspot-v85{position:absolute;width:min(190px,25%);min-height:66px;padding:8px 10px;display:grid;grid-template-columns:46px minmax(0,1fr) 12px;align-items:center;gap:8px;border-radius:17px;background:#18160ed1;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f,0 12px 28px #00000047;text-align:left;backdrop-filter:blur(10px);pointer-events:auto;transition:transform .18s ease,background .18s ease}.camp-hotspot-v85:hover{transform:translateY(-3px);background:#262214ed}.camp-hotspot-v85:active{transform:scale(.98)}.camp-hotspot-v85>img{width:46px;height:46px;padding:3px;object-fit:contain;border-radius:13px;background:#ffffff1a}.camp-hotspot-v85>span{min-width:0;display:grid}.camp-hotspot-v85 b{overflow:hidden;font-size:.82rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.camp-hotspot-v85 em{margin-top:3px;overflow:hidden;color:#ffffffa1;font-size:.62rem;font-style:normal;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.camp-hotspot-v85>i{color:#e3be61;font-style:normal}.camp-hotspot-v85.is-claim{box-shadow:inset 0 0 0 1px #e1b65db8,0 0 0 4px #e1b65d1f,0 12px 28px #0000004d}.camp-hotspot-v85.is-start:after,.camp-hotspot-v85.is-claim:after{content:"";position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#b7db66;box-shadow:0 0 10px #b7db66cc}.camp-hotspot-v85.spot-mine{left:4%;bottom:25%}.camp-hotspot-v85.spot-forge{left:30%;bottom:27%}.camp-hotspot-v85.spot-toys{right:3%;bottom:28%}.camp-hotspot-v85.spot-market{left:52%;bottom:26%}.camp-hotspot-v85.spot-tower{right:5%;top:27%}.camp-hotspot-v85.spot-clan{left:3%;top:50%}.living-camp-actions{position:absolute;z-index:4;left:clamp(20px,4vw,38px);bottom:88px;display:flex;gap:8px}.living-camp-actions .hero-quiet-btn,.toy-shop-copy .hero-quiet-btn{text-decoration:none}.living-camp-welcome{position:absolute;z-index:3;right:24px;bottom:20px;color:#ffffffa8}.toy-shop-hero-v85,.codex-hero-v85,.expedition-hero-v85{min-height:clamp(260px,38vw,390px);overflow:hidden;position:relative;isolation:isolate;border-radius:30px;background:var(--v85-night);color:#fff;box-shadow:0 22px 48px #241c102e}.toy-shop-hero-art,.codex-hero-art-v85,.expedition-hero-art-v85{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover}.toy-shop-shade,.codex-hero-v85>span,.expedition-hero-v85>span{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#12110bf0,#12110ba8 48%,#12110b26),linear-gradient(0deg,rgba(18,17,11,.4),transparent 55%)}.toy-shop-copy,.codex-hero-v85>div,.expedition-hero-v85>div{width:min(67%,650px);min-height:inherit;padding:clamp(24px,5vw,48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.toy-shop-copy h1,.codex-hero-v85 h1,.expedition-hero-v85 h1{margin-top:5px;font-size:clamp(2.5rem,6vw,4.8rem);line-height:.92}.toy-shop-copy p,.codex-hero-v85 p,.expedition-hero-v85 p{margin-top:10px;max-width:54ch;color:#ffffffc7;font-size:.86rem}.toy-shop-copy>div{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.toy-shop-supply,.codex-hero-v85>aside,.expedition-hero-v85>aside{position:absolute;right:24px;bottom:22px;min-width:150px;padding:14px 16px;display:grid;border-radius:18px;background:#14120cba;box-shadow:inset 0 0 0 1px #ffffff1f;backdrop-filter:blur(12px)}.toy-shop-supply b,.codex-hero-v85>aside b,.expedition-hero-v85>aside b{color:#f4d382;font-family:var(--display-font);font-size:1.55rem}.toy-shop-supply span,.codex-hero-v85>aside span,.expedition-hero-v85>aside span{color:#ffffffa6;font-size:.66rem}.toy-wallet-status-v85{padding:16px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:14px;border-radius:20px;background:#fffaf0;box-shadow:0 10px 28px #372a1914}.toy-wallet-signal{width:12px;height:12px;border-radius:50%;background:#a39a89;box-shadow:0 0 0 6px #a39a891f}.toy-wallet-status-v85.is-verified .toy-wallet-signal{background:#78a345;box-shadow:0 0 0 6px #78a34524}.toy-wallet-status-v85.is-warning .toy-wallet-signal{background:#d09b40;box-shadow:0 0 0 6px #d09b4024}.toy-wallet-status-v85.is-error .toy-wallet-signal{background:#b65344;box-shadow:0 0 0 6px #b6534421}.toy-wallet-status-v85.is-loading .toy-wallet-signal{background:#718fa4;animation:v85-pulse 1.1s infinite ease-in-out}@keyframes v85-pulse{50%{transform:scale(1.35);opacity:.55}}.toy-wallet-status-v85>div{min-width:0;display:grid}.toy-wallet-status-v85>div>span{color:var(--v85-copper);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.toy-wallet-status-v85 h2{margin-top:2px;font-family:var(--ui-font);font-size:1rem}.toy-wallet-status-v85 p{margin-top:3px;color:var(--v85-ink-soft);font-size:.76rem}.toy-wallet-status-v85 code{margin-top:7px;width:max-content;max-width:100%;padding:4px 7px;overflow:hidden;border-radius:7px;background:#ede4d4;color:#594a36;font-size:.68rem;text-overflow:ellipsis}.toy-wallet-status-v85 small{margin-top:5px;color:#9a6c31;font-size:.65rem}.toy-wallet-status-v85>aside{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.toy-wallet-status-v85>aside>*{min-height:42px}.toy-tabs-v85,.toy-catalog-filters-v85,.codex-resource-filters-v85{padding:5px;display:flex;gap:4px;overflow-x:auto;border-radius:18px;background:#e9dfcc;scrollbar-width:none}.toy-tabs-v85::-webkit-scrollbar,.toy-catalog-filters-v85::-webkit-scrollbar,.codex-resource-filters-v85::-webkit-scrollbar{display:none}.toy-tabs-v85 button,.toy-catalog-filters-v85 button,.codex-resource-filters-v85 button{min-height:44px;padding:8px 14px;flex:1 0 auto;border-radius:14px;background:transparent;font-size:.8rem;font-weight:800;white-space:nowrap}.toy-tabs-v85 button.active,.toy-catalog-filters-v85 button.active,.codex-resource-filters-v85 button.active{background:#fffaf0;color:#5b702e;box-shadow:0 4px 13px #3e2f1b14}.toy-tabs-v85 em,.toy-catalog-filters-v85 em{margin-left:5px;color:var(--v85-copper);font-style:normal}.toy-shelf-layout-v85{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start}.toy-loadout-v85,.owned-toys-v85,.toy-registry-v85,.toy-rules-v85,.codex-recipes-v85,.expedition-plan-v85{padding:clamp(16px,3vw,24px);border-radius:24px;background:#fffaf0f2;box-shadow:0 12px 32px #3a2b1814}.toy-loadout-v85>header>span,.owned-toys-v85>header span,.toy-registry-v85>header span,.codex-recipes-v85>header span,.expedition-plan-v85>header span{color:var(--v85-copper);font-size:.67rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.toy-loadout-v85 h2,.owned-toys-v85 h2,.toy-registry-v85 h2,.codex-recipes-v85 h2,.expedition-plan-v85 h2{margin-top:2px;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1}.toy-loadout-v85 header p,.toy-registry-v85 header p,.codex-recipes-v85 header p{margin-top:7px;color:var(--v85-ink-soft);font-size:.78rem}.toy-loadout-slots-v85{margin-top:16px;display:grid;gap:9px}.toy-slot-v85{min-height:86px;padding:10px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px dashed rgba(91,70,40,.2);border-radius:18px;background:#f6eddd;position:relative}.toy-slot-v85.is-active-slot{border-style:solid;border-color:#b77a3759;background:linear-gradient(145deg,#fff2ce,#f8ead2)}.toy-slot-v85>span{position:absolute;top:7px;right:10px;color:var(--v85-copper);font-size:.58rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.toy-slot-v85>img{width:62px;height:62px;padding:4px;object-fit:cover;border-radius:16px;background:#ffffffa6}.toy-slot-v85>div{min-width:0;display:grid;padding-top:9px}.toy-slot-v85 b{overflow:hidden;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.toy-slot-v85 em{color:var(--v85-ink-soft);font-size:.66rem;font-style:normal}.toy-slot-v85>button{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#5d492d1a;color:#806947;font-size:1.1rem}.owned-toys-v85>header{display:flex;align-items:end;justify-content:space-between;gap:12px}.owned-toys-v85>header>div{display:grid}.owned-toys-v85>header>b{min-width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eee4d2;color:var(--v85-copper)}.owned-toy-grid-v85{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.owned-toy-card-v85{overflow:hidden;border-radius:19px;background:#f3ead9;box-shadow:inset 0 0 0 1px #57422514}.owned-toy-card-v85.selected{box-shadow:inset 0 0 0 2px var(--v85-copper),0 8px 20px #80531d21}.owned-toy-select-v85{width:100%;min-height:156px;padding:11px;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;background:transparent;text-align:left;position:relative}.owned-toy-select-v85 figure{margin:0;overflow:hidden;position:relative;border-radius:15px;background:#ded2be}.owned-toy-select-v85 figure img{width:82px;height:102px;object-fit:cover}.owned-toy-select-v85 figcaption{position:absolute;left:5px;bottom:5px;padding:3px 6px;border-radius:999px;background:#14120cc7;color:#fff;font-size:.55rem}.owned-toy-select-v85>div{min-width:0;display:grid}.owned-toy-select-v85 span{color:var(--v85-copper);font-size:.59rem;font-weight:900;text-transform:uppercase}.owned-toy-select-v85 h3{margin-top:2px;overflow:hidden;font-size:.87rem;text-overflow:ellipsis;white-space:nowrap}.owned-toy-select-v85 p{margin-top:5px;color:var(--v85-ink-soft);font-size:.65rem;line-height:1.34}.owned-toy-select-v85 small{margin-top:6px;color:#7d603c;font-size:.58rem}.owned-toy-select-v85>strong{position:absolute;top:8px;left:8px;padding:3px 6px;border-radius:999px;background:#6d893d;color:#fff;font-size:.55rem}.toy-assign-v85{padding:8px 10px 10px;display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto);align-items:center;gap:5px;border-top:1px solid rgba(91,69,38,.1)}.toy-assign-v85 span{color:var(--v85-ink-soft);font-size:.62rem}.toy-assign-v85 button{min-height:34px;padding:5px 8px;border-radius:10px;background:#fffaf0;color:#5e6f36;font-size:.66rem;font-weight:900}.empty-toy-shelf-v85{margin-top:16px;min-height:260px;padding:20px;display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);align-items:center;gap:20px;border-radius:20px;background:#f3ead9}.empty-toy-shelf-v85>img{width:100%;max-height:220px;object-fit:contain}.empty-toy-shelf-v85>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.empty-toy-shelf-v85 h3,.empty-toy-shelf-v85 p{width:100%}.empty-toy-shelf-v85 p{color:var(--v85-ink-soft);font-size:.77rem}.toy-registry-v85>header,.codex-recipes-v85>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);align-items:end;gap:16px}.toy-catalog-search-v85 input{width:100%;min-height:46px;padding:10px 13px;border:1px solid rgba(87,66,38,.14);border-radius:14px;background:#fff}.toy-catalog-filters-v85{margin-top:17px;width:max-content;max-width:100%}.toy-catalog-group-v85{margin-top:20px}.toy-registry-grid-v85{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.toy-registry-card-v85{min-height:136px;padding:10px;display:grid;grid-template-columns:66px minmax(0,1fr);align-items:start;gap:10px;border-radius:17px;background:#f3ead9}.toy-registry-card-v85 figure{margin:0;width:66px;height:76px;position:relative}.toy-registry-card-v85 figure img{width:66px;height:66px;padding:3px;object-fit:contain;border-radius:15px;background:#ffffffb8}.toy-registry-card-v85 figure b{position:absolute;right:-3px;bottom:2px;min-width:25px;height:25px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:#4a4334;color:#fff;font-size:.62rem}.toy-registry-card-v85>div{min-width:0;display:grid}.toy-registry-card-v85 span{color:var(--v85-copper);font-size:.57rem;font-weight:900;text-transform:uppercase}.toy-registry-card-v85 h4{margin-top:2px;font-size:.82rem;line-height:1.15}.toy-registry-card-v85 p{margin-top:5px;color:var(--v85-ink-soft);font-size:.62rem;line-height:1.32}.toy-catalog-no-results-v85{margin-top:20px;padding:20px;border-radius:16px;background:#f3ead9;color:var(--v85-ink-soft);text-align:center}.toy-rules-v85{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.toy-rules-v85>article{min-height:190px;padding:15px;display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;border-radius:18px;background:#f3ead9}.toy-rules-v85>article img{width:74px;height:74px;object-fit:contain}.toy-rules-v85>article div{display:grid;align-content:start}.toy-rules-v85>article span{color:var(--v85-copper);font-family:var(--display-font);font-size:1.5rem}.toy-rules-v85>article h3{font-size:.94rem}.toy-rules-v85>article p{margin-top:6px;color:var(--v85-ink-soft);font-size:.7rem}.toy-trait-table-v85{grid-column:1 / -1;overflow:hidden;border-radius:18px;background:#f3ead9}.toy-trait-table-v85>div{min-height:48px;padding:9px 13px;display:grid;grid-template-columns:minmax(130px,.3fr) minmax(0,.7fr);align-items:center;gap:10px;border-bottom:1px solid rgba(88,66,37,.09)}.toy-trait-table-v85 span{color:var(--v85-ink-soft);font-size:.74rem}.toy-rules-v85>aside{grid-column:1 / -1;padding:16px;border-radius:18px;background:#edf3dd}.toy-rules-v85>aside p{margin-top:4px;color:#57663a;font-size:.77rem}.toy-shop-entry-v85,.profile-toy-shelf-v85{min-height:96px;padding:13px 15px;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:13px;border-radius:21px;background:linear-gradient(135deg,#2a281a,#514326);color:#fff;box-shadow:0 14px 32px #3024122b;text-align:left}.toy-shop-entry-v85 img,.profile-toy-shelf-v85 img{width:70px;height:70px;padding:4px;object-fit:cover;border-radius:17px;background:#ffffff1a}.toy-shop-entry-v85 span,.profile-toy-shelf-v85 span{min-width:0;display:grid}.toy-shop-entry-v85 em,.profile-toy-shelf-v85 em{color:#e5c26e;font-size:.61rem;font-style:normal;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.toy-shop-entry-v85 b,.profile-toy-shelf-v85 b{margin-top:2px;font-family:var(--display-font);font-size:1.2rem}.toy-shop-entry-v85 small,.profile-toy-shelf-v85 small{margin-top:3px;overflow:hidden;color:#ffffffab;font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.toy-shop-entry-v85>i,.profile-toy-shelf-v85>i{color:#e5c26e;font-style:normal;font-size:1.25rem}.profile-toy-shelf-v85{grid-template-columns:70px minmax(0,1fr) auto auto}.profile-toy-shelf-v85>strong{min-width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#ffffff1a;color:#f0d384}.codex-hero-v85>aside{grid-template-columns:auto 1fr;align-items:baseline;column-gap:9px}.codex-hero-v85>aside b+span+b{margin-top:4px}.codex-stock-v85{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.codex-stock-v85 button{min-height:74px;padding:9px 11px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:9px;border-radius:17px;background:#fffaf0;box-shadow:0 8px 22px #372a1812;text-align:left}.codex-stock-v85 img{width:52px;height:52px;object-fit:contain}.codex-stock-v85 span{min-width:0;display:grid}.codex-stock-v85 b{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.codex-stock-v85 em{color:var(--v85-copper);font-size:.65rem;font-style:normal}.codex-recipes-v85>header{grid-template-columns:minmax(0,1fr) auto}.recipe-grid-v85{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.codex-recipe-v85{min-height:174px;padding:12px;display:grid;grid-template-columns:66px minmax(0,1fr);align-items:start;gap:10px;border-radius:18px;background:#f3ead9;box-shadow:inset 0 0 0 1px #57412314}.codex-recipe-v85.ready{background:linear-gradient(145deg,#eef5de,#fff7e8);box-shadow:inset 0 0 0 1px #708d3d40}.codex-recipe-v85>img{width:66px;height:66px;padding:4px;object-fit:contain;border-radius:15px;background:#ffffffab}.codex-recipe-v85>div{min-width:0;display:grid}.codex-recipe-v85 span{color:var(--v85-copper);font-size:.56rem;font-weight:900;text-transform:uppercase}.codex-recipe-v85.ready span{color:#628334}.codex-recipe-v85 h3{margin-top:2px;font-size:.83rem}.codex-recipe-v85 p{margin-top:5px;color:var(--v85-ink-soft);font-size:.63rem;line-height:1.34}.codex-recipe-v85>div>div{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}.codex-recipe-v85 em{padding:3px 5px;border-radius:7px;background:#e3d7c2;color:#8c6a45;font-size:.55rem;font-style:normal}.codex-recipe-v85 em.has{background:#dce9c3;color:#5c7339}.codex-discovered-v85{overflow:hidden}.codex-resource-filters-v85{width:max-content;max-width:100%}.codex-resource-filters-v85{width:100%;max-width:none;flex-wrap:wrap;overflow:visible}.codex-resource-filters-v85 button{min-width:74px;flex:1 1 82px}.codex-resource-grid-v85{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.codex-resource-v85{min-height:78px;padding:9px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:16px;background:#f3ead9;text-align:left}.codex-resource-v85>img{width:54px;height:54px;padding:3px;object-fit:contain;border-radius:13px;background:#ffffffa6}.codex-resource-v85 span{min-width:0;display:grid}.codex-resource-v85 em{color:var(--v85-copper);font-size:.55rem;font-style:normal}.codex-resource-v85 b{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.codex-resource-v85 small{color:var(--v85-ink-soft);font-size:.59rem}.codex-resource-v85 strong{color:#64783e;font-size:.75rem}.expedition-route-grid-v85{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.expedition-route-v85{min-height:112px;padding:11px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:9px;border-radius:19px;background:#fffaf0;box-shadow:0 8px 22px #372a1812;text-align:left}.expedition-route-v85.active{background:linear-gradient(145deg,#26301c,#53632c);color:#fff;box-shadow:0 12px 28px #2e3b1936}.expedition-route-v85>img{width:58px;height:58px;padding:3px;object-fit:contain;border-radius:15px;background:#fff9}.expedition-route-v85 span{min-width:0;display:grid}.expedition-route-v85 em{color:var(--v85-copper);font-size:.55rem;font-style:normal;font-weight:900;text-transform:uppercase}.expedition-route-v85.active em{color:#dccc86}.expedition-route-v85 b{margin-top:2px;font-size:.8rem;line-height:1.16}.expedition-route-v85 small{margin-top:4px;color:var(--v85-ink-soft);font-size:.59rem}.expedition-route-v85.active small{color:#ffffff9e}.expedition-route-v85 i{color:var(--v85-copper);font-style:normal}.expedition-plan-v85>header{display:flex;align-items:end;justify-content:space-between;gap:14px}.expedition-plan-v85>header>div{display:grid}.expedition-plan-v85>header p{margin-top:6px;color:var(--v85-ink-soft);font-size:.78rem}.expedition-plan-v85>header>strong{padding:7px 10px;border-radius:999px;background:#e6dcc9;color:#6f624f;font-size:.67rem}.expedition-plan-v85>header>strong.is-start,.expedition-plan-v85>header>strong.is-claim{background:#dce9c5;color:#566e2f}.expedition-plan-columns-v85{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.expedition-plan-columns-v85>article{min-height:220px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;border-radius:19px;background:#f3ead9}.expedition-plan-columns-v85>article>img{width:72px;height:72px;padding:4px;object-fit:contain;border-radius:17px;background:#ffffffa6}.expedition-plan-columns-v85>article>span{margin-top:10px;color:var(--v85-copper);font-size:.59rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.expedition-plan-columns-v85 h3{margin-top:2px;font-size:.95rem}.expedition-plan-columns-v85 p{margin-top:6px;color:var(--v85-ink-soft);font-size:.7rem}.expedition-plan-columns-v85 button{margin-top:auto}.expedition-companion-v85{background:linear-gradient(145deg,#eaf1da,#f7edda)!important}.expedition-plan-v85>footer{margin-top:12px;padding:13px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-radius:17px;background:#29271b;color:#fff}.expedition-plan-v85>footer>div{display:grid}.expedition-plan-v85>footer span{color:#ffffffa3;font-size:.68rem}@media (min-width: 1040px) and (min-aspect-ratio: 6 / 5){.camp-home-layout{grid-template-columns:minmax(0,1.36fr) minmax(340px,.64fr)!important;grid-template-areas:"hero today" "story today"!important}.living-camp-v85{min-height:600px}}@media (max-width: 900px){.living-camp-v85{min-height:610px}.living-camp-heading{width:calc(100% - 38px)}.living-camp-summary{top:250px;left:18px;right:auto}.living-camp-hotspots{inset:auto 14px 82px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.living-camp-actions{bottom:18px}.camp-hotspot-v85,.camp-hotspot-v85.spot-mine,.camp-hotspot-v85.spot-forge,.camp-hotspot-v85.spot-toys,.camp-hotspot-v85.spot-market,.camp-hotspot-v85.spot-tower,.camp-hotspot-v85.spot-clan{position:relative;inset:auto;width:100%}.living-camp-welcome{display:none}.toy-shelf-layout-v85{grid-template-columns:1fr}.toy-registry-grid-v85,.recipe-grid-v85,.codex-resource-grid-v85,.expedition-route-grid-v85{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.living-camp-v85{min-height:720px;border-radius:24px}.living-camp-art{object-position:54% center}.living-camp-heading{top:20px;left:18px}.living-camp-heading h1{font-size:clamp(2.4rem,12.5vw,3.6rem)}.living-camp-heading p{font-size:.76rem}.living-camp-summary{top:260px;width:calc(100% - 36px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.living-camp-summary>span{min-width:0;padding:8px}.living-camp-summary b{font-size:1rem}.living-camp-hotspots{bottom:172px;grid-template-columns:repeat(2,minmax(0,1fr))}.camp-hotspot-v85{min-height:62px;grid-template-columns:40px minmax(0,1fr) 9px;padding:7px}.camp-hotspot-v85>img{width:40px;height:40px}.camp-hotspot-v85 b{font-size:.73rem}.camp-hotspot-v85 em{font-size:.56rem}.living-camp-actions{left:14px;right:14px;bottom:94px;display:grid;grid-template-columns:1fr 1fr}.living-camp-actions>*{min-width:0;padding-inline:10px;font-size:.72rem}.toy-shop-hero-v85,.codex-hero-v85,.expedition-hero-v85{min-height:360px;border-radius:24px}.toy-shop-copy,.codex-hero-v85>div,.expedition-hero-v85>div{width:100%;padding:20px}.toy-shop-copy h1,.codex-hero-v85 h1,.expedition-hero-v85 h1{font-size:clamp(2.55rem,13vw,3.6rem)}.toy-shop-supply,.codex-hero-v85>aside,.expedition-hero-v85>aside{top:16px;right:16px;bottom:auto;min-width:118px;padding:9px 11px}.toy-shop-supply b,.codex-hero-v85>aside b,.expedition-hero-v85>aside b{font-size:1.05rem}.toy-wallet-status-v85{grid-template-columns:11px minmax(0,1fr)}.toy-wallet-status-v85>aside{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}.toy-wallet-status-v85>aside>*{width:100%;min-width:0;padding-inline:8px;font-size:.7rem}.toy-tabs-v85 button{padding-inline:11px}.owned-toy-grid-v85{grid-template-columns:1fr}.owned-toy-select-v85{min-height:145px}.empty-toy-shelf-v85{grid-template-columns:1fr;text-align:center}.empty-toy-shelf-v85>img{max-height:145px}.empty-toy-shelf-v85>div{justify-content:center}.toy-registry-v85>header,.codex-recipes-v85>header{grid-template-columns:1fr}.toy-registry-grid-v85,.toy-rules-v85{grid-template-columns:1fr}.toy-rules-v85>article{min-height:150px}.toy-trait-table-v85,.toy-rules-v85>aside{grid-column:1}.toy-trait-table-v85>div{grid-template-columns:100px minmax(0,1fr)}.toy-shop-entry-v85,.profile-toy-shelf-v85{grid-template-columns:58px minmax(0,1fr) auto;padding:10px}.toy-shop-entry-v85 img,.profile-toy-shelf-v85 img{width:58px;height:58px}.toy-shop-entry-v85 b,.profile-toy-shelf-v85 b{font-size:.98rem}.toy-shop-entry-v85 small,.profile-toy-shelf-v85 small{font-size:.61rem}.profile-toy-shelf-v85>strong{display:none}.codex-stock-v85{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid-v85{grid-template-columns:1fr}.codex-recipe-v85{min-height:150px}.codex-resource-grid-v85{grid-template-columns:1fr}.expedition-route-v85{min-height:96px;grid-template-columns:50px minmax(0,1fr) auto}.expedition-route-v85>img{width:50px;height:50px}.expedition-plan-v85>header{align-items:start}.expedition-plan-columns-v85{grid-template-columns:1fr}.expedition-plan-columns-v85>article{min-height:190px}.expedition-plan-v85>footer{grid-template-columns:1fr}.expedition-plan-v85>footer button{width:100%}}@media (max-width: 390px){.living-camp-v85{min-height:755px}.living-camp-summary{top:270px}.living-camp-hotspots{bottom:176px}.camp-hotspot-v85>i{display:none}.camp-hotspot-v85{grid-template-columns:38px minmax(0,1fr)}.camp-hotspot-v85>img{width:38px;height:38px}.toy-slot-v85{grid-template-columns:54px minmax(0,1fr) auto}.toy-slot-v85>img{width:54px;height:54px}.expedition-route-grid-v85{grid-template-columns:1fr}}@media (orientation: landscape) and (max-height: 430px) and (max-width: 900px){.living-camp-v85{min-height:720px}.living-camp-heading{top:18px;left:18px;width:calc(100% - 36px)}.living-camp-heading h1{max-width:16ch;font-size:clamp(2rem,7.5vw,2.55rem);line-height:.94}.living-camp-heading p{max-width:48ch;font-size:.72rem;line-height:1.32}.living-camp-summary{display:none}.living-camp-hotspots{top:330px;bottom:auto}.living-camp-actions{bottom:24px}}@media (orientation: portrait) and (max-width: 350px) and (max-height: 650px){.living-camp-v85{min-height:900px}.living-camp-hotspots{top:510px;bottom:auto}.living-camp-actions{bottom:82px}}@media (prefers-reduced-motion: reduce){.camp-hotspot-v85,.toy-wallet-signal{animation:none!important;transition:none!important}}

/* source: css/v86-living-camp.min.css */
:root{--v86-glory: #e8c86f;--v86-glory-strong: #ffdd80;--v86-world-dark: #17170f;--v86-world-panel: rgba(20, 19, 13, .78)}.living-camp-v86{min-height:clamp(620px,69vw,720px);background:#111710}.living-camp-v86 .living-camp-art{transform:scale(1.015);transition:filter 1.4s ease,transform 8s ease}.living-camp-v86.period-day .living-camp-art{filter:brightness(1.18) saturate(.96) contrast(.93)}.living-camp-v86.period-dawn .living-camp-art{filter:brightness(1.08) saturate(1.06) sepia(.12) hue-rotate(-8deg)}.living-camp-v86.period-dusk .living-camp-art{filter:brightness(.88) saturate(1.2) sepia(.12)}.living-camp-v86.period-night .living-camp-art{filter:brightness(.68) saturate(.92) hue-rotate(4deg)}.living-camp-v86.weather-fog .living-camp-art{filter:brightness(.9) saturate(.7) contrast(.86)}.living-camp-v86.weather-rain .living-camp-art{filter:brightness(.72) saturate(.78) hue-rotate(8deg)}.living-camp-v86.weather-wind .living-camp-art{transform:scale(1.035) translate(-.45%)}.living-camp-time-tint-v86,.camp-weather-layer-v86{position:absolute;z-index:-2;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}.living-camp-time-tint-v86{mix-blend-mode:soft-light;transition:background 1.4s ease}.period-dawn .living-camp-time-tint-v86{background:linear-gradient(155deg,rgba(255,176,103,.58),transparent 48%,rgba(99,128,178,.22))}.period-day .living-camp-time-tint-v86{background:linear-gradient(155deg,rgba(255,239,177,.34),transparent 52%,rgba(94,133,171,.12))}.period-dusk .living-camp-time-tint-v86{background:linear-gradient(155deg,rgba(239,120,72,.5),transparent 48%,rgba(51,33,80,.38))}.period-night .living-camp-time-tint-v86{background:linear-gradient(155deg,rgba(42,70,125,.46),transparent 52%,rgba(10,16,32,.62))}.camp-weather-layer-v86.weather-fog:before,.camp-weather-layer-v86.weather-fog:after{content:"";position:absolute;width:78%;height:34%;left:-20%;bottom:10%;border-radius:50%;background:#e0e5da47;filter:blur(30px);animation:v86-fog-drift 16s ease-in-out infinite alternate}.camp-weather-layer-v86.weather-fog:after{left:42%;bottom:30%;opacity:.65;animation-delay:-7s}@keyframes v86-fog-drift{to{transform:translate(22%) scale(1.12)}}.rain-v86,.motes-v86{position:absolute;inset:0}.rain-v86 i{position:absolute;top:-15%;left:var(--x);width:1px;height:clamp(36px,5vw,62px);opacity:.3;background:linear-gradient(transparent,#dcebffe6);transform:rotate(12deg);animation:v86-rain var(--d) linear infinite;animation-delay:calc(var(--p) * -.11s)}@keyframes v86-rain{to{translate:-70px 850px}}.motes-v86 b{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:#ffd464;box-shadow:0 0 8px 2px #ffb03694;animation:v86-mote var(--d) ease-in-out infinite alternate;animation-delay:calc(var(--p) * -.23s)}@keyframes v86-mote{to{translate:18px -44px;opacity:.15;scale:.6}}.living-camp-v86 .living-camp-vignette{z-index:-1;background:linear-gradient(180deg,#0c0e09cc,#0c0e090a 37%,#0c0e0921 66%,#0c0e09e3),linear-gradient(90deg,rgba(12,13,8,.35),transparent 52%,rgba(12,13,8,.2))}.living-camp-v86 .living-camp-heading{width:min(46%,500px)}.living-camp-v86 .living-camp-heading>span{text-shadow:0 2px 12px #000}.living-camp-v86 .living-camp-heading h1{font-size:clamp(2.3rem,4.6vw,4rem)}.living-camp-v86 .living-camp-heading p{max-width:52ch}.living-world-status-v86{position:absolute;z-index:6;top:22px;right:22px;width:min(360px,46%);padding:11px 42px 11px 12px;display:grid;grid-template-columns:minmax(150px,.92fr) minmax(130px,1.08fr);gap:10px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:var(--v86-world-panel);box-shadow:0 14px 32px #00000038;backdrop-filter:blur(14px)}.world-state-chips-v86{min-width:0;display:flex;flex-wrap:wrap;gap:5px}.world-state-chips-v86>span{padding:5px 7px;display:flex;align-items:center;gap:5px;border-radius:10px;background:#ffffff17}.world-state-chips-v86>span b{color:#ffe69d;font-size:.9rem;line-height:1}.world-state-chips-v86>span em{color:#fff;font-size:.62rem;font-style:normal;font-weight:800}.world-state-chips-v86>small{width:100%;color:#ffffff94;font-size:.57rem}.world-settings-button-v86{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:10px;background:#ffffff1a;color:#fff;font-size:1rem}.world-settings-button-v86:hover{background:#fff3}.glory-gauge-v86{min-width:0;display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,auto);align-items:center;gap:9px}.glory-gauge-v86>span{height:7px;overflow:hidden;border-radius:999px;background:#ffffff24}.glory-gauge-v86>span i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#b78b36,var(--v86-glory-strong));box-shadow:0 0 14px #ffd4646b}.glory-gauge-v86>div{min-width:0;display:grid}.glory-gauge-v86 em{color:var(--v86-glory);font-size:.55rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.glory-gauge-v86 b{color:#fff;font-family:var(--display-font);font-size:1.22rem;line-height:1}.glory-gauge-v86 small{overflow:hidden;color:#ffffff94;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}.glory-gauge-v86.compact{grid-template-columns:minmax(58px,.75fr) minmax(0,1fr)}.living-camp-v86 .living-camp-summary{top:116px;right:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(360px,46%)}.living-camp-v86 .living-camp-summary>span{min-width:0}.living-camp-v86 .living-camp-summary em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-npcs-v86{position:absolute;z-index:2;inset:0;pointer-events:none}.camp-npc-v86{position:absolute;width:clamp(58px,7.2vw,94px);height:clamp(76px,9.4vw,126px);padding:0;background:transparent;pointer-events:auto;filter:drop-shadow(0 9px 9px rgba(0,0,0,.55));animation:v86-npc-breathe calc(3.2s + var(--npc-index) * .4s) ease-in-out infinite alternate;transform-origin:50% 100%}.camp-npc-v86:hover,.camp-npc-v86:focus-visible,.camp-npc-v86.is-speaking{z-index:6;filter:drop-shadow(0 10px 11px rgba(0,0,0,.5)) drop-shadow(0 0 9px rgba(255,207,96,.5))}.camp-npc-v86 img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.camp-npc-v86>span{position:absolute;left:50%;bottom:calc(100% - 9px);width:clamp(170px,20vw,230px);padding:9px 10px;display:none;border:1px solid rgba(255,255,255,.16);border-radius:14px 14px 14px 4px;background:#18160eed;color:#fff;box-shadow:0 10px 24px #00000047;text-align:left;transform:translate(-22%);backdrop-filter:blur(10px)}.camp-npc-v86>span:after{content:"";position:absolute;top:100%;left:20%;border:6px solid transparent;border-top-color:#18160eed}.camp-npc-v86:hover>span,.camp-npc-v86:focus-visible>span,.camp-npc-v86.is-speaking>span{display:grid}.camp-npc-v86>span b{color:#f3d17f;font-size:.65rem}.camp-npc-v86>span em{margin-top:3px;color:#ffffffc7;font-size:.62rem;font-style:normal;line-height:1.25}.camp-npc-v86.npc-keeper{left:25%;top:44%}.camp-npc-v86.npc-scout{right:20%;top:34%}.camp-npc-v86.npc-builder{right:30%;bottom:11%}.camp-npc-v86.npc-chronicler{left:47%;top:48%}@keyframes v86-npc-breathe{to{transform:translateY(-4px) rotate(.7deg)}}.living-camp-v86 .camp-hotspot-v85.spot-forge>img{object-fit:cover;background:#17170f}.living-camp-v86 .camp-hotspot-v85.spot-tower{top:43%}.living-camp-v86.stage-5 .camp-hotspot-v85.spot-forge{box-shadow:inset 0 0 0 1px #ffdc78d1,0 0 24px #ffbe4657,0 12px 28px #0000004d}.living-camp-v86 .living-camp-actions{align-items:center;bottom:38px}.sound-toggle-v86{width:44px;min-width:44px;height:44px;border-radius:14px;background:#12110bcc;color:#ffffffa8;box-shadow:inset 0 0 0 1px #ffffff21;backdrop-filter:blur(9px)}.sound-toggle-v86.active{color:#ffe18d;box-shadow:inset 0 0 0 1px #ffda7a6b,0 0 16px #ffbf4324}.profile-world-card-v86{padding:clamp(17px,3vw,26px);display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(230px,1fr) minmax(130px,auto) auto;align-items:center;gap:16px;overflow:hidden;position:relative;border-radius:25px;background:linear-gradient(135deg,#1e2518,#38311d);color:#fff;box-shadow:0 15px 36px #342a1824}.profile-world-card-v86:after{content:"\2726";position:absolute;right:5%;top:-52px;color:#ffd56814;font-size:10rem;pointer-events:none}.profile-world-copy-v86{position:relative;z-index:1}.profile-world-copy-v86>span{color:var(--v86-glory);font-size:.63rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.profile-world-copy-v86 h2{margin-top:3px;color:#fff}.profile-world-copy-v86 p{margin-top:5px;max-width:48ch;color:#ffffffa8;font-size:.72rem}.profile-world-card-v86>.glory-gauge-v86{grid-template-columns:minmax(90px,1fr) minmax(0,auto)}.profile-world-weather-v86{display:flex;align-items:center;gap:8px}.profile-world-weather-v86>b{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#ffffff17;color:#ffe08b;font-size:1.5rem}.profile-world-weather-v86>span{display:grid}.profile-world-weather-v86 em{color:#fff;font-style:normal;font-weight:800}.profile-world-weather-v86 small{color:#ffffff8f}.profile-world-card-v86>.ghost-btn{position:relative;z-index:2;color:#fff;border-color:#ffffff38}.profile-world-card-v86>strong{position:absolute;right:24px;bottom:8px;color:#ffe08f7a;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase}.profile-achievements-v86 .achievement-row{min-height:180px}.achievement-v86.unlocked{background:linear-gradient(145deg,#fffaf0,#f4ebd4);box-shadow:inset 0 0 0 1px #c0903124}.achievement-v86.unlocked>img{filter:drop-shadow(0 8px 10px rgba(143,102,34,.18))}.achievement-v86>div>span{color:#99712d}.camp-settings-dialog-v86{width:min(620px,calc(100% - 28px));max-height:min(860px,calc(100dvh - 28px));padding:0;overflow:auto;border:0;border-radius:28px;background:#fffaf0;color:#352f25;box-shadow:0 28px 90px #100e0a70}.camp-settings-dialog-v86::backdrop{background:#0c0d09ad;backdrop-filter:blur(5px)}.camp-settings-card-v86{padding:clamp(20px,4vw,32px);display:grid;gap:12px}.camp-settings-card-v86>header{padding-right:38px;position:relative}.camp-settings-card-v86>header>span{color:#92712f;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.camp-settings-card-v86>header h2{margin-top:4px;font-size:clamp(1.7rem,5vw,2.4rem)}.camp-settings-card-v86>header p{margin-top:6px;color:#766b58;font-size:.76rem}.camp-settings-card-v86>header>button{position:absolute;top:-6px;right:-4px;width:38px;height:38px;border-radius:13px;background:#eee4d1;font-size:1.4rem}.settings-switch-v86,.settings-volume-v86{padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:17px;background:#f1e8d7}.settings-switch-v86>span,.settings-volume-v86>span{min-width:0;display:grid}.settings-switch-v86 b,.settings-volume-v86 b{font-size:.85rem}.settings-switch-v86 em{margin-top:2px;color:#7a6d59;font-size:.66rem;font-style:normal}.settings-switch-v86 input{position:absolute;opacity:0;pointer-events:none}.settings-switch-v86>i{width:48px;height:28px;flex:0 0 auto;position:relative;border-radius:99px;background:#bdb3a1;transition:background .18s ease}.settings-switch-v86>i:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000002e;transition:transform .18s ease}.settings-switch-v86 input:checked+i{background:#728a43}.settings-switch-v86 input:checked+i:after{transform:translate(20px)}.settings-volume-v86{display:grid}.settings-volume-v86>span{display:flex;justify-content:space-between}.settings-volume-v86 output{color:#6b7d3c;font-weight:900}.settings-volume-v86 input{width:100%;accent-color:#6f8740}.camp-settings-card-v86 fieldset{padding:13px;border:1px solid #dfd2bb;border-radius:18px}.camp-settings-card-v86 legend{padding:0 7px;color:#695b47;font-size:.7rem;font-weight:900}.settings-quality-v86{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.settings-quality-v86 label{position:relative}.settings-quality-v86 input{position:absolute;opacity:0}.settings-quality-v86 label>span{min-height:60px;padding:10px;display:grid;align-content:center;border:1px solid #ded2bd;border-radius:14px;background:#fffaf2}.settings-quality-v86 label>span b{font-size:.77rem}.settings-quality-v86 label>span em{margin-top:2px;color:#7c6f5b;font-size:.61rem;font-style:normal}.settings-quality-v86 input:checked+span{border-color:#748b43;background:#edf3df;box-shadow:0 0 0 2px #748b4321}.camp-settings-card-v86>footer{display:flex;justify-content:flex-end;gap:8px}html[data-camp-quality=low] .rain-v86,html[data-camp-quality=low] .motes-v86,html[data-camp-quality=low] .camp-weather-layer-v86:before,html[data-camp-quality=low] .camp-weather-layer-v86:after{display:none}html[data-camp-quality=balanced] .rain-v86 i:nth-child(2n),html[data-camp-quality=balanced] .motes-v86 b:nth-child(2n){display:none}@media (max-width: 1040px){.profile-world-card-v86{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.living-camp-v86{min-height:850px}.living-camp-v86 .living-camp-heading{width:calc(100% - 36px)}.living-world-status-v86{top:220px;left:18px;right:18px;width:auto}.living-camp-v86 .living-camp-summary{top:318px;left:18px;right:18px;width:auto;grid-template-columns:repeat(4,minmax(0,1fr))}.camp-npcs-v86{inset:420px 18px auto;height:105px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.camp-npc-v86,.camp-npc-v86.npc-keeper,.camp-npc-v86.npc-scout,.camp-npc-v86.npc-builder,.camp-npc-v86.npc-chronicler{position:relative;inset:auto;width:100%;height:100%;border-radius:15px;background:#13120c94}.camp-npc-v86 img{max-width:70px;margin:auto}.camp-npc-v86>span{left:50%;bottom:78%;transform:translate(-50%)}.camp-npc-v86>span:after{left:47%}.living-camp-v86 .living-camp-hotspots{bottom:116px}.living-camp-v86 .living-camp-actions{bottom:24px}}@media (max-width: 620px){.living-camp-v86{min-height:850px}.living-camp-v86 .living-camp-heading h1{max-width:10ch;font-size:clamp(2.25rem,11vw,3.2rem)}.living-camp-v86 .living-camp-heading p{max-width:42ch}.living-world-status-v86{top:240px;grid-template-columns:1fr;padding-right:42px}.living-world-status-v86 .glory-gauge-v86{grid-template-columns:minmax(80px,1fr) minmax(0,1fr)}.living-camp-v86 .living-camp-summary{top:370px;grid-template-columns:repeat(2,minmax(0,1fr))}.camp-npcs-v86{top:490px;height:66px}.camp-npc-v86:nth-child(n+3){display:none}.camp-npcs-v86{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-npc-v86 img{max-width:52px}.living-camp-v86 .living-camp-hotspots{top:545px;bottom:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.living-camp-v86 .camp-hotspot-v85.spot-tower{top:auto}.living-camp-v86 .camp-hotspot-v85{min-height:60px;grid-template-columns:32px minmax(0,1fr)}.living-camp-v86 .camp-hotspot-v85>img{width:32px;height:32px}.living-camp-v86 .camp-hotspot-v85>i{display:none}.living-camp-v86 .camp-hotspot-v85 b{font-size:.66rem}.living-camp-v86 .camp-hotspot-v85 em{font-size:.52rem}.living-camp-v86 .living-camp-actions{grid-template-columns:1fr 1fr 44px;bottom:28px}.living-camp-v86 .living-camp-actions>*{min-width:0}.profile-world-card-v86{grid-template-columns:1fr}.profile-world-card-v86>.glory-gauge-v86{grid-template-columns:minmax(100px,1fr) minmax(0,auto)}.profile-world-card-v86>strong{position:static}.settings-quality-v86{grid-template-columns:1fr}.camp-settings-card-v86>footer>button{flex:1}}@media (max-width: 390px){.living-camp-v86{min-height:880px}.living-camp-v86 .living-camp-heading p{font-size:.7rem}.living-world-status-v86{top:250px}.living-camp-v86 .living-camp-summary{top:385px}.camp-npcs-v86{top:500px}.living-camp-v86 .living-camp-hotspots{top:555px;bottom:auto}.living-camp-v86 .living-camp-actions{bottom:28px}}@media (orientation: portrait) and (max-width: 350px) and (max-height: 650px){.living-camp-v86{min-height:1050px}.living-camp-v86 .living-camp-summary{top:500px}.camp-npcs-v86{top:625px}.living-camp-v86 .living-camp-hotspots{top:705px;bottom:auto}.living-camp-v86 .living-camp-actions{bottom:28px}}@media (orientation: landscape) and (max-height: 430px) and (max-width: 900px){.living-camp-v86{min-height:930px}.living-camp-v86 .living-camp-heading h1{max-width:14ch;font-size:2.3rem;line-height:.92}.living-camp-v86 .living-camp-heading p{max-width:52ch;max-height:2.65em;overflow:hidden;font-size:.64rem;line-height:1.3}.living-world-status-v86{top:330px}.living-camp-v86 .living-camp-summary{top:430px}.camp-npcs-v86{top:525px}.living-camp-v86 .living-camp-hotspots{top:auto;bottom:150px}.living-camp-v86 .living-camp-actions{bottom:65px}}.v86-reduced-motion .camp-npc-v86,.v86-reduced-motion .rain-v86 i,.v86-reduced-motion .motes-v86 b,.v86-reduced-motion .camp-weather-layer-v86:before,.v86-reduced-motion .camp-weather-layer-v86:after,.v86-reduced-motion .living-camp-v86 .living-camp-art{animation:none!important;transition:none!important;transform:none!important}@media (prefers-reduced-motion: reduce){.camp-npc-v86,.rain-v86 i,.motes-v86 b,.camp-weather-layer-v86:before,.camp-weather-layer-v86:after{animation:none!important}}

/* source: css/v87-expedition-crafting.min.css */
:root{--v87-coal: #171914;--v87-coal-soft: #282a20;--v87-copper: #b67432;--v87-gold: #e7bd5b;--v87-moss: #6f873c;--v87-paper: #fffaf0;--v87-paper-deep: #f1e5cb;--v87-ink: #332d23;--v87-muted: #786b58;--v87-danger: #a64f3c;--v87-success: #66813b}.expedition-v87,.crafting-v87{display:grid;gap:14px;color:var(--v87-ink)}.v87-expedition-hero,.v87-crafting-hero{min-height:clamp(285px,37vw,390px);overflow:hidden;position:relative;isolation:isolate;border-radius:30px;background:var(--v87-coal);color:#fff;box-shadow:0 24px 54px #291f1233}.v87-expedition-hero>img,.v87-crafting-hero>img{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015)}.v87-expedition-hero>span,.v87-crafting-hero>span{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#0e0f0cf2,#0e0f0cb0 48%,#0e0f0c1f),linear-gradient(0deg,rgba(12,13,10,.66),transparent 60%)}.v87-expedition-hero>div,.v87-crafting-hero>div{width:min(61%,650px);padding:clamp(28px,5vw,58px)}.v87-expedition-hero em,.v87-crafting-hero em,.v87-section-heading>div>span,.v87-node-copy>span,.v87-daily-order>div>span,.v87-resource-ledger header>span{color:#f1cb73;font-size:.66rem;font-style:normal;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.v87-expedition-hero h1,.v87-crafting-hero h1{margin-top:6px;max-width:16ch;color:#fff;font-size:clamp(2.35rem,5vw,4.3rem);line-height:.91;text-shadow:0 6px 24px rgba(0,0,0,.54)}.v87-expedition-hero p,.v87-crafting-hero p{margin-top:13px;max-width:55ch;color:#ffffffc4;font-size:.8rem;line-height:1.5}.v87-expedition-hero>aside,.v87-crafting-hero>aside{position:absolute;top:24px;right:24px;width:min(220px,28%);padding:15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:#13130eb8;box-shadow:0 14px 34px #0000003d;backdrop-filter:blur(12px)}.v87-expedition-hero>aside b,.v87-crafting-hero>aside b{color:#ffe192;font-family:var(--display-font);font-size:1.65rem;line-height:1}.v87-expedition-hero>aside span,.v87-crafting-hero>aside span{color:#ffffffad;font-size:.63rem;line-height:1.25}.v87-expedition-hero>aside button{width:38px;height:38px;border-radius:12px;background:#ffffff1a;color:#fff;font-size:1.2rem}.v87-crafting-hero>aside{grid-template-columns:auto 1fr}.v87-safe-notice,.v87-action-error{padding:12px 14px;display:grid;align-items:center;border-radius:18px}.v87-safe-notice{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;border:1px solid rgba(161,112,45,.18);background:#fff3d9}.v87-safe-notice img{width:48px;height:48px;object-fit:contain}.v87-safe-notice b{font-size:.82rem}.v87-safe-notice p{margin-top:2px;color:var(--v87-muted);font-size:.68rem}.v87-safe-notice button{min-height:40px;padding:0 14px;border-radius:12px;background:#5f713b;color:#fff;font-weight:900}.v87-action-error{border:1px solid rgba(166,79,60,.25);background:#fff0e9;color:#8b402f;font-size:.74rem;font-weight:800}.v87-route-track{margin:0;padding:9px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;border-radius:23px;background:linear-gradient(150deg,#eee3ca,#fffaf0);box-shadow:inset 0 0 0 1px #6a522e14,0 10px 28px #372a1914;list-style:none}.v87-route-track li{min-width:0;min-height:96px;padding:7px;display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:52px auto;align-items:center;gap:5px 7px;position:relative;border-radius:16px;background:#ffffffa8;box-shadow:inset 0 0 0 1px #5e492a14}.v87-route-track li:after{content:"\203a";position:absolute;z-index:2;right:-9px;top:35px;color:#a39170;font-size:1.1rem;font-weight:900}.v87-route-track li:last-child:after{display:none}.v87-route-track li>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#ded1b7;color:#78684d;font-size:.68rem;font-weight:900}.v87-route-track li>img{width:100%;height:52px;grid-column:2;object-fit:cover;border-radius:11px;filter:saturate(.62) brightness(.92)}.v87-route-track li>div{min-width:0;grid-column:1 / -1;display:grid}.v87-route-track li b{overflow:hidden;font-size:.68rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.v87-route-track li small{color:var(--v87-muted);font-size:.56rem}.v87-route-track li.current{background:#fff6d9;box-shadow:inset 0 0 0 2px #d5a64d,0 8px 20px #aa772b21}.v87-route-track li.current>span{background:#d6a849;color:#fff;box-shadow:0 0 0 4px #d6a84926}.v87-route-track li.current>img{filter:none}.v87-route-track li.done>span{background:#748b43;color:#fff}.v87-route-track li.done>img{filter:saturate(.88)}.v87-expedition-prep,.v87-session-card,.v87-result-card,.v87-recipe-book,.v87-crafted-inventory,.v87-resource-ledger{padding:clamp(16px,3vw,27px);border-radius:25px;background:var(--v87-paper);box-shadow:0 13px 34px #392b1917}.v87-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v87-section-heading h2{margin-top:3px;font-size:clamp(1.35rem,2.7vw,2.05rem)}.v87-section-heading p{margin-top:5px;max-width:67ch;color:var(--v87-muted);font-size:.72rem;line-height:1.45}.v87-section-heading>strong{flex:0 0 auto;padding:9px 12px;border-radius:12px;background:#2e3125;color:#f0cb76;font-size:.72rem}.v87-run-limit{margin-top:13px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;background:#eee5d1}.v87-run-limit span{display:flex;align-items:baseline;gap:7px;color:var(--v87-muted);font-size:.65rem}.v87-run-limit b{color:#6b522c;font-size:1rem}.v87-run-limit small{color:#8a6d42;font-size:.62rem}.v87-loadout-grid{margin-top:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v87-loadout-slot{min-width:0;padding:10px;border:1px solid rgba(99,76,42,.13);border-radius:19px;background:linear-gradient(145deg,#f6edda,#fffdf7)}.v87-loadout-slot legend{padding:0 7px;color:#8a632c;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.v87-loadout-options{display:grid;gap:6px}.v87-loadout-option{min-width:0;min-height:62px;padding:7px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;border-radius:14px;background:#ffffffbf;box-shadow:inset 0 0 0 1px #53412712;text-align:left}.v87-loadout-option:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.v87-loadout-option.selected{background:#fff8df;box-shadow:inset 0 0 0 2px #c99a46,0 5px 15px #a46f2a1f}.v87-loadout-option:disabled{opacity:.48}.v87-loadout-option img,.v87-empty-slot{width:46px;height:46px;object-fit:contain;border-radius:12px;background:#eae0ca}.v87-empty-slot{display:grid;place-items:center;color:#9d8d71;font-size:1.25rem}.v87-loadout-option>div{min-width:0;display:grid}.v87-loadout-option b{font-size:.7rem;line-height:1.15}.v87-loadout-option small{margin-top:2px;overflow:hidden;color:var(--v87-muted);font-size:.57rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.v87-loadout-option em{margin-top:3px;color:#6f833f;font-size:.58rem;font-style:normal;font-weight:900}.v87-sidegrade-note{margin-top:13px;padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;border-radius:15px;background:#273024;color:#fff}.v87-sidegrade-note b{color:#f0cf79;font-size:.72rem}.v87-sidegrade-note p{color:#ffffffb0;font-size:.64rem;line-height:1.35}.v87-expedition-prep>footer,.v87-result-card>footer{margin-top:15px;display:flex;justify-content:flex-end;gap:8px}.v87-session-card{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(270px,1.18fr);gap:18px}.v87-node-art{min-height:260px;overflow:hidden;position:relative;grid-row:span 2;border-radius:20px;background:#22251e}.v87-node-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.v87-node-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,17,13,.62),transparent 54%)}.v87-node-art span{position:absolute;z-index:2;left:14px;bottom:13px;padding:7px 10px;border-radius:10px;background:#10110dc7;color:#ffe093;font-weight:900}.v87-node-copy h2{margin-top:3px;font-size:clamp(1.65rem,3.3vw,2.6rem)}.v87-node-copy p{margin-top:7px;color:var(--v87-muted);font-size:.76rem;line-height:1.45}.v87-node-copy small{margin-top:10px;display:inline-flex;padding:6px 9px;border-radius:9px;background:#eee4cf;color:#74572d;font-size:.62rem;font-weight:900}.v87-choice-grid{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v87-choice{min-width:0;min-height:112px;padding:12px 34px 12px 12px;display:grid;align-content:start;position:relative;border-radius:16px;background:linear-gradient(145deg,#f6ecda,#fff);box-shadow:inset 0 0 0 1px #5741221a;text-align:left}.v87-choice:hover:not(:disabled){box-shadow:inset 0 0 0 2px #b67d34,0 7px 18px #8258251a;transform:translateY(-2px)}.v87-choice:disabled{opacity:.52}.v87-choice>span{min-height:16px;color:#9a6b2f;font-size:.56rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.v87-choice>span em{font-style:normal}.v87-choice b{margin-top:4px;font-size:.78rem}.v87-choice p{margin-top:4px;color:var(--v87-muted);font-size:.62rem;line-height:1.3}.v87-choice small{margin-top:5px;color:var(--v87-danger);font-size:.56rem}.v87-choice>i{position:absolute;right:13px;top:50%;color:var(--v87-copper);font-size:1.3rem;font-style:normal;transform:translateY(-50%)}.v87-staged-loot{grid-column:1 / -1;padding:12px 14px;display:grid;gap:7px;border-radius:16px;background:#293024;color:#fff}.v87-staged-loot>b{color:#f0d083;font-size:.7rem}.v87-staged-loot>div{display:flex;flex-wrap:wrap;gap:6px}.v87-staged-loot span{padding:6px 8px;display:flex;gap:8px;border-radius:9px;background:#ffffff17;font-size:.62rem}.v87-staged-loot small{color:#ffffff91;font-size:.58rem}.v87-result-card{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:19px}.v87-result-card>img{width:150px;height:150px;object-fit:contain}.v87-result-card>div>span{color:#8d642c;font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.v87-result-card h2{margin-top:4px;font-size:1.65rem}.v87-result-card p{margin-top:5px;color:var(--v87-muted);font-size:.72rem}.v87-result-loot{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}.v87-result-loot span{padding:7px 9px;display:flex;gap:10px;border-radius:10px;background:#eee5d3;font-size:.66rem}.v87-result-loot b{color:#69803b}.v87-result-card>footer{grid-column:1 / -1}.v87-result-card.expired{border:1px solid rgba(166,79,60,.16)}.v87-inline-loader{min-height:180px;display:grid;place-items:center;gap:8px;color:var(--v87-muted)}.v87-inline-loader i{width:30px;height:30px;border:3px solid #ddd0b7;border-top-color:var(--v87-copper);border-radius:50%;animation:v87-spin .8s linear infinite}@keyframes v87-spin{to{transform:rotate(360deg)}}.v87-loop-steps{padding:10px 14px;display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:9px;border-radius:20px;background:#24271f;color:#ffffff78}.v87-loop-steps span,.v87-loop-steps button{display:flex;align-items:center;gap:6px;color:inherit;font-size:.63rem;font-weight:800}.v87-loop-steps button{min-height:36px;padding:4px 6px;border-radius:9px}.v87-loop-steps b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#ffffff17}.v87-loop-steps .active{color:#ffe092}.v87-loop-steps .active b{background:#a87a35;color:#fff}.v87-loop-steps button{color:#f0d184}.v87-loop-steps>i{font-style:normal}.v87-daily-order{padding:14px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;border-radius:22px;background:linear-gradient(145deg,#273025,#3b3826);color:#fff;box-shadow:0 14px 34px #2a241624}.v87-daily-order>img{width:72px;height:72px;object-fit:contain}.v87-daily-order h2{margin-top:2px;color:#fff;font-size:1.25rem}.v87-daily-order p{margin-top:4px;color:#ffffffa8;font-size:.68rem}.v87-daily-order>div>div{margin-top:7px;display:flex;gap:6px}.v87-daily-order>div>div em{padding:5px 7px;border-radius:8px;background:#ffffff17;color:#f2d17f;font-size:.59rem;font-style:normal}.v87-daily-order>button{min-height:44px;padding:0 15px;border-radius:13px;background:#e1bb60;color:#2d281d;font-size:.68rem;font-weight:900}.v87-daily-order>button:disabled{background:#ffffff1c;color:#ffffff73}.v87-daily-order.claimed{background:linear-gradient(145deg,#314029,#3d3a27)}.v87-recipe-filters{margin-top:15px;display:flex;flex-wrap:wrap;gap:6px}.v87-recipe-filters button{min-height:38px;padding:0 13px;border-radius:12px;background:#ece3d1;color:#685a45;font-size:.64rem;font-weight:900}.v87-recipe-filters button.active{background:#34382a;color:#f0cf7d;box-shadow:0 5px 14px #2a2b1f24}.v87-recipe-grid{margin-top:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v87-recipe{min-width:0;min-height:204px;padding:10px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;border-radius:18px;background:linear-gradient(145deg,#f3e9d5,#fff);box-shadow:inset 0 0 0 1px #5b452617}.v87-recipe.ready{box-shadow:inset 0 0 0 1px #65803742,0 7px 18px #5d693314}.v87-recipe figure{min-width:0;margin:0;overflow:hidden}.v87-recipe figure img{width:96px;height:112px;object-fit:contain;border-radius:13px;background:#ddd0b8}.v87-recipe figcaption{margin-top:6px;color:#8a632d;font-size:.57rem;font-weight:900;text-align:center;text-transform:uppercase}.v87-recipe>div{min-width:0;display:flex;flex-direction:column}.v87-recipe>div>span{color:#806134;font-size:.56rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.v87-recipe h3{margin-top:3px;font-size:.82rem;line-height:1.15}.v87-recipe p{margin-top:4px;color:var(--v87-muted);font-size:.59rem;line-height:1.28}.v87-ingredients{margin-top:7px;display:grid;gap:3px}.v87-ingredients>span{padding:4px 6px;display:flex;justify-content:space-between;gap:6px;border-radius:7px;background:#ece3d1;font-size:.55rem}.v87-ingredients>span.has em{color:var(--v87-success)}.v87-ingredients>span.missing em{color:var(--v87-danger)}.v87-ingredients em{font-style:normal;font-weight:900}.v87-ingredients small{color:var(--v87-muted);font-size:.55rem}.v87-recipe footer{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:7px}.v87-recipe footer small{color:var(--v87-muted);font-size:.56rem}.v87-recipe footer button{min-height:36px;padding:0 11px;border-radius:10px;background:#6a813d;color:#fff;font-size:.62rem;font-weight:900}.v87-recipe footer button:disabled{background:#d8cdb9;color:#8d816d}.v87-crafted-grid{margin-top:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v87-crafted-grid article{min-width:0;min-height:96px;padding:9px;display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:9px;border-radius:17px;background:#f3ead8;box-shadow:inset 0 0 0 1px #5b452614}.v87-crafted-grid img{width:66px;height:66px;object-fit:cover;border-radius:12px}.v87-crafted-grid article>div{min-width:0;display:grid}.v87-crafted-grid span{color:#89622e;font-size:.55rem;font-weight:900;text-transform:uppercase}.v87-crafted-grid h3{overflow:hidden;font-size:.72rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.v87-crafted-grid article>div b{margin-top:3px;color:#647c38;font-size:.7rem}.v87-crafted-grid button{min-height:40px;padding:0 10px;border-radius:11px;background:#3c432d;color:#f2d383;font-size:.59rem;font-weight:900}.v87-crafted-grid button:disabled{opacity:.48}.v87-crafted-empty{margin-top:14px;padding:14px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:16px;background:#f1e8d7}.v87-crafted-empty img{width:70px;height:70px;object-fit:contain}.v87-crafted-empty b{font-size:.78rem}.v87-crafted-empty p{margin-top:3px;color:var(--v87-muted);font-size:.64rem}.v87-resource-ledger header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.v87-resource-ledger h2{font-size:1.35rem}.v87-resource-ledger>div{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.v87-resource-ledger>div span{min-width:0;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:7px;border-radius:11px;background:#eee5d3}.v87-resource-ledger>div b{overflow:hidden;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}.v87-resource-ledger>div em{color:#637b38;font-size:.62rem;font-style:normal;font-weight:900}.v87-resource-ledger>p{margin-top:8px;color:var(--v87-muted);font-size:.68rem}@media (max-width: 980px){.v87-recipe-grid,.v87-crafted-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v87-resource-ledger>div{grid-template-columns:repeat(3,minmax(0,1fr))}.v87-route-track{grid-template-columns:repeat(3,minmax(0,1fr))}.v87-route-track li:nth-child(3):after{display:none}}@media (max-width: 720px){.expedition-v87,.crafting-v87{gap:10px}.v87-expedition-hero,.v87-crafting-hero{min-height:268px;border-radius:22px}.v87-expedition-hero>img,.v87-crafting-hero>img{object-position:57% center}.v87-expedition-hero>div,.v87-crafting-hero>div{width:76%;padding:22px 18px}.v87-expedition-hero h1,.v87-crafting-hero h1{font-size:clamp(1.8rem,10vw,2.55rem)}.v87-expedition-hero p,.v87-crafting-hero p{margin-top:8px;font-size:.67rem;line-height:1.35}.v87-expedition-hero>aside,.v87-crafting-hero>aside{top:auto;right:12px;bottom:12px;width:min(230px,72%);padding:9px 10px;border-radius:15px}.v87-crafting-hero>aside{width:min(210px,65%)}.v87-expedition-hero>aside b,.v87-crafting-hero>aside b{font-size:1.25rem}.v87-safe-notice{grid-template-columns:38px minmax(0,1fr)}.v87-safe-notice img{width:38px;height:38px}.v87-safe-notice button{grid-column:1 / -1}.v87-route-track{grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;gap:5px;border-radius:18px}.v87-route-track li{min-height:81px;padding:5px;grid-template-columns:21px minmax(0,1fr);grid-template-rows:40px auto;border-radius:12px}.v87-route-track li>span{width:21px;height:21px;font-size:.58rem}.v87-route-track li>img{height:40px;border-radius:8px}.v87-route-track li b{font-size:.58rem}.v87-route-track li small{font-size:.49rem}.v87-route-track li:after{right:-7px;top:29px}.v87-expedition-prep,.v87-session-card,.v87-result-card,.v87-recipe-book,.v87-crafted-inventory,.v87-resource-ledger{padding:14px;border-radius:20px}.v87-section-heading{display:grid;gap:8px}.v87-section-heading>button{justify-self:start}.v87-run-limit{align-items:flex-start;flex-direction:column;gap:2px}.v87-loadout-grid{grid-template-columns:minmax(0,1fr)}.v87-loadout-options{grid-template-columns:repeat(2,minmax(0,1fr))}.v87-sidegrade-note{grid-template-columns:minmax(0,1fr);gap:4px}.v87-expedition-prep>footer{display:grid;grid-template-columns:1fr 1fr}.v87-session-card{grid-template-columns:minmax(0,1fr);gap:12px}.v87-node-art{min-height:205px;grid-row:auto}.v87-choice-grid,.v87-staged-loot{grid-column:1}.v87-result-card{grid-template-columns:80px minmax(0,1fr);gap:10px}.v87-result-card>img{width:80px;height:80px}.v87-loop-steps{grid-template-columns:repeat(7,auto);gap:4px;padding:8px}.v87-loop-steps span,.v87-loop-steps button{gap:3px;font-size:.52rem}.v87-loop-steps b{width:19px;height:19px;font-size:.5rem}.v87-daily-order{grid-template-columns:52px minmax(0,1fr);gap:9px}.v87-daily-order>img{width:52px;height:52px}.v87-daily-order>button{grid-column:1 / -1}.v87-recipe-grid,.v87-crafted-grid{grid-template-columns:minmax(0,1fr)}.v87-resource-ledger>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 370px){.v87-expedition-hero>div,.v87-crafting-hero>div{width:88%;padding:18px 14px}.v87-expedition-hero em,.v87-crafting-hero em{font-size:.55rem}.v87-expedition-hero h1,.v87-crafting-hero h1{font-size:1.8rem}.v87-expedition-hero>aside,.v87-crafting-hero>aside{left:12px;right:12px;width:auto}.v87-route-track li>img{display:none}.v87-route-track li{min-height:58px;grid-template-rows:auto}.v87-route-track li>div{grid-column:1 / -1}.v87-route-track li:after{top:21px}.v87-loadout-options,.v87-choice-grid{grid-template-columns:minmax(0,1fr)}.v87-expedition-prep>footer{grid-template-columns:minmax(0,1fr)}.v87-loop-steps>i{display:none}.v87-loop-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.v87-loop-steps span,.v87-loop-steps button{justify-content:flex-start}.v87-recipe{grid-template-columns:76px minmax(0,1fr)}.v87-recipe figure img{width:76px;height:96px}.v87-crafted-grid article{grid-template-columns:52px minmax(0,1fr)}.v87-crafted-grid img{width:52px;height:52px}.v87-crafted-grid button{grid-column:1 / -1}}@media (max-height: 430px) and (orientation: landscape){.v87-expedition-hero,.v87-crafting-hero{min-height:210px}.v87-expedition-hero>div,.v87-crafting-hero>div{width:68%;padding:17px 18px}.v87-expedition-hero h1,.v87-crafting-hero h1{font-size:2rem}.v87-expedition-hero p,.v87-crafting-hero p{max-width:46ch}.v87-expedition-hero>aside,.v87-crafting-hero>aside{top:12px;right:12px;bottom:auto;width:27%}.v87-loadout-options{grid-template-columns:repeat(2,minmax(0,1fr))}.v87-node-art{min-height:190px}}.v86-reduced-motion .v87-inline-loader i{animation:none}.v86-reduced-motion :is(.v87-loadout-option,.v87-choice){transition:none}@media (prefers-reduced-motion: reduce){.v87-inline-loader i{animation:none}:is(.v87-loadout-option,.v87-choice){transition:none}}

/* source: css/v88-style-utility-light.css */
.shop-section-tabs{min-width:0;padding:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px solid rgba(92,72,46,.15);border-radius:19px;background:#fffbf2f0;box-shadow:0 7px 20px #30241414}.shop-section-tabs button{min-width:0;min-height:54px;padding:6px 10px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;border:0;border-radius:14px;background:transparent;color:var(--ink-2,#53452f);text-align:left}.shop-section-tabs button img{width:38px;height:38px;object-fit:contain}.shop-section-tabs button span{min-width:0;display:grid;gap:2px}.shop-section-tabs button b{overflow-wrap:anywhere;font-size:.78rem;line-height:1.2}.shop-section-tabs button em{color:var(--ink-3,#75664f);font-size:.75rem;font-style:normal;line-height:1.25}.shop-section-tabs button.active{background:linear-gradient(135deg,#637b3e,#41562d);color:#fff;box-shadow:0 5px 14px #374a2333}.shop-section-tabs button.active em{color:#ffffffb8}.bottom-nav .nav-primary:not(.active){min-height:60px;margin-top:0;border:0;border-radius:15px;background:transparent;color:var(--ink-2,#53452f);box-shadow:none;transform:none}.bottom-nav .nav-primary:not(.active) .games-icon{width:30px;height:30px}body[data-route=shop] .bottom-nav button[data-nav=shop].active{color:#fff;background:linear-gradient(180deg,#8ca94d,#668532);box-shadow:0 7px 18px #4c692838}.v88-shop-host,.v88-style-shop{min-width:0}.v88-style-shop{display:grid;gap:13px}.v88-style-hero{overflow:hidden;position:relative;min-height:250px;padding:clamp(18px,3vw,31px);display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.4fr) auto;align-items:center;gap:clamp(14px,3vw,30px);border:1px solid rgba(91,72,47,.18);border-radius:27px;color:#fff;background:radial-gradient(circle at 15% 22%,rgba(196,224,129,.23),transparent 31%),linear-gradient(135deg,#24221b,#4f412f 64%,#31503a);box-shadow:var(--shadow-sm,0 12px 30px rgba(42,32,20,.16))}.v88-style-hero>span{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.04) 42% 52%,transparent 52%)}.v88-hero-art{width:min(210px,100%);height:190px;position:relative;z-index:1;object-fit:contain;filter:drop-shadow(0 13px 15px rgba(0,0,0,.34));animation:v88Float 3.8s ease-in-out infinite}.v88-style-hero>div{min-width:0;position:relative;z-index:1}.v88-style-hero em,.v88-loadout header span{color:#c8df92;font-size:.75rem;font-style:normal;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.v88-style-hero h1{margin:5px 0 0;color:#fff;font-size:clamp(2.25rem,5vw,4.6rem);line-height:.9}.v88-style-hero p{margin:10px 0 0;max-width:66ch;color:#fffc;font-size:.82rem;line-height:1.5}.v88-style-hero aside{min-width:84px;position:relative;z-index:1;padding:12px;display:grid;justify-items:center;border-radius:18px;background:#ffffff1a;backdrop-filter:blur(9px)}.v88-style-hero aside b{color:#fff;font-size:1.45rem}.v88-style-hero aside small{color:#ffffffc2;font-size:.75rem}.v88-loadout{min-width:0;padding:clamp(13px,2.5vw,21px);display:grid;gap:11px;border:1px solid rgba(91,72,47,.15);border-radius:23px;background:#fffaf0}.v88-loadout>header{min-width:0;display:flex;align-items:center;gap:12px}.v88-loadout>header>div{min-width:0;flex:1}.v88-loadout header span{color:var(--green-3,#536b35)}.v88-loadout h2{margin:3px 0 0;font-size:1.3rem}.v88-loadout header p{margin:5px 0 0;max-width:75ch;color:var(--ink-3,#75664f);font-size:.8rem;line-height:1.45}.v88-loadout>header button{flex:0 0 auto;min-height:44px}.v88-loadout>div{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v88-loadout-slot{min-width:0;min-height:88px;position:relative;padding:9px;display:grid;grid-template-columns:56px minmax(0,1fr) 44px;grid-template-rows:auto 1fr;align-items:center;gap:3px 8px;border:1px solid rgba(90,72,48,.14);border-radius:17px;background:#fff}.v88-loadout-slot>span{grid-column:2/4;align-self:end;color:var(--green-3,#536b35);font-size:.75rem;font-weight:950;line-height:1.2;text-transform:uppercase}.v88-loadout-slot>img{width:56px;height:56px;grid-row:1/3;object-fit:contain}.v88-loadout-slot>b{min-width:0;align-self:start;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}.v88-loadout-slot>em{min-width:0;align-self:start;color:var(--ink-3,#75664f);font-size:.75rem;font-style:normal;line-height:1.25}.v88-loadout-slot>button{width:44px;height:44px;min-height:44px;grid-column:3;grid-row:2;align-self:center;border:0;border-radius:50%;background:#5b482f14;color:var(--ink-2,#53452f);font-size:1rem}.v88-loadout-slot.is-empty{opacity:.76}.v88-loadout-slot.is-filled{border-color:#5d7a376b;background:linear-gradient(145deg,#f3f8e8,#fffdf6)}.v88-balance-note{min-width:0;padding:10px 12px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(85,112,52,.2);border-radius:18px;background:#eff7dedb}.v88-balance-note>img{width:48px;height:48px;object-fit:contain}.v88-balance-note>span{min-width:0;display:grid;gap:3px}.v88-balance-note b{font-size:.8rem}.v88-balance-note em{color:var(--ink-3,#75664f);font-size:.75rem;font-style:normal;line-height:1.4}.v88-balance-note>strong{padding:7px 9px;border-radius:12px;background:#5673311c;color:var(--green-3,#536b35);font-size:.75rem;white-space:nowrap}.v88-style-filters{min-width:0;padding:4px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border-radius:17px;background:#5b482f12}.v88-style-filters button{min-width:0;min-height:44px;padding:6px 8px;border:0;border-radius:13px;background:transparent;color:var(--ink-2,#53452f);font-size:.78rem;font-weight:900}.v88-style-filters button b{color:var(--green-3,#536b35)}.v88-style-filters button.active{background:#fff;box-shadow:0 4px 11px #34271617}.v88-style-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v88-style-card{min-width:0;padding:10px;display:grid;grid-template-columns:118px minmax(0,1fr);align-items:start;gap:10px;border:1px solid rgba(91,72,47,.14);border-radius:21px;background:#fffaf0;box-shadow:0 5px 15px #3225140f}.v88-style-card>figure{overflow:hidden;position:relative;min-height:132px;margin:0;display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 50% 40%,#c1d98433,#5b482f12)}.v88-card-art{width:104px;height:116px;object-fit:contain;transition:transform .22s ease}.v88-style-card:hover .v88-card-art{transform:translateY(-2px) scale(1.03)}.v88-style-card figure>span{position:absolute;left:7px;bottom:7px;padding:4px 7px;border-radius:9px;background:#231d17d1;color:#fff;font-size:.75rem;font-weight:950;line-height:1.15;text-transform:uppercase}.v88-style-card.is-locked{filter:saturate(.58)}.v88-style-card.is-locked .v88-card-art{opacity:.44}.v88-style-card.is-equipped{border-color:#5a782e73;background:linear-gradient(145deg,#f2f8e6,#fffaf0)}.v88-style-copy{min-width:0;display:grid;align-content:start}.v88-style-copy>em{color:var(--green-3,#536b35);font-size:.75rem;font-style:normal;font-weight:950;line-height:1.2;text-transform:uppercase}.v88-style-copy h3{margin:4px 0 0;font-size:.92rem;line-height:1.15}.v88-style-copy p{margin:5px 0 0;color:var(--ink-3,#75664f);font-size:.8rem;line-height:1.42}.v88-style-copy small{margin-top:7px;padding:6px 7px;border-radius:10px;background:#5b482f0f;color:var(--ink-3,#75664f);font-size:.75rem;line-height:1.35}.v88-motion-strip{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.v88-motion-strip span{min-width:0;padding:3px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:3px;border-radius:9px;background:#5b482f0e}.v88-motion-strip img{width:30px;height:30px;object-fit:contain}.v88-motion-strip i{color:var(--ink-3,#75664f);font-size:.75rem;font-style:normal;line-height:1.15;overflow-wrap:anywhere}.v88-style-card>footer{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.v88-style-card>footer button{width:100%;min-width:0;min-height:44px;padding-inline:7px;font-size:.75rem;line-height:1.2}.v88-style-card>footer>span{grid-column:1/-1;padding:9px;border-radius:11px;background:#5b482f0e;color:var(--ink-3,#75664f);font-size:.75rem;line-height:1.4;text-align:center}.v88-save-status{min-width:0;padding:10px 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(91,72,47,.13);border-radius:17px;background:#fffaf0e0}.v88-save-status>span{min-width:0;flex:1;display:grid;grid-template-columns:10px minmax(0,1fr);gap:2px 7px}.v88-save-status i{width:9px;height:9px;grid-row:1/3;align-self:center;border-radius:50%;background:#c99548}.v88-save-status i.is-synced{background:#6e8b42}.v88-save-status i.is-syncing{animation:v88Pulse .9s ease-in-out infinite}.v88-save-status b{font-size:.8rem}.v88-save-status em{color:var(--ink-3,#75664f);font-size:.75rem;font-style:normal;line-height:1.3}.v88-save-status button{flex:0 0 auto;min-height:44px}.v88-profile-summary{min-width:0;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;border:1px solid rgba(91,72,47,.15);border-radius:20px;background:linear-gradient(140deg,#f5f9e9,#fffaf0)}.v88-profile-active{min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:9px}.v88-profile-active>img{width:72px;height:72px;object-fit:contain}.v88-profile-active>span{min-width:0}.v88-profile-active em{color:var(--green-3,#536b35);font-size:.75rem;font-style:normal;line-height:1.2;text-transform:uppercase}.v88-profile-active h2{margin:3px 0 0;font-size:.93rem}.v88-profile-active p{margin:3px 0 0;color:var(--ink-3,#75664f);font-size:.78rem;line-height:1.4}.v88-profile-support{display:grid;grid-template-columns:repeat(2,74px);gap:5px}.v88-profile-support span{min-width:0;padding:5px;display:grid;justify-items:center;gap:2px;border-radius:12px;background:#5b482f0f}.v88-profile-support img{width:42px;height:42px;object-fit:contain}.v88-profile-support b{width:100%;font-size:.75rem;line-height:1.2;overflow-wrap:anywhere;text-align:center}.v88-profile-summary>button{min-height:44px}.v88-route-pair{width:100%;min-width:0;margin-top:14px;padding:9px;display:grid;gap:7px;border:1px solid rgba(93,122,55,.25);border-radius:17px;background:#f0f7e1bd}.v88-route-pair>header{min-width:0;display:flex;align-items:center;gap:8px}.v88-route-pair>header span{min-width:0;flex:1;display:grid;gap:2px}.v88-route-pair>header b{font-size:.8rem}.v88-route-pair>header em{color:var(--ink-3,#75664f);font-size:.75rem;font-style:normal;line-height:1.4}.v88-route-pair>header strong{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#637b3e;color:#fff}.v88-route-pair>div{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.v88-route-pair button{min-width:0;min-height:92px;padding:7px;display:grid;grid-template-columns:52px minmax(0,1fr) 18px;align-items:center;gap:6px;border:1px solid rgba(91,72,47,.13);border-radius:14px;background:#fff;color:var(--ink-1,#332b20);text-align:left}.v88-route-pair button>img{width:52px;height:52px;object-fit:contain}.v88-route-pair button span{min-width:0;display:grid;gap:2px}.v88-route-pair button em{color:var(--green-3,#536b35);font-size:.75rem;font-style:normal;font-weight:950;line-height:1.2;text-transform:uppercase}.v88-route-pair button b{font-size:.8rem;line-height:1.25}.v88-route-pair button small{color:var(--ink-3,#75664f);font-size:.75rem;line-height:1.35}.v88-route-pair button>i{color:var(--green-3,#536b35);font-style:normal}.v88-route-pair button.is-style{border-color:#5f7c3954;background:#f8fbea}.v88-route-pair button.is-unavailable{filter:grayscale(.35)}.v88-route-pair button:disabled{opacity:.58}@keyframes v88Float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes v88Pulse{0%,to{opacity:.4}50%{opacity:1}}.shop-section-tabs button:focus-visible,.v88-style-shop button:focus-visible,.v88-profile-summary button:focus-visible,.v88-route-pair button:focus-visible{outline:3px solid #314f18;outline-offset:3px}.v88-style-shop .green-btn{color:#fff;background:linear-gradient(180deg,#58782a,#405f1b)}.v88-style-hero button:focus-visible,.topbar :where(button,a):focus-visible,.bottom-nav button:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #314f18}.v87-cycle-tabs button{min-height:44px}@media (max-width: 900px){.v88-style-hero{grid-template-columns:130px minmax(0,1fr) auto}.v88-loadout>div{grid-template-columns:1fr}.v88-style-card{grid-template-columns:96px minmax(0,1fr)}.v88-style-card>figure{min-height:116px}.v88-card-art{width:88px;height:100px}.v88-profile-summary{grid-template-columns:minmax(0,1fr) auto}.v88-profile-summary>button{grid-column:1/-1;width:100%}}@media (max-width: 700px){.v88-style-grid{grid-template-columns:1fr}.v88-style-hero{min-height:300px;padding:14px;grid-template-columns:92px minmax(0,1fr);align-items:end;gap:10px;border-radius:21px}.v88-hero-art{width:92px;height:118px}.v88-style-hero h1{font-size:2.5rem}.v88-style-hero p{font-size:.78rem}.v88-style-hero aside{position:absolute;top:12px;right:12px;min-width:70px}.v88-loadout>header{align-items:flex-start}.v88-loadout h2{font-size:1.08rem}.v88-balance-note{grid-template-columns:42px minmax(0,1fr)}.v88-balance-note>img{width:42px;height:42px}.v88-balance-note>strong{grid-column:1/-1;text-align:center}.v88-profile-summary{grid-template-columns:1fr}.v88-profile-support{grid-template-columns:repeat(2,minmax(0,1fr))}.v88-route-pair>div{grid-template-columns:1fr}.v88-route-pair button{min-height:78px}}@media (max-width: 390px){.shop-section-tabs button{padding:5px 6px;grid-template-columns:31px minmax(0,1fr);gap:5px}.shop-section-tabs button img{width:31px;height:31px}.shop-section-tabs button{min-height:60px}.shop-section-tabs button b{overflow:visible;font-size:.75rem;line-height:1.15;text-overflow:clip;white-space:normal}.shop-section-tabs button em{display:none}.v88-style-hero{min-height:314px;display:block;padding:104px 15px 14px}.v88-style-hero .v88-hero-art{width:88px;height:92px;position:absolute;top:8px;left:14px}.v88-style-hero>div{width:100%}.v88-style-hero h1{max-width:100%;font-size:2.18rem;line-height:.92;overflow-wrap:normal;word-break:normal}.v88-style-hero p{font-size:.75rem}.v88-style-hero aside{top:12px;right:12px;min-width:74px}.v88-style-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.v88-style-card{padding:8px;grid-template-columns:82px minmax(0,1fr);gap:8px;border-radius:17px}.v88-style-card>figure{min-height:103px;border-radius:13px}.v88-card-art{width:76px;height:88px}.v88-motion-strip span{grid-template-columns:26px minmax(0,1fr)}.v88-motion-strip img{width:26px;height:26px}.v88-loadout{padding:10px}.v88-loadout>header{display:grid;grid-template-columns:1fr}.v88-loadout>header button{width:100%}.v88-save-status{align-items:stretch;flex-direction:column}.v88-save-status button{width:100%}}@media (max-height: 390px) and (orientation: landscape){.v88-style-hero{min-height:96px;padding:7px 10px;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:7px}.v88-hero-art{width:70px;height:86px}.v88-style-hero h1{margin-top:2px;font-size:1.62rem}.v88-style-hero p{display:none}.v88-style-hero aside{position:static;min-width:64px;padding:6px}.v88-style-hero aside b{font-size:1.08rem}.v88-loadout>div{grid-template-columns:repeat(3,minmax(0,1fr))}.v88-loadout-slot{min-height:76px;grid-template-columns:45px minmax(0,1fr) 44px}.v88-loadout-slot>img{width:45px;height:45px}}.v86-reduced-motion .v88-hero-art,.v86-reduced-motion .v88-save-status i.is-syncing{animation:none!important}.v86-reduced-motion .v88-card-art{transition:none!important}.v86-reduced-motion .v88-style-card:hover .v88-card-art{transform:none}@media (prefers-reduced-motion: reduce){.v88-hero-art,.v88-save-status i.is-syncing{animation:none!important}.v88-card-art{transition:none!important}.v88-style-card:hover .v88-card-art{transform:none}}body.yandex-shell{--v882-divider: rgba(77, 58, 33, .12);--v882-divider-strong: rgba(77, 58, 33, .18);--v882-row-active: rgba(226, 238, 203, .55);--v882-owner-shadow: 0 7px 22px rgba(50, 38, 22, .065)}body.yandex-shell .shop-section-tabs{padding:3px;border:0;border-radius:16px;background:#5b482f0e;box-shadow:none}body.yandex-shell .shop-section-tabs button.active{box-shadow:none}body.yandex-shell .v88-loadout{position:relative;border:0;background:#fffaf0f5;box-shadow:var(--v882-owner-shadow)}body.yandex-shell .v88-loadout>header{position:relative;padding-bottom:14px;border-bottom:1px solid var(--v882-divider)}body.yandex-shell .v88-loadout>header:after,body.yandex-shell .v86-achievement-section>header:after,body.yandex-shell .v87-crafted-shelf>header:after{content:"";width:42px;height:42px;position:absolute;left:50%;bottom:-21px;z-index:1;pointer-events:none;transform:translate(-50%);background-image:url(../assets/ui/v88_2/ui_chrome_sprite.webp);background-repeat:no-repeat;background-size:400% 400%;background-position:0 33.333%}body.yandex-shell .v88-loadout>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}body.yandex-shell .v88-loadout-slot{min-height:94px;border:0;border-radius:0;background:transparent;box-shadow:none}body.yandex-shell .v88-loadout-slot+.v88-loadout-slot{border-left:1px solid var(--v882-divider)}body.yandex-shell .v88-loadout-slot.is-filled{background:linear-gradient(145deg,var(--v882-row-active),transparent 78%);box-shadow:inset 3px 0 #607f357a}body.yandex-shell .v88-loadout-slot.is-empty{grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center}body.yandex-shell .v88-loadout-slot.is-empty>span{grid-column:2;grid-row:1;align-self:end}body.yandex-shell .v88-loadout-slot.is-empty>img{grid-column:1;grid-row:1 / 4}body.yandex-shell .v88-loadout-slot.is-empty>b{grid-column:2;grid-row:2;align-self:center}body.yandex-shell .v88-loadout-slot.is-empty>em{grid-column:2;grid-row:3;align-self:start;overflow-wrap:normal;word-break:normal;white-space:normal}body.yandex-shell .v88-style-card{border:0;box-shadow:var(--v882-owner-shadow)}body.yandex-shell .v88-style-card.is-equipped{border:0;box-shadow:inset 4px 0 #5b7a327a,var(--v882-owner-shadow)}body.yandex-shell .v88-style-copy>small{margin-top:8px;padding:7px 0 0;border-top:1px solid var(--v882-divider);border-radius:0;background:transparent}body.yandex-shell .v88-motion-strip{gap:0;padding-top:8px;border-top:1px solid var(--v882-divider)}body.yandex-shell .v88-motion-strip span{padding:3px 5px;border-radius:0;background:transparent}body.yandex-shell .v88-motion-strip span+span{border-left:1px solid var(--v882-divider)}body.yandex-shell .v88-style-card>footer{padding-top:8px;border-top:1px solid var(--v882-divider)}body.yandex-shell .v88-style-card>footer>span{padding:7px 0 0;border-radius:0;background:transparent}body.yandex-shell .v88-route-pair{position:relative;margin-top:16px;padding:14px 0 0;border:0;border-top:1px solid var(--v882-divider-strong);border-radius:0;background:transparent}body.yandex-shell .v88-route-pair>header{padding-right:44px}body.yandex-shell .v88-route-pair:after{content:"";width:40px;height:40px;position:absolute;top:8px;right:0;pointer-events:none;background-image:url(../assets/ui/v88_2/ui_chrome_sprite.webp);background-repeat:no-repeat;background-size:400% 400%;background-position:0 100%}body.yandex-shell .v88-route-pair>div{gap:0;border:1px solid var(--v882-divider-strong);border-radius:15px;background:#fffdf7d1}body.yandex-shell .v88-route-pair button{border:0;border-radius:0;background:transparent}body.yandex-shell .v88-route-pair button:first-child{border-radius:14px 0 0 14px}body.yandex-shell .v88-route-pair button:last-child{border-left:1px solid var(--v882-divider);border-radius:0 14px 14px 0}body.yandex-shell .v88-route-pair button.is-style{border-color:transparent;background:#e4efce8a}body.yandex-shell .v88-profile-summary{border:0;box-shadow:var(--v882-owner-shadow)}body.yandex-shell .v88-profile-support{gap:0}body.yandex-shell .v88-profile-support span{padding-inline:8px;border-radius:0;background:transparent}body.yandex-shell .v88-profile-support span+span{border-left:1px solid var(--v882-divider)}body.yandex-shell .v85-artifact-shelf article{border-radius:0;background:transparent;box-shadow:none}body.yandex-shell .v85-artifact-shelf article>img{border-radius:11px}body.yandex-shell .v85-plan-facts,body.yandex-shell .v85-loadout-preview>div{gap:0;border-block:1px solid var(--v882-divider)}body.yandex-shell .v85-plan-facts>span,body.yandex-shell .v85-loadout-preview span{border-radius:0;background:transparent}body.yandex-shell .v85-plan-facts>span+span,body.yandex-shell .v85-loadout-preview span+span{border-left:1px solid var(--v882-divider)}body.yandex-shell .v86-achievement-section{border:0;box-shadow:var(--v882-owner-shadow)}body.yandex-shell .v86-achievement-section>header,body.yandex-shell .v87-crafted-shelf>header{position:relative;padding-bottom:13px;border-bottom:1px solid var(--v882-divider)}body.yandex-shell .v86-achievement-section>header:after,body.yandex-shell .v87-crafted-shelf>header:after{background-position:33.333% 33.333%}body.yandex-shell .v86-achievement-section>div{gap:0}body.yandex-shell .v86-achievement-section article{border:0;border-radius:0;background:transparent;box-shadow:none}body.yandex-shell .v86-achievement-section article+article{border-left:1px solid var(--v882-divider)}body.yandex-shell .v86-achievement-section article.is-unlocked{background:linear-gradient(135deg,var(--v882-row-active),transparent 82%);box-shadow:inset 3px 0 #6889396b}body.yandex-shell .v86-settings-list{gap:0;border:1px solid var(--v882-divider);border-radius:15px;background:#fffaf0b8}body.yandex-shell .v86-settings-list>button{border:0;border-radius:0;background:transparent}body.yandex-shell .v86-settings-list>button+button{border-left:1px solid var(--v882-divider)}body.yandex-shell .v86-settings-panel fieldset{padding:12px 0 0;border:0;border-top:1px solid var(--v882-divider);border-radius:0}body.yandex-shell .v86-settings-panel fieldset>div{gap:0}body.yandex-shell .v86-settings-panel label{min-height:44px;border:0;border-radius:0;background:transparent}body.yandex-shell .v86-settings-panel label+label{border-left:1px solid var(--v882-divider)}body.yandex-shell .v86-settings-panel label.is-selected{border-color:transparent;background:var(--v882-row-active);box-shadow:inset 3px 0 #68893970}body.yandex-shell .v87-cycle-tabs{border:0;box-shadow:0 6px 18px #32261714}body.yandex-shell .v87-cycle-tabs button.active{box-shadow:none}body.yandex-shell .v87-loadout-card{border:0;background:#fffdf77a;box-shadow:none}body.yandex-shell .v87-loadout-card.is-selected{border-color:transparent;background:var(--v882-row-active);box-shadow:inset 3px 0 #5a782e7a}body.yandex-shell .v87-crafted-shelf{border:0;box-shadow:var(--v882-owner-shadow)}body.yandex-shell .v87-crafted-shelf article,body.yandex-shell .v87-route-log span,body.yandex-shell .v87-reward-grid article{border:0;border-radius:0;background:transparent;box-shadow:none}body.yandex-shell .v87-crafted-shelf>div,body.yandex-shell .v87-route-log>div,body.yandex-shell .v87-reward-grid{gap:0;border-block:1px solid var(--v882-divider)}body.yandex-shell .v87-crafted-shelf article button{min-height:44px}body.yandex-shell .v87-crafted-shelf article+article,body.yandex-shell .v87-route-log span+span,body.yandex-shell .v87-reward-grid article+article{border-left:1px solid var(--v882-divider)}body.yandex-shell .v882-daily-trail{min-width:0;padding:clamp(13px,2.4vw,20px);display:grid;gap:12px;container:v882-trail / inline-size;border:0;border-radius:22px;background:#fffaf0f5;box-shadow:var(--v882-owner-shadow)}body.yandex-shell .v882-daily-trail>header{min-width:0;display:grid;gap:3px}body.yandex-shell .v882-daily-trail>header>span{color:var(--green-3, #536b35);font-size:.75rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase}body.yandex-shell .v882-daily-trail>header h2{margin:0;font-size:clamp(1.08rem,2vw,1.38rem);line-height:1.1}body.yandex-shell .v882-daily-trail>header p{margin:0;max-width:70ch;color:var(--ink-3, #75664f);font-size:.75rem;line-height:1.4}body.yandex-shell .v882-daily-trail-steps{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--v882-divider)}body.yandex-shell .v882-daily-step{min-width:0;min-height:76px;padding:10px 12px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;border:0;border-radius:0;background:transparent;color:var(--ink-2, #53452f);text-align:left}body.yandex-shell .v882-daily-step+.v882-daily-step{border-left:1px solid var(--v882-divider)}body.yandex-shell .v882-daily-step:is(:hover,:focus-visible):not(:disabled),body.yandex-shell .v882-daily-step.is-active{background:var(--v882-row-active)}body.yandex-shell .v882-daily-step:focus-visible{position:relative;z-index:2;outline:3px solid #314f18;outline-offset:2px}body.yandex-shell .v882-daily-step>span{min-width:0;display:grid;gap:2px}body.yandex-shell .v882-daily-step b{font-size:.8rem;line-height:1.2}body.yandex-shell .v882-daily-step :is(em,small){color:var(--ink-3, #75664f);font-size:.75rem;font-style:normal;line-height:1.3}body.yandex-shell .v882-section-icon{width:48px;height:48px;display:block;background-image:url(../assets/ui/v88_2/ui_sections_sprite.webp);background-repeat:no-repeat;background-size:400% 400%;background-position:0 0}body.yandex-shell .v882-section-icon.is-route{background-position:33.333% 0}body.yandex-shell .v882-section-icon.is-workshop{background-position:66.667% 0}body.yandex-shell .v882-section-icon.is-construction{background-position:100% 0}body.yandex-shell .v882-secondary-links{gap:0;border-block:1px solid var(--v882-divider)}body.yandex-shell .v882-secondary-links>button{border-radius:0;background:transparent;box-shadow:none}body.yandex-shell .v882-secondary-links>button+button{border-top:1px solid var(--v882-divider)}@container v882-trail (max-width: 520px){body.yandex-shell .v882-daily-trail-steps{grid-template-columns:1fr}body.yandex-shell .v882-daily-step+.v882-daily-step{border-top:1px solid var(--v882-divider);border-left:0}}@media (max-width: 860px) and (min-width: 621px){body.yandex-shell .v85-today-rail>.v882-daily-trail{grid-column:1 / -1}}@media (max-width: 700px){body.yandex-shell .v88-loadout>div{grid-template-columns:1fr}body.yandex-shell .v88-loadout-slot+.v88-loadout-slot{border-top:1px solid var(--v882-divider);border-left:0}body.yandex-shell .v88-loadout-slot.is-filled{box-shadow:inset 3px 0 #607f357a}body.yandex-shell .v88-route-pair button:first-child{border-radius:14px 14px 0 0}body.yandex-shell .v88-route-pair button:last-child{border-top:1px solid var(--v882-divider);border-left:0;border-radius:0 0 14px 14px}body.yandex-shell .v882-daily-trail-steps{grid-template-columns:1fr}body.yandex-shell .v882-daily-step{min-height:68px}body.yandex-shell .v882-daily-step+.v882-daily-step{border-top:1px solid var(--v882-divider);border-left:0}}@media (max-width: 620px){body.yandex-shell .v85-plan-facts>span+span,body.yandex-shell .v85-loadout-preview span+span{border-top:1px solid var(--v882-divider);border-left:0}}@media (max-width: 860px){body.yandex-shell .v86-achievement-section article+article{border-top:1px solid var(--v882-divider);border-left:0}}@media (max-width: 900px) and (min-width: 621px){body.yandex-shell .v87-crafted-shelf article:nth-child(odd){border-left:0}body.yandex-shell .v87-crafted-shelf article:nth-child(n+3){border-top:1px solid var(--v882-divider)}}@media (max-width: 620px){body.yandex-shell .v87-crafted-shelf article+article,body.yandex-shell .v87-route-log span+span,body.yandex-shell .v87-reward-grid article+article{border-top:1px solid var(--v882-divider);border-left:0}}@media (max-width: 680px){body.yandex-shell .v86-settings-list>button+button,body.yandex-shell .v86-settings-panel label+label{border-top:1px solid var(--v882-divider);border-left:0}}@media (orientation: landscape) and (max-height: 390px){:root{--topbar-h: 52px;--nav-h: 52px}body.yandex-shell .topbar{min-height:calc(var(--topbar-h) + env(safe-area-inset-top));padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px;grid-template-columns:44px minmax(0,1fr) auto 44px 44px}body.yandex-shell :is(.avatar-button,.resource-pill,.top-language-toggle,.communications-top){min-width:44px;min-height:44px}body.yandex-shell .bottom-nav{min-height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-block:2px max(2px,env(safe-area-inset-bottom))}body.yandex-shell .bottom-nav button{min-height:44px}body.yandex-shell .bottom-nav .nav-primary{min-height:48px;margin-top:-4px}body.yandex-shell .screen{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px)}body.yandex-shell .v88-style-hero{min-height:92px}body.yandex-shell .v88-loadout>div{grid-template-columns:repeat(3,minmax(0,1fr))}body.yandex-shell .v88-loadout-slot+.v88-loadout-slot{border-top:0;border-left:1px solid var(--v882-divider)}body.yandex-shell .v88-loadout-slot.is-empty{grid-template-columns:45px minmax(0,1fr)}body.yandex-shell .v882-daily-trail{padding:9px 11px;gap:7px}body.yandex-shell .v882-daily-trail-steps{grid-template-columns:repeat(3,minmax(0,1fr))}body.yandex-shell .v882-daily-step{min-height:56px;padding-block:6px;grid-template-columns:42px minmax(0,1fr)}body.yandex-shell .v882-daily-step+.v882-daily-step{border-top:0;border-left:1px solid var(--v882-divider)}body.yandex-shell .v882-section-icon{width:42px;height:42px}}@media (prefers-reduced-motion: reduce){body.yandex-shell .v882-daily-step{transition:none}}
/* source: css/v88-trusted-shelf-light.css */
:root {
  --v88-ink: #2f2a20;
  --v88-muted: #766a57;
  --v88-paper: #fffaf0;
  --v88-paper-2: #f2e8d6;
  --v88-night: #1d2018;
  --v88-brass: #c79645;
  --v88-green: #6f873d;
  --v88-line: rgba(74, 57, 34, 0.11);
  --v88-danger: #a74f42;
}
.trusted-shelf-v88 {
  min-width: 0;
  display: grid;
  gap: 14px;
  color: var(--v88-ink);
}
.trusted-shelf-v88 button,
.v88-route-strip button,
.v88-choice-source {
  touch-action: manipulation;
}
.trusted-shelf-v88 button,
.v88-route-strip button {
  min-height: 44px;
}
.v88-hero {
  min-height: clamp(300px, 42vw, 430px);
  overflow: hidden;
  position: relative;
  isolation: isolate;
  border-radius: 30px;
  background: var(--v88-night);
  color: #fff;
  box-shadow: 0 22px 52px #281e1133;
}
.v88-hero > img,
.v88-hero > span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.v88-hero > img {
  z-index: -3;
  object-fit: cover;
  object-position: center;
}
.v88-hero > span {
  z-index: -2;
  background:
    linear-gradient(90deg, #14140ef2, #14140eb8 47%, #14140e29),
    linear-gradient(0deg, rgba(20, 20, 14, 0.5), transparent 60%);
}
.v88-hero > div {
  width: min(69%, 690px);
  min-height: inherit;
  padding: clamp(24px, 5vw, 52px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
}
.v88-hero > div > em {
  color: #f0cf7d;
  font-size: 0.69rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.v88-hero h1 {
  margin-top: 5px;
  font-size: clamp(3rem, 7vw, 5.4rem);
  line-height: 0.88;
  text-shadow: 0 6px 26px rgba(0, 0, 0, 0.45);
}
.v88-hero p {
  margin-top: 12px;
  max-width: 52ch;
  color: #ffffffc7;
  font-size: 0.88rem;
  line-height: 1.45;
}
.v88-hero > div > div {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.v88-hero > aside {
  position: absolute;
  right: 24px;
  bottom: 22px;
  min-width: 174px;
  padding: 14px 16px;
  display: grid;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 18px;
  background: #16150ec7;
  backdrop-filter: blur(12px);
}
.v88-hero > aside b {
  color: #f0d17f;
  font-size: 1.75rem;
  line-height: 1;
}
.v88-hero > aside span {
  margin-top: 3px;
  color: #ffffffa3;
  font-size: 0.65rem;
}
.v88-hero > aside small {
  margin-top: 8px;
  color: #fff;
  font-size: 0.69rem;
  font-weight: 800;
}
.v88-hero > aside.is-confirmed {
  box-shadow: inset 0 0 0 1px #a9d36552;
}
.v88-hero > aside.is-transferred,
.v88-hero > aside.is-error {
  box-shadow: inset 0 0 0 1px #d8705b59;
}
.v88-trust-status {
  min-width: 0;
  padding: 15px 16px;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--v88-line);
  border-radius: 20px;
  background: #fffaf0f5;
  box-shadow: 0 10px 28px #392b1912;
}
.v88-trust-orb {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #a59b89;
  box-shadow: 0 0 0 6px #8b806d1c;
}
.v88-trust-status.is-confirmed .v88-trust-orb {
  background: #78a448;
  box-shadow: 0 0 0 6px #78a44821;
}
.v88-trust-status.is-checking .v88-trust-orb {
  background: #6d91a9;
  box-shadow: 0 0 0 6px #6d91a921;
  animation: v88-pulse 1.1s ease-in-out infinite;
}
.v88-trust-status.is-transferred .v88-trust-orb,
.v88-trust-status.is-error .v88-trust-orb {
  background: #b45848;
  box-shadow: 0 0 0 6px #b4584821;
}
.v88-trust-status.is-offline .v88-trust-orb {
  background: #8d806b;
}
.v88-trust-status.is-demo .v88-trust-orb {
  background: #b98239;
}
@keyframes v88-pulse {
  50% {
    opacity: 0.48;
    transform: scale(1.32);
  }
}
.v88-trust-status > div {
  min-width: 0;
  display: grid;
}
.v88-trust-status em,
.v88-loadout header span,
.v88-owned header span,
.v88-utility > header span,
.v88-rules > header span {
  color: #a66d2c;
  font-size: 0.61rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.v88-trust-status h2 {
  margin-top: 2px;
  font-size: 1rem;
}
.v88-trust-status p {
  margin-top: 3px;
  color: var(--v88-muted);
  font-size: 0.73rem;
  line-height: 1.35;
}
.v88-trust-status small {
  margin-top: 5px;
  color: #8b7352;
  font-size: 0.61rem;
}
.v88-trust-status > aside {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}
.v88-trust-status > aside > * {
  min-height: 44px;
}
.v88-tabs {
  min-width: 0;
  padding: 5px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  border-radius: 18px;
  background: #e8deca;
}
.v88-tabs button {
  min-width: 0;
  padding: 8px 10px;
  border-radius: 14px;
  background: transparent;
  color: #665945;
  font-size: 0.76rem;
  font-weight: 900;
}
.v88-tabs button.active {
  background: #fffaf0;
  color: #5f7435;
  box-shadow: 0 4px 13px #3f301c17;
}
.v88-tabs em {
  margin-left: 4px;
  color: #a56f30;
  font-style: normal;
}
.v88-shelf-layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(300px, 0.74fr) minmax(0, 1.26fr);
  align-items: start;
  gap: 14px;
}
.v88-loadout,
.v88-owned,
.v88-utility,
.v88-rules {
  min-width: 0;
  padding: clamp(16px, 3vw, 24px);
  border-radius: 24px;
  background: #fffaf0f5;
  box-shadow: 0 12px 32px #3a2b1814;
}
.v88-loadout > header,
.v88-owned > header,
.v88-utility > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}
.v88-loadout > header > div,
.v88-owned > header > div,
.v88-utility > header > div {
  min-width: 0;
}
.v88-loadout h2,
.v88-owned h2,
.v88-utility h2,
.v88-rules h2 {
  margin-top: 3px;
  font-size: clamp(1.55rem, 3.2vw, 2.35rem);
  line-height: 1;
}
.v88-loadout header p,
.v88-owned header p,
.v88-utility header p {
  margin-top: 7px;
  color: var(--v88-muted);
  font-size: 0.74rem;
  line-height: 1.4;
}
.v88-loadout > header > strong,
.v88-owned > header > strong {
  min-width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #ede3d0;
  color: #9b672d;
}
.v88-loadout-grid {
  margin-top: 15px;
  display: grid;
  gap: 9px;
}
.v88-slot {
  min-width: 0;
  min-height: 90px;
  padding: 12px 10px 9px;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 10px;
  position: relative;
  border: 1px dashed rgba(87, 66, 38, 0.22);
  border-radius: 18px;
  background: #f4ead8;
}
.v88-slot.is-active {
  border-style: solid;
  border-color: #c38b3e61;
  background: linear-gradient(145deg, #fff3d2, #f4e5cd);
}
.v88-slot > span {
  position: absolute;
  top: 6px;
  right: 10px;
  color: #9c692e;
  font-size: 0.54rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.v88-slot > img {
  width: 62px;
  height: 62px;
  padding: 3px;
  object-fit: contain;
  border-radius: 15px;
  background: #ffffffb3;
}
.v88-slot > div {
  min-width: 0;
  padding-top: 7px;
  display: grid;
}
.v88-slot b {
  overflow: hidden;
  font-size: 0.8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v88-slot small {
  margin-top: 3px;
  overflow: hidden;
  color: var(--v88-muted);
  font-size: 0.62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v88-slot > button {
  width: 44px;
  min-height: 44px;
  border-radius: 50%;
  background: #5643281a;
  color: #7b6749;
  font-size: 1.12rem;
}
.v88-slot > button:disabled {
  opacity: 0.35;
}
.v88-loadout > footer {
  margin-top: 12px;
  padding: 11px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  border-radius: 14px;
  background: #2d3227;
  color: #fff;
}
.v88-loadout > footer span {
  color: #ffffffb0;
  font-size: 0.63rem;
  line-height: 1.35;
}
.v88-owned-grid {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.v88-owned-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 19px;
  background: #f2e8d6;
  box-shadow: inset 0 0 0 1px var(--v88-line);
}
.v88-owned-card.is-selected {
  box-shadow:
    inset 0 0 0 2px var(--v88-brass),
    0 8px 20px #80531d1f;
}
.v88-owned-card.is-transferred {
  opacity: 0.74;
  background: #eee4dc;
}
.v88-owned-main {
  width: 100%;
  min-height: 170px;
  padding: 11px;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  position: relative;
  background: transparent;
  text-align: left;
}
.v88-owned-main figure {
  margin: 0;
  overflow: hidden;
  position: relative;
  border-radius: 15px;
  background: #ded2be;
}
.v88-owned-main figure img {
  width: 84px;
  height: 108px;
  padding: 3px;
  object-fit: contain;
}
.v88-owned-main figcaption {
  position: absolute;
  left: 5px;
  bottom: 5px;
  padding: 4px 6px;
  border-radius: 999px;
  background: #19160fcc;
  color: #fff;
  font-size: 0.51rem;
}
.v88-owned-main > div {
  min-width: 0;
  display: grid;
}
.v88-owned-main > div > span {
  color: #9a672c;
  font-size: 0.55rem;
  font-weight: 900;
  text-transform: uppercase;
}
.v88-owned-main h3 {
  margin-top: 2px;
  overflow: hidden;
  font-size: 0.84rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v88-owned-main p {
  margin-top: 5px;
  color: var(--v88-muted);
  font-size: 0.61rem;
  line-height: 1.35;
}
.v88-owned-main small {
  margin-top: 6px;
  color: #785f3d;
  font-size: 0.53rem;
  line-height: 1.32;
}
.v88-owned-main > strong {
  position: absolute;
  left: 7px;
  top: 7px;
  padding: 4px 6px;
  border-radius: 999px;
  background: #6c853c;
  color: #fff;
  font-size: 0.5rem;
}
.v88-owned-actions {
  padding: 9px 10px 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(3, auto);
  align-items: center;
  gap: 5px;
  border-top: 1px solid var(--v88-line);
}
.v88-owned-actions > span {
  color: var(--v88-muted);
  font-size: 0.59rem;
  line-height: 1.25;
}
.v88-owned-actions button {
  min-width: 44px;
  padding: 5px 9px;
  border-radius: 11px;
  background: #fffaf0;
  color: #5d7136;
  font-size: 0.61rem;
  font-weight: 900;
}
.v88-owned-actions button:disabled {
  opacity: 0.4;
}
.v88-owned-card > footer {
  padding: 0 10px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  color: #8a7657;
  font-size: 0.51rem;
}
.v88-owned-card > footer code {
  max-width: 55%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v88-empty {
  margin-top: 15px;
  min-height: 280px;
  padding: 20px;
  display: grid;
  grid-template-columns: minmax(130px, 0.7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: 20px;
  border-radius: 20px;
  background: #f2e8d6;
}
.v88-empty > img {
  width: 100%;
  max-height: 210px;
  object-fit: contain;
}
.v88-empty h3 {
  font-size: 1.1rem;
}
.v88-empty p {
  margin-top: 6px;
  color: var(--v88-muted);
  font-size: 0.72rem;
  line-height: 1.4;
}
.v88-empty button {
  margin-top: 12px;
}
.v88-utility > header > button {
  flex: 0 0 auto;
}
.v88-utility-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}
.v88-utility-card {
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  border-radius: 20px;
  background: linear-gradient(150deg, #f2e6cf, #fff);
  box-shadow: inset 0 0 0 1px var(--v88-line);
}
.v88-utility-card > figure {
  margin: 0;
  min-height: 150px;
  overflow: hidden;
  position: relative;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 35%, #fff4ce, #d9c5a1);
}
.v88-utility-art {
  width: 100%;
  height: 150px;
  padding: 9px;
  object-fit: contain;
  filter: drop-shadow(0 12px 14px rgba(61, 42, 20, 0.18));
  animation: v88-companion-idle 2.8s ease-in-out infinite;
}
.v88-utility-card[data-v88-motion-state="walk"] .v88-utility-art {
  animation: v88-companion-walk 0.68s ease-in-out infinite;
}
.v88-utility-card[data-v88-motion-state="skill"] .v88-utility-art {
  animation: v88-companion-skill 1.05s ease-in-out infinite;
}
.v88-utility-card[data-v88-motion-state="victory"] .v88-utility-art {
  animation: v88-companion-victory 1.25s ease-in-out infinite;
}
@keyframes v88-companion-idle {
  50% {
    transform: translateY(-5px) rotate(-1deg);
  }
}
@keyframes v88-companion-walk {
  50% {
    transform: translate(4px, -3px) rotate(2deg);
  }
}
@keyframes v88-companion-skill {
  40% {
    transform: scale(1.07);
    filter: drop-shadow(0 8px 18px rgba(218, 164, 64, 0.52));
  }
}
@keyframes v88-companion-victory {
  35% {
    transform: translateY(-10px) rotate(-3deg);
  }
  70% {
    transform: translateY(-2px) rotate(3deg);
  }
}
.v88-utility-card figure figcaption {
  position: absolute;
  left: 8px;
  bottom: 8px;
  padding: 4px 7px;
  border-radius: 99px;
  background: #1e1c13c2;
  color: #fff;
  font-size: 0.53rem;
  font-weight: 900;
  text-transform: uppercase;
}
.v88-utility-card figure > strong {
  position: absolute;
  right: 8px;
  top: 8px;
  padding: 4px 7px;
  border-radius: 99px;
  background: #6c853d;
  color: #fff;
  font-size: 0.51rem;
}
.v88-utility-card > div {
  min-width: 0;
  padding: 12px;
}
.v88-utility-card > div > span {
  color: #9c672c;
  font-size: 0.53rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.v88-utility-card h3 {
  margin-top: 3px;
  font-size: 0.9rem;
  line-height: 1.08;
}
.v88-utility-card p {
  margin-top: 6px;
  color: var(--v88-muted);
  font-size: 0.61rem;
  line-height: 1.35;
}
.v88-utility-card dl {
  margin: 9px 0 0;
  display: grid;
  gap: 5px;
}
.v88-utility-card dl > div {
  padding: 7px;
  border-radius: 10px;
  background: #e3d6be9e;
}
.v88-utility-card dt {
  color: #8d632e;
  font-size: 0.51rem;
  font-weight: 900;
  text-transform: uppercase;
}
.v88-utility-card dd {
  margin: 2px 0 0;
  color: #5f5545;
  font-size: 0.58rem;
  line-height: 1.3;
}
.v88-free-row {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}
.v88-free-row > span {
  min-width: 0;
}
.v88-free-art {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.v88-motion-controls {
  margin-top: 9px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}
.v88-motion-controls button {
  min-width: 0;
  min-height: 44px;
  padding: 5px;
  border-radius: 9px;
  background: #e7dcc7;
  color: #726047;
  font-size: 0.54rem;
  font-weight: 900;
}
.v88-motion-controls button.active {
  background: #34392b;
  color: #f0cf7e;
}
.v88-utility-card > footer {
  min-height: 50px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #2e3328;
  color: #fff;
}
.v88-utility-card > footer b {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #b78a3e;
  color: #fff;
}
.v88-utility-card > footer span {
  color: #ffffffb8;
  font-size: 0.54rem;
}
.v88-utility > aside {
  margin-top: 14px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  border-radius: 16px;
  background: #e9f0d8;
}
.v88-utility > aside img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}
.v88-utility > aside b {
  font-size: 0.77rem;
}
.v88-utility > aside p {
  margin-top: 3px;
  color: #56643c;
  font-size: 0.65rem;
  line-height: 1.4;
}
.v88-rules > header {
  margin-bottom: 15px;
}
.v88-rules > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.v88-rules article {
  min-height: 170px;
  padding: 14px;
  border-radius: 18px;
  background: #f2e8d6;
}
.v88-rules article strong {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #34392b;
  color: #f0cf7e;
  font-size: 0.72rem;
}
.v88-rules article h3 {
  margin-top: 12px;
  font-size: 0.87rem;
}
.v88-rules article p {
  margin-top: 6px;
  color: var(--v88-muted);
  font-size: 0.65rem;
  line-height: 1.4;
}
.v88-rules > aside {
  margin-top: 10px;
  padding: 14px;
  border-radius: 16px;
  background: #f4dfd7;
  color: #71463d;
}
.v88-rules > aside p {
  margin-top: 4px;
  font-size: 0.68rem;
  line-height: 1.4;
}
.profile-shelf-v88 {
  position: relative;
}
.profile-shelf-v88:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #9c907d;
}
.profile-shelf-v88.is-confirmed:after {
  background: #9bce58;
  box-shadow: 0 0 9px #9bce58b3;
}
.profile-shelf-v88.is-transferred:after,
.profile-shelf-v88.is-error:after {
  background: #d16c58;
}
.topbar.v88-profile-frame .avatar-button {
  isolation: isolate;
}
.topbar.v88-profile-frame .avatar-button:before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -4px;
  border: 2px solid #c99a49;
  border-radius: 50%;
  box-shadow:
    0 0 0 3px #efcd792e,
    0 4px 12px #50331333;
  pointer-events: none;
}
.topbar.v88-profile-frame[data-v88-profile-feature="bat"]
  .avatar-button:before {
  border-color: #d7aa52;
}
.topbar.v88-profile-frame[data-v88-profile-feature="fox"]
  .avatar-button:before {
  border-color: #b9783d;
}
.v88-route-strip {
  margin-top: 12px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(170px, 0.7fr) minmax(0, 1.3fr);
  gap: 9px 14px;
  border: 1px solid rgba(180, 129, 54, 0.18);
  border-radius: 17px;
  background: linear-gradient(145deg, #fff2d3, #f2e7d2);
}
.v88-route-strip > header {
  min-width: 0;
  display: grid;
  align-content: start;
}
.v88-route-strip > header > span {
  color: #95632a;
  font-size: 0.54rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.v88-route-strip > header > b {
  margin-top: 3px;
  font-size: 0.75rem;
}
.v88-route-strip > header > small {
  margin-top: 4px;
  color: #765e3d;
  font-size: 0.56rem;
  font-weight: 800;
  line-height: 1.3;
}
.v88-route-strip > header > button {
  margin-top: 8px;
  width: max-content;
  max-width: 100%;
  padding: 0 12px;
  border-radius: 11px;
  background: #34392b;
  color: #f0cf7e;
  font-size: 0.59rem;
  font-weight: 900;
}
.v88-route-strip > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 5px;
}
.v88-route-strip > div > :is(span, button) {
  min-width: 0;
  min-height: 58px;
  padding: 6px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #ffffffb3;
  color: var(--v88-ink);
  text-align: left;
}
.v88-route-strip > div > button {
  cursor: pointer;
}
.v88-route-strip > div > button.is-selected {
  border-color: #799447;
  background: #f8ffe9;
  box-shadow: inset 0 0 0 2px #7994472e;
}
.v88-route-strip > div > .is-active {
  background: #fff6dc;
}
.v88-route-strip > div img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  grid-row: 1 / 3;
}
.v88-route-strip > div b {
  overflow: hidden;
  font-size: 0.59rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v88-route-strip > div small {
  color: #79694e;
  font-size: 0.51rem;
}
.v88-route-strip > p {
  grid-column: 1 / -1;
  color: #756348;
  font-size: 0.6rem;
  line-height: 1.35;
}
.v88-route-strip.is-locked {
  border-style: dashed;
}
.v88-choice-source {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.v88-choice-source em,
.v88-choice-source small {
  padding: 3px 5px;
  border-radius: 7px;
  background: #e6dcc8;
  color: #766044;
  font-size: 0.48rem !important;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.v88-choice-source b {
  min-width: 0;
  overflow: hidden;
  color: #8d6129;
  font-size: 0.55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v88-choice-source.is-shelf em {
  background: #d9e7bd;
  color: #587132;
}
.v88-choice-source.is-free em {
  background: #dce8ec;
  color: #506e7a;
}
.v88-choice-source small {
  background: #34392b;
  color: #f0cf7e;
}
html[data-camp-quality="low"] .v88-utility-art,
html[data-camp-quality="balanced"]
  .v88-utility-card[data-v88-motion-state="skill"]
  .v88-utility-art {
  animation: none;
  filter: none;
}
html[data-camp-quality="low"] .v88-motion-controls {
  display: none;
}
@media (max-width: 1120px) {
  .v88-utility-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v88-rules > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .v88-shelf-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-loadout-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v88-slot {
    min-height: 146px;
    padding: 21px 9px 9px;
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-rows: 62px auto;
  }
  .v88-slot > img {
    grid-column: 1 / -1;
    justify-self: center;
  }
  .v88-slot > div {
    padding: 0;
  }
  .v88-utility-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .trusted-shelf-v88 {
    gap: 10px;
  }
  .v88-hero {
    min-height: 315px;
    border-radius: 22px;
  }
  .v88-hero > img {
    object-position: 58% center;
  }
  .v88-hero > div {
    width: 82%;
    padding: 22px 18px 86px;
  }
  .v88-hero h1 {
    font-size: clamp(2.35rem, 13vw, 3.25rem);
  }
  .v88-hero p {
    font-size: 0.68rem;
    line-height: 1.38;
  }
  .v88-hero > aside {
    left: 14px;
    right: 14px;
    bottom: 12px;
    min-width: 0;
    padding: 9px 11px;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: 3px 8px;
  }
  .v88-hero > aside b {
    grid-row: 1 / 3;
    font-size: 1.45rem;
  }
  .v88-hero > aside small {
    margin: 0;
  }
  .v88-trust-status {
    grid-template-columns: 14px minmax(0, 1fr);
    padding: 13px;
    gap: 10px;
  }
  .v88-trust-status > aside {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v88-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v88-loadout,
  .v88-owned,
  .v88-utility,
  .v88-rules {
    padding: 14px;
    border-radius: 20px;
  }
  .v88-loadout > header,
  .v88-owned > header,
  .v88-utility > header {
    align-items: flex-start;
  }
  .v88-loadout-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-slot {
    min-height: 88px;
    padding: 12px 9px 8px;
    grid-template-columns: 60px minmax(0, 1fr) 44px;
    grid-template-rows: auto;
  }
  .v88-slot > img {
    grid-column: auto;
    justify-self: auto;
    width: 60px;
    height: 60px;
  }
  .v88-slot > div {
    padding-top: 7px;
  }
  .v88-loadout > footer {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-loadout > footer button {
    width: 100%;
  }
  .v88-owned-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-empty {
    min-height: 0;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }
  .v88-utility > header {
    display: grid;
  }
  .v88-utility > header > button {
    justify-self: start;
  }
  .v88-utility-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-utility-card {
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-rows: 1fr auto;
  }
  .v88-utility-card > figure {
    min-height: 100%;
  }
  .v88-utility-art {
    height: 150px;
    padding: 7px;
  }
  .v88-utility-card > footer {
    grid-column: 1 / -1;
  }
  .v88-rules > div {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-rules article {
    min-height: 0;
  }
  .v88-route-strip {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-route-strip > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 370px) {
  .v88-hero > div {
    width: 92%;
    padding: 18px 14px 86px;
  }
  .v88-hero h1 {
    font-size: 2.35rem;
  }
  .v88-hero > div > em {
    font-size: 0.55rem;
  }
  .v88-trust-status > aside {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-tabs button {
    padding: 7px 6px;
    font-size: 0.67rem;
  }
  .v88-loadout h2,
  .v88-owned h2,
  .v88-utility h2,
  .v88-rules h2 {
    font-size: 1.55rem;
  }
  .v88-owned-main {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .v88-owned-main figure img {
    width: 72px;
    height: 96px;
  }
  .v88-owned-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v88-owned-actions > span {
    grid-column: 1 / -1;
  }
  .v88-empty {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
  }
  .v88-empty > img {
    width: 110px;
    justify-self: center;
  }
  .v88-utility-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .v88-utility-card > div {
    padding: 10px;
  }
  .v88-motion-controls {
    grid-template-columns: minmax(0, 1fr);
  }
  .v88-route-strip > div {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-height: 430px) and (orientation: landscape) {
  .v88-hero {
    min-height: 220px;
  }
  .v88-hero > div {
    width: 68%;
    padding: 18px;
  }
  .v88-hero h1 {
    font-size: 2.4rem;
  }
  .v88-hero p {
    margin-top: 7px;
    max-width: 45ch;
  }
  .v88-hero > div > div {
    margin-top: 9px;
  }
  .v88-hero > aside {
    inset: 12px 12px auto auto;
    width: 28%;
    display: grid;
  }
  .v88-loadout-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v88-utility-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.v86-reduced-motion .v88-utility-art,
.v86-reduced-motion .v88-trust-orb,
.v86-reduced-motion .v88-owned-card,
.v86-reduced-motion .v88-utility-card {
  animation: none !important;
  transition: none !important;
}
.v86-reduced-motion .v88-motion-controls {
  display: none;
}
body[data-route="collection"] .bottom-nav .nav-primary:not(.active),
.bottom-nav:has(button[data-nav="profile"][aria-current="page"])
  .nav-primary:not(.active) {
  min-height: 60px;
  margin-top: 0;
  border-color: transparent;
  border-radius: 15px;
  background: transparent;
  color: var(--ink-2);
  box-shadow: none;
  transform: none;
}
body[data-route="collection"] .bottom-nav .nav-primary:not(.active) .games-icon,
.bottom-nav:has(button[data-nav="profile"][aria-current="page"])
  .nav-primary:not(.active)
  .games-icon {
  width: 30px;
  height: 30px;
}
.trusted-shelf-v88 :where(button, [role="tab"]):focus-visible {
  outline: 3px solid #314f18;
  outline-offset: 3px;
}
.trusted-shelf-v88 .green-btn {
  background: linear-gradient(180deg, #58782a, #405f1b);
}
.trusted-shelf-v88 .v88-hero button:focus-visible,
.topbar :where(button, a):focus-visible,
.bottom-nav button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #314f18;
}
@media (prefers-reduced-motion: reduce) {
  .v88-utility-art,
  .v88-trust-orb,
  .v88-owned-card,
  .v88-utility-card {
    animation: none !important;
    transition: none !important;
  }
  .v88-motion-controls {
    display: none;
  }
}
.trusted-shelf-v88 :is(p, small, em, figcaption, dt, dd, code),
.v88-route-strip :is(p, small, em) {
  font-size: max(0.75rem, 12px) !important;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.trusted-shelf-v88 p {
  font-size: max(0.875rem, 14px);
}
.trusted-shelf-v88 :is(h1, h2, h3, b, strong, span),
.v88-route-strip :is(b, strong, span) {
  overflow-wrap: anywhere;
}
.trusted-shelf-v88 :is(.v88-slot b, .v88-slot small, .v88-owned-main h3),
.v88-route-strip :is(b, small) {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}
.v88-owned-actions button,
.v88-tabs button,
.v88-route-strip button {
  min-height: 44px;
}
.v88-utility-card,
.v88-owned-card,
.v88-slot {
  height: auto;
}
:root {
  --v882-divider: rgba(83, 64, 38, 0.14);
  --v882-divider-dark: rgba(255, 255, 255, 0.14);
  --v882-selected: rgba(199, 150, 69, 0.12);
  --v882-selected-green: rgba(111, 135, 61, 0.1);
  --v882-surface-shadow: 0 10px 28px rgba(57, 43, 25, 0.075);
}
:is(
  .v87-expedition-prep,
  .v87-recipe-book,
  .v87-crafted-inventory,
  .v88-loadout,
  .v88-owned,
  .v88-utility,
  .v88-rules,
  .trusted-shelf-v88 .toy-registry-v85
) {
  position: relative;
}
:is(
    .v87-expedition-prep,
    .v87-recipe-book,
    .v87-crafted-inventory,
    .v88-loadout,
    .v88-owned,
    .v88-utility,
    .v88-rules,
    .trusted-shelf-v88 .toy-registry-v85
  )
  > header {
  min-height: 48px;
  padding-left: 52px;
  padding-bottom: 15px;
  position: relative;
}
:is(
    .v87-expedition-prep,
    .v87-recipe-book,
    .v87-crafted-inventory,
    .v88-loadout,
    .v88-owned,
    .v88-utility,
    .v88-rules,
    .trusted-shelf-v88 .toy-registry-v85
  )
  > header:before {
  content: "";
  width: 42px;
  height: 42px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../assets/ui/v88_2/ui_sections_sprite.webp);
  background-repeat: no-repeat;
  background-size: 400% 400%;
  background-position: var(--v882-section-x, 33.333%) var(--v882-section-y, 0%);
  filter: drop-shadow(0 4px 5px rgba(58, 39, 18, 0.13));
  pointer-events: none;
}
:is(
    .v87-expedition-prep,
    .v87-recipe-book,
    .v87-crafted-inventory,
    .v88-loadout,
    .v88-owned,
    .v88-utility,
    .v88-rules,
    .trusted-shelf-v88 .toy-registry-v85
  )
  > header:after {
  content: "";
  width: min(150px, 42%);
  height: 11px;
  position: absolute;
  left: 52px;
  bottom: 0;
  background: url(../assets/ui/v88_2/divider_vine_copper.webp) left center /
    contain no-repeat;
  opacity: 0.48;
  pointer-events: none;
}
.v87-expedition-prep {
  --v882-section-x: 33.333%;
  --v882-section-y: 0%;
}
.v87-recipe-book {
  --v882-section-x: 66.667%;
  --v882-section-y: 0%;
}
.v87-crafted-inventory {
  --v882-section-x: 100%;
  --v882-section-y: 0%;
}
.v88-loadout {
  --v882-section-x: 66.667%;
  --v882-section-y: 33.333%;
}
.v88-owned {
  --v882-section-x: 100%;
  --v882-section-y: 33.333%;
}
.v88-utility {
  --v882-section-x: 66.667%;
  --v882-section-y: 0%;
}
.v88-rules,
.trusted-shelf-v88 .toy-registry-v85 {
  --v882-section-x: 100%;
  --v882-section-y: 33.333%;
}
.v88-utility > header:before,
.v88-rules > header:before {
  background-image: url(../assets/ui/v88_2/ui_chrome_sprite.webp);
}
.v88-utility > header:before {
  background-position: 0% 100%;
}
.v88-rules > header:before {
  background-position: 100% 100%;
}
.living-world-status-v86 {
  padding-right: 56px;
  border: 0;
  box-shadow: 0 10px 24px #0000002b;
}
.world-settings-button-v86 {
  top: 4px;
  right: 4px;
  width: 44px;
  height: 44px;
  background: transparent;
}
.world-state-chips-v86 {
  gap: 0;
}
.world-state-chips-v86 > span {
  padding: 4px 8px;
  border-radius: 0;
  background: transparent;
}
.world-state-chips-v86 > span + span {
  border-inline-start: 1px solid var(--v882-divider-dark);
}
.living-camp-v85 .living-camp-summary {
  gap: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #14130db3;
  box-shadow: 0 9px 22px #0000002b;
  backdrop-filter: blur(12px);
}
.living-camp-v85 .living-camp-summary > span {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.living-camp-v85 .living-camp-summary > span + span {
  border-inline-start: 1px solid var(--v882-divider-dark);
}
.living-camp-v86 .living-camp-summary > span:nth-child(odd) {
  border-inline-start: 0;
}
.living-camp-v86 .living-camp-summary > span:nth-child(n + 3) {
  border-block-start: 1px solid var(--v882-divider-dark);
}
.living-camp-v85 .camp-hotspot-v85 {
  border: 0;
  box-shadow: 0 8px 18px #0003;
}
.living-camp-v85 .camp-hotspot-v85 > img,
.living-camp-v86 .camp-hotspot-v85.spot-forge > img {
  padding: 1px;
  border-radius: 8px;
  background: transparent;
}
.living-camp-v85 .camp-hotspot-v85.is-claim,
.living-camp-v86.stage-5 .camp-hotspot-v85.spot-forge {
  background: #2d2817e8;
  box-shadow:
    0 0 18px #e1b65d4d,
    0 8px 18px #00000038;
}
.camp-settings-card-v86 fieldset {
  padding: 13px 0 0;
  border: 0;
  border-block-start: 1px solid var(--v882-divider);
  border-radius: 0;
}
.camp-settings-card-v86 legend {
  padding: 0 8px 0 0;
}
.settings-quality-v86 {
  gap: 0;
}
.settings-quality-v86 label > span {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.settings-quality-v86 label + label > span {
  border-inline-start: 1px solid var(--v882-divider);
}
.settings-quality-v86 input:checked + span {
  border: 0;
  background: var(--v882-selected-green);
  box-shadow: inset 0 -3px #748b43;
}
.camp-settings-card-v86 > header > button {
  width: 44px;
  height: 44px;
}
.settings-switch-v86 input:focus-visible + i,
.settings-quality-v86 input:focus-visible + span,
.settings-volume-v86 input:focus-visible {
  outline: 3px solid #314f18;
  outline-offset: 3px;
}
.v87-route-track {
  gap: 0;
  overflow: hidden;
  position: relative;
  background: linear-gradient(150deg, #eee3ca, #fffaf0);
  box-shadow: var(--v882-surface-shadow);
}
.v87-route-track li {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.v87-route-track li + li {
  border-inline-start: 1px solid var(--v882-divider);
}
.v87-route-track li:after {
  content: "";
  width: 18px;
  height: 8px;
  right: -9px;
  background: url(../assets/ui/v88_2/divider_rope_brass.webp) center / contain
    no-repeat;
  opacity: 0.62;
}
.v87-route-track li.current {
  border-radius: 14px;
  background: var(--v882-selected);
  box-shadow: none;
}
.v87-route-track li.current > span {
  box-shadow: none;
}
.v87-loadout-grid {
  gap: 0;
}
.v87-loadout-slot {
  padding: 10px 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.v87-loadout-slot + .v87-loadout-slot {
  border-inline-start: 1px solid var(--v882-divider);
}
.v87-loadout-slot legend {
  padding: 0;
}
.v87-loadout-option {
  background: transparent;
  box-shadow: none;
}
.v87-loadout-option:hover:not(:disabled) {
  background: #ffffff94;
  transform: none;
}
.v87-loadout-option.selected {
  background: var(--v882-selected);
  box-shadow: inset 3px 0 #c99a46;
}
.v87-loadout-option img,
.v87-empty-slot {
  background: transparent;
}
.v87-run-limit {
  padding-inline: 0;
  border-block: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
}
.v87-recipe-grid,
.v87-crafted-grid {
  gap: 0 12px;
}
.v87-recipe,
.v87-crafted-grid article {
  border-block-start: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.v87-recipe.ready {
  background: var(--v882-selected-green);
  box-shadow: inset 3px 0 #6a813d;
}
.v87-recipe figure img {
  background: transparent;
}
.v87-ingredients {
  gap: 0;
}
.v87-ingredients > span {
  padding: 5px 0;
  border-radius: 0;
  border-block-start: 1px dashed var(--v882-divider);
  background: transparent;
}
.v87-ingredients > span.missing {
  padding-inline: 6px;
  background: #a64f3c11;
}
.v87-resource-ledger > div {
  gap: 0 12px;
}
.v87-resource-ledger > div span {
  padding-inline: 0;
  border-block-end: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
}
.v87-recipe-filters button {
  min-height: 44px;
}
.v87-recipe footer button,
.v87-crafted-grid button {
  min-height: 44px;
}
.v88-loadout-grid {
  gap: 0;
}
.v88-slot {
  border: 0;
  border-block-end: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
}
.v88-slot.is-empty {
  border-block-end-style: dashed;
}
.v88-slot.is-active {
  border: 0;
  border-block-end: 1px solid var(--v882-divider);
  background: var(--v882-selected);
  box-shadow: inset 3px 0 var(--v88-brass);
}
.v88-slot > img {
  background: transparent;
}
.v88-owned-grid {
  gap: 0 14px;
}
.v88-owned-card {
  position: relative;
  border-block-start: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.v88-owned-card.is-selected {
  background: var(--v882-selected);
  box-shadow: inset 3px 0 var(--v88-brass);
}
.v88-owned-card.is-selected:before {
  content: "";
  width: 38px;
  height: 42px;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  background: url(../assets/ui/v88_2/corner_leaf_brass.webp) top right / contain
    no-repeat;
  opacity: 0.68;
  pointer-events: none;
}
.v88-owned-card.is-selected > :is(.v88-owned-main, .v88-owned-actions, footer) {
  position: relative;
  z-index: 1;
}
.v88-owned-main figure {
  background: transparent;
}
.v88-owned-actions button {
  background: transparent;
}
.v88-owned-actions button:hover:not(:disabled) {
  background: #6f873d1a;
}
.v88-utility-grid {
  gap: 0;
}
.v88-utility-card {
  border: 0;
  border-inline-start: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.v88-utility-card:first-child {
  border-inline-start: 0;
}
.v88-utility-card dl {
  gap: 0;
}
.v88-utility-card dl > div {
  padding: 7px 0;
  border-block-start: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
}
.v88-utility-card > footer {
  justify-content: flex-start;
  border-block-start: 1px solid var(--v882-divider);
  background: transparent;
  color: var(--v88-muted);
}
.v88-utility-card > footer b {
  background: transparent;
  color: #9b6c31;
}
.v88-utility-card > footer span {
  color: var(--v88-muted);
}
.v88-rules > div {
  gap: 0;
}
.v88-rules article {
  border-inline-start: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
}
.v88-rules article:first-child {
  border-inline-start: 0;
}
.trusted-shelf-v88 .toy-catalog-filters-v85 {
  padding: 0;
  border-block: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
}
.trusted-shelf-v88 .toy-catalog-filters-v85 button.active {
  background: var(--v882-selected-green);
  box-shadow: none;
}
.trusted-shelf-v88 .toy-registry-grid-v85 {
  gap: 0 12px;
}
.trusted-shelf-v88 .toy-registry-card-v85 {
  border-block-start: 1px solid var(--v882-divider);
  border-radius: 0;
  background: transparent;
}
.trusted-shelf-v88 .toy-registry-card-v85 figure img {
  background: transparent;
}
.topbar.v88-profile-frame .avatar-button img {
  border: 0;
}
.topbar.v88-profile-frame .avatar-button:before {
  width: 25px;
  height: 29px;
  inset: -7px auto auto -7px;
  border: 0;
  border-radius: 0;
  background: url(../assets/ui/v88_2/corner_vine_brass.webp) top left / contain
    no-repeat;
  box-shadow: none;
  opacity: 0.88;
}
.topbar.v88-profile-frame[data-v88-profile-feature="bat"]
  .avatar-button:before {
  filter: hue-rotate(-8deg) saturate(0.92);
}
.topbar.v88-profile-frame[data-v88-profile-feature="fox"]
  .avatar-button:before {
  filter: hue-rotate(-18deg) saturate(1.18);
}
.v882-daily-trail {
  min-width: 0;
  padding: clamp(15px, 3vw, 23px);
  overflow: hidden;
  border-radius: 24px;
  background: #fffaf0f5;
  box-shadow: var(--v882-surface-shadow);
}
.v882-daily-trail > header {
  padding-bottom: 14px;
  position: relative;
}
.v882-daily-trail > header:after {
  content: "";
  width: min(168px, 46%);
  height: 11px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: url(../assets/ui/v88_2/divider_vine_copper.webp) left center /
    contain no-repeat;
  opacity: 0.48;
  pointer-events: none;
}
.v882-daily-trail-steps {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid var(--v882-divider);
}
.v882-daily-step {
  min-width: 0;
  min-height: 88px;
  padding: 11px 13px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  text-align: left;
  touch-action: manipulation;
}
.v882-daily-step + .v882-daily-step {
  border-inline-start: 1px solid var(--v882-divider);
}
.v882-daily-step:hover:not(:disabled) {
  background: #c7964512;
}
.v882-daily-step:is(.is-active, [aria-current="step"], [aria-pressed="true"]) {
  background: var(--v882-selected-green);
  box-shadow: inset 0 -3px #6f873d;
}
.v882-section-icon {
  width: 46px;
  height: 46px;
  display: block;
  background-image: url(../assets/ui/v88_2/ui_sections_sprite.webp);
  background-repeat: no-repeat;
  background-size: 400% 400%;
  background-position: 33.333% 0%;
  filter: drop-shadow(0 4px 5px rgba(58, 39, 18, 0.12));
  pointer-events: none;
}
.v882-daily-step:nth-child(2) .v882-section-icon,
.v882-section-icon[data-v882-section="workshop"],
.v882-section-icon.is-workshop {
  background-position: 66.667% 0%;
}
.v882-daily-step:nth-child(3) .v882-section-icon,
.v882-section-icon[data-v882-section="construction"],
.v882-section-icon.is-construction {
  background-position: 100% 0%;
}
.v882-section-icon[data-v882-section="route"],
.v882-section-icon.is-route {
  background-position: 33.333% 0%;
}
.living-camp-v85 :where(button):focus-visible {
  z-index: 8;
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #314f18;
}
:is(.expedition-v87, .crafting-v87, .v882-daily-trail)
  :where(button):focus-visible {
  outline: 3px solid #314f18;
  outline-offset: 3px;
}
@media (max-width: 980px) {
  .v87-route-track li:nth-child(3n + 1) {
    border-inline-start: 0;
  }
  .v87-route-track li:nth-child(n + 4) {
    border-block-start: 1px solid var(--v882-divider);
  }
}
@media (min-width: 621px) and (max-width: 900px) {
  .living-camp-v86 .living-camp-summary > span {
    border-block-start: 0;
    border-inline-start: 1px solid var(--v882-divider-dark);
  }
  .living-camp-v86 .living-camp-summary > span:first-child {
    border-inline-start: 0;
  }
}
@media (max-width: 900px) {
  .living-camp-v85 .living-camp-hotspots {
    gap: 0;
    overflow: hidden;
    padding: 6px;
    border-radius: 18px;
    background: #14130dc2;
    box-shadow: 0 10px 24px #0003;
    backdrop-filter: blur(10px);
  }
  .living-camp-v85 .camp-hotspot-v85,
  .living-camp-v86.stage-5 .camp-hotspot-v85.spot-forge {
    border-block-start: 1px solid var(--v882-divider-dark);
    border-inline-start: 1px solid var(--v882-divider-dark);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .living-camp-v85 .camp-hotspot-v85:nth-child(-n + 3) {
    border-block-start: 0;
  }
  .living-camp-v85 .camp-hotspot-v85:nth-child(3n + 1) {
    border-inline-start: 0;
  }
  .living-camp-v85 .camp-hotspot-v85.is-claim,
  .living-camp-v86.stage-5 .camp-hotspot-v85.spot-forge {
    background: #e1b65d1a;
    box-shadow: inset 0 -3px #e1b65db3;
  }
  .camp-npc-v86,
  .camp-npc-v86.npc-keeper,
  .camp-npc-v86.npc-scout,
  .camp-npc-v86.npc-builder,
  .camp-npc-v86.npc-chronicler {
    border-radius: 0;
    background: transparent;
  }
}
@media (max-width: 820px) {
  .v88-utility-card {
    border-block-start: 1px solid var(--v882-divider);
  }
  .v88-utility-card:nth-child(odd) {
    border-inline-start: 0;
  }
  .v88-utility-card:nth-child(-n + 2) {
    border-block-start: 0;
  }
  .v88-rules article:nth-child(odd) {
    border-inline-start: 0;
  }
  .v88-rules article:nth-child(n + 3) {
    border-block-start: 1px solid var(--v882-divider);
  }
}
@media (min-width: 821px) and (max-width: 1120px) {
  .v88-utility-card:nth-child(3n + 1) {
    border-inline-start: 0;
  }
  .v88-utility-card:nth-child(n + 4) {
    border-block-start: 1px solid var(--v882-divider);
  }
  .v88-rules article:nth-child(odd) {
    border-inline-start: 0;
  }
  .v88-rules article:nth-child(n + 3) {
    border-block-start: 1px solid var(--v882-divider);
  }
}
@media (max-width: 720px) {
  .v87-loadout-slot + .v87-loadout-slot {
    border-block-start: 1px solid var(--v882-divider);
    border-inline-start: 0;
  }
}
@media (max-width: 620px) {
  :is(
      .v87-expedition-prep,
      .v87-recipe-book,
      .v87-crafted-inventory,
      .v88-loadout,
      .v88-owned,
      .v88-utility,
      .v88-rules,
      .trusted-shelf-v88 .toy-registry-v85
    )
    > header {
    padding-left: 46px;
    padding-bottom: 13px;
  }
  :is(
      .v87-expedition-prep,
      .v87-recipe-book,
      .v87-crafted-inventory,
      .v88-loadout,
      .v88-owned,
      .v88-utility,
      .v88-rules,
      .trusted-shelf-v88 .toy-registry-v85
    )
    > header:before {
    width: 36px;
    height: 36px;
  }
  :is(
      .v87-expedition-prep,
      .v87-recipe-book,
      .v87-crafted-inventory,
      .v88-loadout,
      .v88-owned,
      .v88-utility,
      .v88-rules,
      .trusted-shelf-v88 .toy-registry-v85
    )
    > header:after {
    left: 46px;
  }
  .living-camp-v85:not(.living-camp-v86) .camp-hotspot-v85 {
    border-block-start: 1px solid var(--v882-divider-dark);
    border-inline-start: 1px solid var(--v882-divider-dark);
  }
  .living-camp-v85:not(.living-camp-v86) .camp-hotspot-v85:nth-child(-n + 2) {
    border-block-start: 0;
  }
  .living-camp-v85:not(.living-camp-v86) .camp-hotspot-v85:nth-child(odd) {
    border-inline-start: 0;
  }
  .settings-quality-v86 label + label > span {
    border-block-start: 1px solid var(--v882-divider);
    border-inline-start: 0;
  }
  .v88-utility-card {
    border-inline-start: 0;
    border-block-start: 1px solid var(--v882-divider);
  }
  .v88-utility-card:first-child {
    border-block-start: 0;
  }
  .v88-utility-card:nth-child(n + 2) {
    border-block-start: 1px solid var(--v882-divider);
  }
  .v88-rules article {
    border-inline-start: 0;
    border-block-start: 1px solid var(--v882-divider);
  }
  .v88-rules article:first-child {
    border-block-start: 0;
  }
  .v882-daily-trail {
    padding: 14px;
    border-radius: 20px;
  }
  .v882-daily-trail-steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .v882-daily-step {
    min-height: 76px;
  }
  .v882-daily-step + .v882-daily-step {
    border-block-start: 1px solid var(--v882-divider);
    border-inline-start: 0;
  }
}
@media (max-height: 430px) and (orientation: landscape) {
  .v882-daily-trail-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v882-daily-step {
    min-height: 68px;
    padding-block: 8px;
  }
  .v882-daily-step + .v882-daily-step {
    border-block-start: 0;
    border-inline-start: 1px solid var(--v882-divider);
  }
  .v882-section-icon {
    width: 40px;
    height: 40px;
  }
}
.v86-reduced-motion
  :is(
    .v87-loadout-option,
    .v88-owned-card,
    .v88-utility-card,
    .v882-daily-step
  ),
.v86-reduced-motion .living-camp-v85 .camp-hotspot-v85 {
  animation: none !important;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  :is(
    .v87-loadout-option,
    .v88-owned-card,
    .v88-utility-card,
    .v882-daily-step
  ),
  .living-camp-v85 .camp-hotspot-v85 {
    animation: none !important;
    transition: none !important;
  }
}

/* source: css/seasons-v88-21.css */
:root {
  --season-accent: #8eb84b;
  --season-accent-soft: #d9e9aa;
  --season-ink: #23361f;
}

.season-hub-view {
  width: min(100%, 1480px);
  margin: 0 auto;
  padding: 0 clamp(10px, 2vw, 28px) clamp(34px, 6vw, 76px);
  color: #f9f4e7;
}

.season-hub-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(430px, 72svh, 720px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--season-accent-soft) 46%, transparent);
  border-radius: clamp(22px, 3vw, 38px);
  box-shadow: 0 28px 70px rgba(5, 10, 8, .44), inset 0 0 0 1px rgba(255,255,255,.08);
}

.season-hub-hero-art,
.season-hub-hero-art img,
.season-hub-camp-card picture,
.season-hub-camp-card picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.season-hub-hero-art img,
.season-hub-camp-card picture img {
  object-fit: cover;
}

.season-hub-hero-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 13, 10, .91) 0%, rgba(8, 16, 12, .72) 37%, rgba(8, 13, 10, .08) 75%),
    linear-gradient(0deg, rgba(5, 10, 8, .76) 0%, transparent 47%);
}

.season-hub-hero-copy {
  position: relative;
  z-index: 2;
  align-self: flex-end;
  width: min(680px, 74%);
  padding: clamp(28px, 6vw, 72px);
  text-shadow: 0 2px 18px rgba(0,0,0,.58);
}

.season-hub-hero-copy > span,
.season-hub-story > span,
.season-hub-guide span,
.season-hub-goal > span,
.season-hub-weeks > header > span,
.season-hub-finale span {
  display: block;
  margin-bottom: 10px;
  color: var(--season-accent-soft);
  font-size: clamp(.7rem, 1.2vw, .85rem);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.season-hub-hero-copy h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.45rem, 6.7vw, 6.1rem);
  line-height: .9;
  letter-spacing: -.045em;
}

.season-hub-hero-copy > p {
  max-width: 58ch;
  margin: clamp(16px, 2vw, 24px) 0 0;
  color: rgba(255,255,255,.91);
  font-size: clamp(.98rem, 1.7vw, 1.23rem);
  line-height: 1.5;
}

.season-hub-calendar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  margin-top: clamp(20px, 3vw, 30px);
  font-size: .88rem;
}

.season-hub-calendar b {
  color: #fff;
}

.season-hub-calendar em {
  color: var(--season-accent-soft);
  font-style: normal;
  font-weight: 800;
}

.season-hub-progress {
  width: min(430px, 100%);
  height: 8px;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(0,0,0,.35);
}

.season-hub-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--season-accent), var(--season-accent-soft));
  box-shadow: 0 0 18px color-mix(in srgb, var(--season-accent) 75%, transparent);
}

.season-hub-back {
  position: absolute;
  z-index: 3;
  top: 18px;
  left: 18px;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: rgba(6, 12, 9, .65);
  color: #fff;
  font: 700 2rem/1 system-ui, sans-serif;
  backdrop-filter: blur(12px);
}

.season-hub-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, .75fr);
  gap: 16px;
  margin-top: 18px;
}

.season-hub-story,
.season-hub-guide,
.season-hub-goal,
.season-hub-weeks,
.season-hub-finale {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--season-accent) 12%, transparent), transparent 48%),
    rgba(20, 25, 21, .91);
  box-shadow: 0 18px 45px rgba(4, 8, 6, .22);
}

.season-hub-story,
.season-hub-goal {
  padding: clamp(22px, 3.5vw, 42px);
}

.season-hub-story {
  grid-row: span 2;
}

.season-hub-story h2,
.season-hub-goal h2,
.season-hub-guide h2,
.season-hub-weeks h2,
.season-hub-finale h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.35rem, 2.6vw, 2.25rem);
  line-height: 1.08;
}

.season-hub-story p,
.season-hub-goal p,
.season-hub-guide p,
.season-hub-weeks > header p,
.season-hub-finale p {
  margin: 14px 0 0;
  color: rgba(255,255,255,.74);
  line-height: 1.58;
}

.season-hub-story blockquote {
  margin: clamp(22px, 4vw, 40px) 0 0;
  padding: 20px 22px;
  border-left: 4px solid var(--season-accent);
  border-radius: 0 16px 16px 0;
  background: rgba(255,255,255,.055);
  color: var(--season-accent-soft);
  font-size: clamp(1rem, 1.7vw, 1.22rem);
  font-weight: 750;
  line-height: 1.48;
}

.season-hub-guide {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 20px;
}

.season-hub-guide img {
  width: 92px;
  height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(0,0,0,.36));
}

.season-hub-guide p {
  font-size: .9rem;
}

.season-hub-weeks {
  margin-top: 18px;
  padding: clamp(22px, 4vw, 48px);
}

.season-hub-weeks > header {
  max-width: 760px;
}

.season-hub-week-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: clamp(22px, 3vw, 34px);
}

.season-hub-week {
  display: flex;
  min-width: 0;
  min-height: 360px;
  flex-direction: column;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 19px;
  background: rgba(255,255,255,.035);
}

.season-hub-week.is-active {
  border-color: color-mix(in srgb, var(--season-accent) 74%, white 8%);
  background:
    linear-gradient(150deg, color-mix(in srgb, var(--season-accent) 23%, transparent), transparent 57%),
    rgba(255,255,255,.055);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--season-accent) 24%, transparent);
}

.season-hub-week.is-past {
  opacity: .76;
}

.season-hub-week > div:first-child {
  display: flex;
  gap: 10px;
  align-items: center;
}

.season-hub-week > div:first-child > b {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  border-radius: 13px;
  background: var(--season-accent);
  color: var(--season-ink);
  font-size: 1.1rem;
}

.season-hub-week > div:first-child span {
  display: grid;
  gap: 2px;
}

.season-hub-week > div:first-child em {
  color: var(--season-accent-soft);
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.season-hub-week > div:first-child small {
  color: rgba(255,255,255,.55);
}

.season-hub-week h3 {
  margin: 18px 0 0;
  color: #fff;
  font-size: clamp(1.08rem, 1.7vw, 1.38rem);
  line-height: 1.15;
}

.season-hub-week > p {
  margin: 9px 0 0;
  color: rgba(255,255,255,.67);
  font-size: .88rem;
  line-height: 1.45;
}

.season-hub-week blockquote {
  margin: 16px 0 18px;
  color: rgba(255,255,255,.88);
  font-size: .84rem;
  font-weight: 650;
  line-height: 1.42;
}

.season-hub-actions {
  display: grid;
  gap: 7px;
  margin-top: auto;
}

.season-hub-actions button {
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 11px;
  background: rgba(0,0,0,.22);
  color: #fff;
  font-size: .8rem;
  font-weight: 800;
  text-align: left;
}

.season-hub-actions button:hover,
.season-hub-actions button:focus-visible {
  border-color: var(--season-accent);
  background: color-mix(in srgb, var(--season-accent) 18%, rgba(0,0,0,.3));
}

.season-hub-finale {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .45fr);
  gap: 22px;
  align-items: center;
  margin-top: 18px;
  padding: clamp(22px, 4vw, 44px);
}

.season-hub-finale strong {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--season-accent) 52%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--season-accent) 12%, transparent);
  color: var(--season-accent-soft);
  line-height: 1.25;
}

.season-hub-finale strong small {
  color: rgba(255,255,255,.58);
  font-size: .68rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.season-hub-camp-card {
  position: relative;
  isolation: isolate;
  display: flex;
  width: 100%;
  min-height: 188px;
  align-items: flex-end;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--season-accent) 52%, transparent);
  border-radius: 22px;
  background: #182018;
  color: #fff;
  box-shadow: 0 16px 36px rgba(5, 9, 7, .24);
  text-align: left;
}

.season-hub-camp-card picture img {
  transition: transform .4s ease;
}

.season-hub-camp-card:hover picture img {
  transform: scale(1.025);
}

.season-hub-camp-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,10,7,.9), rgba(5,10,7,.56) 50%, rgba(5,10,7,.12)), linear-gradient(0deg, rgba(4,8,6,.78), transparent 72%);
}

.season-hub-camp-copy {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(68%, 640px);
  gap: 5px;
  padding: clamp(18px, 3vw, 30px);
  text-shadow: 0 2px 12px rgba(0,0,0,.7);
}

.season-hub-camp-copy em {
  color: var(--season-accent-soft);
  font-size: .7rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.season-hub-camp-copy b {
  font-size: clamp(1.35rem, 3vw, 2.25rem);
  line-height: 1.02;
}

.season-hub-camp-copy small {
  color: rgba(255,255,255,.8);
  font-size: .86rem;
}

.season-hub-camp-card > i {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 20px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--season-accent);
  color: var(--season-ink);
  font: 900 1.6rem/1 system-ui, sans-serif;
}

.camp-home-layout > .season-hub-camp-card,
.v85-camp-lower-grid > .season-hub-camp-card {
  grid-column: 1 / -1;
}

body[data-route="camp"] .season-camp-entry-fab {
  position: absolute !important;
  z-index: 20 !important;
  left: clamp(18px, 3vw, 34px) !important;
  bottom: clamp(72px, 8vw, 92px) !important;
  display: grid !important;
  min-width: 118px !important;
  min-height: 46px !important;
  padding: 6px 11px !important;
  grid-template-columns: 34px minmax(0, 1fr) 10px !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1px solid color-mix(in srgb, var(--season-accent-soft) 62%, transparent) !important;
  border-radius: 14px !important;
  background: rgba(7, 14, 10, .84) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.36) !important;
  backdrop-filter: blur(12px);
  text-align: left !important;
  transform: none !important;
}

body[data-route="camp"] :is(.living-camp-heading, .v85-map-title) {
  pointer-events: none !important;
}

body[data-route="camp"] :is(.living-camp-heading, .v85-map-title) :is(button, a) {
  pointer-events: auto !important;
}

body[data-route="camp"] .season-camp-entry-fab > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  background: var(--season-accent);
  color: var(--season-ink);
  font-size: .72rem;
  font-weight: 950;
}

body[data-route="camp"] .season-camp-entry-fab > b {
  font-size: .78rem;
}

body[data-route="camp"] .season-camp-entry-fab > i {
  color: var(--season-accent-soft);
  font-size: 1.2rem;
  font-style: normal;
}

.living-camp-v86[data-season-camp],
.v86-living-map[data-season-camp] {
  border-color: color-mix(in srgb, var(--season-accent) 38%, transparent);
}

.season-hub-empty {
  display: grid;
  min-height: 50svh;
  place-content: center;
  gap: 14px;
  padding: 32px;
  text-align: center;
}

.season-hub-empty h1,
.season-hub-empty p {
  margin: 0;
}

@media (max-width: 980px) {
  .season-hub-story-grid,
  .season-hub-finale {
    grid-template-columns: 1fr;
  }

  .season-hub-story {
    grid-row: auto;
  }

  .season-hub-week-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .season-hub-view {
    padding-inline: 8px;
  }

  .season-hub-hero {
    min-height: 590px;
    border-radius: 20px;
  }

  .season-hub-hero-shade {
    background: linear-gradient(0deg, rgba(5,10,8,.94) 0%, rgba(6,12,9,.68) 56%, rgba(6,10,8,.06) 88%);
  }

  .season-hub-hero-copy {
    width: 100%;
    padding: 72px 20px 26px;
  }

  .season-hub-hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(2.65rem, 14vw, 4.2rem);
  }

  .season-hub-story,
  .season-hub-goal,
  .season-hub-weeks,
  .season-hub-finale {
    border-radius: 19px;
  }

  .season-hub-week-grid {
    grid-template-columns: 1fr;
  }

  .season-hub-week {
    min-height: 0;
  }

  .season-hub-actions {
    margin-top: 18px;
  }

  .season-hub-camp-copy {
    width: calc(100% - 52px);
  }

  body[data-route="camp"] .season-camp-entry-fab {
    top: 142px !important;
    bottom: auto !important;
    left: 14px !important;
  }
}

@media (max-width: 370px) {
  .season-hub-guide {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
  }

  .season-hub-guide img {
    width: 72px;
    height: 92px;
  }

  .season-hub-camp-card {
    min-height: 210px;
  }

  .season-hub-camp-copy small {
    display: none;
  }
}

@media (orientation: landscape) and (max-height: 520px) {
  .season-hub-hero {
    min-height: 330px;
  }

  .season-hub-hero-copy {
    width: min(720px, 72%);
    padding: 34px 28px 66px;
  }

  .season-hub-hero-copy h1 {
    font-size: clamp(2rem, 5.4vw, 2.8rem);
  }

  .season-hub-hero-copy > p {
    margin-top: 8px;
    font-size: .82rem;
    line-height: 1.36;
  }

  .season-hub-calendar {
    margin-top: 8px;
    font-size: .78rem;
  }

  .season-hub-progress {
    height: 6px;
    margin-top: 7px;
  }

  body[data-route="camp"] .season-camp-entry-fab {
    top: 12px !important;
    bottom: auto !important;
    right: calc(43% + 12px) !important;
    left: auto !important;
    width: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 6px !important;
    grid-template-columns: 1fr !important;
    border-radius: 50% !important;
  }

  body[data-route="camp"] .season-camp-entry-fab > b,
  body[data-route="camp"] .season-camp-entry-fab > i {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .season-hub-camp-card picture img {
    transition: none;
  }
}

/* source: css/tasks-p0.css */
.tasks-view {
  --task-border: rgba(202, 169, 92, .32);
  --task-panel: linear-gradient(145deg, rgba(33, 49, 35, .96), rgba(18, 28, 22, .97));
}

.task-list {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.task-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) minmax(170px, 220px);
  gap: 16px;
  align-items: center;
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--task-border);
  border-radius: 18px;
  background: var(--task-panel);
  box-shadow: 0 12px 28px rgba(6, 10, 7, .24), inset 0 1px rgba(255, 244, 190, .07);
}

.task-card.task-completed { opacity: .86; }
.task-card.task-active { border-color: rgba(114, 189, 104, .55); }
.task-card.task-locked {
  border-style: dashed;
  border-color: rgba(173, 171, 162, .34);
  filter: saturate(.7);
}

.task-art {
  width: 92px;
  height: 92px;
  border-radius: 16px;
  object-fit: cover;
  background: rgba(0, 0, 0, .2);
}

.task-copy,
.task-control { min-width: 0; }

.task-copy h3 {
  margin: 7px 0 5px;
  font-size: clamp(17px, 2.1vw, 22px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.task-copy p {
  margin: 0;
  color: var(--muted, #c7c2ae);
  font-size: clamp(13px, 1.6vw, 15px);
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.task-badges,
.task-meta,
.task-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.task-badges span,
.task-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .065);
  color: #ddd6be;
  font-size: 12px;
  line-height: 1.2;
}

.task-state-active { color: #c9f2b9 !important; background: rgba(89, 151, 78, .18) !important; }
.task-state-completed { color: #ffda77 !important; background: rgba(181, 136, 40, .18) !important; }
.task-meta { margin-top: 10px; }
.task-meta img { width: 18px; height: 18px; object-fit: contain; }

.task-control {
  display: flex;
  justify-content: stretch;
}

.task-actions {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.task-action {
  width: 100%;
  min-height: 46px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.task-complete-mark {
  display: flex;
  min-height: 46px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: rgba(126, 164, 75, .16);
  color: #d8f4af;
  font-weight: 800;
}

.task-locked-mark {
  display: flex;
  min-height: 46px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: rgba(146, 146, 137, .13);
  color: #d5d2c6;
  font-weight: 800;
}

.task-copy .task-prerequisite {
  margin-top: 7px;
  color: #e0c785;
  font-size: 12px;
}

.task-progress {
  position: relative;
  height: 20px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0, 0, 0, .27);
}

.task-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #739c55, #b9c96b);
}

.task-progress > em {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-shadow: 0 1px 2px #000;
}

.task-arithmetic {
  width: 100%;
  display: grid;
  gap: 8px;
}

.task-arithmetic label {
  color: #f1e3b1;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.task-arithmetic > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
}

.task-arithmetic input {
  min-width: 0;
  min-height: 46px;
  padding: 9px 12px;
  border: 1px solid rgba(215, 184, 105, .45);
  border-radius: 12px;
  background: rgba(4, 10, 7, .45);
  color: #fff;
  font-size: 16px;
}

.task-arithmetic small {
  color: var(--muted, #c7c2ae);
  line-height: 1.3;
}

.admin-p0-tabs {
  display: flex;
  gap: 8px;
  padding: 8px;
  margin-bottom: 14px;
  overflow-x: auto;
  border-radius: 15px;
  background: rgba(12, 21, 15, .78);
}

.admin-p0-tabs button {
  flex: 1 0 max-content;
  min-height: 44px;
}

.admin-liveops-grid,
.admin-target-grid,
.admin-role-grid {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.1fr);
  gap: 16px;
}

.admin-task-list,
.admin-target-list,
.admin-role-list {
  display: grid;
  gap: 9px;
}

.admin-task-row,
.admin-target-row,
.admin-role-row {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(202, 169, 92, .25);
  border-radius: 14px;
  background: rgba(15, 25, 18, .6);
}

.admin-task-row-head,
.admin-target-row-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.admin-target-row-head > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.admin-task-actions,
.admin-target-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.admin-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-preview-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(202, 169, 92, .24);
  border-radius: 14px;
  background: rgba(0, 0, 0, .16);
}

.admin-preview-card p,
.admin-task-row p,
.admin-target-row p {
  overflow-wrap: anywhere;
}

.admin-analytics-filter {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr)) auto;
  gap: 10px;
  align-items: end;
}

.admin-analytics-summary,
.admin-analytics-list {
  display: grid;
  gap: 10px;
}

.admin-analytics-list { margin-top: 14px; }

.admin-funnel-stages {
  display: grid;
  grid-template-columns: repeat(5, minmax(76px, 1fr));
  gap: 7px;
}

.admin-funnel-stages > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 9px;
  border-radius: 11px;
  background: rgba(255, 255, 255, .055);
  text-align: center;
}

.admin-funnel-stages b { font-size: 17px; }
.admin-funnel-stages small {
  color: var(--muted, #c7c2ae);
  overflow-wrap: anywhere;
}

.admin-section-riddles .admin-announcement,
.admin-section-riddles .admin-raffle-panel { display: none; }
.admin-section-operations .admin-grid,
.admin-section-operations .admin-table,
.admin-section-operations .admin-answers { display: none; }

@media (max-width: 760px) {
  .task-card {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 11px;
    padding: 12px;
  }

  .task-art { width: 68px; height: 68px; border-radius: 13px; }
  .task-control { grid-column: 1 / -1; }
  .admin-liveops-grid,
  .admin-target-grid,
  .admin-role-grid,
  .admin-preview-grid,
  .admin-analytics-filter { grid-template-columns: minmax(0, 1fr); }
  .admin-funnel-stages { grid-template-columns: repeat(5, minmax(56px, 1fr)); }
}

@media (max-width: 380px) {
  .task-card { grid-template-columns: 56px minmax(0, 1fr); }
  .task-art { width: 56px; height: 56px; }
  .task-copy h3 { font-size: 16px; }
  .task-actions,
  .task-arithmetic > div { grid-template-columns: minmax(0, 1fr); }
  .task-arithmetic .task-action { width: 100%; }
  .admin-funnel-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (orientation: landscape) and (max-height: 540px) {
  .task-card { padding: 10px 12px; }
  .task-art { width: 64px; height: 64px; }
  .task-copy p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .task-card,
  .task-progress > span { transition: none !important; animation: none !important; }
}

/* source: css/goblin-park.css */
:root {
  --park-ink: #fff5dc;
  --park-muted: #cfd5b8;
  --park-moss: #acd16f;
  --park-brass: #e7c76f;
  --park-teal: #78c8bc;
  --park-danger: #df846f;
  --park-panel: rgba(42, 57, 40, .96);
  --park-line: rgba(231, 199, 111, .28);
}

.goblin-park-route {
  background: #172217;
}

body.goblin-park-route,
body[data-route="goblinWheel"] {
  min-height: var(--app-viewport-height, 100dvh);
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
}

body.goblin-park-route .topbar,
body[data-route="goblinWheel"] .topbar,
body.goblin-park-route .v886-route-context,
body[data-route="goblinWheel"] .v886-route-context {
  display: none !important;
}

body.goblin-park-route .tma,
body[data-route="goblinWheel"] .tma,
body.goblin-park-route .game-shell,
body[data-route="goblinWheel"] .game-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: var(--app-viewport-height, 100dvh) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.goblin-park-route .screen,
body[data-route="goblinWheel"] .screen {
  width: 100% !important;
  max-width: none !important;
  min-height: var(--app-viewport-height, 100dvh) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.goblin-park-view {
  min-height: var(--app-viewport-height, 100dvh);
  color: var(--park-ink);
  background:
    radial-gradient(circle at 20% -10%, rgba(172, 209, 111, .13), transparent 34rem),
    linear-gradient(180deg, #18251a, #0f1711 72%);
  overflow-x: hidden;
}

.goblin-park-shell {
  width: min(100%, 1440px);
  min-height: var(--app-viewport-height, 100dvh);
  margin: 0 auto;
  padding-top: max(12px, env(safe-area-inset-top));
  padding-right: max(clamp(12px, 2vw, 28px), env(safe-area-inset-right));
  padding-bottom: max(20px, env(safe-area-inset-bottom));
  padding-left: max(clamp(12px, 2vw, 28px), env(safe-area-inset-left));
}

.goblin-park-topbar {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  margin-bottom: 12px;
}

.goblin-park-back,
.goblin-park-refresh {
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 1px solid var(--park-line);
  border-radius: 14px;
  color: var(--park-ink);
  background: #2f402e;
  font: 800 24px/1 system-ui, sans-serif;
}

.goblin-park-refresh {
  margin-left: auto;
  font-size: 18px;
}

.goblin-park-topbar div {
  min-width: 0;
}

.goblin-park-topbar small,
.goblin-park-eyebrow {
  display: block;
  color: var(--park-brass);
  font: 800 10px/1.2 system-ui, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.goblin-park-topbar h1 {
  margin: 3px 0 0;
  font: 900 clamp(19px, 3vw, 28px)/1.05 system-ui, sans-serif;
}

.goblin-park-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(270px, .7fr);
  min-height: clamp(300px, 42vw, 510px);
  border: 1px solid rgba(231, 199, 111, .32);
  border-radius: 26px;
  overflow: hidden;
  background: #263a29;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .28);
}

.goblin-park-hero-art {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 25%, rgba(16, 25, 18, .18) 58%, rgba(16, 25, 18, .94) 77%),
    linear-gradient(0deg, rgba(12, 19, 13, .82), transparent 52%),
    url("../assets/ui/v88_31/goblin-park/park_scene_wide.webp") center / cover no-repeat;
}

.goblin-park-hero-copy {
  position: relative;
  z-index: 1;
  align-self: end;
  max-width: 700px;
  padding: clamp(24px, 4vw, 52px);
  text-shadow: 0 2px 18px #0b120d;
}

.goblin-park-hero-copy h2 {
  max-width: 660px;
  margin: 8px 0 12px;
  font: 950 clamp(34px, 5.5vw, 72px)/.92 system-ui, sans-serif;
  letter-spacing: -.055em;
}

.goblin-park-hero-copy p {
  max-width: 600px;
  margin: 0;
  color: #f4edda;
  font: 650 clamp(14px, 1.55vw, 19px)/1.45 system-ui, sans-serif;
}

.goblin-park-booth {
  position: relative;
  z-index: 2;
  align-self: stretch;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  padding: 24px;
  border-left: 1px solid var(--park-line);
  background: linear-gradient(180deg, rgba(36, 52, 37, .86), rgba(21, 31, 23, .98));
  text-align: center;
}

.goblin-park-ticket-art {
  width: min(100%, 250px);
  aspect-ratio: 2/1;
  object-fit: contain;
  filter: drop-shadow(0 9px 16px rgba(0, 0, 0, .35));
}

.goblin-park-ticket-count {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.goblin-park-ticket-count b {
  color: var(--park-brass);
  font: 950 42px/1 system-ui, sans-serif;
}

.goblin-park-ticket-count span {
  color: var(--park-muted);
  font: 800 13px/1 system-ui, sans-serif;
}

.goblin-park-booth p {
  max-width: 260px;
  margin: 0;
  color: var(--park-muted);
  font: 650 12px/1.4 system-ui, sans-serif;
}

.goblin-park-primary,
.goblin-park-secondary,
.goblin-park-game-button,
.goblin-park-choice {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  padding: 0 18px;
  color: #172217;
  background: linear-gradient(180deg, #c9e98e, #9fc766);
  box-shadow: inset 0 1px rgba(255, 255, 255, .38), 0 8px 20px rgba(0, 0, 0, .16);
  font: 900 13px/1.15 system-ui, sans-serif;
}

.goblin-park-secondary {
  color: var(--park-ink);
  background: #334833;
  border: 1px solid var(--park-line);
}

.goblin-park-primary:disabled,
.goblin-park-game-button:disabled,
.goblin-park-choice:disabled {
  opacity: .48;
  filter: grayscale(.35);
}

.goblin-park-limit {
  color: var(--park-muted);
  font: 700 11px/1.3 system-ui, sans-serif;
}

.goblin-park-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: clamp(22px, 4vw, 40px) 2px 14px;
}

.goblin-park-section-head h2 {
  margin: 4px 0 0;
  font: 950 clamp(23px, 3.2vw, 36px)/1 system-ui, sans-serif;
  letter-spacing: -.035em;
}

.goblin-park-section-head p {
  max-width: 470px;
  margin: 0;
  color: var(--park-muted);
  font: 650 12px/1.45 system-ui, sans-serif;
  text-align: right;
}

.goblin-park-games {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.goblin-park-game {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  min-height: 280px;
  padding: 16px;
  border: 1px solid var(--park-line);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--game-color) 23%, transparent), transparent 55%),
    linear-gradient(180deg, #304331, #202e22);
  overflow: hidden;
}

.goblin-park-game[data-art="wheel"] { --game-color: #e7c76f; }
.goblin-park-game[data-art="duel"] { --game-color: #df846f; }
.goblin-park-game[data-art="quick"] { --game-color: #78c8bc; }
.goblin-park-game[data-art="tug"] { --game-color: #acd16f; }
.goblin-park-game[data-art="wagon"] { --game-color: #d19b67; }

.goblin-park-game-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 22px;
  border: 1px solid color-mix(in srgb, var(--game-color) 55%, transparent);
  border-radius: 18px;
  color: var(--game-color);
  background: rgba(9, 15, 10, .38);
  font: 950 28px/1 system-ui, sans-serif;
}

.goblin-park-game h3 {
  margin: 0 0 8px;
  font: 900 20px/1.08 system-ui, sans-serif;
}

.goblin-park-game p {
  margin: 0;
  color: var(--park-muted);
  font: 600 12px/1.45 system-ui, sans-serif;
}

.goblin-park-game-stats {
  display: flex;
  gap: 6px;
  margin: 14px 0 10px;
}

.goblin-park-game-stats span {
  flex: 1;
  min-width: 0;
  padding: 7px;
  border-radius: 10px;
  color: var(--park-muted);
  background: rgba(8, 14, 9, .35);
  font: 700 10px/1.2 system-ui, sans-serif;
  text-align: center;
}

.goblin-park-game-stats b {
  display: block;
  margin-top: 3px;
  color: var(--park-ink);
  font-size: 15px;
}

.goblin-park-game-button {
  width: 100%;
}

.goblin-park-cup {
  display: grid;
  grid-template-columns: minmax(160px, .34fr) minmax(0, 1fr);
  min-height: 390px;
  border: 1px solid var(--park-line);
  border-radius: 22px;
  overflow: hidden;
  background: #253426;
}

.goblin-park-cup-tabs {
  padding: 14px;
  border-right: 1px solid var(--park-line);
  background: #1c291e;
}

.goblin-park-cup-tab {
  width: 100%;
  min-height: 46px;
  margin: 0 0 7px;
  padding: 9px 11px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--park-muted);
  background: transparent;
  font: 800 12px/1.25 system-ui, sans-serif;
  text-align: left;
}

.goblin-park-cup-tab.is-active {
  color: var(--park-ink);
  border-color: var(--park-line);
  background: #344936;
}

.goblin-park-board {
  min-width: 0;
  padding: clamp(16px, 3vw, 28px);
}

.goblin-park-board header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--park-line);
}

.goblin-park-board h3 {
  margin: 4px 0 0;
  font: 900 24px/1.05 system-ui, sans-serif;
}

.goblin-park-fund {
  padding: 9px 12px;
  border-radius: 12px;
  color: #251d0e;
  background: var(--park-brass);
  font: 900 12px/1.15 system-ui, sans-serif;
  white-space: nowrap;
}

.goblin-park-ranking {
  margin-top: 10px;
}

.goblin-park-rank-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 70px 90px;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(231, 199, 111, .1);
  font: 750 12px/1.2 system-ui, sans-serif;
}

.goblin-park-rank-row.is-me {
  border-radius: 10px;
  background: rgba(172, 209, 111, .12);
}

.goblin-park-rank-row > b {
  color: var(--park-brass);
  text-align: center;
}

.goblin-park-rank-row > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.goblin-park-rank-row > em,
.goblin-park-rank-row > strong {
  font-style: normal;
  text-align: right;
}

.goblin-park-rank-row > em {
  color: var(--park-moss);
}

.goblin-park-rank-row > strong {
  color: var(--park-brass);
}

.goblin-park-empty {
  display: grid;
  place-items: center;
  min-height: 230px;
  color: var(--park-muted);
  font: 750 13px/1.4 system-ui, sans-serif;
  text-align: center;
}

.goblin-park-hub-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 240px;
  border: 1px solid rgba(231, 199, 111, .35);
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(10, 17, 11, .92), rgba(10, 17, 11, .35)),
    url("../assets/ui/v88_31/goblin-park/park_scene_wide.webp") center 42% / cover no-repeat;
}

.goblin-park-hub-card button {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: end;
  justify-items: start;
  width: 100%;
  padding: clamp(20px, 4vw, 38px);
  border: 0;
  color: var(--park-ink);
  background: transparent;
  text-align: left;
}

.goblin-park-hub-card h3 {
  max-width: 620px;
  margin: 6px 0 8px;
  font: 950 clamp(27px, 4.2vw, 48px)/.95 system-ui, sans-serif;
  letter-spacing: -.04em;
}

.goblin-park-hub-card p {
  max-width: 600px;
  margin: 0;
  color: #eee8d4;
  font: 700 13px/1.4 system-ui, sans-serif;
}

.goblin-park-hub-card strong {
  margin-top: 12px;
  color: var(--park-moss);
  font: 900 12px/1.2 system-ui, sans-serif;
}

.goblin-park-loading,
.goblin-park-error {
  display: grid;
  place-items: center;
  min-height: 66vh;
  padding: 30px;
  text-align: center;
}

.goblin-park-error article {
  max-width: 420px;
  padding: 24px;
  border: 1px solid var(--park-line);
  border-radius: 20px;
  background: var(--park-panel);
}

.goblin-park-spinner {
  width: 38px;
  height: 38px;
  border: 4px solid rgba(172, 209, 111, .2);
  border-top-color: var(--park-moss);
  border-radius: 50%;
  animation: goblinParkSpin .8s linear infinite;
}

@keyframes goblinParkSpin { to { transform: rotate(360deg); } }

.goblin-park-challenge {
  position: fixed;
  z-index: 10040;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));
  background: rgba(8, 13, 9, .88);
}

.goblin-park-challenge-card {
  width: min(100%, 560px);
  max-height: 100%;
  overflow: auto;
  padding: clamp(20px, 5vw, 34px);
  border: 1px solid rgba(231, 199, 111, .38);
  border-radius: 24px;
  color: var(--park-ink);
  background:
    radial-gradient(circle at 50% 0%, rgba(172, 209, 111, .12), transparent 55%),
    #233325;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
  text-align: center;
}

.goblin-park-challenge-card.is-busy {
  pointer-events: none;
  opacity: .78;
}

.goblin-park-challenge-card h2 {
  margin: 7px 0 10px;
  font: 950 clamp(26px, 7vw, 42px)/.98 system-ui, sans-serif;
}

.goblin-park-challenge-card > p {
  color: var(--park-muted);
  font: 650 13px/1.45 system-ui, sans-serif;
}

.goblin-wheel-skill-dial {
  --runner-rotation: 0deg;
  --target-rotation: 120deg;
  position: relative;
  width: min(74vw, 320px);
  aspect-ratio: 1;
  margin: 22px auto;
  border: 18px solid #6b4a29;
  border-radius: 50%;
  background:
    radial-gradient(circle, #213122 0 50%, transparent 51%),
    conic-gradient(from calc(var(--target-rotation) - 11deg), var(--park-moss) 0 22deg, #334936 22deg 360deg);
  box-shadow: inset 0 0 0 4px #c39246, 0 12px 30px rgba(0, 0, 0, .3);
}

.goblin-wheel-skill-runner {
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  transform: rotate(var(--runner-rotation));
}

.goblin-wheel-skill-runner::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 22px;
  height: 22px;
  margin-left: -11px;
  border: 4px solid #182019;
  border-radius: 50%;
  background: var(--park-brass);
  box-shadow: 0 0 20px var(--park-brass);
}

.goblin-park-sequence {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  min-height: 70px;
  margin: 20px 0;
}

.goblin-park-sequence span,
.goblin-park-choice {
  display: grid;
  place-items: center;
  min-width: 58px;
  min-height: 58px;
  padding: 8px;
  border: 1px solid var(--park-line);
  border-radius: 15px;
  color: var(--park-ink);
  background: #304632;
  font: 900 14px/1 system-ui, sans-serif;
}

.goblin-park-sequence.is-hidden span {
  color: transparent;
  background: #1a271c;
}

.goblin-park-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 18px;
}

.goblin-park-choice {
  width: 100%;
  color: var(--park-ink);
  box-shadow: none;
}

.goblin-park-selected {
  min-height: 24px;
  color: var(--park-brass);
  font: 800 12px/1.3 system-ui, sans-serif;
}

.goblin-park-rhythm-stage {
  position: relative;
  display: grid;
  place-items: center;
  width: min(62vw, 250px);
  aspect-ratio: 1;
  margin: 20px auto;
  border: 10px solid #6c492d;
  border-radius: 50%;
  background: radial-gradient(circle, #c29d61 0 12%, #7d5633 13% 53%, #2c3d2d 54%);
  transition: transform .08s, box-shadow .08s;
}

.goblin-park-rhythm-stage.is-beat {
  transform: scale(1.06);
  box-shadow: 0 0 34px var(--park-brass);
}

.goblin-park-rhythm-stage b {
  color: #fff0c2;
  font: 950 34px/1 system-ui, sans-serif;
}

.goblin-park-result-mark {
  display: grid;
  place-items: center;
  width: 110px;
  height: 110px;
  margin: 8px auto 18px;
  border: 5px double currentColor;
  border-radius: 50%;
  color: var(--park-moss);
  font: 950 18px/1 system-ui, sans-serif;
  transform: rotate(-6deg);
}

.goblin-park-result-mark.is-loss {
  color: var(--park-danger);
}

.goblin-park-ad-busy {
  pointer-events: none;
}

.goblin-park-ad-busy .goblin-park-primary {
  opacity: .66;
}

@media (max-width: 1050px) {
  .goblin-park-games {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .goblin-park-game:first-child {
    grid-column: 1 / -1;
    min-height: 225px;
  }
}

@media (orientation: portrait) and (max-width: 720px) {
  .goblin-park-shell {
    padding-right: max(10px, env(safe-area-inset-right));
    padding-left: max(10px, env(safe-area-inset-left));
  }

  .goblin-park-hero {
    display: flex;
    min-height: 560px;
    flex-direction: column;
    justify-content: end;
  }

  .goblin-park-hero-art {
    background:
      linear-gradient(0deg, #172119 7%, rgba(18, 28, 20, .16) 64%),
      url("../assets/ui/v88_31/goblin-park/park_scene_portrait.webp") center 30% / cover no-repeat;
  }

  .goblin-park-hero-copy {
    padding: 24px 20px 16px;
  }

  .goblin-park-hero-copy h2 {
    font-size: clamp(36px, 12vw, 55px);
  }

  .goblin-park-booth {
    grid-template-columns: 90px 1fr;
    justify-items: start;
    min-height: 150px;
    padding: 16px;
    border-top: 1px solid var(--park-line);
    border-left: 0;
    text-align: left;
  }

  .goblin-park-ticket-art {
    grid-row: 1 / 4;
    width: 90px;
  }

  .goblin-park-booth .goblin-park-primary {
    width: 100%;
  }

  .goblin-park-section-head {
    align-items: start;
    flex-direction: column;
  }

  .goblin-park-section-head p {
    text-align: left;
  }

  .goblin-park-games {
    grid-template-columns: 1fr;
  }

  .goblin-park-game:first-child {
    grid-column: auto;
  }

  .goblin-park-game {
    min-height: 230px;
  }

  .goblin-park-cup {
    display: block;
  }

  .goblin-park-cup-tabs {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--park-line);
  }

  .goblin-park-cup-tab {
    flex: 0 0 auto;
    width: auto;
    min-width: 120px;
    margin: 0;
    text-align: center;
  }

  .goblin-park-board header {
    display: block;
  }

  .goblin-park-fund {
    display: inline-block;
    margin-top: 10px;
  }

  .goblin-park-rank-row {
    grid-template-columns: 28px minmax(0, 1fr) 52px 68px;
    gap: 5px;
    padding-inline: 2px;
    font-size: 10px;
  }
}

@media (orientation: landscape) and (max-height: 430px) {
  .goblin-park-shell {
    padding-top: 6px;
  }

  .goblin-park-topbar {
    min-height: 42px;
    margin-bottom: 6px;
  }

  .goblin-park-topbar h1 {
    font-size: 18px;
  }

  .goblin-park-hero {
    display: grid;
    min-height: 250px;
    grid-template-columns: 1.4fr .75fr;
  }

  .goblin-park-hero-copy {
    padding: 18px;
  }

  .goblin-park-hero-copy h2 {
    font-size: 35px;
  }

  .goblin-park-booth {
    padding: 12px;
  }

  .goblin-park-ticket-art {
    width: 130px;
  }

  .goblin-park-games {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow-x: visible;
    scroll-snap-type: none;
  }

  .goblin-park-game {
    min-height: 220px;
    scroll-snap-align: none;
  }

  .goblin-park-cup {
    grid-template-columns: 180px minmax(0, 1fr);
    min-height: 0;
    height: 340px;
    max-height: 340px;
  }

  .goblin-park-board {
    overflow-y: auto;
  }

  .goblin-park-challenge-card {
    width: min(92vw, 720px);
    padding: 14px 22px;
  }

  .goblin-wheel-skill-dial,
  .goblin-park-rhythm-stage {
    width: 180px;
    margin: 8px auto;
  }
}

@media (orientation: landscape) and (max-height: 350px) {
  .goblin-park-challenge {
    padding: max(4px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right))
      max(4px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  }

  .goblin-park-challenge-card {
    padding: 8px 14px;
  }

  .goblin-park-challenge-card h2 {
    margin: 3px 0 5px;
    font-size: 22px;
  }

  .goblin-park-challenge-card > p {
    margin: 4px 0;
    line-height: 1.25;
  }

  .goblin-wheel-skill-dial,
  .goblin-park-rhythm-stage {
    width: 124px;
    margin: 5px auto;
  }

  .goblin-wheel-skill-dial {
    border-width: 11px;
  }

  .goblin-park-result-mark {
    width: 70px;
    height: 70px;
    margin: 2px auto 6px;
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .goblin-park-spinner {
    animation-duration: 1.8s;
  }
}

/* source: css/goblin-park-v88-32-polish.css */
/*
 * Goblin eReality v88.32 — entertainment polish layer.
 *
 * This file is intentionally standalone and should be loaded after the
 * v88.31 park stylesheet and all legacy layout passes.
 */

:root {
  --g32-forest-950: #102015;
  --g32-forest-900: #17301d;
  --g32-forest-800: #24482a;
  --g32-forest-700: #356134;
  --g32-moss-500: #9fca5a;
  --g32-moss-300: #d5ed91;
  --g32-brass-600: #c9902f;
  --g32-brass-400: #e9bd55;
  --g32-brass-200: #ffe59a;
  --g32-clay-500: #bd6b42;
  --g32-teal-500: #55afa4;
  --g32-berry-500: #c25d68;
  --g32-wood-900: #3d2819;
  --g32-wood-700: #654128;
  --g32-wood-500: #96663a;
  --g32-parchment: #fff2c9;
  --g32-parchment-soft: #f4dfaa;
  --g32-ink: #20321f;
  --g32-cream: #fff8df;
  --g32-line: rgba(255, 229, 154, .42);
  --g32-shadow: 0 18px 48px rgba(6, 18, 10, .32);
  --g32-shadow-soft: 0 10px 28px rgba(6, 18, 10, .2);
  --g32-focus: #fff09a;
  --park-ink: var(--g32-cream);
  --park-muted: #e8e9c7;
  --park-moss: var(--g32-moss-300);
  --park-brass: var(--g32-brass-200);
  --park-teal: #8edbd0;
  --park-danger: #ff9b8f;
  --park-panel: rgba(31, 66, 36, .97);
  --park-line: var(--g32-line);
}

/* ------------------------------------------------------------------------- */
/* Park shell and navigation                                                  */
/* ------------------------------------------------------------------------- */

body.goblin-park-route,
body[data-route="goblinWheel"] {
  color: var(--g32-cream);
  background: var(--g32-forest-950);
}

body.goblin-park-route .goblin-park-view,
body[data-route="goblinWheel"] .goblin-park-view {
  background:
    radial-gradient(circle at 12% 3%, rgba(213, 237, 145, .25), transparent 28rem),
    radial-gradient(circle at 88% 18%, rgba(233, 189, 85, .17), transparent 24rem),
    linear-gradient(180deg, #2c542e 0, #19341f 34rem, #102015 100%);
}

.goblin-park-shell {
  width: min(100%, 1480px);
  padding-top: max(10px, env(safe-area-inset-top));
  padding-right: max(clamp(10px, 2.2vw, 32px), env(safe-area-inset-right));
  padding-bottom: max(28px, env(safe-area-inset-bottom));
  padding-left: max(clamp(10px, 2.2vw, 32px), env(safe-area-inset-left));
}

.goblin-park-topbar {
  min-height: 52px;
  margin-bottom: 14px;
  padding: 3px 4px;
}

.goblin-park-topbar h1 {
  color: var(--g32-cream);
  font-size: clamp(20px, 3vw, 30px);
  text-shadow: 0 2px 0 rgba(26, 50, 27, .8);
}

.goblin-park-topbar small,
.goblin-park-eyebrow {
  color: var(--g32-brass-200);
  font-size: max(11px, .68rem);
}

.goblin-park-back,
.goblin-park-refresh {
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 229, 154, .62);
  color: var(--g32-cream);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .12), transparent),
    var(--g32-forest-700);
  box-shadow:
    inset 0 0 0 2px rgba(16, 32, 21, .25),
    0 4px 0 var(--g32-wood-900);
}

.goblin-park-back:active,
.goblin-park-refresh:active {
  translate: 0 2px;
  box-shadow: inset 0 0 0 2px rgba(16, 32, 21, .25);
}

/* ------------------------------------------------------------------------- */
/* Hero, ticket booth and decorative life                                     */
/* ------------------------------------------------------------------------- */

.goblin-park-hero {
  min-height: clamp(390px, 43vw, 590px);
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, .65fr);
  border: 2px solid rgba(255, 229, 154, .55);
  border-radius: clamp(22px, 3vw, 34px);
  background: var(--g32-forest-800);
  box-shadow:
    inset 0 0 0 4px rgba(44, 84, 46, .42),
    var(--g32-shadow);
}

.goblin-park-hero::before,
.goblin-park-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--g32-brass-200);
  box-shadow:
    56px 22px 0 rgba(255, 229, 154, .7),
    132px 78px 0 rgba(213, 237, 145, .8),
    218px 34px 0 rgba(255, 242, 182, .76),
    292px 104px 0 rgba(159, 202, 90, .72);
  pointer-events: none;
  filter: drop-shadow(0 0 7px rgba(255, 229, 154, .9));
  animation: g32-firefly-drift 5.6s ease-in-out infinite alternate;
}

.goblin-park-hero::before {
  top: 20%;
  left: 7%;
}

.goblin-park-hero::after {
  right: 34%;
  bottom: 18%;
  scale: .72;
  animation-delay: -2.8s;
}

.goblin-park-hero-art {
  background:
    linear-gradient(90deg, rgba(16, 32, 21, .03) 18%, rgba(16, 32, 21, .18) 48%, rgba(16, 32, 21, .86) 72%),
    linear-gradient(0deg, rgba(12, 30, 17, .9), transparent 58%),
    url("https://storage.yandexcloud.net/creaky-village-509978-assets/v892/ui/v88_31--goblin-park--park_scene_wide.webp") center / cover no-repeat;
  filter: saturate(1.12) brightness(1.1);
  transform: scale(1.015);
}

.goblin-park-hero-copy {
  max-width: 760px;
  padding: clamp(24px, 4.5vw, 58px);
  text-shadow:
    0 2px 1px rgba(8, 22, 12, .9),
    0 7px 24px rgba(8, 22, 12, .72);
}

.goblin-park-hero-copy h2 {
  max-width: 720px;
  margin: 8px 0 14px;
  color: #fff8df;
  font-size: clamp(38px, 5.7vw, 78px);
  line-height: .91;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.goblin-park-hero-copy p {
  max-width: 620px;
  color: #fff8e9;
  font-size: clamp(14px, 1.5vw, 19px);
  line-height: 1.45;
}

.goblin-park-booth {
  gap: 10px;
  padding: clamp(18px, 2.6vw, 30px);
  border-left: 2px solid rgba(255, 229, 154, .48);
  color: var(--g32-ink);
  background:
    linear-gradient(90deg, rgba(101, 65, 40, .14) 1px, transparent 1px) 0 0 / 18px 100%,
    linear-gradient(180deg, rgba(255, 255, 255, .35), transparent 36%),
    var(--g32-parchment-soft);
  box-shadow:
    inset 8px 0 18px rgba(61, 40, 25, .16),
    inset 0 0 0 5px rgba(150, 102, 58, .22);
  text-shadow: none;
}

.goblin-park-ticket-art {
  width: min(100%, 260px);
  filter: drop-shadow(0 10px 10px rgba(61, 40, 25, .24));
  transform-origin: 50% 60%;
  animation: g32-ticket-float 3.8s ease-in-out infinite;
}

.goblin-park-ticket-art.is-earned,
.goblin-park-ticket-art[data-earned="true"],
.goblin-park-ticket-burst .goblin-park-ticket-art {
  animation: g32-ticket-earned .72s cubic-bezier(.2, 1.45, .35, 1) both;
}

.goblin-park-ticket-count {
  color: var(--g32-ink);
}

.goblin-park-ticket-count b {
  color: #7a4d20;
  font-size: clamp(36px, 4vw, 48px);
  text-shadow: 0 1px 0 #fff4cb;
}

.goblin-park-ticket-count span,
.goblin-park-booth p,
.goblin-park-limit {
  color: #405437;
}

.goblin-park-booth p {
  font-size: 12px;
}

.goblin-park-limit {
  grid-column: auto;
  justify-self: center;
  font-weight: 850;
}

.goblin-park-fireflies,
.v8832-fireflies {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.goblin-park-firefly,
.v8832-firefly {
  --firefly-x: 20%;
  --firefly-y: 30%;
  position: absolute;
  top: var(--firefly-y);
  left: var(--firefly-x);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff2a8;
  box-shadow: 0 0 11px 3px rgba(255, 229, 154, .78);
  animation: g32-firefly-wander var(--firefly-duration, 4.8s) ease-in-out var(--firefly-delay, 0s) infinite alternate;
}

/* ------------------------------------------------------------------------- */
/* Buttons and interaction states                                             */
/* ------------------------------------------------------------------------- */

.goblin-park-primary,
.goblin-park-secondary,
.goblin-park-game-button,
.goblin-park-choice,
.v8832-token-picker-trigger,
.v8832-token-option,
.v8832-quick-choice,
.v8832-rhythm-control {
  min-height: 44px;
  border: 1px solid rgba(61, 40, 25, .25);
  border-radius: 14px;
  font-weight: 900;
  transition:
    translate .15s ease,
    transform .15s ease,
    filter .15s ease,
    box-shadow .15s ease;
}

.goblin-park-primary,
.goblin-park-game-button,
.v8832-token-picker-trigger {
  color: #183019;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .34), transparent 45%),
    linear-gradient(180deg, var(--g32-moss-300), var(--g32-moss-500));
  box-shadow:
    inset 0 -2px 0 rgba(43, 83, 39, .32),
    0 4px 0 #527032,
    0 8px 15px rgba(22, 46, 24, .2);
}

.goblin-park-secondary,
.v8832-rhythm-control {
  color: var(--g32-cream);
  border-color: rgba(255, 229, 154, .38);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .1), transparent),
    var(--g32-wood-700);
  box-shadow: 0 3px 0 var(--g32-wood-900);
}

.goblin-park-primary:not(:disabled):hover,
.goblin-park-game-button:not(:disabled):hover,
.v8832-token-picker-trigger:not(:disabled):hover,
.goblin-park-secondary:not(:disabled):hover,
.v8832-quick-choice:not(:disabled):hover,
.v8832-rhythm-control:not(:disabled):hover {
  filter: brightness(1.08) saturate(1.06);
  translate: 0 -1px;
}

.goblin-park-primary:not(:disabled):active,
.goblin-park-game-button:not(:disabled):active,
.v8832-token-picker-trigger:not(:disabled):active,
.goblin-park-secondary:not(:disabled):active,
.v8832-quick-choice:not(:disabled):active,
.v8832-rhythm-control:not(:disabled):active {
  translate: 0 2px;
  box-shadow: inset 0 2px 5px rgba(25, 50, 25, .22);
}

.goblin-park-primary:disabled,
.goblin-park-game-button:disabled,
.goblin-park-choice:disabled,
.v8832-token-option:disabled,
.v8832-quick-choice:disabled,
.v8832-rhythm-control:disabled {
  opacity: .58;
  filter: saturate(.55);
  box-shadow: none;
}

/* ------------------------------------------------------------------------- */
/* Attraction cards                                                           */
/* ------------------------------------------------------------------------- */

.goblin-park-section-head {
  margin-top: clamp(26px, 4vw, 46px);
  margin-bottom: 14px;
}

.goblin-park-section-head h2 {
  color: var(--g32-cream);
  font-size: clamp(25px, 3.5vw, 39px);
  text-shadow: 0 2px 0 rgba(10, 28, 14, .65);
  text-wrap: balance;
}

.goblin-park-section-head p {
  color: #e8e9c7;
  font-size: max(12px, .76rem);
}

.goblin-park-games {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(10px, 1.4vw, 16px);
}

.goblin-park-game {
  min-height: 270px;
  padding: clamp(14px, 1.6vw, 19px);
  border: 2px solid rgba(255, 229, 154, .34);
  border-radius: 22px 18px 24px 19px;
  background:
    radial-gradient(circle at 90% 4%, rgba(255, 242, 182, .2), transparent 38%),
    linear-gradient(155deg, #477748, #244c2c 72%);
  box-shadow:
    inset 0 0 0 3px rgba(16, 32, 21, .18),
    0 7px 0 rgba(61, 40, 25, .58),
    var(--g32-shadow-soft);
  transform-origin: 50% 100%;
  transition:
    translate .2s ease,
    rotate .2s ease,
    box-shadow .2s ease;
}

.goblin-park-game::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px dashed rgba(255, 229, 154, .23);
  border-radius: 16px 13px 18px 14px;
  pointer-events: none;
}

.goblin-park-game:nth-child(even) {
  border-radius: 18px 24px 19px 22px;
}

.goblin-park-game[data-art="wheel"] {
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 229, 154, .32), transparent 40%),
    linear-gradient(155deg, #5b813d, #2c572d 72%);
}

.goblin-park-game[data-art="duel"] {
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 193, 160, .25), transparent 40%),
    linear-gradient(155deg, #8b5148, #4b3530 72%);
}

.goblin-park-game[data-art="quick"] {
  background:
    radial-gradient(circle at 88% 8%, rgba(185, 255, 238, .22), transparent 40%),
    linear-gradient(155deg, #397b73, #244d49 72%);
}

.goblin-park-game[data-art="tug"] {
  background:
    radial-gradient(circle at 88% 8%, rgba(224, 255, 168, .25), transparent 40%),
    linear-gradient(155deg, #587943, #304b2d 72%);
}

.goblin-park-game[data-art="wagon"] {
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 214, 164, .26), transparent 40%),
    linear-gradient(155deg, #8a633d, #4d3829 72%);
}

.goblin-park-game:hover,
.goblin-park-game:focus-within {
  translate: 0 -4px;
  rotate: -.25deg;
  box-shadow:
    inset 0 0 0 3px rgba(255, 242, 182, .12),
    0 9px 0 rgba(61, 40, 25, .55),
    0 22px 40px rgba(6, 18, 10, .3);
}

.goblin-park-game-icon {
  width: 62px;
  height: 62px;
  margin-bottom: 19px;
  border: 2px solid rgba(255, 229, 154, .58);
  border-radius: 50%;
  color: var(--g32-brass-200);
  background:
    radial-gradient(circle at 38% 30%, rgba(255, 255, 255, .25), transparent 28%),
    rgba(12, 32, 17, .55);
  box-shadow:
    inset 0 -5px 8px rgba(7, 22, 11, .28),
    0 6px 14px rgba(7, 22, 11, .3);
}

.goblin-park-game-icon svg,
.goblin-token,
.goblin-token-svg,
.goblin-park-token-svg,
.v8832-token-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 3px 3px rgba(23, 38, 21, .28));
}

.v8832-token-shell,
.goblin-token-shell {
  stroke: #6f4928;
  stroke-width: 2.2;
}

.v8832-token-glyph,
.goblin-token-glyph {
  stroke: #2b3d24;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.goblin-park-game h3 {
  color: #fff8df;
  font-size: clamp(18px, 1.7vw, 22px);
  text-wrap: balance;
}

.goblin-park-game p {
  color: #f1eed7;
  font-size: 12px;
}

.goblin-park-game-stats {
  gap: 6px;
}

.goblin-park-game-stats span {
  min-height: 47px;
  border: 1px solid rgba(255, 229, 154, .17);
  color: #e4e7c9;
  background: rgba(10, 28, 14, .34);
  font-size: 10px;
}

.goblin-park-game-stats b {
  color: #fff8df;
}

/* ------------------------------------------------------------------------- */
/* Daily Cup                                                                  */
/* ------------------------------------------------------------------------- */

.goblin-park-cup {
  grid-template-columns: minmax(190px, .31fr) minmax(0, 1fr);
  min-height: 380px;
  border: 2px solid rgba(255, 229, 154, .48);
  border-radius: 26px 20px 28px 20px;
  color: var(--g32-ink);
  background:
    linear-gradient(90deg, rgba(150, 102, 58, .08) 1px, transparent 1px) 0 0 / 22px 100%,
    var(--g32-parchment);
  box-shadow:
    inset 0 0 0 5px rgba(150, 102, 58, .13),
    var(--g32-shadow);
}

.goblin-park-cup-tabs {
  padding: 16px;
  border-right: 2px solid rgba(101, 65, 40, .42);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .12), transparent),
    var(--g32-wood-700);
}

.goblin-park-cup-tab {
  min-height: 48px;
  border: 1px solid rgba(255, 229, 154, .16);
  color: #f4e7c1;
  background: rgba(31, 24, 16, .15);
  font-size: 12px;
}

.goblin-park-cup-tab.is-active {
  color: var(--g32-ink);
  border-color: #e9bd55;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .4), transparent),
    var(--g32-brass-200);
  box-shadow:
    inset 0 -2px 0 rgba(122, 77, 32, .22),
    0 3px 0 rgba(61, 40, 25, .5);
}

.goblin-park-board {
  min-width: 0;
  padding: clamp(16px, 3vw, 30px);
}

.goblin-park-board header {
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 2px dashed rgba(101, 65, 40, .25);
}

.goblin-park-board .goblin-park-eyebrow {
  color: #856024;
}

.goblin-park-board h3 {
  color: var(--g32-ink);
  font-size: clamp(22px, 3vw, 34px);
}

.goblin-park-fund {
  color: #4b651f;
  border: 1px solid rgba(82, 112, 50, .28);
  background: rgba(159, 202, 90, .2);
}

.goblin-park-ranking {
  margin-top: 12px;
}

.goblin-park-rank-row {
  min-height: 46px;
  grid-template-columns: 34px minmax(0, 1fr) 74px 94px;
  gap: 9px;
  padding: 7px 9px;
  border-bottom: 1px solid rgba(101, 65, 40, .16);
  color: #30452b;
  font-size: max(12px, .76rem);
}

.goblin-park-rank-row:nth-child(odd) {
  background: rgba(150, 102, 58, .055);
}

.goblin-park-rank-row.is-me {
  border: 1px solid rgba(82, 112, 50, .4);
  border-radius: 10px;
  background: rgba(159, 202, 90, .23);
  box-shadow: inset 4px 0 0 #6c8f35;
  animation: g32-rank-arrive .52s cubic-bezier(.22, 1.2, .38, 1) both;
}

.goblin-park-rank-row > b {
  color: #80551d;
}

.goblin-park-rank-row > span {
  color: #263824;
}

.goblin-park-rank-row > em {
  color: #526148;
}

.goblin-park-rank-row > strong {
  color: #527032;
}

.goblin-park-empty {
  color: #526148;
}

/* ------------------------------------------------------------------------- */
/* Wheel: bubble arena, live status and token picker                          */
/* ------------------------------------------------------------------------- */

.goblin-wheel-skill-dial.v8832-wheel-stage,
.v8832-wheel-stage,
.goblin-wheel-bubble-stage,
.goblin-wheel-arena {
  position: relative;
  width: min(78vw, 420px);
  max-width: 100%;
  aspect-ratio: 1;
  margin: 16px auto 12px;
  border: clamp(11px, 2.7vw, 19px) solid var(--g32-wood-700);
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 31%, rgba(255, 255, 255, .18), transparent 24%),
    radial-gradient(circle, #579050 0 61%, #2f6136 62% 100%);
  box-shadow:
    inset 0 0 0 4px var(--g32-brass-400),
    inset 0 0 34px rgba(9, 31, 14, .42),
    0 9px 0 var(--g32-wood-900),
    0 18px 36px rgba(7, 19, 10, .4);
  isolation: isolate;
  overflow: visible;
}

.goblin-wheel-skill-dial.v8832-wheel-stage::before,
.v8832-wheel-stage::before,
.goblin-wheel-bubble-stage::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -9px;
  border: 3px dashed rgba(255, 229, 154, .64);
  border-radius: 50%;
  pointer-events: none;
}

.v8832-wheel-stage .goblin-wheel-skill-runner,
.goblin-wheel-bubble-stage .goblin-wheel-skill-runner {
  display: none;
}

.v8832-wheel-canvas,
.goblin-wheel-canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  touch-action: none;
}

.v8832-wheel-live,
.goblin-wheel-live {
  position: relative;
  z-index: 4;
  width: fit-content;
  max-width: calc(100% - 20px);
  min-height: 32px;
  margin: -4px auto 10px;
  padding: 7px 12px;
  border: 1px solid rgba(255, 229, 154, .4);
  border-radius: 999px;
  color: #fff8df;
  background: rgba(16, 32, 21, .88);
  box-shadow: 0 6px 16px rgba(6, 18, 10, .28);
  font: 850 12px/1.3 system-ui, sans-serif;
  text-align: center;
}

.v8832-wheel-gap,
.goblin-wheel-gap {
  position: absolute;
  z-index: 3;
  right: -23px;
  top: 42%;
  width: 50px;
  height: 19%;
  border-block: 4px solid var(--g32-brass-400);
  background: var(--g32-forest-950);
  filter: drop-shadow(0 4px 4px rgba(7, 19, 10, .42));
  transform-origin: -170px 50%;
  pointer-events: none;
}

.v8832-token-picker-trigger {
  width: min(100%, 360px);
  margin: 2px auto 10px;
  padding-inline: 16px;
}

.v8832-token-picker,
.goblin-wheel-token-picker {
  position: fixed;
  z-index: 10080;
  inset: 0;
  display: grid;
  place-items: center;
  padding:
    max(10px, env(safe-area-inset-top))
    max(10px, env(safe-area-inset-right))
    max(10px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left));
  background: rgba(7, 19, 10, .78);
  backdrop-filter: blur(10px) saturate(.88);
}

.v8832-token-picker-panel,
.goblin-wheel-token-picker-panel {
  position: relative;
  width: min(100%, 760px);
  max-height: min(92dvh, 760px);
  overflow: auto;
  padding: clamp(16px, 3vw, 26px);
  border: 2px solid rgba(255, 229, 154, .56);
  border-radius: 24px 19px 27px 21px;
  color: var(--g32-cream);
  background:
    radial-gradient(circle at 50% 0, rgba(213, 237, 145, .16), transparent 42%),
    var(--g32-forest-800);
  box-shadow:
    inset 0 0 0 4px rgba(16, 32, 21, .3),
    0 28px 70px rgba(3, 11, 5, .5);
  overscroll-behavior: contain;
}

[data-v8832-token-picker-close] {
  position: sticky;
  z-index: 2;
  top: 0;
  float: right;
  width: 44px;
  min-width: 44px;
  height: 44px;
  margin: -5px -5px 4px 8px;
  border: 1px solid rgba(255, 229, 154, .42);
  border-radius: 50%;
  color: var(--g32-cream);
  background: var(--g32-wood-700);
  font: 900 22px/1 system-ui, sans-serif;
}

.v8832-token-preview {
  width: 84px;
  height: 84px;
  margin: 4px auto 15px;
  padding: 8px;
  border: 2px solid var(--g32-brass-400);
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 28%, rgba(255, 255, 255, .4), transparent 25%),
    var(--g32-parchment);
  box-shadow:
    inset 0 -8px 12px rgba(150, 102, 58, .17),
    0 10px 18px rgba(5, 14, 7, .3);
}

.v8832-token-grid,
.goblin-wheel-token-grid {
  clear: both;
  display: grid;
  grid-template-columns: repeat(8, minmax(54px, 1fr));
  gap: 9px;
}

.v8832-token-option,
.goblin-wheel-token-option {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 64px;
  padding: 6px;
  border: 2px solid rgba(255, 229, 154, .18);
  border-radius: 17px;
  color: var(--g32-ink);
  background:
    radial-gradient(circle at 38% 28%, rgba(255, 255, 255, .4), transparent 25%),
    var(--g32-parchment-soft);
  box-shadow: inset 0 -5px 8px rgba(101, 65, 40, .14);
}

.v8832-token-option:is(.is-selected, [aria-pressed="true"], [aria-selected="true"]),
.goblin-wheel-token-option:is(.is-selected, [aria-pressed="true"], [aria-selected="true"]) {
  border-color: var(--g32-moss-300);
  background:
    radial-gradient(circle at 38% 28%, rgba(255, 255, 255, .48), transparent 25%),
    #dff0a8;
  box-shadow:
    inset 0 0 0 3px #557934,
    0 0 0 3px rgba(213, 237, 145, .25);
  transform: translateY(-2px);
}

.v8832-token-option > svg,
.goblin-wheel-token-option > svg {
  width: 48px;
  height: 48px;
}

/* ------------------------------------------------------------------------- */
/* Memory, quick and rhythm attraction polish                                 */
/* ------------------------------------------------------------------------- */

.goblin-park-sequence {
  min-height: 76px;
  gap: 10px;
}

.goblin-park-sequence span,
.goblin-park-choice,
.v8832-memory-token,
.v8832-memory-choice {
  min-width: 62px;
  min-height: 62px;
  border: 2px solid rgba(255, 229, 154, .46);
  border-radius: 50%;
  color: var(--g32-ink);
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, .48), transparent 26%),
    var(--g32-parchment-soft);
  box-shadow:
    inset 0 -7px 10px rgba(101, 65, 40, .16),
    0 6px 12px rgba(7, 19, 10, .23);
}

.goblin-park-sequence:not(.is-hidden) .v8832-memory-token,
.goblin-park-sequence:not(.is-hidden) span {
  animation: g32-memory-reveal .44s cubic-bezier(.22, 1.25, .38, 1) both;
}

.goblin-park-sequence:not(.is-hidden) > :nth-child(2) {
  animation-delay: .06s;
}

.goblin-park-sequence:not(.is-hidden) > :nth-child(3) {
  animation-delay: .12s;
}

.goblin-park-sequence:not(.is-hidden) > :nth-child(4) {
  animation-delay: .18s;
}

.goblin-park-sequence:not(.is-hidden) > :nth-child(5) {
  animation-delay: .24s;
}

.goblin-park-sequence:not(.is-hidden) > :nth-child(6) {
  animation-delay: .3s;
}

.goblin-park-sequence.is-hidden span,
.goblin-park-sequence.is-hidden .v8832-memory-token {
  color: transparent;
  border-color: rgba(255, 229, 154, .16);
  background:
    radial-gradient(circle at 35% 28%, rgba(255, 255, 255, .09), transparent 25%),
    var(--g32-forest-700);
  filter: saturate(.55);
}

.v8832-memory-choice:is(.is-correct, [data-state="correct"]),
.goblin-park-choice:is(.is-correct, [data-state="correct"]) {
  border-color: var(--g32-moss-300);
  background: #dff0a8;
  animation: g32-choice-correct .5s ease both;
}

.v8832-memory-choice:is(.is-wrong, [data-state="wrong"]),
.goblin-park-choice:is(.is-wrong, [data-state="wrong"]) {
  border-color: #ffb0a3;
  background: #f4b5a6;
  animation: g32-choice-wrong .36s ease both;
}

.v8832-quick-challenge,
.goblin-park-quick-challenge {
  display: grid;
  gap: 12px;
  width: min(100%, 520px);
  margin: 14px auto 0;
}

.v8832-quick-challenge .goblin-park-choices,
.goblin-park-quick-challenge .goblin-park-choices {
  gap: 10px;
}

.v8832-quick-choice {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  min-height: 54px;
  padding: 8px 12px;
  color: var(--g32-ink);
  border-color: rgba(255, 229, 154, .42);
  background: var(--g32-parchment-soft);
  text-align: left;
  box-shadow: 0 4px 0 rgba(61, 40, 25, .48);
}

.v8832-choice-index {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--g32-cream);
  background: var(--g32-forest-700);
  font-size: 12px;
}

.goblin-park-rhythm-stage,
.v8832-rhythm-stage {
  position: relative;
  width: min(58vw, 260px);
  border: 11px solid var(--g32-wood-700);
  background:
    radial-gradient(circle, #ffe29a 0 10%, #bf7d3e 11% 48%, #315f36 49% 100%);
  box-shadow:
    inset 0 0 0 4px var(--g32-brass-400),
    0 7px 0 var(--g32-wood-900),
    0 16px 30px rgba(7, 19, 10, .32);
}

.goblin-park-rhythm-stage.is-beat,
.v8832-rhythm-stage.is-beat {
  transform: scale(1.055);
  box-shadow:
    inset 0 0 0 4px #fff0a8,
    0 0 0 8px rgba(213, 237, 145, .2),
    0 0 36px rgba(255, 229, 154, .88);
}

.v8832-rhythm-orbit-dot {
  --dot-index: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  margin: -6px;
  border: 2px solid #fff2c3;
  border-radius: 50%;
  background: var(--g32-brass-400);
  box-shadow: 0 0 9px rgba(255, 229, 154, .8);
  transform: rotate(calc(var(--dot-index) * 45deg)) translateY(-112px);
}

.v8832-rhythm-orbit-dot:nth-child(2) { --dot-index: 1; }
.v8832-rhythm-orbit-dot:nth-child(3) { --dot-index: 2; }
.v8832-rhythm-orbit-dot:nth-child(4) { --dot-index: 3; }
.v8832-rhythm-orbit-dot:nth-child(5) { --dot-index: 4; }
.v8832-rhythm-orbit-dot:nth-child(6) { --dot-index: 5; }
.v8832-rhythm-orbit-dot:nth-child(7) { --dot-index: 6; }
.v8832-rhythm-orbit-dot:nth-child(8) { --dot-index: 7; }

.v8832-rhythm-orbit-dot:is(.is-active, [data-active="true"]) {
  background: var(--g32-moss-300);
  scale: 1.45;
  animation: g32-rhythm-dot .34s ease both;
}

.v8832-rhythm-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  width: min(100%, 430px);
  margin: 0 auto;
}

/* ------------------------------------------------------------------------- */
/* Challenge modal and result moments                                         */
/* ------------------------------------------------------------------------- */

.goblin-park-challenge {
  padding:
    max(10px, env(safe-area-inset-top))
    max(10px, env(safe-area-inset-right))
    max(10px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left));
  background: rgba(7, 19, 10, .82);
  backdrop-filter: blur(10px) saturate(.9);
}

.goblin-park-challenge-card {
  width: min(100%, 620px);
  max-height: calc(var(--app-viewport-height, 100dvh) - 20px);
  padding: clamp(18px, 4vw, 34px);
  border: 2px solid rgba(255, 229, 154, .58);
  border-radius: 27px 21px 29px 23px;
  color: var(--g32-cream);
  background:
    radial-gradient(circle at 50% -8%, rgba(213, 237, 145, .22), transparent 42%),
    linear-gradient(155deg, #356139, #1d3b24 72%);
  box-shadow:
    inset 0 0 0 4px rgba(16, 32, 21, .34),
    0 28px 70px rgba(3, 11, 5, .52);
}

.goblin-park-challenge-card h2 {
  color: #fff8df;
  font-size: clamp(26px, 6vw, 44px);
  text-wrap: balance;
}

.goblin-park-challenge-card > p {
  max-width: 52ch;
  margin-inline: auto;
  color: #eef0d3;
}

.goblin-park-result-mark {
  position: relative;
  width: 116px;
  height: 116px;
  color: #e5f6ad;
  border-color: currentColor;
  background: rgba(38, 78, 39, .52);
  box-shadow:
    0 0 0 8px rgba(213, 237, 145, .1),
    0 14px 28px rgba(7, 19, 10, .28);
  animation: g32-result-pop .7s cubic-bezier(.17, 1.45, .32, 1) both;
}

.goblin-park-result-mark::before,
.goblin-park-result-mark::after {
  content: "✦";
  position: absolute;
  color: var(--g32-brass-200);
  font-size: 24px;
  text-shadow: 0 0 12px rgba(255, 229, 154, .75);
  animation: g32-result-spark 1.2s ease-in-out infinite alternate;
}

.goblin-park-result-mark::before {
  top: -15px;
  right: -22px;
}

.goblin-park-result-mark::after {
  bottom: -12px;
  left: -20px;
  scale: .72;
  animation-delay: -.6s;
}

.goblin-park-result-mark.is-loss {
  color: #ffb0a3;
  background: rgba(119, 53, 47, .42);
  animation-name: g32-result-near;
}

.goblin-park-ticket-burst,
.v8832-ticket-burst,
.goblin-park-result-burst,
.v8832-result-burst {
  position: absolute;
  z-index: 5;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.goblin-park-ticket-burst::before,
.v8832-ticket-burst::before,
.goblin-park-result-burst::before,
.v8832-result-burst::before {
  content: "✦  ●  ✧  ◆  ✦  ●  ✧";
  position: absolute;
  top: 48%;
  left: 50%;
  width: 260px;
  color: var(--g32-brass-200);
  font-size: 20px;
  letter-spacing: 12px;
  text-align: center;
  transform: translate(-50%, -50%);
  animation: g32-burst-out .8s ease-out both;
}

/* ------------------------------------------------------------------------- */
/* Legacy mini-game hub: remove clipping and restore readable cards           */
/* ------------------------------------------------------------------------- */

body[data-route="duels"] #screen .games-view:has(.mini-games-panel),
body[data-route="duels"] #screen .focused-game-section:has(> .mini-games-panel) {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  margin-inline: 0 !important;
  grid-template-rows: auto auto !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .mini-games-panel {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: clamp(8px, 1.7vw, 16px) !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 16px !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid) {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 12px !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: clamp(220px, 29vw, 360px) !important;
  overflow: hidden !important;
  border: 2px solid rgba(255, 229, 154, .42);
  border-radius: 24px;
  background:
    linear-gradient(90deg, rgba(10, 28, 14, .9), rgba(10, 28, 14, .12) 72%),
    url("https://storage.yandexcloud.net/creaky-village-509978-assets/v892/ui/v88_31--goblin-park--park_scene_wide.webp") center 42% / cover no-repeat;
  box-shadow: var(--g32-shadow-soft);
}

body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) button {
  min-height: inherit;
}

body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
  width: 100% !important;
  height: auto !important;
  min-height: 188px !important;
  padding: 12px !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  grid-template-rows: minmax(92px, 1fr) 46px !important;
  gap: 8px 11px !important;
  overflow: visible !important;
  border: 1px solid rgba(255, 229, 154, .26) !important;
  border-radius: 17px !important;
  color: var(--g32-cream) !important;
  background: linear-gradient(150deg, #3d6540, #25442b) !important;
  box-shadow: 0 8px 20px rgba(6, 18, 10, .22) !important;
}

body[data-route="duels"] #screen .mini-games-grid .mini-game-card > img {
  width: 68px !important;
  height: 68px !important;
}

body[data-route="duels"] #screen .mini-game-card :is(h3, p, small) {
  overflow: visible !important;
  color: inherit !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

body[data-route="duels"] #screen .mini-game-card h3 {
  font-size: 16px !important;
}

body[data-route="duels"] #screen .mini-game-card :is(p, small) {
  display: block !important;
  color: #e5e8ca !important;
  font-size: 12px !important;
}

body[data-route="duels"] #screen .mini-game-card > button {
  min-height: 44px !important;
  height: 44px !important;
}

body[data-route="duels"] #screen .mini-leaderboards {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  grid-template-rows: auto auto !important;
  gap: 9px !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .mini-leaderboards-head {
  height: auto !important;
  min-height: 34px !important;
}

body[data-route="duels"] #screen .mini-leaderboards-head span {
  display: inline !important;
}

body[data-route="duels"] #screen .mini-leaderboards-grid {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .mini-rating-card {
  height: auto !important;
  min-height: 156px !important;
  padding: 10px !important;
  grid-template-rows: auto 1fr auto !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .mini-rating-card :is(header, .mini-rating-table) {
  height: auto !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .mini-rating-row {
  display: grid !important;
  height: auto !important;
  min-height: 28px !important;
}

body[data-route="duels"] #screen .mini-rating-card .mini-rating-me {
  display: block !important;
}

/* ------------------------------------------------------------------------- */
/* Balda, Word Game and Maze: one flat, legible stage                         */
/* ------------------------------------------------------------------------- */

body.mini-game-route .mini-game-fullscreen {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: var(--app-viewport-height, 100dvh) !important;
  padding:
    max(56px, calc(env(safe-area-inset-top) + 50px))
    max(10px, env(safe-area-inset-right))
    max(10px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left)) !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(213, 237, 145, .18), transparent 42%),
    var(--g32-forest-950) !important;
}

body.mini-game-route .mini-game-bg img {
  opacity: .36 !important;
  filter: saturate(1.08) brightness(1.08) !important;
}

body.mini-game-route .mini-game-bg::after {
  background:
    linear-gradient(180deg, rgba(16, 32, 21, .22), rgba(16, 32, 21, .76)),
    radial-gradient(circle at center, transparent, rgba(8, 20, 11, .54)) !important;
}

body.mini-game-route .mini-float-back {
  top: max(7px, env(safe-area-inset-top)) !important;
  left: max(7px, env(safe-area-inset-left)) !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255, 229, 154, .44) !important;
  color: var(--g32-cream) !important;
  background: rgba(36, 72, 42, .9) !important;
  box-shadow: 0 5px 15px rgba(5, 16, 8, .28) !important;
}

body.mini-game-route #miniGameStage {
  box-sizing: border-box !important;
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  display: grid !important;
  place-items: center !important;
}

html body.mini-game-route #screen #miniGameStage > .clean-mini-game {
  box-sizing: border-box !important;
  width: min(100%, 700px) !important;
  max-width: 700px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(10px, 2vw, 16px) !important;
  display: grid !important;
  gap: 9px !important;
  overflow: visible !important;
  color: var(--g32-cream) !important;
  border: 1px solid rgba(255, 229, 154, .34) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(150deg, rgba(50, 92, 52, .96), rgba(24, 53, 31, .97)) !important;
  box-shadow:
    inset 0 0 0 3px rgba(16, 32, 21, .22),
    0 18px 48px rgba(3, 11, 5, .35) !important;
}

html body.mini-game-route #screen #miniGameStage .clean-mini-game > :is(.mini-hud, .maze-hud) {
  min-height: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 229, 154, .24) !important;
  border-radius: 0 !important;
  color: var(--g32-cream) !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.mini-game-route #screen #miniGameStage .clean-mini-game > :is(.mini-hud, .maze-hud) > :is(span, div) {
  min-height: 48px !important;
  padding: 6px !important;
  border-color: rgba(255, 229, 154, .16) !important;
  color: var(--g32-cream) !important;
  background: transparent !important;
}

body.mini-game-route #miniGameStage :is(.mini-hud, .maze-hud) b {
  color: #fff8df !important;
  font-size: max(13px, .82rem) !important;
}

body.mini-game-route #miniGameStage :is(.mini-hud, .maze-hud) em {
  color: #dce2bf !important;
  font-size: max(11px, .68rem) !important;
}

html body.mini-game-route #screen #miniGameStage .clean-mini-game > .mini-status {
  min-height: 48px !important;
  height: auto !important;
  padding: 7px 4px !important;
  border: 0 !important;
  border-block: 1px solid rgba(255, 229, 154, .2) !important;
  border-radius: 0 !important;
  color: #eef0d3 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.mini-game-route #miniGameStage .mini-status :is(b, span, em) {
  color: inherit !important;
  font-size: max(12px, .75rem) !important;
}

html body.mini-game-route #screen #miniGameStage .clean-mini-game > .mini-bottom-actions {
  gap: 7px !important;
}

body.mini-game-route #miniGameStage :is(
  .mini-bottom-actions > button,
  .maze-size-switch button,
  .maze-controls button,
  .mini-letter-grid button
) {
  min-width: 0 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 6px 9px !important;
  border-radius: 11px !important;
  font-size: max(12px, .75rem) !important;
}

body.mini-game-route #miniGameStage .balda-board {
  width: min(100%, 360px) !important;
  gap: 5px !important;
}

body.mini-game-route #miniGameStage .balda-cell {
  border: 1px solid #d4b86f !important;
  border-radius: 11px !important;
  color: var(--g32-ink) !important;
  background:
    linear-gradient(180deg, #fff9dc, #efd69a) !important;
  box-shadow:
    inset 0 -3px 5px rgba(101, 65, 40, .12),
    0 2px 0 rgba(61, 40, 25, .34) !important;
}

body.mini-game-route #miniGameStage .balda-cell.playable {
  border-style: dashed !important;
  background: #e5f1b7 !important;
}

body.mini-game-route #miniGameStage .balda-cell.selected {
  color: #fff8df !important;
  border-color: #d5ed91 !important;
  background: #5d873e !important;
  box-shadow:
    inset 0 0 0 2px #d5ed91,
    0 0 0 3px rgba(213, 237, 145, .16) !important;
}

body.mini-game-route #miniGameStage .balda-cell.new {
  animation: g32-tile-pop .38s cubic-bezier(.2, 1.35, .35, 1) both;
}

body.mini-game-route #miniGameStage .word-board {
  width: min(100%, 330px) !important;
  gap: 4px !important;
}

body.mini-game-route #miniGameStage .word-row {
  gap: 4px !important;
}

body.mini-game-route #miniGameStage :is(.word-row > span, .word-cell) {
  min-height: 44px !important;
  border: 1px solid #d4b86f !important;
  border-radius: 9px !important;
  color: var(--g32-ink) !important;
  background: #fff4c8 !important;
  box-shadow: inset 0 -3px 5px rgba(101, 65, 40, .1) !important;
}

body.mini-game-route #miniGameStage .word-cell.cursor {
  border-color: #d5ed91 !important;
  box-shadow:
    inset 0 0 0 2px #61853d,
    0 0 0 3px rgba(213, 237, 145, .18) !important;
}

body.mini-game-route #miniGameStage .word-row :is(.correct, .right) {
  color: #fff8df !important;
  border-color: #d5ed91 !important;
  background: #608440 !important;
  animation: g32-tile-flip .48s ease both;
}

body.mini-game-route #miniGameStage .word-row :is(.present, .place) {
  color: #302611 !important;
  border-color: #ffe59a !important;
  background: #e9bd55 !important;
  animation: g32-tile-flip .48s ease both;
}

body.mini-game-route #miniGameStage .word-row :is(.absent, .wrong) {
  color: #fff8df !important;
  border-color: #8f9587 !important;
  background: #687265 !important;
  animation: g32-tile-flip .48s ease both;
}

body.mini-game-route #miniGameStage .maze-game {
  width: min(100%, 700px) !important;
}

body.mini-game-route #miniGameStage .maze-board {
  width: min(100%, 390px) !important;
  padding: 6px !important;
  gap: 4px !important;
  border: 2px solid rgba(255, 229, 154, .4) !important;
  border-radius: 16px !important;
  background: #132719 !important;
  box-shadow:
    inset 0 0 18px rgba(3, 11, 5, .52),
    0 10px 24px rgba(3, 11, 5, .3) !important;
}

body.mini-game-route #miniGameStage .maze-cell {
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 6px !important;
}

body.mini-game-route #miniGameStage .maze-cell.current {
  box-shadow:
    0 0 0 3px #ffe59a,
    0 0 18px rgba(255, 229, 154, .85) !important;
  animation: g32-maze-current 1.4s ease-in-out infinite alternate;
}

body.mini-game-route #miniGameStage .maze-cell:is(.key, .stairs, .exit, .exit-locked) .maze-icon {
  animation: g32-maze-icon 1.8s ease-in-out infinite alternate;
}

body.mini-game-route #miniGameStage .maze-size-switch {
  min-height: 44px !important;
}

body.mini-game-route #miniGameStage .maze-size-switch button.active {
  color: #193019 !important;
  background: var(--g32-moss-300) !important;
}

.mini-letter-picker {
  border: 1px solid rgba(255, 229, 154, .32) !important;
  color: var(--g32-cream) !important;
  background: var(--g32-forest-800) !important;
}

.mini-letter-grid button {
  color: var(--g32-ink) !important;
  border: 1px solid #d4b86f !important;
  background: var(--g32-parchment) !important;
}

/* ------------------------------------------------------------------------- */
/* Shared focus treatment                                                     */
/* ------------------------------------------------------------------------- */

:is(
  .goblin-park-back,
  .goblin-park-refresh,
  .goblin-park-primary,
  .goblin-park-secondary,
  .goblin-park-game-button,
  .goblin-park-cup-tab,
  .goblin-park-choice,
  .v8832-token-picker-trigger,
  .v8832-token-option,
  [data-v8832-token-picker-close],
  .v8832-quick-choice,
  .v8832-rhythm-control,
  body.mini-game-route button
):focus-visible {
  outline: 3px solid var(--g32-focus) !important;
  outline-offset: 3px !important;
  box-shadow:
    0 0 0 6px rgba(16, 32, 21, .72),
    0 0 0 8px rgba(255, 229, 154, .32) !important;
}

/* ------------------------------------------------------------------------- */
/* Responsive park and hub                                                    */
/* ------------------------------------------------------------------------- */

@media (max-width: 1180px) {
  .goblin-park-games {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .goblin-park-game:first-child {
    grid-column: auto;
    min-height: 270px;
  }
}

@media (max-width: 900px) {
  .goblin-park-hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr);
  }

  .goblin-park-games {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .goblin-park-cup {
    grid-template-columns: 170px minmax(0, 1fr);
  }

  body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid),
  body[data-route="duels"] #screen .mini-leaderboards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (orientation: portrait) and (max-width: 760px) {
  .goblin-park-shell {
    padding-inline: max(10px, env(safe-area-inset-left), env(safe-area-inset-right));
  }

  .goblin-park-hero {
    display: flex;
    min-height: 610px;
    flex-direction: column;
    justify-content: flex-end;
  }

  .goblin-park-hero-art {
    background:
      linear-gradient(0deg, rgba(13, 33, 18, .96) 7%, rgba(13, 33, 18, .08) 67%),
      url("https://storage.yandexcloud.net/creaky-village-509978-assets/v892/ui/v88_31--goblin-park--park_scene_portrait.webp") center 30% / cover no-repeat;
    filter: saturate(1.12) brightness(1.08);
  }

  .goblin-park-hero-copy {
    padding: 24px 18px 16px;
  }

  .goblin-park-hero-copy h2 {
    max-width: 10ch;
    font-size: clamp(38px, 12vw, 60px);
  }

  .goblin-park-booth {
    width: 100%;
    min-height: 0;
    grid-template-columns: 82px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    justify-items: stretch;
    gap: 6px 12px;
    padding: 14px;
    border-top: 2px solid rgba(101, 65, 40, .35);
    border-left: 0;
    text-align: left;
  }

  .goblin-park-ticket-art {
    grid-column: 1;
    grid-row: 1 / 4;
    width: 82px;
    align-self: center;
  }

  .goblin-park-ticket-count,
  .goblin-park-booth p,
  .goblin-park-booth .goblin-park-primary,
  .goblin-park-booth .goblin-park-limit {
    grid-column: 2;
    justify-self: stretch;
  }

  .goblin-park-ticket-count {
    grid-row: 1;
  }

  .goblin-park-booth p {
    grid-row: 2;
  }

  .goblin-park-booth .goblin-park-primary {
    grid-row: 3;
    width: 100%;
  }

  .goblin-park-booth .goblin-park-limit {
    grid-row: 4;
    text-align: center;
  }

  .goblin-park-games {
    grid-template-columns: 1fr;
  }

  .goblin-park-game,
  .goblin-park-game:first-child {
    min-height: 220px;
  }

  .goblin-park-cup {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .goblin-park-cup-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    overflow: visible;
    border-right: 0;
    border-bottom: 2px solid rgba(101, 65, 40, .36);
  }

  .goblin-park-cup-tab {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    text-align: center;
  }

  .goblin-park-cup-tab:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .goblin-park-board {
    padding: 14px 10px 17px;
  }

  .goblin-park-rank-row {
    grid-template-columns: 27px minmax(0, 1fr) 62px 72px;
    gap: 5px;
    min-height: 44px;
    padding-inline: 5px;
    font-size: 12px;
  }

  .goblin-park-challenge-card {
    border-radius: 20px;
  }

  .goblin-wheel-skill-dial.v8832-wheel-stage,
  .v8832-wheel-stage,
  .goblin-wheel-bubble-stage {
    width: min(82vw, 390px);
  }

  .v8832-token-grid,
  .goblin-wheel-token-grid {
    grid-template-columns: repeat(5, minmax(48px, 1fr));
    gap: 7px;
  }

  .v8832-token-option,
  .goblin-wheel-token-option {
    min-height: 56px;
    padding: 4px;
  }

  .v8832-token-option > svg,
  .goblin-wheel-token-option > svg {
    width: 43px;
    height: 43px;
  }

  body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid),
  body[data-route="duels"] #screen .mini-leaderboards-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) {
    min-height: 230px !important;
  }

  body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) button {
    padding: 18px !important;
  }

  body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) h3 {
    font-size: clamp(25px, 8vw, 37px);
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
    min-height: 160px !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    grid-template-rows: minmax(76px, 1fr) 44px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card > img {
    width: 58px !important;
    height: 58px !important;
  }
}

@media (max-width: 420px) {
  .goblin-park-topbar {
    gap: 8px;
  }

  .goblin-park-topbar h1 {
    font-size: 19px;
  }

  .goblin-park-topbar small {
    font-size: 10px;
  }

  .goblin-park-hero {
    min-height: 575px;
  }

  .goblin-park-hero-copy h2 {
    font-size: clamp(37px, 11.2vw, 48px);
  }

  .goblin-park-hero-copy p {
    font-size: 13px;
  }

  .goblin-park-section-head {
    align-items: start;
    flex-direction: column;
  }

  .goblin-park-section-head p {
    text-align: left;
  }

  .goblin-park-rank-row {
    grid-template-columns: 25px minmax(0, 1fr) 52px 62px;
    font-size: 11px;
  }

  .goblin-park-challenge {
    place-items: start center;
    overflow-y: auto;
  }

  .goblin-park-challenge-card {
    max-height: none;
    padding: 15px 12px;
  }

  .goblin-park-choices {
    gap: 7px;
  }

  .v8832-quick-choice {
    padding-inline: 8px;
  }

  body.mini-game-route .mini-game-fullscreen {
    place-items: start center !important;
    overflow-y: auto !important;
  }

  html body.mini-game-route #screen #miniGameStage > .clean-mini-game {
    padding: 9px !important;
    gap: 7px !important;
  }

  body.mini-game-route #miniGameStage .balda-board {
    width: min(100%, 315px) !important;
  }

  body.mini-game-route #miniGameStage .word-board {
    width: min(100%, 300px) !important;
  }

  body.mini-game-route #miniGameStage .maze-board {
    width: min(100%, 325px) !important;
  }

  body.mini-game-route #miniGameStage :is(.word-row > span, .word-cell) {
    min-height: 0 !important;
  }
}

/* The exact compact landscape target used by the QA pass: 640 × 360. */
@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  .goblin-park-shell {
    padding-top: max(5px, env(safe-area-inset-top));
  }

  .goblin-park-topbar {
    min-height: 44px;
    margin-bottom: 6px;
  }

  .goblin-park-hero {
    min-height: 260px;
    grid-template-columns: minmax(0, 1.45fr) minmax(210px, .7fr);
  }

  .goblin-park-hero-copy {
    padding: 16px;
  }

  .goblin-park-hero-copy h2 {
    max-width: 13ch;
    font-size: clamp(31px, 5vw, 39px);
  }

  .goblin-park-hero-copy p {
    max-width: 48ch;
    font-size: 12px;
    line-height: 1.32;
  }

  .goblin-park-booth {
    gap: 5px;
    padding: 10px;
  }

  .goblin-park-ticket-art {
    width: 118px;
  }

  .goblin-park-ticket-count b {
    font-size: 30px;
  }

  .goblin-park-games {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .goblin-park-game,
  .goblin-park-game:first-child {
    min-height: 210px;
  }

  .goblin-park-cup {
    height: auto;
    max-height: none;
    min-height: 320px;
    grid-template-columns: 168px minmax(0, 1fr);
  }

  .goblin-park-board {
    overflow: visible;
  }

  .goblin-park-challenge {
    place-items: center;
    overflow: hidden;
  }

  .goblin-park-challenge-card {
    width: min(94vw, 780px);
    max-height: calc(100dvh - 10px);
    padding: 8px 14px;
    overflow: auto;
  }

  .goblin-park-challenge-card h2 {
    margin: 2px 0 4px;
    font-size: 22px;
  }

  .goblin-park-challenge-card > p {
    margin: 3px auto;
    font-size: 12px;
    line-height: 1.25;
  }

  .goblin-wheel-skill-dial.v8832-wheel-stage,
  .v8832-wheel-stage,
  .goblin-wheel-bubble-stage,
  .goblin-park-rhythm-stage,
  .v8832-rhythm-stage {
    width: min(49dvh, 172px);
    margin: 3px auto;
  }

  .v8832-wheel-live {
    min-height: 26px;
    margin-bottom: 4px;
    padding-block: 4px;
  }

  .goblin-park-sequence {
    min-height: 50px;
    margin: 6px 0;
  }

  .goblin-park-sequence span,
  .goblin-park-choice,
  .v8832-memory-token,
  .v8832-memory-choice {
    min-width: 48px;
    min-height: 48px;
  }

  .goblin-park-choices {
    margin-top: 6px;
  }

  .v8832-token-picker-panel {
    width: min(96vw, 820px);
    max-height: 96dvh;
    padding: 9px 12px;
  }

  .v8832-token-preview {
    position: absolute;
    top: 10px;
    left: 12px;
    width: 56px;
    height: 56px;
    margin: 0;
  }

  .v8832-token-grid {
    grid-template-columns: repeat(10, minmax(44px, 1fr));
    gap: 5px;
  }

  .v8832-token-option {
    min-height: 48px;
    padding: 3px;
  }

  .v8832-token-option > svg {
    width: 38px;
    height: 38px;
  }

  body[data-route="duels"] #screen .games-view:has(.mini-games-panel),
  body[data-route="duels"] #screen .focused-game-section:has(> .mini-games-panel),
  body[data-route="duels"] #screen .mini-games-panel {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid),
  body[data-route="duels"] #screen .mini-leaderboards-grid {
    height: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
  }

  body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) {
    min-height: 170px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
    min-height: 150px !important;
  }

  body.mini-game-route .mini-game-fullscreen {
    height: var(--app-viewport-height, 100dvh) !important;
    min-height: 0 !important;
    padding:
      max(5px, env(safe-area-inset-top))
      max(5px, env(safe-area-inset-right))
      max(5px, env(safe-area-inset-bottom))
      max(54px, calc(env(safe-area-inset-left) + 50px)) !important;
    place-items: center !important;
    overflow: hidden !important;
  }

  body.mini-game-route #miniGameStage {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
  }

  html body.mini-game-route #screen #miniGameStage > .clean-mini-game {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: 100% !important;
    padding: 6px !important;
    grid-template-columns: minmax(250px, .9fr) minmax(240px, 1.1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: 6px 10px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  html body.mini-game-route #screen #miniGameStage .clean-mini-game > :is(.balda-board, .word-board, .maze-board) {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    place-self: center !important;
  }

  html body.mini-game-route #screen #miniGameStage .clean-mini-game > :is(.mini-hud, .maze-hud) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 44px !important;
  }

  html body.mini-game-route #screen #miniGameStage .clean-mini-game > .mini-status {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-height: 0 !important;
    align-self: stretch !important;
    overflow: auto !important;
  }

  html body.mini-game-route #screen #miniGameStage .clean-mini-game > .mini-bottom-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  body.mini-game-route #miniGameStage .balda-board {
    width: min(47vw, calc(100dvh - 22px), 330px) !important;
  }

  body.mini-game-route #miniGameStage .word-board {
    width: min(40vw, calc((100dvh - 22px) * .82), 280px) !important;
  }

  body.mini-game-route #miniGameStage .maze-board {
    width: min(47vw, calc(100dvh - 22px), 330px) !important;
  }

  body.mini-game-route #miniGameStage .mini-hud,
  body.mini-game-route #miniGameStage .maze-hud {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.mini-game-route #miniGameStage .word-hud {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.mini-game-route #miniGameStage :is(.mini-hud, .maze-hud) > :is(span, div) {
    min-height: 44px !important;
    padding: 3px !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Motion                                                                     */
/* ------------------------------------------------------------------------- */

@keyframes g32-firefly-drift {
  from {
    opacity: .45;
    transform: translate3d(-4px, 3px, 0) scale(.82);
  }
  to {
    opacity: 1;
    transform: translate3d(16px, -10px, 0) scale(1.15);
  }
}

@keyframes g32-firefly-wander {
  0% {
    opacity: .3;
    transform: translate3d(-7px, 5px, 0) scale(.72);
  }
  45% {
    opacity: 1;
  }
  100% {
    opacity: .52;
    transform: translate3d(18px, -14px, 0) scale(1.18);
  }
}

@keyframes g32-ticket-float {
  0%,
  100% {
    transform: translateY(0) rotate(-1.2deg);
  }
  50% {
    transform: translateY(-6px) rotate(1deg);
  }
}

@keyframes g32-ticket-earned {
  0% {
    opacity: .4;
    transform: translateY(18px) rotate(-9deg) scale(.65);
  }
  65% {
    opacity: 1;
    transform: translateY(-7px) rotate(3deg) scale(1.12);
  }
  100% {
    transform: translateY(0) rotate(0) scale(1);
  }
}

@keyframes g32-rank-arrive {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes g32-memory-reveal {
  from {
    opacity: 0;
    transform: translateY(8px) rotate(-8deg) scale(.72);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes g32-choice-correct {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1) rotate(2deg);
  }
}

@keyframes g32-choice-wrong {
  0%,
  100% {
    transform: translateX(0);
  }
  28% {
    transform: translateX(-7px) rotate(-2deg);
  }
  72% {
    transform: translateX(7px) rotate(2deg);
  }
}

@keyframes g32-rhythm-dot {
  0% {
    opacity: .4;
    scale: .65;
  }
  65% {
    opacity: 1;
    scale: 1.65;
  }
  100% {
    scale: 1.45;
  }
}

@keyframes g32-result-pop {
  from {
    opacity: 0;
    transform: rotate(-18deg) scale(.35);
  }
  70% {
    opacity: 1;
    transform: rotate(2deg) scale(1.12);
  }
  to {
    transform: rotate(-6deg) scale(1);
  }
}

@keyframes g32-result-near {
  0% {
    opacity: 0;
    transform: rotate(-3deg) scale(.7);
  }
  55% {
    opacity: 1;
    transform: rotate(3deg) scale(1.04);
  }
  100% {
    transform: rotate(-3deg) scale(1);
  }
}

@keyframes g32-result-spark {
  from {
    opacity: .42;
    transform: translateY(3px) rotate(-8deg) scale(.8);
  }
  to {
    opacity: 1;
    transform: translateY(-3px) rotate(8deg) scale(1.12);
  }
}

@keyframes g32-burst-out {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2);
  }
  45% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2) rotate(12deg);
  }
}

@keyframes g32-tile-pop {
  from {
    opacity: .55;
    transform: translateY(8px) scale(.72);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes g32-tile-flip {
  0% {
    transform: rotateX(0);
  }
  50% {
    transform: rotateX(88deg);
  }
  100% {
    transform: rotateX(0);
  }
}

@keyframes g32-maze-current {
  from {
    filter: brightness(1);
  }
  to {
    filter: brightness(1.18);
  }
}

@keyframes g32-maze-icon {
  from {
    transform: translateY(1px) scale(.96);
  }
  to {
    transform: translateY(-2px) scale(1.05);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }

  :is(
    .goblin-park-hero::before,
    .goblin-park-hero::after,
    .goblin-park-firefly,
    .v8832-firefly,
    .goblin-park-ticket-art,
    .goblin-park-rank-row.is-me,
    .goblin-park-sequence span,
    .v8832-memory-token,
    .v8832-memory-choice,
    .v8832-rhythm-orbit-dot,
    .goblin-park-result-mark,
    .goblin-park-result-mark::before,
    .goblin-park-result-mark::after,
    .goblin-park-ticket-burst::before,
    .v8832-ticket-burst::before,
    .goblin-park-result-burst::before,
    .v8832-result-burst::before,
    body.mini-game-route .balda-cell,
    body.mini-game-route .word-row > *,
    body.mini-game-route .maze-cell,
    body.mini-game-route .maze-icon
  ) {
    animation: none !important;
    transition: none !important;
  }

  .goblin-park-fireflies,
  .v8832-fireflies,
  .goblin-park-hero::before,
  .goblin-park-hero::after {
    display: none !important;
  }

  .goblin-park-game,
  .goblin-park-game:hover,
  .goblin-park-game:focus-within {
    translate: none;
    rotate: none;
    transition: none;
  }

  .goblin-park-spinner {
    animation: none !important;
    border-color: rgba(213, 237, 145, .35) !important;
    border-top-color: var(--g32-moss-300) !important;
  }
}

/* Final narrow-screen corrections kept last so older inline layout passes
   cannot turn the game hub or memory bubbles back into clipped strips. */
.v8832-memory-challenge .goblin-park-choices {
  grid-template-columns: repeat(2, 78px);
  justify-content: center;
  gap: 12px 18px;
}

.v8832-memory-challenge .v8832-memory-choice {
  width: 78px;
  min-width: 78px;
  height: 78px;
  min-height: 78px;
  justify-self: center;
  border-radius: 50%;
}

.v8832-memory-challenge .v8832-memory-choice:disabled {
  opacity: .8;
  filter: saturate(.8);
}

.v8832-memory-challenge .goblin-park-selected {
  display: flex;
  min-height: 28px;
  justify-content: center;
  gap: 3px;
}

.v8832-memory-challenge .goblin-park-selected .v8832-token-svg {
  width: 28px;
  height: 28px;
}

@media (max-width: 560px) {
  .goblin-park-hero-copy h2 {
    max-width: 100%;
    font-size: clamp(34px, 9.7vw, 42px);
    line-height: .96;
    letter-spacing: -.045em;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card > div > p {
    display: none !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card > div > small {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
    min-height: 156px !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    grid-template-rows: minmax(66px, 1fr) 44px !important;
    padding: 9px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card > img {
    width: 50px !important;
    height: 50px !important;
  }
}

@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  .v8832-memory-challenge .goblin-park-sequence {
    min-height: 46px;
    margin: 4px 0 !important;
    flex-wrap: nowrap;
  }

  .v8832-memory-challenge .goblin-park-choices {
    grid-template-columns: repeat(4, 52px);
    justify-content: center;
    gap: 7px;
    margin-top: 5px !important;
  }

  .v8832-memory-challenge .v8832-memory-token,
  .v8832-memory-challenge .v8832-memory-choice {
    width: 52px;
    min-width: 52px;
    height: 52px;
    min-height: 52px;
  }

  .v8832-memory-challenge .goblin-park-selected {
    min-height: 0;
    height: 0;
    overflow: hidden;
  }
}

/* ------------------------------------------------------------------------- */
/* v88.33 bilingual/adaptive release corrections                              */
/* ------------------------------------------------------------------------- */

/*
 * Mini-game hub: .games-view is the only scrolling surface. Everything below
 * it remains content-sized, and the bottom padding lets the final rating card
 * clear the fixed application dock on short phones.
 */
body[data-route="duels"] #screen .games-view:has(.mini-games-panel) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  scroll-padding-bottom: calc(104px + env(safe-area-inset-bottom));
  scrollbar-gutter: stable;
}

body[data-route="duels"] #screen .focused-game-section:has(> .mini-games-panel),
body[data-route="duels"] #screen .mini-games-panel,
body[data-route="duels"] #screen .mini-games-panel > :is(.mini-games-grid, .mini-leaderboards),
body[data-route="duels"] #screen .mini-leaderboards-grid {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .focused-game-section:has(> .mini-games-panel) {
  margin: 0 !important;
  display: block !important;
}

body[data-route="duels"] #screen .mini-games-panel {
  padding: clamp(8px, 1.7vw, 16px) !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 16px !important;
}

body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: 12px !important;
  transform: none !important;
  scale: none !important;
  zoom: 1 !important;
}

body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  min-height: clamp(178px, 25vw, 300px) !important;
}

body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
  height: auto !important;
  min-height: 188px !important;
  overflow: visible !important;
  transform: none !important;
  scale: none !important;
}

body[data-route="duels"] #screen .mini-leaderboards {
  margin-top: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  gap: 9px !important;
}

body[data-route="duels"] #screen .mini-leaderboards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
}

body[data-route="duels"] #screen .mini-rating-card {
  height: auto !important;
  min-height: 156px !important;
  max-height: none !important;
  padding: 10px !important;
  grid-template-rows: auto 1fr auto !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .mini-rating-card :is(header, .mini-rating-table) {
  height: auto !important;
  overflow: visible !important;
}

body[data-route="duels"] #screen .mini-rating-row {
  min-width: 0 !important;
  height: auto !important;
  min-height: 32px !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
}

body[data-route="duels"] #screen .mini-rating-row > span {
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body[data-route="duels"] #screen .mini-rating-row.empty > span {
  grid-column: 1 / -1 !important;
}

body[data-route="duels"] #screen .mini-rating-card:last-child {
  margin-bottom: 8px !important;
}

@media (max-width: 699px) {
  body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) {
    min-height: 178px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
    min-height: 164px !important;
    padding: 10px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    grid-template-rows: minmax(74px, 1fr) 44px !important;
    gap: 8px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card > img {
    width: 54px !important;
    height: 54px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card > div > p {
    display: none !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card > div > small {
    display: block !important;
    overflow: visible !important;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
    font-size: 12px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 359px) {
  body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) {
    grid-column: auto !important;
    min-height: 164px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
    min-height: 146px !important;
  }
}

@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  body[data-route="duels"] #screen .games-view:has(.mini-games-panel) {
    padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }

  body[data-route="duels"] #screen :is(.mini-games-grid, .v8832-mini-games-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body[data-route="duels"] #screen :is(.goblin-park-hub-card, .v8832-park-hub-card) {
    min-height: 148px !important;
  }

  body[data-route="duels"] #screen .mini-games-grid .mini-game-card {
    min-height: 146px !important;
  }
}

/*
 * Maze: English labels need a guaranteed lane, and both physical controls in
 * the size switch keep a full 44 px target in compact landscape.
 */
body.mini-game-route #miniGameStage .maze-hud {
  min-width: 0 !important;
  grid-template-columns: minmax(96px, 1.35fr) repeat(3, minmax(54px, 1fr)) !important;
  overflow: visible !important;
}

body.mini-game-route #miniGameStage .maze-size-switch {
  box-sizing: border-box !important;
  min-width: 96px !important;
  min-height: 44px !important;
  padding: 0 4px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(44px, 1fr)) !important;
  overflow: visible !important;
}

body.mini-game-route #miniGameStage .maze-size-switch > button {
  box-sizing: border-box !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding-inline: 3px !important;
}

/*
 * A 7×7 board cannot make every visual tile 44 px on a 360 px-tall device.
 * The step-ready tile therefore exposes a centered 44×44 pointer surface via
 * its existing child; events still bubble to the same .maze-cell element.
 */
body.mini-game-route #miniGameStage .maze-board,
body.mini-game-route #miniGameStage .maze-cell.step-ready {
  overflow: visible !important;
}

body.mini-game-route #miniGameStage .maze-cell.step-ready {
  z-index: 4 !important;
}

body.mini-game-route #miniGameStage .maze-cell.step-ready > span::after {
  content: "";
  position: absolute;
  z-index: 8;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: max(44px, 100%);
  height: max(44px, 100%);
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  body.mini-game-route .maze-game.clean-mini-game {
    grid-template-columns: minmax(250px, 308px) minmax(0, 1fr) !important;
  }

  body.mini-game-route .maze-game.clean-mini-game > .maze-hud {
    min-width: 0 !important;
    grid-template-columns: minmax(96px, 1.35fr) repeat(3, minmax(54px, 1fr)) !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  body.mini-game-route .maze-hud > :is(span, .maze-size-switch) {
    min-width: 0 !important;
    min-height: 44px !important;
  }
}

/* Text floors for park and legacy mini-game surfaces. Icon-only controls are
   intentionally untouched. */
body.goblin-park-route :is(
  .goblin-park-topbar small,
  .goblin-park-eyebrow,
  .goblin-park-game-stats span,
  .goblin-park-limit,
  .goblin-park-rank-row,
  .goblin-park-challenge-card > p,
  .v8832-wheel-live,
  .v8832-token-picker-trigger small,
  .v8832-token-option
),
body[data-route="duels"] #screen .mini-games-panel :is(
  p,
  small,
  em,
  button,
  .goblin-park-eyebrow,
  .mini-rating-row
),
body.mini-game-route #miniGameStage :is(
  .mini-hud em,
  .maze-hud em,
  .mini-status,
  .mini-status em,
  .maze-message,
  .maze-swipe-hint,
  .mini-bottom-actions > button,
  .maze-size-switch > button,
  .maze-controls > button
) {
  font-size: 12px !important;
}

@media (max-width: 360px) {
  .goblin-park-rank-row {
    grid-template-columns: 25px minmax(0, 1fr) 46px 54px !important;
    gap: 4px !important;
    font-size: 12px !important;
  }

  .goblin-park-rank-row > span {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* source: css/light-responsive-v88-36.css */
/* v88.36 — one light layout contract shared by TMA and Yandex. */

:root {
  color-scheme: light;
  --app-max: 1180px;
  --gutter: clamp(12px, 3vw, 24px);
  --topbar-h: 68px;
  --nav-h: 76px;
  --v8836-gap: clamp(12px, 2vw, 20px);
  --v8836-safe-bottom: env(safe-area-inset-bottom, 0px);
  --v8836-safe-top: env(safe-area-inset-top, 0px);
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  position: fixed;
  inset: 0;
  min-height: 100dvh;
  overflow: hidden;
  background: #d9d4c8;
}

body::before {
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.78), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(194, 177, 135, 0.2), transparent 32%),
    linear-gradient(180deg, #e8e4da, #d5d0c4);
}

.bg-forest {
  opacity: 0.16;
  background-position: center top;
  filter: saturate(0.72) brightness(1.08);
}

.tma,
.game-shell {
  width: min(100%, var(--app-max));
  height: 100dvh;
  min-height: 100dvh;
  margin-inline: auto;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background:
    radial-gradient(circle at 50% -10%, rgba(255, 255, 255, 0.98), transparent 34%),
    linear-gradient(180deg, rgba(255, 251, 243, 0.98), rgba(247, 239, 224, 0.98));
  box-shadow: 0 0 70px rgba(42, 34, 23, 0.13);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: calc(var(--topbar-h) + var(--v8836-safe-top));
  padding: calc(8px + var(--v8836-safe-top)) var(--gutter) 8px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto 44px 44px;
  align-items: center;
  gap: 7px;
  border: 0;
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(255, 249, 238, 0.96));
  color: var(--ink);
  box-shadow: 0 7px 24px rgba(54, 43, 28, 0.08);
  backdrop-filter: blur(16px) saturate(1.1);
}

.avatar-button {
  width: 46px;
  height: 46px;
}

.top-ident,
.top-ident > strong,
.top-money,
.resource-pill,
.communications-menu,
.communications-menu button,
.communications-menu button > span {
  min-width: 0;
}

.top-ident > strong {
  overflow: hidden;
  color: var(--ink) !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(1rem, 3.2vw, 1.35rem);
}

.top-language-toggle .language-flag {
  display: none;
  width: 30px;
  height: 22px;
  object-fit: cover;
  border-radius: 5px;
}

html[lang="ru"] .top-language-toggle .language-flag-ru,
html[lang="en"] .top-language-toggle .language-flag-en {
  display: block;
}

.top-money {
  max-width: min(31vw, 170px);
  overflow: hidden;
}

.resource-pill {
  min-height: 42px;
  max-width: 100%;
}

.resource-pill b {
  min-width: 0;
  max-width: 8ch;
  overflow: hidden;
  color: var(--ink) !important;
  text-overflow: ellipsis;
}

.top-language-toggle,
.communications-top,
.bell {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
}

#topLanguageToggle,
#communicationsButton {
  box-sizing: border-box !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
}

.screen {
  width: 100%;
  min-height: 0;
  height: auto;
  padding: 18px var(--gutter) calc(var(--nav-h) + var(--v8836-safe-bottom) + 26px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.view {
  width: 100%;
  min-width: 0;
  gap: var(--v8836-gap);
}

.bottom-nav {
  position: fixed;
  z-index: 100;
  left: 50vw !important;
  bottom: max(6px, var(--v8836-safe-bottom));
  width: min(calc(100vw - 16px), 1060px) !important;
  min-height: calc(var(--nav-h) + var(--v8836-safe-bottom));
  padding: 7px 10px calc(7px + var(--v8836-safe-bottom));
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(255, 249, 239, 0.99));
  box-shadow: 0 -14px 42px rgba(55, 43, 28, 0.12);
  transform: translateX(-50%) !important;
  backdrop-filter: blur(18px) saturate(1.1);
}

.bottom-nav button,
.bottom-nav .nav-primary,
.bottom-nav .nav-primary:not(.active) {
  min-width: 0;
  min-height: 60px;
  margin: 0;
  padding: 4px 2px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  border: 0;
  border-radius: 15px;
  background: transparent;
  color: var(--ink-2);
  box-shadow: none;
  transform: none;
}

.bottom-nav button.active,
.bottom-nav .nav-primary.active,
body[data-route="shop"] .bottom-nav button[data-nav="shop"].active {
  color: var(--green-3);
  background: rgba(127, 157, 69, 0.14);
  box-shadow: none;
  transform: none;
}

.bottom-nav .nav-icon,
.bottom-nav .nav-primary:not(.active) .games-icon,
.bottom-nav .games-icon {
  width: 30px;
  height: 30px;
}

.bottom-nav button b {
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 0.72rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-season-mark {
  pointer-events: none;
}

/* Light camp: bounded artwork, readable controls and one normal document flow. */
.camp-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "hero" "today" "story" !important;
  gap: var(--v8836-gap);
  align-items: start;
}

.camp-main-column {
  display: contents;
}

.camp-main-column > .camp-reference-hero,
.camp-main-column > .camp-dashboard-hero {
  grid-area: hero !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.camp-main-column > .gryzlo-story-card {
  grid-area: story !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.camp-reference-hero,
.camp-dashboard-hero {
  min-height: clamp(230px, 46vw, 340px);
  border-radius: 24px;
}

.camp-hero-art {
  object-position: center 48%;
}

.camp-hero-copy {
  width: min(76%, 560px);
  padding: clamp(20px, 5vw, 38px);
}

.camp-hero-copy h1 {
  font-size: clamp(2rem, 8vw, 4rem);
  line-height: 0.95;
}

.camp-today-panel {
  grid-area: today;
  min-width: 0;
  position: static !important;
  top: auto !important;
  align-self: start;
}

.screen :is(small, em, .meta, .muted-note) {
  font-size: max(0.72rem, 11px);
}

.screen :is(
    .gryzlo-story-copy > span,
    .gryzlo-story-progress,
    .yandex-account-card span,
    .camp-section-heading span,
    .active-now-strip span
  ) {
  font-size: max(0.72rem, 11px);
}

.card-chevron {
  font-size: 1.55rem;
  line-height: 1;
}

.communications-count {
  min-width: 18px;
  min-height: 18px;
  font-size: 11px;
}

body[data-route="camp"] .gryzlo-encounter-close {
  box-sizing: border-box !important;
  width: 50px !important;
  min-width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
}

/* Legacy feature cards used 8–10 px metadata. Keep it compact, but readable. */
:is(
    .clan-election-cta-copy > span,
    .clan-election-cta-meta > span,
    .clan-season-live > b,
    .clan-season-kicker,
    .clan-rank-table-head > span,
    .clan-podium-summary-crests > b,
    .clan-rule-list b,
    .clan-rule-list strong,
    .clan-trend-basis,
    .clan-stage-icon > b,
    .community-secret-rules b,
    .v86-glory-card > span,
    .achievement-row > span,
    .garden-cell > span,
    .v87-cycle-tabs span,
    .v87-session .ghost-btn,
    .v87-route-progress span,
    .v87-node figcaption
  ) {
  font-size: 11px !important;
}

.camp-command-dock,
.reference-action-grid,
.camp-shortcuts,
.games-gateway-grid,
.game-section-grid,
.shop-grid,
.profile-stats,
.profile-achievements,
.task-list,
.v88-style-grid,
.v87-recipe-grid,
.v87-reward-grid,
.season-hub-week-grid,
.season-hub-story-grid {
  min-width: 0;
}

.camp-command,
.reference-action-card,
.game-gateway-card,
.game-section-card,
.shop-card,
.task-card,
.v88-style-card,
.v87-recipe-card,
.season-hub-week,
.season-hub-story {
  min-width: 0;
  overflow: hidden;
}

.camp-command :is(b, em),
.reference-action-card :is(b, small, em),
.game-gateway-card :is(b, small, em),
.game-section-card :is(b, small, em),
.shop-card :is(b, small, em),
.task-card :is(b, small, em),
.v88-style-card :is(b, small, em),
.v87-recipe-card :is(b, small, em) {
  overflow-wrap: anywhere;
}

.asha-room-entry {
  width: 100%;
  min-height: 150px;
  padding: 0;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  border-radius: 20px;
  background: #28251d;
  color: #fff;
  text-align: left;
  box-shadow: var(--shadow-xs);
}

.asha-room-entry picture,
.asha-room-entry picture img,
.asha-room-entry-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}

.asha-room-entry picture img {
  object-fit: cover;
  object-position: center 54%;
}

.asha-room-entry-shade {
  z-index: -1;
  background: linear-gradient(90deg, rgba(20, 18, 13, 0.86), rgba(20, 18, 13, 0.22));
}

.asha-room-entry-copy {
  width: min(78%, 520px);
  padding: 18px 20px;
  display: grid;
  gap: 3px;
}

.asha-room-entry-copy em {
  color: #ead17f;
  font-size: 0.69rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.asha-room-entry-copy b {
  font-family: var(--display-font);
  font-size: clamp(1.45rem, 5vw, 2.3rem);
  line-height: 1;
}

.asha-room-entry-copy small {
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.35;
}

.asha-room-entry-arrow {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}

.asha-room-entry-arrow::before {
  content: "›";
  font-size: 1.7rem;
  line-height: 1;
}

/* New feature routes keep their own art, but the controls use the light shell. */
.v85-camp-view,
.v86-camp-view,
.v87-expedition-view,
.v85-catalog-view,
.v85-codex-view,
.v88-style-shop,
.trusted-shelf-v88,
.season-hub-view,
.tasks-view,
.goblin-park-view,
.asha-room-view {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

#screen :is(.v87-cycle-tabs, .craft-tabs, .contract-tabs, .garden-tabs),
body.yandex-shell #screen .v87-cycle-tabs {
  top: 6px !important;
}

.v87-expedition-hero,
.v87-crafting-hero,
.v88-hero,
.season-hub-hero,
.page-banner,
.great-build-hero,
.gryzlo-shop-hero,
.reference-profile-card {
  max-width: 100%;
}

.v87-route-track,
.v87-route-progress,
.v87-choice-list,
.v87-loadout-grid,
.v87-recipe-grid,
.v88-slot-grid,
.v88-owned-grid,
.v88-utility-grid,
.season-hub-week-grid,
.task-list {
  min-width: 0;
  max-width: 100%;
}

.v87-choice-list,
.v87-loadout-grid,
.v87-recipe-grid,
.v88-owned-grid,
.v88-utility-grid,
.task-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.real-tabs,
.pill-tabs,
.tabs,
.v85-tabs,
.v87-cycle-tabs,
.v88-tabs,
.goblin-park-cup-tabs {
  max-width: 100%;
}

/* Asha's room is a self-contained route, never a full-viewport fixed layer. */
.asha-room-stage {
  min-height: clamp(620px, 74vw, 820px);
  overflow: hidden;
  position: relative;
  isolation: isolate;
  border-radius: 26px;
  background: #25231d;
  color: #fff;
  box-shadow: var(--shadow-sm);
}

.asha-room-background,
.asha-room-background img,
.asha-room-shade {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
}

.asha-room-background img {
  object-fit: cover;
  object-position: center;
}

.asha-room-shade {
  z-index: -2;
  background: linear-gradient(180deg, rgba(17, 16, 12, 0.25), rgba(17, 16, 12, 0.72));
}

.asha-room-hud {
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.asha-room-back,
.asha-room-status {
  min-height: 44px;
  padding: 9px 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-radius: 14px;
  background: rgba(22, 21, 16, 0.72);
  color: #fff;
  backdrop-filter: blur(8px);
}

.asha-room-status span {
  display: grid;
}

.asha-room-status b {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
}

.asha-room-status em,
.asha-room-title > span,
.asha-room-income span,
.asha-room-object em,
.asha-room-locked-offer em {
  color: #ead17f;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.asha-room-scene {
  min-height: 350px;
  padding: 24px;
  display: grid;
  align-content: end;
  position: relative;
}

.asha-room-hotspots {
  display: none;
}

.asha-room-title {
  width: min(62%, 560px);
  padding: 20px;
  border-radius: 20px;
  background: rgba(28, 26, 20, 0.72);
  backdrop-filter: blur(8px);
}

.asha-room-title h1,
.asha-room-locked-offer h2 {
  margin-top: 4px;
  font-size: clamp(2rem, 6vw, 4rem);
  line-height: 0.95;
}

.asha-room-title p,
.asha-room-locked-offer p {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.8);
}

.asha-room-companion {
  position: absolute;
  right: 7%;
  bottom: 3%;
  width: min(28%, 220px);
  margin: 0;
  display: grid;
  justify-items: center;
}

.asha-room-companion img {
  width: 100%;
  max-height: 250px;
  object-fit: contain;
}

.asha-room-companion figcaption {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(20, 18, 13, 0.75);
  font-size: 0.72rem;
}

.asha-room-console {
  margin: 0 18px 18px;
  padding: 16px;
  display: grid;
  gap: 12px;
  border-radius: 20px;
  background: rgba(255, 250, 240, 0.96);
  color: var(--ink);
}

.asha-room-income {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.asha-room-income aside {
  display: grid;
  gap: 4px;
}

.asha-room-income button,
.asha-room-object button,
.asha-room-locked-offer button,
.asha-room-preview-note button {
  min-height: 44px;
  padding: 9px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, #8dab4f, #668332);
  color: #fff;
  font-weight: 850;
}

.asha-room-objects {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 10px;
}

.asha-room-object {
  min-width: 0;
  padding: 12px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  border-radius: 14px;
  background: var(--surface-2);
}

.asha-room-object footer {
  grid-column: 1 / -1;
}

.asha-room-preview-note {
  margin: 0 18px 18px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 14px;
  background: rgba(255, 240, 189, 0.94);
  color: #3f321e;
}

.asha-room-loading,
.asha-room-locked-offer {
  width: min(calc(100% - 36px), 520px);
  margin: auto;
  padding: 24px;
  position: relative;
  border-radius: 20px;
  background: rgba(24, 22, 17, 0.78);
  text-align: center;
  backdrop-filter: blur(9px);
}

/* Keep the park and legacy mini-games inside the normal scroll owner. */
body[data-route="goblinPark"] .screen,
body[data-route="goblinWheel"] .screen,
body[data-route="miniGame"] .screen,
body.mini-game-route .screen {
  height: auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.goblin-park-shell,
.goblin-park-board,
.goblin-park-game,
.clean-mini-game,
.mini-game-stage {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.goblin-park-games,
.goblin-park-choices,
.goblin-wheel-token-grid,
.goblin-park-ranking {
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 960px) and (min-aspect-ratio: 6 / 5) and (min-height: 520px) {
  .camp-home-layout {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, 360px) !important;
    grid-template-areas: "main today" !important;
  }

  .camp-main-column {
    grid-area: main;
    min-width: 0;
    display: grid;
    grid-template-areas: "hero" "story";
    gap: var(--v8836-gap);
    align-content: start;
  }

  .camp-reference-hero,
  .camp-dashboard-hero {
    min-height: clamp(300px, 35vw, 430px);
  }
}

@media (max-width: 700px) {
  :root {
    --gutter: clamp(10px, 3.5vw, 18px);
    --topbar-h: 64px;
    --nav-h: 74px;
  }

  .screen {
    padding-top: 12px;
  }

  .camp-reference-hero,
  .camp-dashboard-hero {
    min-height: clamp(230px, 62vw, 320px);
    border-radius: 20px;
  }

  .camp-hero-copy {
    width: min(88%, 520px);
  }

  .camp-command-dock,
  .reference-action-grid,
  .games-gateway-grid,
  .game-section-grid,
  .shop-grid,
  .task-list,
  .v87-recipe-grid,
  .v88-owned-grid,
  .v88-utility-grid,
  .season-hub-week-grid,
  .season-hub-story-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v87-expedition-hero > div,
  .v87-crafting-hero > div,
  .v88-hero > div,
  .season-hub-hero-copy,
  .page-banner-copy {
    width: min(88%, 560px);
  }

  .v87-expedition-hero > aside,
  .v87-crafting-hero > aside,
  .v88-hero > aside {
    right: 14px;
    top: 14px;
    bottom: auto;
    width: auto;
    max-width: 44%;
  }

  .asha-room-title {
    width: min(78%, 520px);
  }
}

@media (max-width: 430px) and (orientation: portrait) {
  :root {
    --topbar-h: 60px;
    --nav-h: 72px;
  }

  .topbar,
  body.yandex-shell .topbar {
    grid-template-columns: 44px minmax(0, 1fr) auto 44px 44px;
    gap: 5px;
    padding-inline: 8px;
  }

  .avatar-button {
    width: 44px;
    height: 44px;
  }

  .top-ident > strong {
    font-size: 1rem;
  }

  body.yandex-shell .top-ident {
    display: grid !important;
  }

  .resource-pill {
    min-height: 44px;
    padding-inline: 7px;
  }

  .resource-pill i {
    display: none;
  }

  .top-language-toggle,
  #topLanguageToggle,
  #communicationsButton,
  .communications-top,
  .bell {
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
  }

  .communications-count {
    top: 0 !important;
    right: 0 !important;
    transform: none !important;
  }

  .bottom-nav {
    padding-inline: 5px;
  }

  .bottom-nav button,
  .bottom-nav .nav-primary,
  .bottom-nav .nav-primary:not(.active) {
    min-height: 58px;
  }

  .bottom-nav .nav-icon,
  .bottom-nav .nav-primary:not(.active) .games-icon,
  .bottom-nav .games-icon {
    width: 26px;
    height: 26px;
  }

  .bottom-nav button b {
    font-size: max(0.66rem, 11px);
  }

  .screen {
    padding-inline: 10px;
  }

  .camp-hero-copy {
    width: 100%;
    padding: 18px;
  }

  .camp-hero-copy p {
    max-width: 34ch;
    font-size: 0.82rem;
  }

  .camp-command-dock,
  .reference-action-grid,
  .games-gateway-grid,
  .game-section-grid,
  .shop-grid,
  .task-list,
  .v87-recipe-grid,
  .v88-owned-grid,
  .v88-utility-grid,
  .season-hub-week-grid,
  .season-hub-story-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .asha-room-entry-copy {
    width: calc(100% - 54px);
    padding: 16px;
  }

  .asha-room-stage {
    min-height: 640px;
    border-radius: 20px;
  }

  .asha-room-hud {
    padding: 12px;
  }

  .asha-room-status {
    max-width: 52%;
  }

  .asha-room-status em {
    display: none;
  }

  .asha-room-scene {
    min-height: 340px;
    padding: 14px;
  }

  .asha-room-title {
    width: 100%;
    min-height: 180px;
    padding: 16px 110px 16px 16px;
  }

  .asha-room-companion {
    right: 18px;
    bottom: 14px;
    width: min(34%, 112px);
  }

  .asha-room-console {
    margin: 0 12px 12px;
  }

  .asha-room-income {
    grid-template-columns: minmax(0, 1fr);
  }

  .asha-room-income-mark {
    display: none;
  }

  .asha-room-preview-note {
    margin: 0 12px 12px;
    align-items: stretch;
    flex-direction: column;
  }

  .trusted-shelf-v88 > .v88-hero {
    min-height: 410px;
  }

  .trusted-shelf-v88 > .v88-hero > div {
    width: 100%;
    padding: 92px 14px 18px;
  }

  .trusted-shelf-v88 > .v88-hero > div h1 {
    font-size: clamp(2.25rem, 12vw, 3rem);
  }

  .trusted-shelf-v88 > .v88-hero > aside {
    box-sizing: border-box;
    top: 14px;
    right: 14px !important;
    bottom: auto;
    left: auto !important;
    width: 178px !important;
    min-width: 178px !important;
    padding: 10px 12px;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 9px;
  }

  .trusted-shelf-v88 > .v88-hero > aside b {
    grid-row: 1 / 3;
    font-size: 1.55rem;
  }

  .trusted-shelf-v88 > .v88-hero > aside :is(span, small) {
    margin: 0;
  }

  .trusted-shelf-v88 > .v88-hero > aside small {
    white-space: nowrap;
  }

  .expedition-v87 > .v87-expedition-hero {
    min-height: 350px;
  }

  .expedition-v87 > .v87-expedition-hero > div {
    width: 100%;
    padding: 100px 14px 18px;
  }

  .expedition-v87 > .v87-expedition-hero > div h1 {
    max-width: 100%;
    font-size: clamp(2rem, 10.5vw, 2.6rem);
  }

  .expedition-v87 > .v87-expedition-hero > aside {
    box-sizing: border-box;
    top: 14px;
    right: auto !important;
    bottom: auto;
    left: 14px !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 9px 10px;
    grid-template-columns: auto minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px;
  }

  .expedition-v87 > .v87-expedition-hero > aside b {
    font-size: 1.3rem;
    white-space: nowrap;
  }

  .expedition-v87 > .v87-expedition-hero > aside button {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }
}

@media (max-width: 350px) and (orientation: portrait) {
  .top-ident {
    display: grid !important;
  }

  .topbar,
  body.yandex-shell .topbar {
    grid-template-columns: 44px minmax(0, 1fr) auto 44px 44px;
  }

  .top-money {
    justify-self: end;
  }

  .camp-hero-actions,
  .page-banner-actions,
  .form-actions,
  .app-dialog-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .camp-hero-actions > *,
  .page-banner-actions > *,
  .form-actions > *,
  .app-dialog-actions > * {
    width: 100%;
  }
}

@media (orientation: landscape) and (max-height: 430px) and (min-width: 560px) {
  :root {
    --topbar-h: 52px;
    --nav-h: 58px;
    --gutter: 12px;
  }

  body {
    min-height: 100dvh;
    overflow: hidden;
  }

  .topbar,
  body.yandex-shell .topbar {
    min-height: calc(var(--topbar-h) + var(--v8836-safe-top));
    padding: calc(4px + var(--v8836-safe-top)) 12px 4px;
    grid-template-columns: 44px minmax(0, 1fr) auto 44px 44px;
    gap: 6px;
  }

  .avatar-button {
    width: 44px;
    height: 44px;
  }

  .top-ident > strong {
    font-size: 1rem;
  }

  .resource-pill {
    min-height: 44px;
  }

  .top-language-toggle,
  #topLanguageToggle,
  #communicationsButton,
  .communications-top,
  .bell {
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
  }

  .screen,
  body[data-route="goblinPark"] .screen,
  body[data-route="goblinWheel"] .screen,
  body[data-route="miniGame"] .screen,
  body.mini-game-route .screen {
    min-height: 0;
    height: auto;
    padding: 10px 12px calc(var(--nav-h) + var(--v8836-safe-bottom) + 18px);
    overflow-x: hidden;
    overflow-y: auto;
  }

  .bottom-nav {
    bottom: max(4px, var(--v8836-safe-bottom));
    width: min(calc(100vw - 16px), 680px) !important;
    min-height: calc(var(--nav-h) + var(--v8836-safe-bottom));
    padding: 3px 8px calc(3px + var(--v8836-safe-bottom));
    border-radius: 16px;
  }

  .bottom-nav button,
  .bottom-nav .nav-primary,
  .bottom-nav .nav-primary:not(.active) {
    min-height: 50px;
    grid-template-columns: 24px auto;
    justify-content: center;
    align-content: center;
    gap: 5px;
  }

  .bottom-nav .nav-icon,
  .bottom-nav .nav-primary:not(.active) .games-icon,
  .bottom-nav .games-icon {
    width: 24px;
    height: 24px;
  }

  .bottom-nav button b {
    font-size: max(0.66rem, 11px);
  }

  .camp-home-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "hero" "today" "story" !important;
  }

  .camp-reference-hero,
  .camp-dashboard-hero {
    min-height: 245px;
  }

  .camp-hero-copy {
    width: min(72%, 520px);
    padding: 20px;
  }

  .camp-hero-copy h1 {
    font-size: clamp(2rem, 8vh, 3rem);
  }

  .v87-cycle-tabs,
  body.yandex-shell .v87-cycle-tabs {
    position: static;
  }

  .v87-expedition-hero,
  .v87-crafting-hero,
  .v88-hero,
  .season-hub-hero,
  .page-banner {
    min-height: 230px;
  }

  .asha-room-stage {
    min-height: 620px;
  }
}

@media (min-width: 1440px) and (orientation: landscape) and (min-height: 431px) {
  .tma,
  .game-shell {
    width: min(100%, var(--app-max));
  }

  .screen {
    padding-inline: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }
}

/* source: css/expedition-tent-fix-v88-37.css */
/* Expedition ownership and Goblin Tent controls. Kept route-scoped. */
body[data-route="ashaRoom"] .asha-room-hud {
  position: relative;
  z-index: 5;
}

body[data-route="ashaRoom"] .asha-room-back {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 auto;
  color: #fff !important;
  font-size: max(0.75rem, 12px) !important;
  font-weight: 850;
  white-space: nowrap;
}

body[data-route="ashaRoom"] .asha-room-locked-offer {
  box-sizing: border-box;
  max-width: calc(100% - 24px);
}

body[data-route="ashaRoom"] .asha-room-locked-actions {
  width: 100%;
  margin-top: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 9px;
}

body[data-route="ashaRoom"] .asha-room-unlock-button,
body[data-route="ashaRoom"] .asha-room-object-action {
  min-width: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  text-align: left;
}

body[data-route="ashaRoom"] :is(.asha-room-unlock-label,.asha-room-action-label) {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}

body[data-route="ashaRoom"] :is(.asha-room-unlock-price,.asha-room-action-price) {
  min-width: max-content;
  padding-left: 10px;
  display: grid;
  justify-items: end;
  border-left: 1px solid rgba(255,255,255,.28);
  white-space: nowrap;
}

body[data-route="ashaRoom"] :is(.asha-room-unlock-price,.asha-room-action-price) b {
  color: inherit;
  font-size: max(0.86rem, 13px);
  line-height: 1;
}

body[data-route="ashaRoom"] :is(.asha-room-unlock-price,.asha-room-action-price) small {
  color: inherit;
  font-size: max(0.58rem, 10px);
  line-height: 1.1;
  opacity: .82;
}

body[data-route="ashaRoom"] .asha-room-locked-back {
  min-width: 88px;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.09) !important;
  color: #fff !important;
}

body[data-route="expedition"] :is(.v87-loadout-card,.v87-loadout-option) {
  word-break: normal;
  overflow-wrap: normal;
}

body[data-route="expedition"] :is(.v87-loadout-card,.v87-loadout-option) b {
  font-size: max(0.74rem, 12px) !important;
  line-height: 1.15;
}

body[data-route="expedition"] :is(.v87-loadout-card,.v87-loadout-option) :is(small,em,strong) {
  font-size: max(0.66rem, 11px) !important;
  line-height: 1.2;
}

body[data-route="expedition"] :is(.v87-loadout-card,.v87-loadout-option).is-unavailable:disabled {
  opacity: 1 !important;
  cursor: not-allowed;
  border-style: dashed;
  border-color: rgba(126,105,73,.32);
  background: #f2ede3;
  color: #665d50;
  box-shadow: none;
}

body[data-route="expedition"] :is(.v87-loadout-card,.v87-loadout-option).is-unavailable img {
  opacity: .55;
  filter: grayscale(.6) saturate(.45);
}

body[data-route="expedition"] .v87-loadout-card.is-unavailable em,
body[data-route="expedition"] .v87-loadout-option.is-unavailable small {
  overflow: visible;
  display: block;
  color: #8a503e;
  text-overflow: clip;
  white-space: normal;
  -webkit-line-clamp: unset;
}

body[data-route="expedition"] .v87-loadout-card.is-unavailable strong,
body[data-route="expedition"] .v87-loadout-option.is-unavailable em {
  color: #8a503e;
  white-space: nowrap;
}

@media (max-width: 680px) {
  body[data-route="expedition"] .v87-loadout-group > div,
  body[data-route="expedition"] .v87-loadout-options {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-route="ashaRoom"] .asha-room-locked-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-route="ashaRoom"] .asha-room-locked-back {
    width: 100%;
  }
}

/* source: css/games-catalog-v88-36.css */
/* v88.36: isolated replacement for the Games catalog rules removed with the
   legacy theme bundle. This file must stay after light-responsive-v88-36.css. */

body[data-route="duels"] #screen {
  --gc-paper: rgba(255, 252, 245, .97);
  --gc-soft: rgba(246, 240, 226, .92);
  --gc-line: rgba(76, 58, 34, .13);
  --gc-ink: var(--ink-1, #30271e);
  --gc-muted: var(--ink-3, #786a5a);
  --gc-green: var(--green-3, #58722f);
}

body[data-route="duels"] #screen :is(
  .games-menu-view,.games-section-view,.games-gateway-grid,.game-gateway-card,
  .game-gateway-copy,.gathering-gateway,.gathering-gateway-grid,
  .gathering-gateway-card,.gathering-gateway-copy,.activity-gateway,
  .activity-scene-hotspots,.activity-gateway-grid,.activity-hotspot,
  .game-menu-card,.game-menu-copy
) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

body[data-route="duels"] #screen :is(.games-menu-view,.games-section-view) {
  width: min(100%, 1180px);
  margin-inline: auto;
  padding-bottom: calc(var(--nav-h, 76px) + env(safe-area-inset-bottom) + 22px);
  overflow: visible;
}

body[data-route="duels"] #screen :is(.game-gateway-copy,.gathering-gateway-copy,.game-menu-copy) :is(b,strong,small,em) {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  white-space: normal;
}

/* Main gateway */
body[data-route="duels"] #screen .games-gateway-head {
  min-width: 0;
  min-height: 92px;
  padding: 13px 14px;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) 44px;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  border: 1px solid var(--gc-line);
  border-radius: 20px;
  color: var(--gc-ink);
  background: linear-gradient(145deg,var(--gc-paper),rgba(239,231,213,.96));
  box-shadow: 0 8px 22px rgba(54,42,27,.09);
}

body[data-route="duels"] #screen .games-gateway-head > img {
  width: 58px;
  height: 58px;
  display: block;
  object-fit: contain;
}

body[data-route="duels"] #screen .games-gateway-head > div,
body[data-route="duels"] #screen .gathering-gateway-summary > div { min-width: 0; }

body[data-route="duels"] #screen :is(.games-gateway-head,.gathering-gateway-summary,.section-mini-head) span {
  color: var(--gc-green);
  font-size: max(.65rem,11px);
  font-weight: 900;
  letter-spacing: .07em;
  line-height: 1.2;
  text-transform: uppercase;
}

body[data-route="duels"] #screen .games-gateway-head h1 {
  margin: 2px 0 0;
  font-size: clamp(1.45rem,4.5vw,2rem);
  line-height: 1.02;
}

body[data-route="duels"] #screen :is(.games-gateway-head,.gathering-gateway-summary,.section-mini-head) p {
  margin: 5px 0 0;
  color: var(--gc-muted);
  font-size: max(.73rem,12px);
  line-height: 1.35;
}

body[data-route="duels"] #screen .games-gateway-head .module-refresh {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  grid-column: auto;
  grid-row: auto;
  display: grid;
  place-items: center;
  border-radius: 13px;
}

body[data-route="duels"] #screen .games-gateway-live {
  width: fit-content;
  min-height: 34px;
  padding: 7px 11px;
  display: flex;
  align-items: baseline;
  gap: 6px;
  border: 1px solid var(--gc-line);
  border-radius: 999px;
  color: var(--gc-muted);
  background: var(--gc-paper);
  font-size: max(.68rem,11px);
}

body[data-route="duels"] #screen .games-gateway-live b { color: var(--gc-green); font-size: 1rem; }
body[data-route="duels"] #screen .games-gateway-live em { font-style: normal; }

body[data-route="duels"] #screen .games-gateway-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 11px;
}

body[data-route="duels"] #screen .game-gateway-card {
  width: 100%;
  min-height: 156px;
  padding: 12px;
  display: grid;
  grid-template-columns: 82px minmax(0,1fr) 12px;
  align-items: center;
  gap: 11px;
  overflow: hidden;
  border: 1px solid var(--gc-line);
  border-radius: 19px;
  color: var(--gc-ink);
  background: linear-gradient(155deg,var(--gc-paper),var(--gc-soft));
  box-shadow: 0 7px 19px rgba(53,42,28,.08);
  text-align: left;
}

body[data-route="duels"] #screen .game-gateway-card:is(:hover,:focus-visible) {
  border-color: rgba(91,119,49,.35);
  background: linear-gradient(155deg,#fffefa,#edf4de);
}

body[data-route="duels"] #screen .game-gateway-art {
  width: 82px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(255,255,255,.55);
}

body[data-route="duels"] #screen .game-gateway-art > img {
  width: 76px;
  height: 76px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 4px 6px rgba(50,35,19,.16));
}

body[data-route="duels"] #screen .game-gateway-copy {
  display: grid;
  align-content: center;
  gap: 3px;
}

body[data-route="duels"] #screen .game-gateway-copy em {
  color: var(--gc-muted);
  font-size: max(.62rem,11px);
  font-style: normal;
  line-height: 1.2;
}

body[data-route="duels"] #screen .game-gateway-copy b { font-size: clamp(.95rem,2.2vw,1.08rem); line-height: 1.15; }
body[data-route="duels"] #screen .game-gateway-copy small { color: var(--gc-muted); font-size: max(.68rem,11px); line-height: 1.3; }
body[data-route="duels"] #screen .game-gateway-copy strong { margin-top: 3px; color: var(--gc-green); font-size: max(.67rem,11px); line-height: 1.25; }

body[data-route="duels"] #screen :is(.game-gateway-card,.gathering-gateway-card,.game-menu-card) > .card-chevron {
  width: 9px;
  height: 9px;
  display: block;
  border: 0;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  color: rgba(67,55,40,.48);
  font-size: 0;
  transform: rotate(45deg);
}

/* Subcatalogs */
body[data-route="duels"] #screen :is(.gathering-gateway,.activity-gateway) { display: grid; gap: 14px; }

body[data-route="duels"] #screen .gathering-gateway-summary {
  min-width: 0;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  border: 1px solid var(--gc-line);
  border-radius: 20px;
  background: var(--gc-paper);
}

body[data-route="duels"] #screen .gathering-gateway-summary > img { width: 58px; height: 58px; display: block; object-fit: contain; }
body[data-route="duels"] #screen :is(.gathering-gateway-summary,.section-mini-head) h2 { margin: 2px 0 0; font-size: clamp(1.25rem,4vw,1.7rem); line-height: 1.08; }
body[data-route="duels"] #screen .gathering-gateway-summary > button { min-height: 44px; }

body[data-route="duels"] #screen .gathering-gateway-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}

body[data-route="duels"] #screen .gathering-gateway-card {
  width: 100%;
  min-height: 132px;
  padding: 11px;
  display: grid;
  grid-template-columns: 68px minmax(0,1fr) 10px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  border: 1px solid var(--gc-line);
  border-radius: 18px;
  color: var(--gc-ink);
  background: var(--gc-paper);
  text-align: left;
}

body[data-route="duels"] #screen .gathering-gateway-card:is(.is-dispatch,.is-claim) {
  border-color: rgba(103,134,55,.33);
  background: linear-gradient(150deg,#f7fce9,#e8f1d3);
}

body[data-route="duels"] #screen .gathering-gateway-art {
  width: 68px;
  aspect-ratio: 1;
  position: relative;
  display: grid;
  place-items: center;
}

body[data-route="duels"] #screen .gathering-gateway-art > img { width: 66px; height: 66px; display: block; object-fit: contain; }

body[data-route="duels"] #screen .gathering-gateway-art > i {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: #fffaf0;
  box-shadow: 0 3px 8px rgba(53,40,22,.18);
}

body[data-route="duels"] #screen .gathering-gateway-art > i > img { width: 25px; height: 25px; object-fit: contain; }
body[data-route="duels"] #screen .gathering-gateway-copy { display: grid; align-content: center; gap: 3px; }
body[data-route="duels"] #screen .gathering-gateway-copy :is(em,small) { color: var(--gc-muted); font-size: max(.64rem,11px); font-style: normal; line-height: 1.25; }
body[data-route="duels"] #screen .gathering-gateway-copy b { font-size: max(.86rem,13px); line-height: 1.15; }
body[data-route="duels"] #screen .gathering-gateway-copy strong { color: var(--gc-green); font-size: max(.68rem,11px); line-height: 1.2; }

body[data-route="duels"] #screen .activity-scene-hotspots {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}

body[data-route="duels"] #screen .activity-hotspot {
  width: 100%;
  min-height: 126px;
  padding: 10px;
  display: grid;
  grid-template-rows: 82px auto;
  place-items: center;
  align-content: center;
  gap: 5px;
  overflow: hidden;
  border: 1px solid var(--gc-line);
  border-radius: 18px;
  color: var(--gc-ink);
  background: var(--gc-paper);
  text-align: center;
}

body[data-route="duels"] #screen .activity-hotspot > img { width: 82px; height: 82px; display: block; object-fit: contain; }
body[data-route="duels"] #screen .activity-hotspot > span { max-width: 100%; font-size: max(.76rem,12px); font-weight: 800; line-height: 1.2; overflow-wrap: normal; word-break: normal; }
body[data-route="duels"] #screen .section-mini-head { min-width: 0; padding: 3px 2px; }

body[data-route="duels"] #screen .activity-gateway-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}

/* The strip is a decorative duplicate of the thumbnail; unstyled it expands
   to its source dimensions and caused the screenshot's giant image stream. */
body[data-route="duels"] #screen .game-menu-strip { display: none; }

body[data-route="duels"] #screen .activity-gateway-grid .game-menu-card {
  width: 100%;
  min-height: 132px;
  padding: 10px;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) 9px;
  align-items: center;
  gap: 9px;
  overflow: hidden;
  border: 1px solid var(--gc-line);
  border-radius: 17px;
  color: var(--gc-ink);
  background: var(--gc-paper);
  box-shadow: none;
  text-align: left;
}

body[data-route="duels"] #screen .activity-gateway-grid .game-menu-art {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  background: var(--gc-soft);
}

body[data-route="duels"] #screen .activity-gateway-grid .game-menu-art img { width: 55px; height: 55px; display: block; object-fit: contain; }
body[data-route="duels"] #screen .activity-gateway-grid .game-menu-copy { display: grid; align-content: center; gap: 3px; }
body[data-route="duels"] #screen .activity-gateway-grid .game-menu-title-line { min-width: 0; display: flex; align-items: center; gap: 5px; }
body[data-route="duels"] #screen .activity-gateway-grid .game-menu-title-line b { min-width: 0; font-size: max(.79rem,12px); line-height: 1.15; }

body[data-route="duels"] #screen .activity-gateway-grid .game-menu-title-line strong {
  min-width: 22px;
  min-height: 22px;
  padding-inline: 5px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: var(--gc-green);
  background: #e3edcf;
  font-size: 11px;
}

body[data-route="duels"] #screen .activity-gateway-grid .game-menu-copy > em {
  color: var(--gc-muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body[data-route="duels"] #screen .activity-gateway-grid .game-menu-status {
  margin-top: 2px;
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--gc-green);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: none;
}

body[data-route="duels"] #screen .activity-gateway-grid .game-menu-status > i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: #8da650; }

/* Phone: two compact columns. */
@media (max-width: 700px) {
  body[data-route="duels"] #screen :is(.games-gateway-grid,.gathering-gateway-grid,.activity-scene-hotspots,.activity-gateway-grid) {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }

  body[data-route="duels"] #screen .game-gateway-card {
    min-height: 176px;
    padding: 10px;
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: 76px auto;
    justify-items: center;
    align-content: center;
    gap: 7px;
    text-align: center;
  }

  body[data-route="duels"] #screen .game-gateway-art,
  body[data-route="duels"] #screen .game-gateway-art > img { width: 76px; height: 76px; }
  body[data-route="duels"] #screen .game-gateway-copy { justify-items: center; }
  body[data-route="duels"] #screen .game-gateway-copy :is(em,small) { display: none; }
  body[data-route="duels"] #screen .game-gateway-copy b { font-size: max(.88rem,13px); }
  body[data-route="duels"] #screen .game-gateway-card > .card-chevron { display: none; }

  body[data-route="duels"] #screen .game-gateway-card:last-child:nth-child(odd) {
    min-height: 112px;
    grid-column: 1 / -1;
    grid-template-columns: 78px minmax(0,1fr);
    grid-template-rows: auto;
    justify-items: stretch;
    text-align: left;
  }

  body[data-route="duels"] #screen .game-gateway-card:last-child:nth-child(odd) .game-gateway-copy { justify-items: start; }

  body[data-route="duels"] #screen .gathering-gateway-summary { grid-template-columns: 52px minmax(0,1fr); }
  body[data-route="duels"] #screen .gathering-gateway-summary > img { width: 52px; height: 52px; }
  body[data-route="duels"] #screen .gathering-gateway-summary > button { width: 100%; grid-column: 1 / -1; }

  body[data-route="duels"] #screen .gathering-gateway-card {
    min-height: 152px;
    padding: 9px;
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: 62px auto;
    justify-items: center;
    align-content: center;
    gap: 6px;
    text-align: center;
  }

  body[data-route="duels"] #screen .gathering-gateway-art,
  body[data-route="duels"] #screen .gathering-gateway-art > img { width: 62px; height: 62px; }
  body[data-route="duels"] #screen .gathering-gateway-copy { justify-items: center; }
  body[data-route="duels"] #screen .gathering-gateway-copy em,
  body[data-route="duels"] #screen .gathering-gateway-card > .card-chevron { display: none; }

  body[data-route="duels"] #screen .activity-hotspot { min-height: 116px; grid-template-rows: 70px auto; }
  body[data-route="duels"] #screen .activity-hotspot > img { width: 70px; height: 70px; }

  body[data-route="duels"] #screen .activity-gateway-grid .game-menu-card {
    min-height: 144px;
    padding: 9px;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 8px;
  }

  body[data-route="duels"] #screen .activity-gateway-grid .game-menu-art,
  body[data-route="duels"] #screen .activity-gateway-grid .game-menu-art img { width: 52px; height: 52px; }
  body[data-route="duels"] #screen .activity-gateway-grid .game-menu-card > .card-chevron { display: none; }
}

/* A single row is safer only below the smallest supported phone width. */
@media (max-width: 340px) {
  body[data-route="duels"] #screen .games-gateway-head {
    min-height: 82px;
    padding: 10px;
    grid-template-columns: 46px minmax(0,1fr) 44px;
    gap: 8px;
  }

  body[data-route="duels"] #screen .games-gateway-head > img { width: 46px; height: 46px; }
  body[data-route="duels"] #screen .games-gateway-head p { display: none; }
  body[data-route="duels"] #screen :is(.games-gateway-grid,.gathering-gateway-grid,.activity-scene-hotspots,.activity-gateway-grid) { grid-template-columns: minmax(0,1fr); }

  body[data-route="duels"] #screen .game-gateway-card,
  body[data-route="duels"] #screen .game-gateway-card:last-child:nth-child(odd),
  body[data-route="duels"] #screen .gathering-gateway-card {
    min-height: 102px;
    grid-column: auto;
    grid-template-columns: 70px minmax(0,1fr) 9px;
    grid-template-rows: auto;
    justify-items: stretch;
    text-align: left;
  }

  body[data-route="duels"] #screen :is(.game-gateway-card,.gathering-gateway-card) > .card-chevron { display: block; }
  body[data-route="duels"] #screen :is(.game-gateway-copy,.gathering-gateway-copy) { justify-items: start; }

  body[data-route="duels"] #screen .activity-hotspot {
    min-height: 82px;
    padding: 8px 11px;
    grid-template-columns: 58px minmax(0,1fr);
    grid-template-rows: auto;
    justify-items: start;
    text-align: left;
  }

  body[data-route="duels"] #screen .activity-hotspot > img { width: 58px; height: 58px; }
  body[data-route="duels"] #screen .activity-gateway-grid .game-menu-card { min-height: 94px; }
}

/* 640x360 and other short landscape screens. */
@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  body[data-route="duels"] #screen :is(.games-menu-view,.games-section-view) {
    padding-bottom: calc(var(--nav-h,60px) + env(safe-area-inset-bottom) + 14px);
  }

  body[data-route="duels"] #screen .games-gateway-head {
    min-height: 76px;
    padding: 8px 10px;
    grid-template-columns: 48px minmax(0,1fr) 44px;
    gap: 9px;
  }

  body[data-route="duels"] #screen .games-gateway-head > img { width: 48px; height: 48px; }
  body[data-route="duels"] #screen .games-gateway-head h1 { font-size: 1.38rem; }
  body[data-route="duels"] #screen .games-gateway-head p { display: none; }
  body[data-route="duels"] #screen .games-gateway-live { min-height: 28px; padding-block: 4px; }
  body[data-route="duels"] #screen .games-gateway-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }

  body[data-route="duels"] #screen .game-gateway-card,
  body[data-route="duels"] #screen .game-gateway-card:last-child:nth-child(odd) {
    min-height: 114px;
    grid-column: auto;
    grid-template-columns: 56px minmax(0,1fr);
    grid-template-rows: auto;
    justify-items: stretch;
    text-align: left;
  }

  body[data-route="duels"] #screen .game-gateway-art,
  body[data-route="duels"] #screen .game-gateway-art > img { width: 56px; height: 56px; }
  body[data-route="duels"] #screen .game-gateway-copy { justify-items: start; }
  body[data-route="duels"] #screen .game-gateway-card > .card-chevron { display: none; }
  body[data-route="duels"] #screen :is(.gathering-gateway-grid,.activity-gateway-grid) { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body[data-route="duels"] #screen .activity-scene-hotspots { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (min-width: 900px) {
  body[data-route="duels"] #screen .games-gateway-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body[data-route="duels"] #screen :is(.gathering-gateway-grid,.activity-scene-hotspots,.activity-gateway-grid) { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

/* source: css/release-polish-v88-37.css */
/* v88.37 — final calm-light palette and component-width responsive guardrails. */

:root {
  --surface: #f3f2ed;
  --surface-2: #e9e7df;
  --surface-3: #ddd9d0;
  --line: rgba(61, 55, 45, 0.15);
  --line-strong: rgba(61, 55, 45, 0.25);
}

html,
body {
  background: #cac9c4 !important;
}

body::before {
  background:
    radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.42), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(144, 140, 126, 0.14), transparent 32%),
    linear-gradient(180deg, #d8d7d2, #c8c6c0) !important;
}

.tma,
.game-shell {
  background:
    radial-gradient(circle at 50% -12%, rgba(255, 255, 255, 0.72), transparent 35%),
    linear-gradient(180deg, rgba(245, 244, 239, 0.99), rgba(235, 233, 226, 0.99)) !important;
}

.topbar {
  background: linear-gradient(180deg, rgba(247, 246, 242, 0.99), rgba(240, 239, 234, 0.97)) !important;
}

.bottom-nav {
  background: linear-gradient(180deg, rgba(247, 246, 242, 0.99), rgba(238, 237, 232, 0.99)) !important;
}

/* Never turn ordinary labels into one-letter columns. */
.screen :is(h1, h2, h3, h4, p, b, strong, small, span, em, label, legend, button) {
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.screen :is(button, article, section, nav, header, footer) {
  min-width: 0;
}

:is(.reference-profile-card, .v86-glory-card, .profile-inventory-hub, .achievement-row)
  :is(span, small, em, p),
.v87-session-card :is(span, small, em, p),
.asha-room-view :is(.asha-room-title > span, .asha-room-income span, .asha-room-action-price small) {
  font-size: max(0.7rem, 11px) !important;
}

.asha-room-object > div {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 3px;
}

.asha-room-object > div > :is(em, b, small) {
  min-width: 0;
  display: block;
  line-height: 1.3;
}

/* The trusted-shelf shortcut used viewport columns inside a narrow profile pane. */
.profile-shelf-expanded-v8825 {
  min-height: 0 !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 10px !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #f1f0ea, #e5e2d9) !important;
  color: var(--ink) !important;
  text-align: left !important;
}

.profile-shelf-summary-v8825 {
  min-width: 0;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}

.profile-shelf-summary-v8825 > img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
}

.profile-shelf-summary-v8825 > span {
  min-width: 0;
  display: grid !important;
  gap: 2px;
}

.profile-shelf-summary-v8825 :is(em, b, small) {
  min-width: 0;
  display: block !important;
  color: inherit !important;
  font-size: max(0.7rem, 11px) !important;
  line-height: 1.3 !important;
}

.profile-shelf-summary-v8825 em {
  color: var(--green-3) !important;
  font-style: normal;
  font-weight: 900;
}

.profile-shelf-summary-v8825 b {
  font-size: 1rem !important;
}

.profile-shelf-slots-v8825 {
  min-width: 0;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.profile-shelf-slots-v8825 > span {
  min-width: 0;
  padding: 7px 9px;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.5);
}

.profile-shelf-slots-v8825 img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
}

.profile-shelf-slots-v8825 b {
  min-width: 0;
  color: var(--ink) !important;
  font-size: max(0.7rem, 11px) !important;
  line-height: 1.25 !important;
}

.profile-shelf-open-v8825 {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(127, 157, 69, 0.16);
  color: var(--green-3) !important;
  font-size: max(0.76rem, 12px) !important;
  font-weight: 900;
  text-align: center;
}

body[data-route="expedition"] #screen
  :is(.v87-expedition-hero, .v87-safe-notice, .v87-route-track, .v87-choice, .v88-choice-source, .v87-loop-steps)
  :is(span, p, b, small, em, strong),
body[data-route="expedition"] #screen .v87-session > header :is(span, p),
body[data-route="expedition"] #screen .v87-node :is(span, p, b, small, em, figcaption),
.reference-edit,
.profile-world-card-v86 :is(span, strong) {
  font-size: max(0.7rem, 11px) !important;
}

/* Daily trail: text is an explicit grid instead of an accidental inline run. */
.v882-daily-trail-steps {
  min-width: 0;
}

.v882-daily-step {
  min-width: 0;
}

.v882-daily-step > span {
  min-width: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: baseline;
  gap: 3px 8px;
}

.v882-daily-step > span > em {
  grid-column: 1;
  white-space: nowrap;
}

.v882-daily-step > span > b {
  grid-column: 2;
  min-width: 0;
  line-height: 1.15;
}

.v882-daily-step > span > small {
  grid-column: 1 / -1;
  min-width: 0;
  line-height: 1.45;
}

/* This widget can sit in a narrow workspace even on a wide viewport. */
.v88-profile-summary {
  container: v8837-profile / inline-size;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
}

.v88-profile-summary > button {
  width: 100%;
  grid-column: 1 / -1 !important;
}

.v88-profile-active,
.v88-profile-active > span,
.v88-profile-support,
.v88-profile-support > span {
  min-width: 0;
}

.v88-profile-support {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.v88-profile-support > span {
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  justify-items: start;
  gap: 8px;
}

.v88-profile-support b {
  text-align: left !important;
}

@container v8837-profile (max-width: 520px) {
  .v88-profile-active {
    grid-template-columns: 64px minmax(0, 1fr) !important;
  }

  .v88-profile-active > img {
    width: 64px !important;
    height: 64px !important;
  }

}

/* Route/loadout cards respond to their own available width. */
.v88-route-strip,
.v88-route-pair {
  container-type: inline-size;
}

.v88-route-strip > div,
.v88-route-pair > div {
  min-width: 0;
}

@container (max-width: 520px) {
  .v88-route-strip > div,
  .v88-route-pair > div {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 860px) {
  .v882-daily-trail-steps {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .v882-daily-step + .v882-daily-step {
    border-inline-start: 0 !important;
    border-block-start: 1px solid var(--line) !important;
  }
}

@media (max-width: 430px) {
  .v882-daily-step {
    min-height: 80px;
    padding-inline: 10px;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px;
  }

  .v882-section-icon {
    width: 42px;
    height: 42px;
  }
}

/* source: css/release-polish-v88-38.css */
/*
 * v88.38 — last responsive layout contract.
 *
 * This layer is intentionally presentation-only and must be loaded after
 * release-polish-v88-37.css.  It keeps one real vertical scroll surface per
 * route and removes the narrow implicit grid tracks that produced one-letter
 * columns on compact screens.
 */

:root {
  --v8838-safe-top: env(safe-area-inset-top, 0px);
  --v8838-safe-right: env(safe-area-inset-right, 0px);
  --v8838-safe-bottom: env(safe-area-inset-bottom, 0px);
  --v8838-safe-left: env(safe-area-inset-left, 0px);
  --v8838-card-gap: clamp(8px, 1.6vw, 14px);
  --v8838-achievement-size: clamp(50px, 7vw, 64px);
}

/* Keep the calm grey-beige shell introduced in v88.37. */
html,
body {
  background-color: #cac9c4 !important;
}

.tma,
.game-shell {
  background:
    radial-gradient(circle at 50% -12%, rgba(255, 255, 255, 0.72), transparent 35%),
    linear-gradient(180deg, rgba(245, 244, 239, 0.99), rgba(235, 233, 226, 0.99)) !important;
}

/* ------------------------------------------------------------------------- */
/* Boot screen: the two translated title fragments are two actual lines.     */
/* ------------------------------------------------------------------------- */

.app-loader {
  box-sizing: border-box !important;
  padding:
    max(12px, var(--v8838-safe-top))
    max(12px, var(--v8838-safe-right))
    max(12px, var(--v8838-safe-bottom))
    max(12px, var(--v8838-safe-left)) !important;
}

.app-loader-card,
.loading-screen-content {
  box-sizing: border-box !important;
  width: min(100%, 460px) !important;
  max-width: 100% !important;
  max-height: calc(100dvh - max(24px, var(--v8838-safe-top)) - max(24px, var(--v8838-safe-bottom))) !important;
  padding: clamp(18px, 5vw, 28px) !important;
  overflow-x: visible !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

.app-loader-card h1,
.loading-screen-content h1 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
  gap: 2px !important;
  color: inherit !important;
  font-size: clamp(1.75rem, 8.8vw, 3rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
  text-wrap: balance;
  white-space: normal !important;
}

.app-loader-card h1 > span,
.loading-screen-content h1 > span,
.app-loader-card .loader-title-line,
.loading-screen-content .loader-title-line,
.app-loader-card [data-loader-title-primary],
.app-loader-card [data-loader-title-secondary] {
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

.app-loader-card h1 > br,
.loading-screen-content h1 > br {
  display: none !important;
}

.app-loader-card > p,
.loading-screen-content > p,
.app-loader-card [data-loader-line] {
  max-width: 34ch !important;
  margin: 12px auto 0 !important;
  overflow: visible !important;
  font-size: max(0.78rem, 12px) !important;
  line-height: 1.38 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

/* ------------------------------------------------------------------------- */
/* Goblin Park: #screen is the one scroll owner all the way to the ticket.   */
/* ------------------------------------------------------------------------- */

body.goblin-park-route,
body[data-route="goblinWheel"] {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: var(--app-viewport-height, 100dvh) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.goblin-park-route :is(.tma, .game-shell),
body[data-route="goblinWheel"] :is(.tma, .game-shell) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--app-viewport-height, 100dvh) !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body.goblin-park-route #screen,
body.goblin-park-route .screen,
body[data-route="goblinWheel"] #screen,
body[data-route="goblinWheel"] .screen {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  scroll-padding-top: max(64px, var(--v8838-safe-top)) !important;
  scroll-padding-bottom: calc(36px + var(--v8838-safe-bottom)) !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
}

body.goblin-park-route .goblin-park-view,
body[data-route="goblinWheel"] .goblin-park-view {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 100% !important;
  height: auto !important;
  overflow: visible !important;
}

.goblin-park-shell {
  box-sizing: border-box !important;
  min-height: 100% !important;
  height: auto !important;
  padding-bottom: calc(36px + var(--v8838-safe-bottom)) !important;
  overflow: visible !important;
}

.goblin-park-topbar {
  position: sticky !important;
  z-index: 20 !important;
  top: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 5px 4px !important;
  border-radius: 0 0 14px 14px;
  background: linear-gradient(180deg, rgba(48, 87, 47, 0.98), rgba(41, 75, 41, 0.94));
  backdrop-filter: blur(10px);
}

.goblin-park-topbar > div,
.goblin-park-hero-copy,
.goblin-park-booth,
.goblin-park-section-head > div,
.goblin-park-game > div {
  min-width: 0 !important;
}

.goblin-park-topbar :is(h1, small),
.goblin-park-hero-copy :is(h2, p),
.goblin-park-booth p,
.goblin-park-ticket-status,
[data-park-ticket-status],
.goblin-park-section-head :is(h2, p) {
  max-width: 100% !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

.goblin-park-ticket-status,
[data-park-ticket-status] {
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  font-size: max(0.72rem, 11px) !important;
  line-height: 1.32 !important;
}

.goblin-park-primary,
.goblin-park-secondary,
.goblin-park-game-button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: auto !important;
  padding: 10px 14px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

/* ------------------------------------------------------------------------- */
/* Maze: local camera is always a legible 5 x 5 viewport.                    */
/* ------------------------------------------------------------------------- */

body.mini-game-route #miniGameStage .maze-game {
  box-sizing: border-box !important;
  width: min(100%, 700px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.mini-game-route #miniGameStage .maze-board-viewport:is(.is-local-camera, [data-maze-view="local-camera"]),
body.mini-game-route #miniGameStage .maze-board[data-maze-view="local-camera"] {
  --maze-size: 5 !important;
  --maze-gap: clamp(3px, 1vw, 6px) !important;
  box-sizing: border-box !important;
  width: min(100%, 430px) !important;
  max-width: 100% !important;
  aspect-ratio: 1 !important;
  padding: clamp(5px, 1.6vw, 9px) !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(5, minmax(0, 1fr)) !important;
  gap: var(--maze-gap) !important;
}

body.mini-game-route #miniGameStage .maze-board-viewport:is(.is-local-camera, [data-maze-view="local-camera"]) .maze-cell,
body.mini-game-route #miniGameStage .maze-board[data-maze-view="local-camera"] .maze-cell {
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 1 !important;
  border-radius: clamp(6px, 1.7vw, 11px) !important;
}

.maze-hud,
.maze-hud > :is(span, .maze-size-switch),
.maze-message,
.maze-controls,
.maze-controls > button {
  min-width: 0 !important;
  max-width: 100% !important;
}

.maze-hud :is(b, em),
.maze-message,
.maze-controls > button {
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

/* ------------------------------------------------------------------------- */
/* Great Build: explicit columns, no implicit 38% strips or vertical words.  */
/* ------------------------------------------------------------------------- */

body[data-route="build"] #screen,
body[data-route="clan"] #screen {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
}

body[data-route="build"] :is(.great-build-view, .v890-workspace, .v890-drawer, .v890-pane-host, .v890-pane),
body[data-route="clan"] :is(.clan-view, .v890-workspace, .v890-drawer, .v890-pane-host, .v890-pane) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body[data-route="build"] .v890-pane:not([hidden]),
body[data-route="clan"] .v890-pane:not([hidden]) {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

body[data-route="build"] .great-build-projects[open],
body[data-route="build"] .great-build-projects[open] > .disclosure-body {
  overflow: visible !important;
}

body[data-route="build"] .great-build-project-grid {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 2px 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  gap: var(--v8838-card-gap) !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
  touch-action: pan-y !important;
}

body[data-route="build"] .great-build-project {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 126px !important;
  height: auto !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) auto !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
  border-radius: 18px !important;
  text-align: left !important;
  scroll-snap-align: none !important;
}

body[data-route="build"] .great-build-project > img {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
}

body[data-route="build"] .great-build-project > span {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
}

body[data-route="build"] .great-build-project > strong {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  min-width: 42px !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body[data-route="build"] .great-build-project > span :is(em, b, small),
body[data-route="build"] .great-build-req-main :is(span, h4, p, small),
body[data-route="build"] .great-build-donate-all :is(b, span, small),
body[data-route="build"] .backpack-shortcut :is(span, h3, p) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

body[data-route="build"] .great-build-project > span b {
  font-size: max(0.85rem, 14px) !important;
  line-height: 1.22 !important;
}

body[data-route="build"] .great-build-project > span :is(em, small) {
  font-size: max(0.7rem, 11px) !important;
  line-height: 1.3 !important;
}

body[data-route="build"] :is(.great-build-req-grid, .great-build-box-grid, .great-build-slot-grid) {
  min-width: 0 !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
}

body[data-route="build"] .great-build-req {
  box-sizing: border-box !important;
  min-width: 0 !important;
  height: auto !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 9px !important;
  overflow: visible !important;
}

body[data-route="build"] .great-build-req > .resource-icon-button {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
}

body[data-route="build"] .great-build-req > form {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
}

body[data-route="build"] .build-disclosure > summary,
body[data-route="build"] .great-build-projects > summary {
  box-sizing: border-box !important;
  min-width: 0 !important;
  grid-template-columns: 54px minmax(0, 1fr) auto 22px !important;
  gap: 10px !important;
}

body[data-route="build"] .build-disclosure > summary > span:not(.disclosure-icon) {
  min-width: 0 !important;
}

body[data-route="build"] .build-disclosure > summary > span:not(.disclosure-icon) :is(b, em) {
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

/* ------------------------------------------------------------------------- */
/* Clan: contain every illustration and give copy a real flexible track.     */
/* ------------------------------------------------------------------------- */

body[data-route="clan"] .clan-training-card {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

body[data-route="clan"] .clan-training-entry {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 94px !important;
  height: auto !important;
  padding: 12px 14px !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 12px !important;
  overflow: visible !important;
  border-radius: 18px !important;
  background: rgba(255, 252, 245, 0.92) !important;
  color: var(--ink) !important;
  text-align: left !important;
}

body[data-route="clan"] .clan-training-entry > img {
  grid-column: 1 !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  max-height: 64px !important;
  object-fit: contain !important;
}

body[data-route="clan"] .clan-training-entry > span {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 4px !important;
}

body[data-route="clan"] .clan-training-entry > i {
  grid-column: 3 !important;
  width: auto !important;
  font-size: 1.5rem !important;
}

body[data-route="clan"] .clan-training-entry :is(b, em),
body[data-route="clan"] .clan-priority-head :is(span, h2, p),
body[data-route="clan"] .clan-building-card :is(span, h3, p, small, b, em),
body[data-route="clan"] .clan-identity-main :is(span, h1, p) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

body[data-route="clan"] .clan-training-entry b {
  font-size: max(0.95rem, 15px) !important;
  line-height: 1.2 !important;
}

body[data-route="clan"] .clan-training-entry em {
  color: var(--ink-3) !important;
  font-size: max(0.72rem, 11px) !important;
  line-height: 1.35 !important;
  font-style: normal !important;
}

body[data-route="clan"] .clan-priority-grid {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
  align-items: stretch !important;
  gap: var(--v8838-card-gap) !important;
}

body[data-route="clan"] .clan-priority-card {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

body[data-route="clan"] .clan-priority-head {
  min-width: 0 !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
}

body[data-route="clan"] .clan-priority-head > img {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  max-height: 64px !important;
  object-fit: contain !important;
}

body[data-route="clan"] .clan-priority-head > div {
  min-width: 0 !important;
}

body[data-route="clan"] .clan-priority-actions {
  min-width: 0 !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
}

body[data-route="clan"] .clan-priority-actions > button {
  min-width: 0 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 9px 10px !important;
  white-space: normal !important;
}

body[data-route="clan"] .clan-action-icon {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  height: 26px !important;
  max-height: 26px !important;
  object-fit: contain !important;
}

body[data-route="clan"] .clan-building-list {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

body[data-route="clan"] .clan-building-card {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 10px !important;
  overflow: visible !important;
}

body[data-route="clan"] .clan-building-card > img {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
}

body[data-route="clan"] .clan-building-card > div:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

body[data-route="clan"] .clan-building-card > .building-actions {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 8px !important;
}

body[data-route="clan"] .clan-identity-main {
  min-width: 0 !important;
  grid-template-columns: clamp(58px, 12vw, 82px) minmax(0, 1fr) !important;
}

body[data-route="clan"] .clan-identity-crest {
  width: clamp(58px, 12vw, 82px) !important;
  max-width: 82px !important;
  height: clamp(58px, 12vw, 82px) !important;
  max-height: 82px !important;
  object-fit: contain !important;
}

body[data-route="clan"] :is(.clan-season-art, .community-build-bg) {
  max-width: 100% !important;
  object-fit: cover !important;
}

/* ------------------------------------------------------------------------- */
/* Achievements: collapsed by default in markup; compact once opened.        */
/* ------------------------------------------------------------------------- */

.profile-achievements,
.profile-achievements-v8838,
.v8838-achievements,
.achievement-disclosure {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

:is(.profile-achievements, .profile-achievements-v8838, .v8838-achievements, .achievement-disclosure) > summary {
  box-sizing: border-box !important;
  min-width: 0 !important;
  grid-template-columns: 54px minmax(0, 1fr) auto 22px !important;
  gap: 10px !important;
}

:is(.profile-achievements, .profile-achievements-v8838, .v8838-achievements, .achievement-disclosure)[open] > :is(.achievement-grid, .disclosure-body) {
  overflow: visible !important;
}

.achievement-grid,
.v8838-achievement-grid {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px 0 2px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)) !important;
  align-items: stretch !important;
  gap: 9px !important;
  overflow: visible !important;
}

.achievement-row,
.achievement-secret-v8838,
.v8838-achievement-card {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 82px !important;
  height: auto !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: var(--v8838-achievement-size) minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
}

.achievement-row > :is(img, .achievement-icon, .achievement-sprite, .achievement-atlas-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838),
.achievement-secret-v8838 > :is(img, .achievement-icon, .achievement-sprite, .achievement-atlas-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838),
.v8838-achievement-card > :is(img, .achievement-icon, .achievement-sprite, .achievement-atlas-icon) {
  grid-column: 1 !important;
  width: var(--v8838-achievement-size) !important;
  min-width: var(--v8838-achievement-size) !important;
  max-width: var(--v8838-achievement-size) !important;
  height: var(--v8838-achievement-size) !important;
  max-height: var(--v8838-achievement-size) !important;
  object-fit: contain !important;
}

.achievement-row > div,
.achievement-secret-v8838 > div,
.v8838-achievement-card > div {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.achievement-row > div :is(span, h3, p, small),
.achievement-secret-v8838 > div :is(span, h3, p, small),
.v8838-achievement-card > div :is(span, h3, p, small) {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

/* One 3 x 3 source image remains one atlas in memory.  JS only provides the
   atlas URL and either --achievement-position or an index attribute. */
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838) {
  display: block !important;
  background-color: #e8e3d7;
  background-image: var(--achievement-atlas, var(--achievement-atlas-image)) !important;
  background-repeat: no-repeat !important;
  background-size: 300% 300% !important;
  background-position: var(--achievement-position, var(--achievement-x, 0) var(--achievement-y, 0)) !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  clip-path: circle(49% at 50% 50%);
  box-shadow: 0 2px 8px rgba(54, 45, 29, 0.18) !important;
}

:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="0"], [data-achievement-slot="0"]) { background-position: 0 0 !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="1"], [data-achievement-slot="1"]) { background-position: 50% 0 !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="2"], [data-achievement-slot="2"]) { background-position: 100% 0 !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="3"], [data-achievement-slot="3"]) { background-position: 0 50% !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="4"], [data-achievement-slot="4"]) { background-position: 50% 50% !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="5"], [data-achievement-slot="5"]) { background-position: 100% 50% !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="6"], [data-achievement-slot="6"]) { background-position: 0 100% !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="7"], [data-achievement-slot="7"]) { background-position: 50% 100% !important; }
:is(.achievement-sprite, .achievement-atlas-icon, .v8838-achievement-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838):is([data-atlas-index="8"], [data-achievement-slot="8"]) { background-position: 100% 100% !important; }

/* Locked cards may retain old DOM copy, but it must not disclose the goal. */
:is(.achievement-row, .achievement-secret-v8838, .v8838-achievement-card):is(.locked, .is-locked, .is-hidden):not(.unlocked):not(.is-unlocked) > div > :is(p, small, .achievement-progress) {
  display: none !important;
}

:is(.achievement-row, .achievement-secret-v8838, .v8838-achievement-card):is(.locked, .is-locked, .is-hidden):not(.unlocked):not(.is-unlocked) > div > h3 {
  font-size: 0 !important;
}

:is(.achievement-row, .achievement-secret-v8838, .v8838-achievement-card):is(.locked, .is-locked, .is-hidden):not(.unlocked):not(.is-unlocked) > div > h3::after {
  content: "•••";
  font-size: max(0.88rem, 14px) !important;
  letter-spacing: 0.16em;
}

:is(.achievement-row, .achievement-secret-v8838, .v8838-achievement-card):is(.locked, .is-locked, .is-hidden):not(.unlocked):not(.is-unlocked) > :is(img, .achievement-icon, .achievement-sprite, .achievement-atlas-icon, .achievement-secret-icon-v8838, .achievement-sprite-v8838) {
  filter: grayscale(1) brightness(0.72) !important;
  opacity: 0.58 !important;
}

/* ------------------------------------------------------------------------- */
/* Width-specific contracts.                                                  */
/* ------------------------------------------------------------------------- */

@media (orientation: portrait) and (max-width: 760px) {
  .goblin-park-hero {
    min-height: 0 !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    overflow: hidden !important;
  }

  .goblin-park-hero-copy {
    box-sizing: border-box !important;
    min-height: clamp(292px, 52svh, 440px) !important;
    padding: clamp(18px, 5vw, 28px) !important;
    display: grid !important;
    align-content: end !important;
  }

  .goblin-park-hero-copy h2 {
    max-width: 14ch !important;
    margin-block: 6px 10px !important;
    font-size: clamp(30px, 9.6vw, 44px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.04em !important;
    text-wrap: balance;
  }

  .goblin-park-hero-copy p {
    font-size: max(0.78rem, 12px) !important;
    line-height: 1.38 !important;
  }

  .goblin-park-booth {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto auto !important;
    justify-items: stretch !important;
    gap: 6px 10px !important;
    overflow: visible !important;
  }

  .goblin-park-ticket-art {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    width: 72px !important;
    max-width: 72px !important;
    align-self: center !important;
  }

  .goblin-park-ticket-count,
  .goblin-park-booth > p,
  .goblin-park-booth > .goblin-park-primary,
  .goblin-park-booth > .goblin-park-limit {
    grid-column: 2 !important;
    width: 100% !important;
    justify-self: stretch !important;
  }

  .goblin-park-ticket-count { grid-row: 1 !important; }
  .goblin-park-booth > p { grid-row: 2 !important; }
  .goblin-park-booth > .goblin-park-primary { grid-row: 3 !important; }
  .goblin-park-booth > .goblin-park-ticket-status {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .goblin-park-booth > .goblin-park-limit {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
    text-align: center !important;
  }

  .goblin-park-section-head {
    align-items: start !important;
    flex-direction: column !important;
    gap: 7px !important;
  }

  .goblin-park-section-head p {
    text-align: left !important;
  }

  body.mini-game-route #miniGameStage .maze-board-viewport:is(.is-local-camera, [data-maze-view="local-camera"]) {
    width: min(calc(100vw - 28px - var(--v8838-safe-left) - var(--v8838-safe-right)), 420px) !important;
  }

  body[data-route="build"] .great-build-project-grid,
  body[data-route="build"] :is(.great-build-req-grid, .great-build-box-grid, .great-build-slot-grid),
  body[data-route="clan"] .clan-priority-grid,
  .achievement-grid,
  .v8838-achievement-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 430px) {
  .app-loader-card h1,
  .loading-screen-content h1 {
    font-size: clamp(1.7rem, 9vw, 2.3rem) !important;
  }

  .goblin-park-topbar {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    gap: 7px !important;
  }

  .goblin-park-topbar h1 {
    font-size: max(1rem, 16px) !important;
    line-height: 1.1 !important;
  }

  body[data-route="build"] .great-build-project {
    min-height: 116px !important;
    padding: 10px !important;
    grid-template-columns: 60px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    gap: 6px 9px !important;
  }

  body[data-route="build"] .great-build-project > img {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
    max-height: 60px !important;
  }

  body[data-route="build"] .great-build-project > span {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
  }

  body[data-route="build"] .great-build-project > strong {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: stretch !important;
  }

  body[data-route="build"] .build-disclosure > summary,
  body[data-route="build"] .great-build-projects > summary,
  :is(.profile-achievements, .profile-achievements-v8838, .v8838-achievements, .achievement-disclosure) > summary {
    grid-template-columns: 48px minmax(0, 1fr) auto 18px !important;
    gap: 7px !important;
  }

  body[data-route="clan"] .clan-training-entry {
    grid-template-columns: 54px minmax(0, 1fr) 18px !important;
    min-height: 82px !important;
    padding: 10px !important;
    gap: 9px !important;
  }

  body[data-route="clan"] .clan-training-entry > img {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    max-height: 54px !important;
  }

  body[data-route="clan"] .clan-priority-head {
    grid-template-columns: 54px minmax(0, 1fr) !important;
  }

  body[data-route="clan"] .clan-priority-head > img {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    max-height: 54px !important;
  }

  body[data-route="clan"] .clan-building-card {
    grid-template-columns: 60px minmax(0, 1fr) !important;
  }

  body[data-route="clan"] .clan-building-card > img {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: 60px !important;
    max-height: 60px !important;
  }

  .achievement-row,
  .achievement-secret-v8838,
  .v8838-achievement-card {
    --v8838-achievement-size: 52px;
    min-height: 76px !important;
    padding: 9px !important;
  }
}

/* Narrow drawers exist on desktop too, so their children use container width. */
.v882-daily-trail {
  container: v8839-daily-trail / inline-size;
}

@container v8839-daily-trail (max-width: 600px) {
  .v882-daily-trail-steps {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
  }

  .v882-daily-step {
    min-height: 80px !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .v882-daily-step + .v882-daily-step {
    border-inline-start: 0 !important;
    border-block-start: 1px solid var(--v882-divider, rgba(77, 58, 33, 0.12)) !important;
  }

  .v882-daily-step > span {
    grid-template-columns: max-content minmax(0, 1fr) !important;
  }

  .v882-daily-step > span :is(em, b, small) {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
  }
}

.trusted-shelf-v88 .v88-loadout {
  container: v8839-loadout / inline-size;
}

@container v8839-loadout (max-width: 520px) {
  .trusted-shelf-v88 .v88-loadout > header {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .trusted-shelf-v88 .v88-loadout > header > button {
    width: 100% !important;
  }

  .trusted-shelf-v88 .v88-loadout > header h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

/* Clan assignment names need a readable cell, not five 54 px text columns. */
@media (max-width: 560px) {
  body[data-route="clan"] .random-clan-crests {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr)) !important;
    overflow-x: visible !important;
  }

  body[data-route="clan"] .random-clan-crests > div {
    min-width: 0 !important;
  }

  body[data-route="clan"] .random-clan-crests > div > span {
    width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    writing-mode: horizontal-tb !important;
  }
}

/* The landscape game preview rule must not remove the trigger icon from its
   grid; otherwise the copy is auto-placed in the 38 px icon column. */
.v8832-token-picker-trigger > .v8832-token-preview {
  position: static !important;
  inset: auto !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Multi-column collections may only use a column count their cards can
   actually support.  These floors protect the inner copy tracks. */
.task-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)) !important;
}

@media (min-width: 761px) {
  .task-card {
    grid-template-columns: 92px minmax(0, 1fr) minmax(170px, 212px) !important;
  }
}

body[data-route="codex"] .v87-recipe-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
}

body[data-route="codex"] .v87-recipe footer > button {
  min-width: max-content !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: nowrap !important;
}

/* On a 320 px phone the icon sits above each value so the whole 100 px cell
   remains available to its label. */
@media (max-width: 350px) {
  :is(.shop-account-strip, .contract-dashboard) > span {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    align-content: center !important;
    gap: 2px !important;
    text-align: center !important;
  }

  :is(.shop-account-strip, .contract-dashboard) > span > i {
    width: 100% !important;
    justify-items: center !important;
  }

  :is(.shop-account-strip, .contract-dashboard) > span > i > em {
    width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 470px) {
  body[data-route="clan"] .community-card-head {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  body[data-route="clan"] .community-card-head > b {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: 3px !important;
  }

  body[data-route="clan"] .community-card-head h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

@media (max-width: 600px) {
  body[data-route="clan"] .community-resource-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
  }

  body[data-route="clan"] .community-resource-row b {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

body[data-route="expedition"] :is(.v87-loading, .v87-unavailable) h1 {
  max-width: 100% !important;
  font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  body[data-route="expedition"] :is(.v87-loading, .v87-unavailable) h1 {
    max-width: 100% !important;
    font-size: clamp(1.75rem, 5vw, 2rem) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

/* Residual camp and Park tracks: late desktop grids must size for copy, not
   preserve decorative multi-column counts at the cost of broken words. */
body[data-route="camp"] .season-hub-camp-copy {
  box-sizing: border-box !important;
  width: min(100%, 640px) !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

body[data-route="camp"] .season-hub-camp-copy > b,
body[data-route="camp"] .camp-primary-actions .reference-action-copy > :is(em, b, small) {
  width: 100% !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  writing-mode: horizontal-tb !important;
}

body[data-route="camp"] .camp-primary-actions {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

body[data-route="camp"] .camp-primary-actions .reference-action-card {
  grid-template-columns: 54px minmax(0, 1fr) 14px !important;
}

.v8832-token-picker-trigger {
  box-sizing: border-box !important;
  width: min(100%, 360px) !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
}

.v8832-token-picker-trigger > .v8832-token-preview {
  position: static !important;
  inset: auto !important;
  grid-column: 1 !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.v8832-token-picker-trigger > span:not(.v8832-token-preview) {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  writing-mode: horizontal-tb !important;
}

.v8832-token-picker-trigger > i {
  grid-column: 3 !important;
}

.goblin-park-games {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}

.goblin-park-game-stats {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.goblin-park-game-stats > span {
  min-width: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  writing-mode: horizontal-tb !important;
}

@media (max-width: 760px) {
  .goblin-park-section-head {
    width: 100% !important;
    align-items: start !important;
    flex-direction: column !important;
    gap: 7px !important;
  }

  .goblin-park-section-head > div,
  .goblin-park-section-head :is(h2, p) {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }
}

/* The season title is display copy: resize it instead of splitting words. */
body[data-route="season"] .season-hub-hero-copy h1 {
  max-width: 18ch !important;
  font-size: clamp(2.35rem, 5.6vw, 5.2rem) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  white-space: normal !important;
  text-wrap: balance;
}

@media (max-width: 620px) {
  body[data-route="season"] .season-hub-hero-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2.2rem, 11vw, 3.6rem) !important;
  }
}

/* Exact QA target: all content remains reachable at 640 x 360. */
@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  .app-loader-card,
  .loading-screen-content {
    width: min(100%, 520px) !important;
    padding: 12px 18px !important;
  }

  .app-loader-card h1,
  .loading-screen-content h1 {
    font-size: clamp(1.45rem, 7vh, 2rem) !important;
  }

  .app-loader-card > p,
  .loading-screen-content > p,
  .app-loader-card [data-loader-line] {
    margin-top: 7px !important;
    font-size: 12px !important;
  }

  .loading-orbs {
    margin-top: 8px !important;
  }

  .goblin-park-shell {
    padding-top: max(4px, var(--v8838-safe-top)) !important;
  }

  .goblin-park-topbar {
    min-height: 44px !important;
    margin-bottom: 6px !important;
  }

  .goblin-park-hero {
    min-height: 270px !important;
    height: auto !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(210px, 0.65fr) !important;
  }

  .goblin-park-hero-copy {
    padding: 14px !important;
  }

  .goblin-park-hero-copy h2 {
    max-width: 14ch !important;
    font-size: clamp(28px, 5vw, 36px) !important;
    line-height: 0.98 !important;
  }

  .goblin-park-hero-copy p {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .goblin-park-booth {
    padding: 9px !important;
    gap: 4px !important;
  }

  .goblin-park-ticket-art {
    width: 104px !important;
    max-width: 100% !important;
  }

  body.mini-game-route #miniGameStage .maze-game {
    grid-template-columns: minmax(270px, 318px) minmax(0, 1fr) !important;
  }

  body.mini-game-route #miniGameStage .maze-board-viewport:is(.is-local-camera, [data-maze-view="local-camera"]) {
    width: min(49vw, calc(100dvh - 34px), 318px) !important;
  }

  body[data-route="build"] #screen,
  body[data-route="clan"] #screen {
    scroll-padding-bottom: calc(68px + var(--v8838-safe-bottom)) !important;
  }

  body[data-route="build"] .great-build-project-grid,
  body[data-route="clan"] .clan-priority-grid,
  .achievement-grid,
  .v8838-achievement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-route="build"] .great-build-project {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    padding: 9px !important;
  }

  body[data-route="build"] .great-build-project > img {
    width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
    max-height: 58px !important;
  }

  body[data-route="build"] .great-build-project > span {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
  }

  body[data-route="build"] .great-build-project > strong {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
  }

  body[data-route="clan"] .clan-training-entry {
    min-height: 76px !important;
    grid-template-columns: 52px minmax(0, 1fr) 18px !important;
    padding: 8px 10px !important;
  }

  body[data-route="clan"] .clan-training-entry > img {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
  }
}

@media (min-width: 1280px) and (min-height: 431px) {
  body[data-route="build"] .great-build-project-grid,
  body[data-route="clan"] .clan-priority-grid,
  .achievement-grid,
  .v8838-achievement-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Gryzlo's living chronicle: goal, two recent milestones and endless archive. */
/* ------------------------------------------------------------------------- */

body[data-route="lore"] #screen,
.gryzlo-lore-view {
  overflow-x: hidden !important;
}

.gryzlo-lore-view :is(
  .gryzlo-history-goal,
  .gryzlo-history-goal-head,
  .gryzlo-history-goal-stats,
  .gryzlo-history-recent,
  .gryzlo-history-archive,
  .gryzlo-history-chapter,
  .gryzlo-history-leaders,
  [data-gryzlo-history-archive-list]
) {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.gryzlo-lore-view :is(
  .gryzlo-history-goal,
  .gryzlo-history-recent,
  .gryzlo-history-archive
) {
  width: 100% !important;
  margin: var(--v8838-card-gap) 0 0 !important;
  padding: clamp(14px, 4vw, 24px) !important;
  border: 1px solid rgba(110, 89, 53, 0.18) !important;
  border-radius: clamp(16px, 4vw, 24px) !important;
  background: rgba(250, 247, 238, 0.96) !important;
  box-shadow: 0 8px 24px rgba(63, 50, 31, 0.07) !important;
  color: #342d24 !important;
}

.gryzlo-history-goal {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  border-color: rgba(83, 112, 45, 0.3) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(160, 184, 103, 0.22), transparent 44%),
    rgba(247, 247, 232, 0.98) !important;
}

.gryzlo-history-goal-head > span,
.gryzlo-history-recent > div:first-child > span,
.gryzlo-history-archive > div:first-child > span {
  display: block !important;
  margin: 0 0 4px !important;
  color: #6a8238 !important;
  font-size: max(0.72rem, 11px) !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.gryzlo-lore-view :is(
  .gryzlo-history-goal-head,
  .gryzlo-history-goal-stats,
  .gryzlo-history-recent > div:first-child,
  .gryzlo-history-archive > div:first-child
) :is(h2, p, span, b, small) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

.gryzlo-lore-view :is(.gryzlo-history-goal-head, .gryzlo-history-recent, .gryzlo-history-archive) h2 {
  margin: 0 !important;
  font-size: clamp(1.25rem, 5vw, 1.8rem) !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

.gryzlo-lore-view :is(.gryzlo-history-goal-head, .gryzlo-history-recent, .gryzlo-history-archive) p {
  margin: 7px 0 0 !important;
  color: #786d5e !important;
  font-size: max(0.86rem, 13px) !important;
  line-height: 1.46 !important;
}

.gryzlo-history-goal-stats {
  display: grid !important;
  gap: 5px !important;
  align-content: start !important;
  padding: 12px !important;
  border: 1px solid rgba(100, 126, 55, 0.18) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.58) !important;
}

.gryzlo-history-goal-stats > b {
  color: #4f692c !important;
  font-size: max(0.84rem, 13px) !important;
}

.gryzlo-history-goal-stats > span {
  color: #4b4338 !important;
  font-size: max(0.82rem, 12px) !important;
  line-height: 1.42 !important;
}

.gryzlo-history-goal-stats > small {
  margin-top: 4px !important;
  color: #817665 !important;
  font-size: max(0.72rem, 11px) !important;
  line-height: 1.35 !important;
}

.gryzlo-history-notice {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: var(--v8838-card-gap) 0 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(154, 112, 42, 0.22) !important;
  border-radius: 12px !important;
  background: rgba(255, 243, 205, 0.82) !important;
  color: #735b31 !important;
  font-size: max(0.78rem, 12px) !important;
  line-height: 1.4 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.gryzlo-history-recent,
.gryzlo-history-archive,
[data-gryzlo-history-archive-list] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

.gryzlo-history-chapter {
  width: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(91, 75, 48, 0.16) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.72) !important;
}

.gryzlo-history-chapter > summary {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 18px !important;
  gap: 10px !important;
  align-items: start !important;
  padding: 12px !important;
  cursor: pointer !important;
  list-style: none !important;
}

.gryzlo-history-chapter > summary::-webkit-details-marker {
  display: none !important;
}

.gryzlo-history-chapter > summary > b {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: #e9efd9 !important;
  color: #506d2d !important;
  font-size: max(0.9rem, 14px) !important;
  line-height: 1 !important;
}

.gryzlo-history-chapter > summary > span {
  min-width: 0 !important;
  display: grid !important;
  gap: 3px !important;
}

.gryzlo-history-chapter > summary :is(em, strong, small) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

.gryzlo-history-chapter > summary em {
  color: #788b50 !important;
  font-size: max(0.68rem, 11px) !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.gryzlo-history-chapter > summary strong {
  color: #30291f !important;
  font-size: max(0.96rem, 15px) !important;
  line-height: 1.22 !important;
}

.gryzlo-history-chapter > summary small {
  color: #7b7061 !important;
  font-size: max(0.76rem, 12px) !important;
  line-height: 1.38 !important;
}

.gryzlo-history-chapter > summary > i {
  align-self: center !important;
  color: #6f7d53 !important;
  font-style: normal !important;
  transition: transform 160ms ease;
}

.gryzlo-history-chapter[open] > summary > i {
  transform: rotate(180deg);
}

.gryzlo-history-chapter .gryzlo-chapter-body {
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 12px 14px 64px !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.gryzlo-history-chapter .gryzlo-chapter-body > p {
  margin: 0 0 9px !important;
  color: #50483e !important;
  font-size: max(0.84rem, 13px) !important;
  line-height: 1.52 !important;
  white-space: normal !important;
}

.gryzlo-history-leaders {
  margin-top: 12px !important;
  padding: 11px !important;
  border-radius: 13px !important;
  background: rgba(233, 239, 217, 0.72) !important;
}

.gryzlo-history-leaders h4 {
  margin: 0 0 8px !important;
  color: #526b31 !important;
  font-size: max(0.8rem, 12px) !important;
  line-height: 1.3 !important;
}

.gryzlo-history-leaders ol {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.gryzlo-history-leaders li {
  min-width: 0 !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  color: #554c3d !important;
  font-size: max(0.76rem, 12px) !important;
  line-height: 1.35 !important;
}

.gryzlo-history-leaders li > b {
  min-width: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.gryzlo-history-leaders li > span {
  flex: 0 0 auto !important;
  color: #577330 !important;
  font-weight: 900 !important;
}

.gryzlo-history-archive [data-gryzlo-history-load] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 2px 0 0 !important;
  padding: 10px 14px !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

.gryzlo-history-archive [data-gryzlo-history-empty] {
  margin: 0 !important;
  padding: 10px 0 0 !important;
  color: #817665 !important;
  font-size: max(0.78rem, 12px) !important;
  line-height: 1.4 !important;
}

@media (min-width: 720px) {
  .gryzlo-history-goal {
    grid-template-columns: minmax(0, 1.15fr) minmax(240px, 0.85fr) !important;
    align-items: stretch !important;
  }

  .gryzlo-history-leaders ol {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
  }

  .gryzlo-history-archive [data-gryzlo-history-load] {
    width: auto !important;
    justify-self: start !important;
  }
}

@media (min-width: 1024px) {
  .gryzlo-history-recent,
  [data-gryzlo-history-archive-list] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gryzlo-history-recent > div:first-child {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 380px) {
  .gryzlo-history-chapter > summary {
    grid-template-columns: 36px minmax(0, 1fr) 14px !important;
    gap: 8px !important;
    padding: 10px !important;
  }

  .gryzlo-history-chapter > summary > b {
    width: 36px !important;
    height: 36px !important;
  }

  .gryzlo-history-chapter .gryzlo-chapter-body {
    padding: 0 10px 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .goblin-park-topbar {
    backdrop-filter: none !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Text-flow audit: ordinary copy must never collapse into letter columns.   */
/* ------------------------------------------------------------------------- */

:is(
    .screen,
    .app-dialog,
    .modal,
    .app-modal,
    .popover,
    .topbar,
    .bottom-nav
  )
  :is(h1, h2, h3, h4, p, b, strong, small, span, em, label, legend, button, li, dt, dd) {
  min-inline-size: 0 !important;
  max-inline-size: 100%;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/* The v88.36 late tablet rule re-opened two columns after component rules. */
@media (min-width: 431px) and (max-width: 700px) {
  :is(
      .reference-action-grid,
      .task-list,
      .v87-recipe-grid,
      .v88-owned-grid,
      .season-hub-story-grid
    ) {
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
  }
}

@media (min-width: 431px) and (max-width: 620px) {
  .season-hub-week-grid {
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
  }
}

/*
 * The Six Families panel used viewport breakpoints even when it lived inside
 * a narrower profile pane.  At intermediate widths that produced two cards,
 * then split every card again into an illustration track and a copy track.
 * The remaining copy track could be only a few characters wide.  The grid now
 * responds to its own inline size and keeps at least 320 px per card.
 */

.trusted-shelf-v88,
.trusted-shelf-v88 .v88-utility,
.trusted-shelf-v88 .v88-utility > header,
.trusted-shelf-v88 .v88-utility > header > div,
.trusted-shelf-v88 .v88-utility-grid,
.trusted-shelf-v88 .v88-utility-card,
.trusted-shelf-v88 .v88-utility-card > figure,
.trusted-shelf-v88 .v88-utility-card > div,
.trusted-shelf-v88 .v88-utility-card > footer,
.trusted-shelf-v88 .v88-free-row,
.trusted-shelf-v88 .v88-free-row > span,
.trusted-shelf-v88 .v88-motion-controls {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.trusted-shelf-v88 .v88-utility {
  width: 100% !important;
  container: v8838-utility / inline-size;
}

.trusted-shelf-v88 .v88-utility > header {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 10px 14px !important;
}

.trusted-shelf-v88 .v88-utility > header > button {
  min-width: 0 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 14px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

.trusted-shelf-v88 .v88-utility-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  align-items: stretch !important;
  gap: 10px !important;
}

.trusted-shelf-v88 .v88-utility-card {
  width: 100% !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
  overflow: hidden !important;
}

.trusted-shelf-v88 .v88-utility-card > figure {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-height: clamp(132px, 34vw, 178px) !important;
  margin: 0 !important;
}

.trusted-shelf-v88 .v88-utility-card .v88-utility-art {
  width: 100% !important;
  max-width: 190px !important;
  height: clamp(132px, 34vw, 178px) !important;
  margin-inline: auto !important;
  object-fit: contain !important;
}

.trusted-shelf-v88 .v88-utility-card > div {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  padding: 12px !important;
}

.trusted-shelf-v88 .v88-utility-card > footer {
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 8px 10px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
}

.trusted-shelf-v88 .v88-utility-card > footer > b {
  flex: 0 0 25px !important;
}

.trusted-shelf-v88 .v88-utility-card > footer > span {
  min-width: 0 !important;
  flex: 1 1 14ch !important;
  font-size: max(0.68rem, 11px) !important;
  line-height: 1.3 !important;
}

.trusted-shelf-v88 .v88-utility-card :is(h3, p, span, dt, dd, b, strong, button),
.trusted-shelf-v88 .v88-utility > header :is(h2, p, span, button) {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
}

.trusted-shelf-v88 .v88-utility-card > div > span,
.trusted-shelf-v88 .v88-utility-card dt {
  font-size: max(0.67rem, 11px) !important;
  line-height: 1.28 !important;
  letter-spacing: 0.045em !important;
}

.trusted-shelf-v88 .v88-utility-card h3 {
  font-size: max(0.94rem, 15px) !important;
  line-height: 1.18 !important;
}

.trusted-shelf-v88 .v88-utility-card :is(p, dd) {
  font-size: max(0.74rem, 12px) !important;
  line-height: 1.42 !important;
}

.trusted-shelf-v88 .v88-utility-card dl,
.trusted-shelf-v88 .v88-utility-card dl > div {
  min-width: 0 !important;
  max-width: 100% !important;
}

.trusted-shelf-v88 .v88-free-row {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

.trusted-shelf-v88 .v88-free-row.no-art {
  grid-template-columns: minmax(0, 1fr) !important;
}

.trusted-shelf-v88 .v88-free-row.no-art > span {
  grid-column: 1 !important;
  width: 100% !important;
}

.trusted-shelf-v88 .v88-motion-controls {
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

.trusted-shelf-v88 .v88-motion-controls > button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 6px 4px !important;
  font-size: max(0.68rem, 11px) !important;
  line-height: 1.15 !important;
}

/* Compact phones keep cards vertical so artwork never steals the copy width. */
@container v8838-utility (max-width: 439px) {
  .trusted-shelf-v88 .v88-utility > header {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }

  .trusted-shelf-v88 .v88-utility > header > button {
    width: 100% !important;
  }

  .trusted-shelf-v88 .v88-utility-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Mid-size panes get one wide horizontal card, never two cramped cards. */
@container v8838-utility (min-width: 440px) and (max-width: 719px) {
  .trusted-shelf-v88 .v88-utility-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .trusted-shelf-v88 .v88-utility-card {
    grid-template-columns: clamp(116px, 28%, 156px) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
  }

  .trusted-shelf-v88 .v88-utility-card > figure {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 100% !important;
  }

  .trusted-shelf-v88 .v88-utility-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .trusted-shelf-v88 .v88-utility-card > footer {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
}

/* Viewport fallbacks only run in WebViews without size-container queries. */
@supports not (container-type: inline-size) {
  @media (max-width: 439px) {
    .trusted-shelf-v88 .v88-utility > header,
    .trusted-shelf-v88 .v88-utility-grid {
      grid-template-columns: minmax(0, 1fr) !important;
    }

    .trusted-shelf-v88 .v88-utility > header > button {
      width: 100% !important;
    }
  }

  @media (min-width: 440px) and (max-width: 719px) {
    .trusted-shelf-v88 .v88-utility-grid {
      grid-template-columns: minmax(0, 1fr) !important;
    }

    .trusted-shelf-v88 .v88-utility-card {
      grid-template-columns: clamp(116px, 28%, 156px) minmax(0, 1fr) !important;
      grid-template-rows: auto auto !important;
    }

    .trusted-shelf-v88 .v88-utility-card > figure {
      grid-column: 1 !important;
      grid-row: 1 !important;
      min-height: 100% !important;
    }

    .trusted-shelf-v88 .v88-utility-card > div {
      grid-column: 2 !important;
      grid-row: 1 !important;
    }

    .trusted-shelf-v88 .v88-utility-card > footer {
      grid-column: 1 / -1 !important;
      grid-row: 2 !important;
    }
  }
}

/* ------------------------------------------------------------------------- */
/* Collection loadout: buttons and empty-slot copy keep a real text track.   */
/* ------------------------------------------------------------------------- */

.trusted-shelf-v88 :is(
    .v88-loadout,
    .v88-loadout > header,
    .v88-loadout > header > div,
    .v88-loadout > div:not(.v88-loadout-grid),
    .v88-loadout-slot
  ) {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.trusted-shelf-v88 .v88-loadout {
  width: 100% !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
}

.trusted-shelf-v88 .v88-loadout > header {
  width: 100% !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 10px 14px !important;
}

.trusted-shelf-v88 .v88-loadout > header > div {
  width: 100% !important;
}

.trusted-shelf-v88 .v88-loadout > header > button {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 14px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

.trusted-shelf-v88 .v88-loadout > header :is(span, h2, p),
.trusted-shelf-v88 .v88-loadout-slot :is(span, b, em) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
}

.trusted-shelf-v88 .v88-loadout > div:not(.v88-loadout-grid) {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 8px !important;
}

.trusted-shelf-v88 .v88-loadout-slot {
  position: relative !important;
  width: 100% !important;
  min-height: 96px !important;
  height: auto !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  align-content: center !important;
  align-items: center !important;
  gap: 3px 10px !important;
  overflow: hidden !important;
}

.trusted-shelf-v88 .v88-loadout-slot > img {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  max-height: 56px !important;
  object-fit: contain !important;
}

.trusted-shelf-v88 .v88-loadout-slot > span {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.trusted-shelf-v88 .v88-loadout-slot > b {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.trusted-shelf-v88 .v88-loadout-slot > em {
  grid-column: 2 !important;
  grid-row: 3 !important;
  font-size: max(0.72rem, 11px) !important;
  line-height: 1.3 !important;
}

.trusted-shelf-v88 .v88-loadout-slot > button {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
}

@media (max-width: 430px) {
  .trusted-shelf-v88 .v88-loadout > header {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .trusted-shelf-v88 .v88-loadout > header > button {
    width: 100% !important;
  }

  .trusted-shelf-v88 .v88-loadout > div:not(.v88-loadout-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* A 5 × 5 garden stays a board; short labels stay on one horizontal line. */
@media (max-width: 430px) {
  body[data-route="garden"] .garden-board-grid {
    gap: 5px !important;
    padding: 5px !important;
  }

  body[data-route="garden"] .garden-board-grid > .garden-cell {
    min-width: 0 !important;
    min-height: 72px !important;
    height: 72px !important;
    padding: 8px 2px 4px !important;
    grid-template-rows: auto auto auto !important;
    overflow: hidden !important;
  }

  body[data-route="garden"] .garden-cell > :is(span, em) {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
  }
}

/* Keep this container override last: the collection drawer is narrow even on
   desktop, so viewport media queries cannot protect the header from squeezing. */
@container v8839-loadout (max-width: 520px) {
  .trusted-shelf-v88 .v88-loadout > header {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .trusted-shelf-v88 .v88-loadout > header > button {
    width: 100% !important;
  }

  .trusted-shelf-v88 .v88-loadout > header h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

/* source: css/goblin-park-online-v88-41.css */
/* v88.41 — server-owned Goblin Park online lifecycle */

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: clamp(210px, 33vw, 330px) !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  order: initial !important;
  border: 2px solid rgba(230, 197, 103, .5) !important;
  border-radius: 26px !important;
  background:
    linear-gradient(90deg, rgba(8, 25, 12, .95), rgba(8, 25, 12, .33) 74%),
    url("../assets/ui/v88_31/goblin-park/park_scene_wide.webp") center 42% / cover no-repeat !important;
  box-shadow: 0 14px 34px rgba(31, 46, 24, .22) !important;
  overflow: hidden !important;
}

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway > button {
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  padding: clamp(18px, 4vw, 34px) !important;
  display: grid !important;
  align-content: end !important;
  justify-items: start !important;
  color: #fff8df !important;
  text-align: left !important;
}

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway h3 {
  max-width: 17ch !important;
  margin: 5px 0 8px !important;
  color: #fff8df !important;
  font-size: clamp(29px, 5.4vw, 52px) !important;
  line-height: .98 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: balance;
}

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway p {
  max-width: 61ch !important;
  color: #edf0d5 !important;
  font-size: max(.76rem, 12px) !important;
  line-height: 1.4 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway strong {
  display: inline-flex !important;
  max-width: 100% !important;
  margin-top: 12px !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 232, 155, .32) !important;
  border-radius: 999px !important;
  color: #edee94 !important;
  background: rgba(13, 35, 18, .72) !important;
  font-size: max(.7rem, 11px) !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

.goblin-park-online-card-status {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 7px 0;
  color: #dce6b7;
  font: 750 12px/1.25 system-ui, sans-serif;
  overflow-wrap: normal;
  word-break: normal;
}

.goblin-park-online-card-status b { color: #fff0a7; }

.goblin-park-online-presence {
  position: fixed;
  z-index: 9050;
  right: max(10px, env(safe-area-inset-right));
  bottom: calc(88px + env(safe-area-inset-bottom));
  box-sizing: border-box;
  width: min(330px, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));
  min-width: 0;
  min-height: 58px;
  padding: 7px 10px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 9px;
  border: 2px solid #ffe58c;
  border-radius: 18px;
  color: #fff9df;
  background: linear-gradient(145deg, rgba(57, 112, 54, .98), rgba(22, 57, 30, .98));
  box-shadow: 0 12px 32px rgba(4, 18, 8, .38), 0 0 0 4px rgba(255, 218, 99, .12);
  text-align: left;
  animation: park-online-presence-pulse 1.8s ease-in-out infinite alternate;
}

.goblin-park-online-presence[hidden] { display: none !important; }
body:has([data-park-online-match]) .goblin-park-online-presence { display: none !important; }
.goblin-park-online-presence > span:first-child { width: 44px; height: 44px; filter: saturate(1.35) brightness(1.18) drop-shadow(0 0 8px rgba(255, 224, 91, .55)); }
.goblin-park-online-presence > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.goblin-park-online-presence b { min-width: 0; font: 900 13px/1.15 system-ui, sans-serif; overflow-wrap: normal; word-break: normal; }
.goblin-park-online-presence small { min-width: 0; color: #e7eabf; font: 750 11px/1.2 system-ui, sans-serif; overflow-wrap: normal; word-break: normal; }
.goblin-park-online-presence > i { color: #ffe58c; font: 900 22px/1 system-ui, sans-serif; }

.goblin-park-online-match {
  position: fixed;
  z-index: 9000;
  inset: 0;
  box-sizing: border-box;
  padding:
    max(8px, env(safe-area-inset-top))
    max(8px, env(safe-area-inset-right))
    max(8px, env(safe-area-inset-bottom))
    max(8px, env(safe-area-inset-left));
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff8df;
  background: rgba(5, 17, 8, .92);
  backdrop-filter: blur(8px);
}

.goblin-park-online-card {
  box-sizing: border-box;
  width: min(760px, 100%);
  max-height: 100%;
  min-width: 0;
  padding: clamp(12px, 2.7vw, 24px);
  display: grid;
  align-content: start;
  gap: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 2px solid rgba(255, 229, 140, .5);
  border-radius: 25px;
  background:
    radial-gradient(circle at 50% -10%, rgba(186, 225, 107, .2), transparent 38%),
    linear-gradient(155deg, #356139, #17351f 75%);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .54);
}

.goblin-park-online-head {
  min-width: 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.goblin-park-online-head > div { min-width: 0; }
.goblin-park-online-head small { display: block; color: #d9e4b0; font: 850 10px/1.2 system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.goblin-park-online-head h2 { margin: 2px 0 0; color: #fff8df; font: 950 clamp(22px, 5vw, 38px)/1 system-ui, sans-serif; overflow-wrap: normal; word-break: normal; }
.goblin-park-online-head > strong { padding: 7px 9px; border-radius: 999px; color: #25421e; background: #f4df8d; font: 900 11px/1 system-ui, sans-serif; white-space: nowrap; }

.goblin-park-online-exit {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 238, 177, .35);
  border-radius: 14px;
  color: #fff8df;
  background: rgba(17, 48, 25, .78);
  font: 900 30px/1 system-ui, sans-serif;
}

.goblin-park-online-card > footer {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.goblin-park-online-card > footer small { color: #dbe4bd; font: 700 11px/1.3 system-ui, sans-serif; }

.goblin-park-online-waiting,
.goblin-park-online-countdown,
.goblin-park-online-running,
.goblin-park-online-skill,
.goblin-park-online-result,
.goblin-park-online-replay {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.goblin-park-online-waiting h3,
.goblin-park-online-skill h3,
.goblin-park-online-result h3 { margin: 0; color: #fff8df; font: 950 clamp(23px, 5vw, 36px)/1.05 system-ui, sans-serif; }
.goblin-park-online-waiting p,
.goblin-park-online-countdown p,
.goblin-park-online-running > p,
.goblin-park-online-skill > p,
.goblin-park-online-result > p,
.goblin-park-online-replay > p { max-width: 60ch; margin: 0; color: #e5e9ca; font: 720 max(.75rem, 12px)/1.4 system-ui, sans-serif; }

.goblin-park-online-pulse { width: 22px; height: 22px; border: 5px solid rgba(236, 232, 142, .2); border-top-color: #f3e68c; border-radius: 50%; animation: goblinParkSpin .8s linear infinite; }
.goblin-park-online-countdown > span { color: #dfe5be; font: 850 11px/1.2 system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.goblin-park-online-countdown > b { color: #fff09d; font: 950 clamp(46px, 13vw, 82px)/.9 ui-monospace, monospace; letter-spacing: -.06em; }

.goblin-park-online-roster {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 104px), 1fr));
  gap: 8px;
}

.goblin-park-online-player {
  min-width: 0;
  min-height: 118px;
  padding: 9px 7px;
  display: grid;
  grid-template-rows: 60px auto auto;
  justify-items: center;
  align-content: center;
  gap: 3px;
  border: 1px solid rgba(255, 238, 180, .2);
  border-radius: 15px;
  background: rgba(16, 48, 24, .55);
}

.goblin-park-online-player.is-me { border-color: #ffe279; background: rgba(84, 102, 39, .64); box-shadow: inset 0 0 0 2px rgba(255, 226, 121, .14); }
.goblin-park-online-player > span { width: 58px; height: 58px; filter: saturate(1.3) brightness(1.18); }
.goblin-park-online-player.is-me > span { filter: saturate(1.55) brightness(1.28) drop-shadow(0 0 10px rgba(255, 218, 61, .7)); }
.goblin-park-online-player b { min-width: 0; max-width: 100%; color: #fff8df; font: 850 11px/1.15 system-ui, sans-serif; overflow-wrap: anywhere; }
.goblin-park-online-player small { color: #ced8aa; font: 700 10px/1.15 system-ui, sans-serif; }

.goblin-park-online-leave { border-color: rgba(255, 181, 157, .54) !important; color: #ffd7ca !important; }
.goblin-park-online-actions { width: min(100%, 440px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.goblin-park-online-skill .goblin-park-sequence,
.goblin-park-online-skill .goblin-park-choices { width: min(100%, 520px); }
.goblin-park-online-skill [data-online-sequence].is-hidden .v8832-token-svg { opacity: 0 !important; }

.goblin-park-online-result > span { width: 94px; height: 94px; filter: saturate(1.5) brightness(1.2) drop-shadow(0 0 16px rgba(255, 226, 83, .58)); }
.goblin-park-online-result > small { color: #e8df8b; font: 900 10px/1.2 system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }

.goblin-wheel-skill-dial.v8832-wheel-stage,
.goblin-wheel-online-dial.v8832-wheel-stage {
  box-sizing: border-box !important;
  width: min(78vw, 520px) !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  place-self: center !important;
  margin: 10px auto 14px !important;
  transform: none !important;
}

.goblin-wheel-online-dial .v8832-wheel-canvas {
  box-sizing: content-box !important;
  inset: 0 auto auto 0 !important;
  max-width: none !important;
  max-height: none !important;
}

.goblin-wheel-online-dial .v8832-wheel-live { bottom: 7% !important; }
.v8832-token-svg { filter: saturate(1.2) brightness(1.08); }

@keyframes park-online-presence-pulse {
  from { transform: translateY(0); box-shadow: 0 12px 30px rgba(4, 18, 8, .34), 0 0 0 3px rgba(255, 218, 99, .1); }
  to { transform: translateY(-2px); box-shadow: 0 15px 36px rgba(4, 18, 8, .45), 0 0 0 6px rgba(255, 218, 99, .16); }
}

@media (max-width: 560px) {
  body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway { min-height: 245px !important; }
  body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway > button { padding: 16px !important; }
  body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway h3 { max-width: 13ch !important; font-size: clamp(28px, 8.3vw, 39px) !important; }
  body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway p { max-width: 36ch !important; }
  .goblin-park-online-presence { right: max(7px, env(safe-area-inset-right)); bottom: calc(82px + env(safe-area-inset-bottom)); width: min(310px, calc(100vw - 14px - env(safe-area-inset-left) - env(safe-area-inset-right))); }
  body[data-route="goblinWheel"] .goblin-park-online-presence { bottom: max(8px, env(safe-area-inset-bottom)); }
  .goblin-park-online-card { padding: 10px; border-radius: 19px; }
  .goblin-park-online-head { grid-template-columns: 44px minmax(0, 1fr); }
  .goblin-park-online-head > strong { grid-column: 2; width: fit-content; }
  .goblin-park-online-card > footer { grid-template-columns: 1fr; }
  .goblin-park-online-card > footer > button { width: 100%; }
  .goblin-park-online-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .goblin-wheel-skill-dial.v8832-wheel-stage,
  .goblin-wheel-online-dial.v8832-wheel-stage { width: min(calc(100vw - 42px - env(safe-area-inset-left) - env(safe-area-inset-right)), 430px) !important; }
}

@media (orientation: landscape) and (max-height: 520px) {
  .goblin-park-online-card { width: min(960px, 100%); max-height: 100%; grid-template-columns: minmax(230px, .72fr) minmax(300px, 1.28fr); grid-template-rows: auto minmax(0, 1fr); gap: 8px 14px; }
  .goblin-park-online-head { grid-column: 1; align-self: start; }
  .goblin-park-online-card > :is(.goblin-park-online-waiting,.goblin-park-online-countdown,.goblin-park-online-running,.goblin-park-online-result) { grid-column: 2; grid-row: 1 / 3; min-height: 0; align-content: start; }
  .goblin-park-online-card > footer { grid-column: 1; align-self: end; grid-template-columns: 1fr; }
  .goblin-park-online-roster { grid-template-columns: repeat(auto-fit, minmax(82px, 1fr)); }
  .goblin-park-online-player { min-height: 92px; grid-template-rows: 45px auto; }
  .goblin-park-online-player > span { width: 44px; height: 44px; }
  .goblin-park-online-player small { display: none; }
  .goblin-wheel-skill-dial.v8832-wheel-stage,
  .goblin-wheel-online-dial.v8832-wheel-stage { width: min(66vh, 360px) !important; margin: 2px auto !important; }
  .goblin-park-online-presence { bottom: max(7px, env(safe-area-inset-bottom)); width: min(292px, calc(100vw - 20px)); min-height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  .goblin-park-online-presence { animation: none; }
}

/* source: css/layout-hardening-v88-40.css */
/* v88.40 — structural layout hardening.
 * This file is intentionally loaded last. It repairs collapsed grid/flex
 * tracks instead of hiding the symptom with anywhere/break-word wrapping. */

/* Text in repaired components may wrap at spaces, never inside ordinary words. */
:is(
  .clan-election-panel,
  .v88-style-shop,
  .toy-registry-v85,
  .spirit-hub,
  .asha-room-view,
  .mini-tutorial-window,
  .activity-gateway-grid,
  .mini-games-grid,
  .v8832-mini-games-grid,
  .clan-rank-table,
  .task-dashboard,
  .contract-dashboard,
  .shop-account-strip,
  .camp-command-dock,
  .chat-picker,
  .v86-settings-list,
  .v8832-token-grid
) :is(h1, h2, h3, h4, p, b, strong, small, span, em, i, button) {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  writing-mode: horizontal-tb !important;
}

/* ------------------------------------------------------------------------- */
/* Clan election: the rule image is a real third child, so reserve 3 tracks. */
/* ------------------------------------------------------------------------- */

#appDialog[open][data-panel="clanElection"] .app-dialog-card {
  box-sizing: border-box !important;
  width: min(920px, calc(100vw - 16px)) !important;
  max-width: calc(100vw - 16px) !important;
  max-height: calc(100dvh - 16px) !important;
  overflow: hidden !important;
}

#appDialog[open][data-panel="clanElection"] #appDialogContent {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-panel {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 12px !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-status {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-status:has(> button) {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-status:has(> button) > div {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  overflow: visible !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-status:has(> button) > button {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 88px !important;
  max-width: 128px !important;
  height: auto !important;
  min-height: 44px !important;
  padding: 9px 12px !important;
  white-space: normal !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-status:not(:has(> button)) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)) !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-status:not(:has(> button)) > div {
  min-width: 0 !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-rules {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-auto-rows: auto !important;
  gap: 8px !important;
  overflow: visible !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-rules > article {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 92px !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: 28px 42px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  gap: 8px !important;
  overflow: visible !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-rules > article > b {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-rules > article > img {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-rules > article > span {
  grid-column: 3 !important;
  grid-row: 1 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  gap: 3px !important;
  overflow: visible !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-rules > article > span > * {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

@media (max-width: 520px) {
  #appDialog[open][data-panel="clanElection"] .clan-election-status:has(> button) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #appDialog[open][data-panel="clanElection"] .clan-election-status:has(> button) > button {
    width: 100% !important;
    max-width: none !important;
  }

  #appDialog[open][data-panel="clanElection"] .clan-election-status:not(:has(> button)) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* v90 modal reachability: every long panel gets one constrained scroll owner.
   This fixes clan election where content was 918px tall inside a 704px card,
   while both ancestors clipped it and the inner element reported no overflow. */
#appDialog[open] .app-dialog-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  max-height: calc(100dvh - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
  overflow: hidden !important;
}

#appDialog[open] #appDialogContent {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

#appDialog[open][data-panel="clanElection"] #appDialogContent {
  height: auto !important;
}

#appDialog[open][data-panel="clanElection"] .clan-election-candidates {
  min-height: min-content !important;
  overflow: visible !important;
}

/* ------------------------------------------------------------------------- */
/* Final narrow-track sweep: clan actions, compact windows and landscape UI. */
/* ------------------------------------------------------------------------- */

#appDialog[open][data-panel="clanElection"] .app-dialog-card,
#appDialog[open][data-panel="clanElection"] #appDialogContent,
#appDialog[open][data-panel="clanElection"] .clan-election-panel {
  width: 100% !important;
  max-width: 100% !important;
}

body[data-route="clan"] .clan-priority-actions {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
}

body[data-route="clan"] .clan-priority-actions > button {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
}

body[data-route="clan"] .clan-priority-actions > button > img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
}

body[data-route="clan"] .clan-priority-actions > button > span {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.community-secret-card code {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: clamp(.66rem, 1.6vw, .82rem) !important;
}

/* A task card has an illustration and a wide action rail.  Two cards only
   fit once each card can still leave a real reading lane for server titles. */
.task-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 620px), 1fr)) !important;
}

.task-copy,
.task-copy h3 {
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 430px) {
  .community-clan-view .clan-podium {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .toy-polished-window .toy-flow-status {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .toy-polished-window .toy-flow-status article,
  .toy-polished-window .toy-flow-status article + article {
    min-height: 68px !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 9px !important;
    padding: 8px !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(96, 75, 43, .14) !important;
    text-align: left !important;
  }

  .toy-polished-window .toy-flow-status article:first-child {
    border-top: 0 !important;
  }

  .toy-polished-window .toy-flow-status article::before {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  .toy-polished-window .toy-flow-status article > :is(span, b) {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  #appDialog[open][data-panel="rating"] .rating-modal-hero {
    padding: 44px 8px 12px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #appDialog[open][data-panel="rating"] .rating-modal-hero > img {
    width: 56px !important;
    height: 56px !important;
  }

  #appDialog[open][data-panel="rating"] .rating-modal-hero h2 {
    font-size: clamp(1.22rem, 7.2vw, 1.5rem) !important;
    line-height: 1 !important;
  }
}

@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  .camp-shortcuts-slim {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
  }

  .camp-shortcuts-slim .reference-small-shortcut {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .camp-shortcuts-slim .reference-small-shortcut > span {
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .community-resource-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
  }

  .community-resource-row > span {
    grid-template-columns: 38px minmax(0, 1fr) !important;
  }

  .community-resource-row > span > i,
  .community-resource-row > span > i > b {
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .community-clan-view .community-trust-card .community-card-head h2 {
    font-size: clamp(.96rem, 2.25vw, 1.18rem) !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Style shop/loadout and motion preview labels.                              */
/* ------------------------------------------------------------------------- */

.v88-style-shop :is(
  .v88-loadout,
  .v88-loadout > header,
  .v88-loadout > header > div,
  .v88-loadout > div,
  .v88-loadout-slot,
  .v88-motion-strip,
  .v88-motion-strip > span
) {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.v88-style-shop .v88-loadout {
  width: 100% !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
}

.v88-style-shop .v88-loadout > header {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding-left: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 10px 14px !important;
  overflow: visible !important;
}

.v88-style-shop .v88-loadout > header > div {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
  overflow: visible !important;
}

.v88-style-shop .v88-loadout > header > button {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 96px !important;
  max-width: 160px !important;
  height: auto !important;
  min-height: 44px !important;
  padding: 9px 13px !important;
  white-space: normal !important;
}

.v88-style-shop .v88-loadout > div:not(.v88-loadout-grid) {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 8px !important;
}

.v88-style-shop .v88-loadout-slot {
  position: relative !important;
  width: 100% !important;
  min-height: 96px !important;
  height: auto !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  align-content: center !important;
  align-items: center !important;
  gap: 3px 10px !important;
  overflow: hidden !important;
}

.v88-style-shop .v88-loadout-slot > img {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  width: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  max-height: 56px !important;
  object-fit: contain !important;
}

.v88-style-shop .v88-loadout-slot > span {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.v88-style-shop .v88-loadout-slot > b {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.v88-style-shop .v88-loadout-slot > em {
  grid-column: 2 !important;
  grid-row: 3 !important;
  font-size: max(.72rem, 11px) !important;
  line-height: 1.3 !important;
}

.v88-style-shop .v88-loadout-slot > :is(span, b, em) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.v88-style-shop .v88-loadout-slot > button {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
}

.v88-style-shop .v88-loadout-slot.is-filled > :is(span, b) {
  padding-right: 38px !important;
}

.v88-style-shop .v88-motion-strip {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  gap: 5px !important;
}

.v88-style-shop .v88-motion-strip > span {
  width: 100% !important;
  min-height: 38px !important;
  padding: 4px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(64px, 1fr) !important;
  align-items: center !important;
  gap: 5px !important;
}

.v88-style-shop .v88-motion-strip > span > img {
  width: 28px !important;
  height: 28px !important;
}

.v88-style-shop .v88-motion-strip > span > i {
  min-width: 0 !important;
  white-space: normal !important;
}

@media (max-width: 520px) {
  .v88-style-shop .v88-loadout > header {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .v88-style-shop .v88-loadout > header > button {
    width: 100% !important;
    max-width: none !important;
  }

  .v88-style-shop .v88-loadout > div:not(.v88-loadout-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Collection catalogue: headings and filters must not compete in flex rows. */
/* ------------------------------------------------------------------------- */

.trusted-shelf-v88 .toy-catalog-group-v85 > .section-mini-head {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  gap: 4px !important;
  align-items: start !important;
}

.trusted-shelf-v88 .toy-catalog-group-v85 > .section-mini-head > :is(h3, p) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

.trusted-shelf-v88 .toy-catalog-filters-v85 {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  overflow: visible !important;
}

.trusted-shelf-v88 .toy-catalog-filters-v85 > button {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-inline: 6px !important;
  white-space: normal !important;
}

.trusted-shelf-v88 .toy-registry-grid-v85 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
}

/* ------------------------------------------------------------------------- */
/* Garden spirits: descendant images must not inherit the 72px hero size.    */
/* ------------------------------------------------------------------------- */

.spirit-hub :is(.spirit-card, .spirit-main, .spirit-title, .spirit-actions),
.spirit-hub .rare-summon-card > div {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.spirit-hub .rare-summon-card {
  grid-template-columns: 64px minmax(0, 1fr) !important;
  grid-auto-columns: auto !important;
  align-items: start !important;
}

.spirit-hub .rare-summon-card > img {
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
}

.spirit-hub .spirit-actions {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 112px), 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 7px !important;
}

.spirit-hub .rare-summon-card .spirit-actions > button {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 6px 9px !important;
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
}

.spirit-hub .rare-summon-card .spirit-actions > button > img {
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  object-fit: contain !important;
}

.spirit-hub .rare-summon-card .spirit-actions > button > span {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

@media (max-width: 520px) {
  .spirit-hub .spirit-card {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  .spirit-hub .spirit-card > img {
    width: 60px !important;
    height: 60px !important;
  }

  .spirit-hub .spirit-title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  .spirit-hub .spirit-title > :is(h3, span) {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Maze and Balda: readable HUD tracks, no short-landscape overlap.          */
/* ------------------------------------------------------------------------- */

body.mini-game-route #miniGameStage .maze-hud {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: minmax(108px, 1.35fr) repeat(3, minmax(78px, 1fr)) !important;
  grid-auto-flow: row !important;
  overflow: visible !important;
}

body.mini-game-route #miniGameStage .maze-hud > :is(span, .maze-size-switch) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.mini-game-route #miniGameStage .maze-hud :is(b, em) {
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

@media (max-width: 520px) {
  body.mini-game-route #miniGameStage .maze-hud {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (orientation: landscape) and (min-width: 560px) and (max-height: 430px) {
  body.mini-game-route #miniGameStage .maze-game.clean-mini-game > .maze-hud {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(44px, auto) !important;
  }

  body.mini-game-route #miniGameStage .balda-game.clean-mini-game {
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: 6px 10px !important;
  }

  body.mini-game-route #miniGameStage .balda-game.clean-mini-game > .balda-board {
    box-sizing: border-box !important;
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    width: min(100%, 252px) !important;
    max-width: 252px !important;
    place-self: center !important;
  }

  body.mini-game-route #miniGameStage .balda-game.clean-mini-game > .balda-hud {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.mini-game-route #miniGameStage .balda-game.clean-mini-game > .balda-wordline {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.mini-game-route #miniGameStage .balda-game.clean-mini-game > .balda-actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Asha room and tutorial dialog.                                            */
/* ------------------------------------------------------------------------- */

.asha-room-view .asha-room-preview-note {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}

.asha-room-view .asha-room-preview-note > :is(b, span, button) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
}

.asha-room-view .asha-room-preview-note > button {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 120px !important;
  min-height: 44px !important;
  padding-inline: 14px !important;
}

.asha-room-view .asha-room-title h1 {
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
}

@media (max-width: 700px) {
  .asha-room-view .asha-room-preview-note {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
  }

  .asha-room-view .asha-room-preview-note > button {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 430px) {
  .asha-room-view .asha-room-title {
    box-sizing: border-box !important;
    padding: 16px 94px 16px 16px !important;
  }

  .asha-room-view .asha-room-title h1 {
    font-size: clamp(1.66rem, 8.2vw, 1.9rem) !important;
    line-height: 1 !important;
  }
}

@media (max-width: 340px) {
  .asha-room-view .asha-room-title {
    padding-right: 82px !important;
  }

  .asha-room-view .asha-room-companion {
    width: 76px !important;
  }
}

@media (max-width: 430px) {
  #appDialog[open][data-panel="miniTutorial"] .mini-modal-hero {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  #appDialog[open][data-panel="miniTutorial"] .mini-modal-hero > img {
    width: 44px !important;
    height: 44px !important;
  }

  #appDialog[open][data-panel="miniTutorial"] .mini-modal-hero > div {
    min-width: 0 !important;
  }

  #appDialog[open][data-panel="miniTutorial"] .mini-modal-hero h2 {
    max-width: 100% !important;
    font-size: clamp(1.35rem, 7vw, 1.65rem) !important;
    line-height: 1.05 !important;
    overflow: visible !important;
    white-space: normal !important;
  }
}

/* ------------------------------------------------------------------------- */
/* Remaining route-level tracks found by the exhaustive state audit.         */
/* ------------------------------------------------------------------------- */

@media (max-width: 520px) {
  body[data-route="duels"] #screen :is(
    .activity-gateway-grid,
    .mini-games-grid,
    .v8832-mini-games-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-route="duels"] #screen :is(
    .activity-gateway-grid .game-menu-copy,
    .mini-games-grid .mini-game-card > div,
    .v8832-mini-games-grid .mini-game-card > div
  ) {
    min-width: 0 !important;
    width: 100% !important;
  }

  body[data-route="duels"] #screen :is(
    .activity-gateway-grid .game-menu-copy,
    .mini-games-grid .mini-game-card > div,
    .v8832-mini-games-grid .mini-game-card > div
  ) :is(h3, b, small, em) {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body[data-route="duels"] #screen .activity-backpack-link {
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }

  body[data-route="duels"] #screen .activity-backpack-link > button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
  }
}

.community-clan-view :is(.clan-rank-table-head, .clan-rank-row) {
  grid-template-columns: 28px minmax(0, 1fr) minmax(48px, auto) minmax(44px, auto) minmax(44px, auto) !important;
}

.community-clan-view :is(.clan-rank-table-head, .clan-rank-row) > :nth-child(5) {
  min-width: 44px !important;
  white-space: nowrap !important;
}

@media (max-width: 390px) {
  :is(.task-dashboard, .contract-dashboard, .shop-account-strip) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  :is(.task-dashboard, .contract-dashboard, .shop-account-strip) > :nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  :is(.task-dashboard, .contract-dashboard, .shop-account-strip) > span > i > em {
    width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

.camp-command-dock {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.camp-command-dock .camp-command :is(b, small, span) {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

@media (max-width: 430px) {
  .camp-command-dock {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  :is(.chat-sticker-grid, .chat-clan-emote-grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  :is(.chat-sticker-grid, .chat-clan-emote-grid) > button > small {
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
}

.v86-settings-list > button {
  height: auto !important;
  min-height: 58px !important;
  align-items: start !important;
}

.v86-settings-list > button > span {
  min-width: 0 !important;
  overflow: visible !important;
}

.v86-settings-list > button > span > em {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.v8832-token-grid {
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
}

.v8832-token-grid [data-v8832-token-option] {
  min-width: 0 !important;
  overflow: hidden !important;
}

.v8832-token-grid [data-v8832-token-option] :is(span, small, b) {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Visible clipping cleanup follows. */
.camp-clan-battle-cta :is(em, b, small) {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.asha-room-view .asha-room-status > span > b {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#seasonHubTitle,
.season-hub-camp-copy > b {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.great-build-stage-badge > em,
.v87-route-track > li > div > b {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.v87-route-track > li {
  height: auto !important;
  min-height: 58px !important;
}

.v87-route-track > li > div {
  min-width: 0 !important;
  overflow: visible !important;
}

.v87-recipe figure > figcaption {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.v88-owned > header > strong,
.gryzlo-offer-buy span > b {
  min-width: 12px !important;
}

.camp-settings-card-v86 :is(.settings-switch-v86, .settings-quality-v86 > label),
.v86-settings-list > button {
  height: auto !important;
  min-height: 58px !important;
  align-items: start !important;
}

.camp-settings-card-v86 :is(.settings-switch-v86, .settings-quality-v86 > label) > span,
.v86-settings-list > button > span {
  min-width: 0 !important;
  overflow: visible !important;
}

.camp-settings-card-v86 :is(.settings-switch-v86, .settings-quality-v86 > label) > span > em,
.v86-settings-list > button > span > em {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 520px) {
  .community-clan-view .clan-season-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .community-clan-view .clan-season-stats > span,
  .community-clan-view .clan-season-stats > span + span {
    min-height: 44px !important;
    padding: 7px 0 !important;
    border-right: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .13) !important;
  }

  .community-clan-view .clan-season-stats > span:first-child {
    border-top: 0 !important;
  }

  .community-clan-view .clan-season-stats em {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  .community-clan-view .clan-podium-card {
    height: auto !important;
  }

  .community-clan-view .clan-podium-card > span > strong {
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  .community-clan-view :is(.clan-rank-table-head, .clan-rank-row) {
    grid-template-columns: 24px minmax(0, 1fr) 42px 40px 44px !important;
    gap: 3px !important;
  }

  .community-clan-view .clan-rank-identity {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }

  .community-clan-view .clan-rank-identity > img,
  .community-clan-view .clan-rank-identity > u,
  .community-clan-view .clan-rank-identity em {
    display: none !important;
  }

  .community-clan-view .clan-rank-identity > i,
  .community-clan-view .clan-rank-identity b {
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  .community-clan-view .community-trust-card .community-card-head h2 {
    font-size: clamp(1rem, 5.3vw, 1.18rem) !important;
  }

  .asha-room-view .asha-room-status > span > b {
    font-size: 12px !important;
  }

  #seasonHubTitle {
    font-size: clamp(2.05rem, 11vw, 2.65rem) !important;
    line-height: .96 !important;
  }

  .profile-shelf-summary-v8825 small,
  .profile-world-card-v86 .glory-gauge-v86 small {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
}

/* source: css/goblin-park-v88-42.css */
/* v88.42 — ticket economy, Park-first hub and authoritative online replay */

.top-money {
  width: auto !important;
  max-width: min(42vw, 232px) !important;
  gap: 5px !important;
  overflow: visible !important;
}

.top-money > .resource-pill {
  min-width: 0 !important;
  padding-inline: 8px !important;
}

.park-ticket-pill {
  position: relative;
  flex: 0 0 auto;
  border-color: rgba(231, 199, 111, .46) !important;
  background: linear-gradient(145deg, rgba(255, 246, 204, .18), rgba(231, 199, 111, .08)) !important;
}

.park-ticket-pill .resource-pill-icon {
  width: 29px !important;
  height: 29px !important;
  object-fit: contain !important;
  filter: saturate(1.22) brightness(1.08) drop-shadow(0 2px 3px rgba(35, 23, 8, .25));
}

.park-ticket-pill b { min-width: 1ch !important; color: #fff2ad !important; }
.park-ticket-pill.has-ticket { box-shadow: inset 0 0 0 1px rgba(255, 231, 142, .34), 0 0 0 3px rgba(231, 199, 111, .08) !important; }
.park-ticket-pill.is-loading { opacity: .72; }

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway {
  min-height: clamp(270px, 40vw, 390px) !important;
  border-width: 3px !important;
  box-shadow: 0 20px 48px rgba(20, 38, 20, .3), 0 0 0 5px rgba(231, 199, 111, .08) !important;
}

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 82% 30%, rgba(255, 224, 111, .18), transparent 26%);
}

body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway > button { z-index: 1 !important; }

.goblin-park-hub-entry {
  min-width: 0;
  max-width: 100%;
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}

.goblin-park-hub-entry b,
.goblin-park-hub-entry em,
.game-entry-badge {
  width: fit-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 999px;
  font: 850 max(.66rem, 11px)/1.15 system-ui, sans-serif;
  font-style: normal;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.goblin-park-hub-entry b,
.game-entry-badge.is-ticket {
  border: 1px solid rgba(255, 229, 131, .42);
  color: #fff0a2;
  background: rgba(62, 47, 12, .66);
}

.goblin-park-hub-entry em { color: #e8eed0; background: rgba(9, 28, 14, .72); }

.game-entry-policy {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.game-entry-policy-item,
.free-games-heading {
  min-width: 0;
  min-height: 72px;
  padding: 11px 13px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(99, 82, 45, .12);
  border-radius: 17px;
  background: rgba(255, 250, 237, .8);
  box-shadow: 0 8px 22px rgba(37, 29, 16, .06);
}

.game-entry-policy-item > span,
.free-games-heading > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font: 900 21px/1 system-ui, sans-serif;
}

.game-entry-policy-item.is-ticket > span { color: #5d4719; background: #f4df91; }
.game-entry-policy-item.is-free > span,
.free-games-heading > span { color: #fff; background: #719647; }
.game-entry-policy-item > div,
.free-games-heading > div { min-width: 0; display: grid; gap: 3px; }
.game-entry-policy-item b,
.free-games-heading b { color: var(--ink, #30271e); font: 900 max(.8rem, 13px)/1.15 system-ui, sans-serif; }
.game-entry-policy-item small,
.free-games-heading small { color: var(--ink-3, #756957); font: 700 max(.68rem, 11px)/1.3 system-ui, sans-serif; overflow-wrap: normal; word-break: normal; }

.free-games-heading { margin-bottom: 10px; border-color: rgba(113, 150, 71, .25); background: linear-gradient(135deg, rgba(235, 246, 217, .94), rgba(255, 251, 238, .92)); }
.game-entry-badge { display: inline-flex; margin-bottom: 5px; text-transform: uppercase; letter-spacing: .04em; }
.game-entry-badge.is-free { border: 1px solid rgba(109, 145, 66, .25); color: #4e7129; background: rgba(222, 239, 198, .86); }
.goblin-park-game .game-entry-badge { margin: 0 0 5px !important; }
.mini-game-card.is-ticket-free { border-color: rgba(112, 151, 66, .24) !important; }

.goblin-park-ticket-expiry {
  display: block;
  grid-column: 1 / -1;
  justify-self: stretch;
  min-width: 0;
  color: #f2dc9a;
  font: 750 max(.68rem, 11px)/1.3 system-ui, sans-serif;
  overflow-wrap: normal;
  word-break: normal;
}

.goblin-park-online-player.is-eliminated {
  opacity: .58;
  border-color: rgba(211, 155, 130, .34) !important;
  background: rgba(40, 37, 29, .58) !important;
  filter: grayscale(.42);
}

.goblin-park-online-player.is-eliminated > span { filter: grayscale(.58) brightness(.72) !important; }
.goblin-park-online-player.is-eliminated small { color: #efb7a1; }
.goblin-park-online-running > .goblin-park-online-roster { margin-top: 2px; }

@media (max-width: 560px) {
  .topbar,
  body.yandex-shell .topbar { grid-template-columns: 42px minmax(0, 1fr) minmax(108px, auto) 40px 40px !important; gap: 5px !important; }
  .top-money { width: min(34vw, 126px) !important; max-width: 126px !important; gap: 3px !important; justify-content: flex-end; }
  .top-money > .resource-pill { min-height: 40px !important; padding-inline: 5px !important; gap: 3px !important; }
  .top-money > .resource-pill:first-child i { display: none !important; }
  .top-money > .resource-pill b { max-width: 4ch !important; font-size: max(.76rem, 12px) !important; }
  .top-money > .resource-pill .resource-pill-icon { width: 23px !important; height: 23px !important; }
  .top-money > .park-ticket-pill .resource-pill-icon { width: 25px !important; height: 25px !important; }
  body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway { min-height: 300px !important; }
  body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway p { max-width: 32ch !important; }
  .game-entry-policy { grid-template-columns: minmax(0, 1fr); }
  .game-entry-policy-item { min-height: 64px; }
}

@media (max-width: 360px) {
  .topbar,
  body.yandex-shell .topbar { grid-template-columns: 40px minmax(0, 1fr) 108px 38px 38px !important; gap: 3px !important; }
  .top-money { width: 108px !important; }
  .top-money > .resource-pill { padding-inline: 4px !important; }
  .top-money > .resource-pill .resource-pill-icon { width: 21px !important; height: 21px !important; }
  .top-money > .park-ticket-pill .resource-pill-icon { width: 23px !important; height: 23px !important; }
}

@media (orientation: landscape) and (max-height: 430px) and (min-width: 560px) {
  .top-money { max-width: 210px !important; }
  body[data-route="duels"] #screen .goblin-park-hub-card.is-main-gateway { min-height: 260px !important; }
  .game-entry-policy-item { min-height: 58px; padding-block: 7px; }
  .goblin-park-online-running > .goblin-park-online-roster { grid-template-columns: repeat(auto-fit, minmax(76px, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .park-ticket-pill.has-ticket { box-shadow: inset 0 0 0 1px rgba(255, 231, 142, .34) !important; }
}

/* source: css/rpg-v89.css */
.rpg89{padding:clamp(12px,2vw,24px);color:#342618}.rpg89-hero{min-height:180px;padding:clamp(22px,4vw,42px);border-radius:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff;background:radial-gradient(circle at 72% 25%,rgba(255,189,83,.34),transparent 28%),linear-gradient(125deg,rgba(35,24,16,.96),rgba(91,51,25,.89)),url('../assets/ui/v81/gathering_dispatch.webp') center/cover;box-shadow:0 18px 40px #4d2c182b}.rpg89-hero span{font-size:12px;letter-spacing:.18em;color:#ffd98b}.rpg89-hero h1{margin:5px 0;font-family:Georgia,serif;font-size:clamp(30px,5vw,54px)}.rpg89-hero p{max-width:650px;margin:0;color:#f8ead2}.rpg89-hero button,.rpg89 button{border:0;border-radius:12px;padding:11px 16px;font:inherit;font-weight:800;cursor:pointer;background:#f2d18a;color:#442c16}.rpg89 button:disabled{opacity:.5;cursor:default}.rpg89-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.rpg89-tabs button{background:#efe2ca}.rpg89-tabs button.active{color:#fff;background:#6f8833}.rpg89-content{min-height:280px}.rpg89-content.is-busy{opacity:.65;pointer-events:none}.rpg89-stats{display:grid;grid-template-columns:repeat(6,minmax(85px,1fr));gap:8px;margin-bottom:12px}.rpg89-stats span{padding:12px;border:1px solid #dbc7a4;border-radius:14px;background:#fffaf0;text-align:center;font-size:11px;text-transform:uppercase;color:#806c52}.rpg89-stats b{display:block;font-size:20px;color:#42301d}.rpg89-starter,.rpg89-market-head,.rpg89-nft{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-bottom:12px;border-radius:18px;background:#fff8e9;border:1px solid #dfc99c}.rpg89-starter p,.rpg89-market-head p,.rpg89-nft p{margin:4px 0 0;color:#715e48}.rpg89-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.rpg89-item,.rpg89-listing{display:flex;gap:12px;align-items:center;padding:11px;border:1px solid #dfcfb4;border-left:5px solid #a99a83;border-radius:16px;background:#fffdf8}.rpg89-item.rarity-uncommon,.rpg89-listing.rarity-uncommon{border-left-color:#63a556}.rpg89-item.rarity-rare,.rpg89-listing.rarity-rare{border-left-color:#4d91cf}.rpg89-item.rarity-epic,.rpg89-listing.rarity-epic{border-left-color:#9a61ca}.rpg89-item.rarity-legendary,.rpg89-listing.rarity-legendary{border-left-color:#e39a2c}.rpg89-item.is-equipped{box-shadow:inset 0 0 0 2px #809b43}.rpg89-item-art{position:relative;flex:0 0 68px;width:68px;height:68px;border-radius:14px;background:#efe4cf}.rpg89-item-art img,.rpg89-listing>img{width:68px;height:68px;object-fit:contain}.rpg89-item-art em{position:absolute;right:2px;bottom:2px;padding:2px 5px;border-radius:8px;background:#342618;color:#fff;font-size:11px}.rpg89-item-copy,.rpg89-listing div{min-width:0;flex:1}.rpg89-item-copy>* ,.rpg89-listing div>*{display:block}.rpg89-item-copy small,.rpg89-listing small{color:#867258;font-size:11px}.rpg89-item-copy b,.rpg89-listing b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpg89-item-copy span,.rpg89-listing span{font-size:12px;color:#76624a}.rpg89-item-actions{display:flex;flex-direction:column;gap:5px}.rpg89-item-actions button,.rpg89-listing button{padding:7px 9px;font-size:12px}.rpg89-market-list{display:grid;gap:8px}.rpg89-listing>img{flex:0 0 68px;border-radius:12px;background:#efe4cf}.rpg89-encounters{padding:22px;border-radius:20px;background:#fff8ea;border:1px solid #dfc99c}.rpg89-encounters>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rpg89-encounters button{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px}.rpg89-encounters button span{font-size:12px;font-weight:500}.rpg89-battle{padding:20px;border-radius:20px;color:#f9edd8;background:linear-gradient(145deg,#3b291c,#1d1712)}.rpg89-battle header{text-align:center}.rpg89-fighters{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.rpg89-fighters>div{display:grid;gap:6px}.rpg89-fighters i{height:12px;overflow:hidden;border-radius:99px;background:#120e0c}.rpg89-fighters u{display:block;height:100%;background:linear-gradient(90deg,#8dbb44,#d5df55);text-decoration:none}.rpg89-fighters span{font-size:12px}.rpg89-combat-log{min-height:100px;margin:18px 0;padding:12px;border-radius:12px;background:#ffffff0d}.rpg89-combat-log p{margin:3px 0}.rpg89-battle-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rpg89-nft{justify-content:flex-start;background:linear-gradient(110deg,#20172d,#503567);color:#fff;border:0}.rpg89-nft p{color:#eadcf2}.rpg89-nft-orb img{width:120px;height:120px;object-fit:contain}.rpg89-effects{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.rpg89-effects article{padding:16px;border-radius:15px;background:#fff8ec;border:1px solid #d8c19a}.rpg89-effects article>*{display:block}.rpg89-effects span,.rpg89-effects p{font-size:12px;color:#78634c}.rpg89-effects em{color:#78539b}.rpg89-shelf-link{margin-top:12px}.rpg89-empty,.rpg89-loading,.rpg89-error{padding:28px;text-align:center;border-radius:16px;background:#fff8eb;border:1px dashed #cfb993}.rpg89-error{margin-bottom:10px;color:#8b2f28;background:#fff0eb}.rpg89-loading span{display:inline-block;width:22px;height:22px;margin-right:8px;border:3px solid #ccb88e;border-top-color:#6f8833;border-radius:50%;animation:rpg89spin .8s linear infinite}@keyframes rpg89spin{to{transform:rotate(360deg)}}@media(max-width:720px){.rpg89{padding:8px}.rpg89-hero{min-height:150px;align-items:flex-start;flex-direction:column}.rpg89-tabs{grid-template-columns:repeat(2,1fr)}.rpg89-stats{grid-template-columns:repeat(3,1fr)}.rpg89-encounters>div{grid-template-columns:1fr}.rpg89-battle-actions{grid-template-columns:repeat(2,1fr)}.rpg89-nft{align-items:flex-start;flex-direction:column}.rpg89-nft-orb img{width:88px;height:88px}}

.rpg89-tabs{grid-template-columns:repeat(7,1fr)}
.rpg89-scene{position:relative;min-height:220px;margin-bottom:14px;padding:28px;display:flex;align-items:flex-end;overflow:hidden;border-radius:24px;color:#fff;background-position:center;background-size:cover;box-shadow:0 12px 30px #39251433}
.rpg89-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,14,10,.86),rgba(20,14,10,.35) 58%,rgba(20,14,10,.12))}
.rpg89-scene>div{position:relative;z-index:1;max-width:570px}.rpg89-scene span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#ffdb90}.rpg89-scene h2{margin:4px 0;font:700 clamp(25px,4vw,40px) Georgia,serif}.rpg89-scene p{margin:0;color:#f5ead8}
.rpg89-search-scene{background-image:url('https://storage.yandexcloud.net/creaky-village-509978-assets/v892/rpg/ui--search-map.png')}.rpg89-craft-scene{background-image:url('https://storage.yandexcloud.net/creaky-village-509978-assets/v892/rpg/ui--craft-workshop.png')}.rpg89-market-scene{background-image:url('https://storage.yandexcloud.net/creaky-village-509978-assets/v892/rpg/ui--market-square.png')}.rpg89-boss-scene{background-image:url('https://storage.yandexcloud.net/creaky-village-509978-assets/v892/rpg/ui--boss-arena.png')}
.rpg89-search-active{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:18px;border-radius:18px;color:#fff;background:linear-gradient(110deg,#4f6525,#829941)}.rpg89-search-active h2,.rpg89-search-active p{margin:3px 0}.rpg89-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.rpg89-locations article,.rpg89-recipes article{padding:15px;border:1px solid #dec8a3;border-radius:18px;background:#fffaf0}.rpg89-locations header{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.rpg89-locations header span,.rpg89-locations header small{font-size:11px;color:#7b674d}.rpg89-locations p{min-height:42px;color:#725e47;font-size:13px}.rpg89-locations article>div{display:flex;margin:9px 0}.rpg89-locations img{width:38px;height:38px;margin-right:-5px;object-fit:contain;border-radius:50%;background:#eadfc9}.rpg89-locations button{width:100%}.rpg89-history{margin-top:12px;padding:16px;border-radius:16px;background:#f2e8d4}.rpg89-history h3{margin-top:0}.rpg89-history p{font-size:13px}
.rpg89-recipes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.rpg89-recipes article{display:flex;flex-direction:column;gap:11px}.rpg89-recipes article.is-unknown{filter:saturate(.65)}.rpg89-recipe-output{display:flex;gap:10px;align-items:center}.rpg89-recipe-output img{width:72px;height:72px;object-fit:contain;border-radius:14px;background:#eadfc9}.rpg89-recipe-output div>*{display:block}.rpg89-recipe-output small{font-size:11px;color:#7b674d}.rpg89-recipe-output span{font-size:12px;color:#806c53}.rpg89-ingredients{display:grid;gap:5px;flex:1}.rpg89-ingredients span{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:9px;font-size:12px;background:#f3e7d3;color:#8b4a3d}.rpg89-ingredients span.ok{color:#506d2c}.rpg89-ingredients img{width:28px;height:28px;object-fit:contain}.rpg89-ingredients b{margin-left:auto}
.rpg89-order-create{display:grid;grid-template-columns:minmax(180px,1fr) 90px 110px auto;gap:8px;margin-bottom:12px;padding:12px;border-radius:16px;background:#eee0c8}.rpg89-order-create select,.rpg89-order-create input{min-width:0;padding:10px;border:1px solid #cbb48c;border-radius:10px;background:#fffaf1}.rpg89-market-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rpg89-market-columns h3{margin:5px 0 10px}.rpg89-my-orders{margin-top:12px;padding:15px;border-radius:16px;background:#eee0c8}.rpg89-my-orders>span{display:flex;align-items:center;gap:8px;margin-top:7px;padding:7px;border-radius:10px;background:#fff9ee}.rpg89-my-orders img{width:38px;height:38px;object-fit:contain}.rpg89-my-orders button{margin-left:auto;padding:7px 9px}
.rpg89-encounters>div{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.rpg89-tabs{grid-template-columns:repeat(3,1fr)}.rpg89-market-columns{grid-template-columns:1fr}.rpg89-encounters>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.rpg89-scene{min-height:190px;padding:20px}.rpg89-order-create{grid-template-columns:1fr 1fr}.rpg89-order-create select,.rpg89-order-create button{grid-column:1/-1}.rpg89-locations,.rpg89-recipes{grid-template-columns:1fr}.rpg89-search-active{align-items:stretch;flex-direction:column}.rpg89-encounters>div{grid-template-columns:1fr}}

/* v89.3: compact route-first RPG navigation. */
.rpg89-hero.is-compact{min-height:118px;padding-block:18px}.rpg89-hero.is-compact h1{font-size:clamp(24px,4vw,38px)}
.rpg89-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.rpg89-hub>button{position:relative;min-height:150px;padding:0;display:flex;align-items:flex-end;overflow:hidden;text-align:left;touch-action:manipulation;color:#fff;background:#342619;box-shadow:0 10px 24px #38251424}.rpg89-hub>button:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(22,15,10,.94),rgba(22,15,10,.12) 75%)}.rpg89-hub img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}.rpg89-hub span{position:relative;z-index:1;display:grid;gap:3px;padding:15px 42px 15px 15px;pointer-events:none}.rpg89-hub b{font-size:18px}.rpg89-hub small{font-size:12px;line-height:1.25;color:#f4e5ca}.rpg89-hub i{position:absolute;z-index:2;right:15px;bottom:17px;pointer-events:none;font:28px/1 Georgia,serif;color:#ffdb90}
.rpg89-sectionbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px}.rpg89-sectionbar>button{padding:9px 13px;background:#eadbc1}.rpg89-sectionbar strong{font:700 20px Georgia,serif}.rpg89-tabs{margin:0 0 12px}.rpg89-tabs button{padding:9px 8px;font-size:13px}
.rpg89-subtabs{display:flex;gap:7px;margin:0 0 12px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}.rpg89-subtabs button{flex:0 0 auto;padding:8px 12px;background:#eadfc9}.rpg89-subtabs button.active{color:#fff;background:#6f8833}.rpg89-more{display:block;margin:14px auto 0;background:#dfcfb4!important}.rpg89-market-panel{max-width:960px;margin:0 auto}.rpg89-my-orders{margin-top:0}.rpg89-my-orders:empty{display:none}
@media(max-width:820px){.rpg89-hub{grid-template-columns:repeat(2,minmax(0,1fr))}.rpg89-tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.rpg89-hero{min-height:132px;padding:18px}.rpg89-hero h1{font-size:28px}.rpg89-hero p{font-size:13px}.rpg89-hero>button{padding:8px 11px}.rpg89-hub{grid-template-columns:1fr;gap:8px}.rpg89-hub>button{min-height:102px}.rpg89-sectionbar strong{font-size:17px}.rpg89-sectionbar>button span{display:none}.rpg89-tabs{grid-template-columns:repeat(2,1fr)}.rpg89-tabs button{font-size:12px}.rpg89-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.rpg89-item,.rpg89-listing{align-items:flex-start}.rpg89-item-art,.rpg89-item-art img,.rpg89-listing>img{width:54px;height:54px;flex-basis:54px}.rpg89-item-actions{width:100%;flex-direction:row}.rpg89-grid{grid-template-columns:1fr}}

/* v89.4: resilient RPG cards for phone and tablet widths. */
.rpg89-item-copy,.rpg89-listing>div,.rpg89-recipe-output>div{min-width:0}
.rpg89-item-copy b,.rpg89-listing b,.rpg89-recipe-output b{overflow-wrap:anywhere;word-break:normal}
@media(max-width:760px){
  .rpg89-grid,.rpg89-effects{grid-template-columns:1fr}
  .rpg89-item{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"art copy" "actions actions";align-items:center;gap:9px 12px}
  .rpg89-item-art{grid-area:art;width:64px;height:64px;flex-basis:auto}
  .rpg89-item-art img{width:64px;height:64px}
  .rpg89-item-copy{grid-area:copy;width:auto}
  .rpg89-item-copy b,.rpg89-listing b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
  .rpg89-item-actions{grid-area:actions;width:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px}
  .rpg89-item-actions button{width:100%;min-height:38px}
  .rpg89-listing{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px}
  .rpg89-listing>img{grid-column:1;width:58px;height:58px;flex-basis:auto}
  .rpg89-listing>div{grid-column:2}
  .rpg89-listing>button{grid-column:3;grid-row:1;min-width:82px;min-height:40px}
  .rpg89-order-create{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rpg89-order-create select,.rpg89-order-create button{grid-column:1/-1}
  .rpg89-my-orders>span{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:8px;overflow-wrap:anywhere}
  .rpg89-my-orders>span>b{min-width:0}
  .rpg89-my-orders button{grid-column:3;grid-row:1;margin-left:0}
  .rpg89-recipe-output{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center}
  .rpg89-recipe-output img{width:64px;height:64px}
  .rpg89-locations header{grid-template-columns:auto minmax(0,1fr) auto}
  .rpg89-locations header b{min-width:0;overflow-wrap:anywhere}
}

/* v89.5: energy economy and server-authoritative PvP. */
.rpg89-energy{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:12px 0;padding:13px 16px;border:1px solid #d9bd72;border-radius:18px;background:linear-gradient(110deg,#fff8dc,#f1e0aa);box-shadow:0 8px 20px #5b43151a}.rpg89-energy-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:25px;background:#755b22;color:#ffe683}.rpg89-energy-copy{min-width:0}.rpg89-energy-copy header{display:flex;justify-content:space-between;gap:12px}.rpg89-energy-copy header span{font-size:12px;color:#755f34}.rpg89-energy-copy i{display:block;height:10px;margin:7px 0 5px;overflow:hidden;border-radius:99px;background:#cdbd91}.rpg89-energy-copy u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e19a28,#f0ca43,#8caf42);text-decoration:none;transition:width .3s ease}.rpg89-energy-copy small{display:block;color:#735f39}.rpg89-energy>button{min-width:145px;display:grid;gap:2px}.rpg89-energy>button small{font-size:10px;font-weight:600}.rpg89-pvp-scene{background-image:linear-gradient(90deg,rgba(20,14,10,.12),rgba(20,14,10,.12)),url('https://storage.yandexcloud.net/creaky-village-509978-assets/v892/rpg/ui--boss-arena.png')}.rpg89-pvp-lobby,.rpg89-pvp-result{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid #dcc38d;border-radius:20px;background:#fff8e7}.rpg89-pvp-lobby>div{display:grid;gap:4px}.rpg89-pvp-lobby small{color:#746044}.rpg89-pvp-searching{display:flex;align-items:center;gap:8px;color:#6e8435}.rpg89-pvp-searching i{width:18px;height:18px;border:3px solid #c9d5a8;border-top-color:#6e8435;border-radius:50%;animation:rpg89spin .8s linear infinite}.rpg89-pvp-result{margin-bottom:10px;background:#edf3d7}.rpg89-pvp-match{padding:22px;border-radius:22px;color:#f9edd8;background:linear-gradient(145deg,#3b291c,#17110e)}.rpg89-pvp-match header{text-align:center}.rpg89-pvp-match .rpg89-battle-actions{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){.rpg89-energy{grid-template-columns:auto minmax(0,1fr)}.rpg89-energy>button{grid-column:1/-1;width:100%}.rpg89-energy-copy header{display:grid;gap:1px}.rpg89-pvp-lobby{align-items:stretch;flex-direction:column}.rpg89-pvp-lobby>button{width:100%}.rpg89-pvp-match .rpg89-fighters{grid-template-columns:1fr;gap:10px}.rpg89-pvp-match .rpg89-fighters>strong{text-align:center}.rpg89-pvp-match .rpg89-battle-actions{grid-template-columns:1fr}}
@media(max-width:440px){
  .rpg89{padding-inline:6px}
  .rpg89-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rpg89-listing{grid-template-columns:50px minmax(0,1fr)}
  .rpg89-listing>img{width:50px;height:50px}
  .rpg89-listing>button{grid-column:1/-1;grid-row:auto;width:100%}
  .rpg89-order-create{grid-template-columns:1fr}
  .rpg89-order-create>*{grid-column:1!important}
  .rpg89-my-orders>span{grid-template-columns:38px minmax(0,1fr)}
  .rpg89-my-orders button{grid-column:1/-1;grid-row:auto;width:100%}
  .rpg89-fighters{grid-template-columns:1fr;gap:10px}
  .rpg89-fighters>strong{display:none}
  .rpg89-battle{padding:15px}
}

.rpg89-result-overlay{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:18px;overflow-y:auto;background:radial-gradient(circle at 50% 15%,rgba(157,190,75,.34),transparent 38%),rgba(21,15,10,.9);backdrop-filter:blur(10px)}
.rpg89-result-overlay.is-defeat{background:radial-gradient(circle at 50% 15%,rgba(151,72,56,.34),transparent 38%),rgba(21,15,10,.92)}
.rpg89-result-card{position:relative;width:min(720px,100%);padding:clamp(26px,5vw,48px);border:1px solid #e8cc8a;border-radius:28px;text-align:center;color:#f9edd7;background:linear-gradient(145deg,#43301f,#211812);box-shadow:0 30px 90px #0009}
.rpg89-result-card:before{content:"";position:absolute;inset:9px;border:1px solid #f0d79342;border-radius:21px;pointer-events:none}
.rpg89-result-close{position:absolute;z-index:1;top:16px;right:16px;width:42px;height:42px;padding:0!important;border-radius:50%!important;font-size:28px!important;line-height:1;background:#ffffff16!important;color:#fff!important}
.rpg89-result-kicker{display:block;color:#f2ce79;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.rpg89-result-emblem{margin:10px 0 2px;font-size:clamp(56px,11vw,88px);filter:drop-shadow(0 12px 22px #0007)}
.rpg89-result-card h2{margin:0;font:700 clamp(38px,8vw,68px)/1 Georgia,serif;color:#fff}
.rpg89-result-card>p{margin:14px auto 24px;max-width:560px;color:#e9dbc6;line-height:1.5}
.rpg89-result-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 auto 22px}
.rpg89-result-rewards article{min-width:0;padding:16px 10px;display:grid;place-items:center;gap:5px;border:1px solid #f2d89933;border-radius:16px;background:#fffaf00d}
.rpg89-result-rewards article>span{font-size:30px}.rpg89-result-rewards article>img{width:50px;height:50px;object-fit:contain}
.rpg89-result-rewards small{color:#cdbd9f}.rpg89-result-rewards b{max-width:100%;overflow-wrap:anywhere;color:#fff;font-size:18px}
.rpg89-result-continue{position:relative;z-index:1;min-width:min(260px,100%);min-height:52px;background:#e9c56f!important;font-size:17px!important}
@media(max-width:560px){.rpg89-result-overlay{padding:10px}.rpg89-result-card{padding:30px 18px 22px;border-radius:22px}.rpg89-result-rewards{grid-template-columns:repeat(2,minmax(0,1fr))}.rpg89-result-loot{grid-column:1/-1}.rpg89-result-card>p{font-size:14px}.rpg89-result-close{top:10px;right:10px}}

/* v89.20: professions, dungeon, magic, kitchen, familiars and guided progression. */
.rpg89-deep-tabs{position:sticky;z-index:3;top:0;padding:8px;border-radius:15px;background:#f7eddcdd;backdrop-filter:blur(8px)}
.rpg89-deep-intro{margin-bottom:12px;padding:18px;border-radius:18px;color:#f7ecd9;background:linear-gradient(120deg,#4c3525,#755733)}.rpg89-deep-intro h2,.rpg89-deep-intro p{margin:0}.rpg89-deep-intro p{margin-top:6px;color:#ead8bb}
.rpg89-deep-card{display:grid!important;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:11px;padding:14px!important;border:1px solid #dec8a3;border-radius:18px;background:#fffaf0}.rpg89-deep-card.is-selected{border-color:#809b42;box-shadow:0 0 0 2px #a7be6855}.rpg89-deep-card>img{grid-row:1/3;width:72px;height:72px;object-fit:contain;border-radius:14px;background:#eadfc9}.rpg89-deep-card>div{min-width:0;display:grid;gap:3px}.rpg89-deep-card small,.rpg89-deep-card span{color:#79664e;font-size:12px}.rpg89-deep-card b{overflow-wrap:anywhere}.rpg89-deep-card>button{grid-column:1/-1;width:100%}
.rpg89-dungeon{padding:18px;border:1px solid #d9bf8c;border-radius:20px;background:#fff8e8}.rpg89-dungeon header{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.rpg89-active-buff{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:14px;border:1px solid #8cab50;border-radius:18px;background:#eef5db}.rpg89-active-buff img{width:58px;height:58px;object-fit:contain}.rpg89-active-buff div{display:grid;gap:4px}.rpg89-active-buff span{font-size:12px;color:#566837}
.rpg89-tutorial{display:grid;gap:9px}.rpg89-tutorial article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #dec8a3;border-radius:16px;background:#fffaf0}.rpg89-tutorial article.is-complete{border-color:#9db166;background:#f1f6df}.rpg89-tutorial i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-style:normal;font-weight:800;color:#fff;background:#8d704a}.rpg89-tutorial .is-complete i{background:#708b37}.rpg89-tutorial p{margin:3px 0;color:#76644e;font-size:13px}.rpg89-tutorial span{font-size:12px;color:#6c833b}
@media(max-width:600px){.rpg89-deep-card{grid-template-columns:58px minmax(0,1fr)}.rpg89-deep-card>img{width:58px;height:58px}.rpg89-tutorial article{grid-template-columns:38px minmax(0,1fr)}.rpg89-tutorial i{width:36px;height:36px}.rpg89-tutorial button{grid-column:1/-1;width:100%}.rpg89-dungeon header{display:grid}}

/* v89.21 shared platform commerce and rewarded inventory offers. */
.commerce89{margin:14px 0;padding:18px;border:1px solid #d8c08f;border-radius:22px;background:#fff8e8}.commerce89>header{margin-bottom:16px}.commerce89>header span{color:#6e8638;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.commerce89>header h2{margin:4px 0;font:700 26px Georgia,serif}.commerce89>header p{margin:0;color:#756248}.commerce89>h3{margin:18px 0 9px}.commerce89-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.commerce89-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:11px;padding:13px;border:1px solid #dec9a4;border-radius:16px;background:#fffdf7}.commerce89-card.is-disabled{filter:saturate(.55);opacity:.72}.commerce89-card.is-ad{border-color:#9fb66a;background:#f4f8e5}.commerce89-card>img{width:70px;height:70px;object-fit:contain;border-radius:13px;background:#eee1ca}.commerce89-card>div{min-width:0;display:grid;gap:3px}.commerce89-card small{color:#71863d;font-size:10px;font-weight:700;text-transform:uppercase}.commerce89-card p,.commerce89-card em{margin:0;color:#75634d;font-size:12px}.commerce89-card em{color:#9a584d}.commerce89-card>button{grid-column:1/-1;width:100%}.commerce89-rewards{display:flex!important;flex-wrap:wrap;gap:4px}.commerce89-rewards span{padding:3px 6px;border-radius:8px;background:#dfe9bf;font-size:10px}.commerce89.is-error{color:#873d34;background:#fff0ec}
@media(max-width:700px){.commerce89-grid{grid-template-columns:1fr}}
.web-auth-view{min-height:calc(100dvh - 2rem);display:grid;place-items:center;padding:1rem}.web-auth-card{width:min(100%,440px);text-align:center}.web-auth-logo{width:112px;height:112px;object-fit:contain}.web-auth-form{display:grid;gap:12px;margin-top:16px;text-align:left}.web-auth-form label{display:grid;gap:6px;font-weight:700}.web-auth-form input{width:100%;box-sizing:border-box;border:1px solid rgba(80,71,48,.28);border-radius:12px;padding:12px;background:#fffdf4;color:#302b20;font:inherit}.web-auth-form .green-btn{margin-top:4px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:rgba(80,71,48,.1)}.segmented-control button{border:0;border-radius:10px;padding:10px;background:transparent;color:inherit;font:inherit;font-weight:700}.segmented-control button.active{background:#fffdf4;box-shadow:0 2px 8px rgba(52,43,24,.12)}.form-error{color:#9c2d23;font-weight:700}.fine-print{font-size:.78rem;opacity:.68;margin-top:16px}.standalone-shell .topbar{padding-top:max(10px,env(safe-area-inset-top))}

/* source: css/rotating-adventures-v89.css */
.rotation-view{display:grid;gap:16px}.rotation-route-head{padding:14px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center;border:1px solid rgba(231,199,111,.28);border-radius:22px;background:linear-gradient(145deg,rgba(35,49,35,.96),rgba(60,72,48,.94));color:#fff5dc}.rotation-route-head>button{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.08);color:#e7c76f;font-size:1.5rem}.rotation-route-head div{min-width:0}.rotation-route-head span,.rotation-featured-copy>span,.rotation-choices header>span,.rotation-catalog header>span,.rotation-board header span{color:#e7c76f;font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.rotation-route-head h1{font-size:clamp(1.6rem,5vw,2.35rem);line-height:1}.rotation-route-head p{margin-top:4px;color:rgba(255,245,220,.72);font-size:.78rem}.rotation-featured{min-height:320px;display:grid;grid-template-columns:minmax(260px,.95fr) minmax(300px,1.05fr);overflow:hidden;border-radius:26px;background:#1f2d22;color:#fff5dc;box-shadow:0 18px 44px rgba(6,12,7,.25)}.rotation-featured-art,.rotation-card-art{display:block;background-image:url('../assets/ui/rotating-adventures/activity-atlas-v1.webp');background-size:500% 200%;background-position:var(--rotation-atlas-x) var(--rotation-atlas-y);background-repeat:no-repeat}.rotation-featured-art{min-height:320px}.rotation-featured-copy{padding:clamp(20px,4vw,38px);display:flex;flex-direction:column;justify-content:center}.rotation-featured-copy h2{margin-top:6px;font-size:clamp(2rem,6vw,3.6rem);line-height:.94}.rotation-featured-copy p{margin-top:12px;color:rgba(255,245,220,.8);font-size:.95rem;line-height:1.5}.rotation-featured-copy>strong{margin-top:12px;color:#acd16f}.rotation-featured-meta{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rotation-featured-meta b{padding:9px 11px;border:1px solid rgba(231,199,111,.18);border-radius:12px;background:rgba(255,255,255,.055);font-size:.73rem}.rotation-choices,.rotation-catalog,.rotation-board{padding:18px;border-radius:22px;background:rgba(255,250,239,.97);box-shadow:0 8px 24px rgba(31,39,24,.09)}.rotation-choices header,.rotation-catalog>header{max-width:66ch}.rotation-choices h2,.rotation-catalog h2,.rotation-board h2{font-size:1.45rem}.rotation-choices header p,.rotation-catalog header p{margin-top:4px;color:#6f6656;font-size:.8rem;line-height:1.45}.rotation-choices>div{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rotation-choices button{min-height:106px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-content:center;text-align:left;border:1px solid rgba(83,105,54,.2);border-radius:17px;background:linear-gradient(145deg,#eff6df,#fffaf0)}.rotation-choices button b{color:#31472a;font-size:.96rem}.rotation-choices button small{margin-top:5px;grid-column:1;color:#6f6656;line-height:1.35}.rotation-choices button i{grid-column:2;grid-row:1/3;align-self:center;color:#668d42;font-style:normal}.rotation-choices button:disabled{filter:grayscale(.55);opacity:.55}.rotation-error{margin-top:10px;color:#a63c2c}.rotation-catalog>nav{margin-top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.rotation-catalog>nav>button{min-width:0;padding:6px;display:grid;gap:6px;text-align:left;border:1px solid transparent;border-radius:15px;background:#f1eadb}.rotation-catalog>nav>button.active{border-color:#b9913f;background:#fff6d7;box-shadow:0 0 0 2px rgba(185,145,63,.13)}.rotation-card-art{width:100%;aspect-ratio:1;border-radius:11px}.rotation-catalog button span{min-width:0;display:grid}.rotation-catalog button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}.rotation-catalog button small{color:#766c5c;font-size:.62rem}.rotation-board>header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.rotation-board nav{display:flex;gap:5px}.rotation-board nav button{min-height:38px;padding:7px 10px;border-radius:11px;background:#eee6d7;color:#675d4d;font-size:.7rem;font-weight:800}.rotation-board nav button.active{background:#536936;color:#fff}.rotation-board-list{margin-top:13px;display:grid;gap:6px}.rotation-board-list article{min-height:54px;padding:8px 12px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border-radius:13px;background:#f1eadc}.rotation-board-list article>b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#ded4c0}.rotation-board-list article.is-medal>b{color:#5b4519;background:#e7c76f}.rotation-board-list article span{min-width:0;display:grid}.rotation-board-list article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rotation-board-list article small{color:#776d5e}.rotation-board-list article em{color:#536936;font-size:1.08rem;font-style:normal;font-weight:900}.rotation-empty,.rotation-loading{padding:28px;text-align:center;color:#776d5e}.rotation-loading{display:grid;justify-items:center;gap:12px;border-radius:20px;background:#fffaf0}.rotation-loading>span{width:34px;height:34px;border:3px solid #d9cfbb;border-top-color:#668d42;border-radius:50%;animation:rotation-spin .8s linear infinite}@keyframes rotation-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.rotation-featured{grid-template-columns:1fr}.rotation-featured-art{min-height:240px;aspect-ratio:1.6}.rotation-featured-copy{padding:20px}.rotation-choices>div{grid-template-columns:1fr}.rotation-catalog>nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.rotation-catalog>nav>button{flex:0 0 128px;scroll-snap-align:start}.rotation-board>header{grid-template-columns:1fr}.rotation-board nav{overflow-x:auto}.rotation-route-head p{display:none}}@media(max-width:430px){.rotation-view{gap:11px}.rotation-featured{min-height:0}.rotation-featured-art{min-height:205px}.rotation-featured-copy h2{font-size:2rem}.rotation-featured-meta{grid-template-columns:1fr 1fr}.rotation-choices,.rotation-catalog,.rotation-board{padding:14px}.rotation-board-list article{grid-template-columns:30px minmax(0,1fr) auto}}


/* source: css/goblin-towers.css */
@font-face {
  font-family: "Balsamiq Sans GT";
  src: url('../assets/fonts/BalsamiqSans-Bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

.gt-gate,
.gt-game {
  --gt-cream: #fff0c8;
  --gt-gold: #e7b95d;
  --gt-ink: #3b2510;
  --gt-hud-font: "Balsamiq Sans GT", "Trebuchet MS", system-ui, sans-serif;
  position: fixed;
  inset: 0;
  z-index: 120;
  overflow: hidden;
  color: var(--gt-cream);
  background: #77b9d1;
  font-family: Georgia, "Times New Roman", serif;
}

.gt-gate *,
.gt-game * { box-sizing: border-box; }
.gt-gate button,
.gt-game button { font: inherit; }

.gt-gate-bg,
.gt-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  display: block;
}

.gt-gate-bg img,
.gt-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gt-gate-shade,
.gt-vignette {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(27, 54, 49, .02), rgba(18, 37, 29, .13)),
    radial-gradient(circle at center, transparent 52%, rgba(35, 24, 11, .17));
}

/* Mode gate */
.gt-gate-content {
  width: min(960px, calc(100% - 32px));
  min-height: 100%;
  margin: auto;
  padding: max(24px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
}

.gt-gate-title {
  display: block;
  width: min(900px, 96%);
  height: auto;
  filter: drop-shadow(0 12px 18px rgba(25, 15, 4, .36));
}

.gt-gate-content > p {
  margin: 8px 0 24px;
  padding: 8px 18px;
  border: 1px solid rgba(255, 240, 191, .48);
  border-radius: 999px;
  color: #fff7df;
  background: rgba(30, 52, 39, .73);
  box-shadow: 0 8px 22px rgba(15, 13, 5, .2);
  backdrop-filter: blur(9px);
  font: 700 clamp(.9rem, 2vw, 1.08rem)/1.2 "Trebuchet MS", Arial, sans-serif;
}

.gt-gate-actions {
  width: min(850px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 3vw, 30px);
}

.gt-mode-card {
  min-height: clamp(180px, 25vw, 260px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 26px;
  border: 3px solid #d6a94e;
  border-radius: 28px;
  display: grid;
  align-content: end;
  justify-items: start;
  color: #fff8df;
  background-position: center;
  background-size: cover;
  box-shadow: inset 0 0 0 3px rgba(71, 42, 13, .7), 0 18px 42px rgba(24, 17, 7, .36);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease;
}

.gt-mode-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(10, 25, 20, .02) 28%, rgba(14, 25, 20, .91));
}

.gt-mode-card.is-towers { background-image: url('../assets/cards/game-ui/runtime/v3/battlefield-landscape.webp'); }
.gt-mode-card.is-camp { background-image: url('../assets/ui/new/01_fullscreen_landscape/fullscreen_landscape_014.webp'); }
.gt-mode-card:hover,
.gt-mode-card:focus-visible { transform: translateY(-5px); filter: brightness(1.08); }

.gt-mode-card span {
  font: 900 clamp(1.5rem, 3.4vw, 2.35rem)/1 Georgia, "Times New Roman", serif;
  text-shadow: 0 3px 8px #000;
}

.gt-mode-card small {
  margin-top: 8px;
  color: #f9e8bd;
  font: 700 clamp(.75rem, 1.8vw, 1rem)/1.25 "Trebuchet MS", Arial, sans-serif;
  text-shadow: 0 2px 5px #000;
}

.gt-mode-card .gt-mode-drop {
  max-width: 100%;
  margin-top: 10px;
  padding: 6px 10px;
  border: 1px solid rgba(255,216,103,.8);
  border-radius: 999px;
  color: #fff0a9;
  background: rgba(21,73,58,.9);
  box-shadow: inset 0 0 0 1px rgba(54,27,9,.72),0 3px 8px rgba(0,0,0,.3);
  font: 900 clamp(.68rem,1.45vw,.92rem)/1.12 "Trebuchet MS",Arial,sans-serif;
  letter-spacing: .015em;
  text-align: center;
  text-shadow: 0 2px 4px #000;
}

/* Battlefield */
.gt-game { isolation: isolate; user-select: none; }

.gt-titlebar {
  position: absolute;
  z-index: 8;
  left: 50%;
  top: max(.45vh, env(safe-area-inset-top));
  width: min(35vw, 680px);
  height: 10.5vh;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  pointer-events: none;
}

.gt-titlebar > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 .8vh 1vh rgba(36, 20, 4, .34));
}

/* Outer HUD: the quiet middle stretches while thin, proportional 9-slice edges
   preserve the authored corners and rivets without eating into the content. */
.gt-hud {
  position: absolute;
  z-index: 6;
  top: max(1vh, env(safe-area-inset-top));
  width: min(34vw, 650px);
  height: min(24vh, 270px);
  color: #fff8dd;
  font-family: var(--gt-hud-font);
  font-synthesis: none;
  text-shadow: 0 2px 3px rgba(33, 19, 6, .8);
  text-rendering: geometricPrecision;
}

.gt-hud.is-player { left: max(.7vw, env(safe-area-inset-left)); }
.gt-hud.is-enemy { right: max(.7vw, env(safe-area-inset-right)); }

.gt-hud::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-style: solid;
  border-color: transparent;
  border-width: clamp(10px, .9vw, 17px);
  border-image-slice: 38 fill;
  border-image-width: 1;
  border-image-repeat: stretch;
  filter: drop-shadow(0 .8vh 1.15vh rgba(27, 16, 5, .44));
  pointer-events: none;
}

.gt-hud.is-player::before { border-image-source: url('../assets/cards/game-ui/runtime/v4/hud-shell-player-uniform-r14.webp'); }
.gt-hud.is-enemy::before { border-image-source: url('../assets/cards/game-ui/runtime/v4/hud-shell-enemy-uniform-r14.webp'); }

.gt-hud-portrait {
  position: absolute;
  z-index: 4;
  top: 6%;
  width: 24%;
  aspect-ratio: 1;
}

.gt-hud.is-player .gt-hud-portrait { left: 2.2%; }
.gt-hud.is-enemy .gt-hud-portrait { right: 2.2%; }

.gt-hud-avatar {
  position: absolute;
  inset: 10%;
  width: 80%;
  height: 80%;
  border-radius: 50%;
  object-fit: cover;
}

.gt-hud-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 .35vh .35vh rgba(0, 0, 0, .5));
}

.gt-hud-head {
  position: absolute;
  z-index: 3;
  top: 9.5%;
  height: 14.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .48em;
  overflow: hidden;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.gt-hud-head:focus-visible { outline: 2px solid #7dd8ff; outline-offset: -2px; border-radius: 8px; }

.gt-hud.is-player .gt-hud-head { left: 26%; right: 5%; }
.gt-hud.is-enemy .gt-hud-head { left: 5%; right: 26%; }

.gt-hud-head strong,
.gt-hud-head span {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  font-family: var(--gt-hud-font);
  font-weight: 700;
  letter-spacing: .025em;
  text-overflow: ellipsis;
  text-shadow: 0 2px 2px #1c1009, 0 0 1px #000;
}

.gt-hud-head strong { font-size: clamp(14px, 1.28vw, 20px); }
.gt-hud-head span { color: #ffe0a0; font-size: clamp(13px, 1.12vw, 18px); }
.gt-hud-head i { flex: 0 0 auto; color: #e6bd69; font: 900 .52em/1 Georgia, serif; text-shadow: 0 1px 2px #251407; }
.gt-skip-badge { flex: 0 0 auto; display: grid; place-items: center; min-width: 2.2em; height: 1.45em; padding: 0 .35em; border: 1px solid #efc56b; border-radius: 999px; color: #fff4c8 !important; background: #873f2d; font-size: .72em !important; line-height: 1; }

.gt-fort-stats {
  position: absolute;
  z-index: 2;
  top: 25%;
  height: 31%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2%;
}

.gt-hud.is-player .gt-fort-stats { left: 25%; right: 3.5%; }
.gt-hud.is-enemy .gt-fort-stats { left: 3.5%; right: 25%; }

.gt-fort-stat {
  position: relative;
  isolation: isolate;
  min-width: 0;
  height: 100%;
  color: var(--gt-ink);
  text-shadow: 0 1px 1px #fff7d2;
}

.gt-fort-stat::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-style: solid;
  border-color: transparent;
  border-width: clamp(10px, 1.45vh, 17px) clamp(13px, 1.85vh, 22px);
  border-image-source: url('../assets/cards/game-ui/runtime/v2/stat-parchment.webp');
  border-image-slice: 30 38 fill;
  border-image-width: 1;
  border-image-repeat: stretch;
  filter: drop-shadow(0 2px 2px rgba(35, 20, 7, .4));
  pointer-events: none;
}

.gt-stat-icon {
  position: absolute;
  z-index: 2;
  left: 5%;
  top: 12%;
  width: 24%;
  height: 76%;
  object-fit: contain;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .35));
}

.gt-fort-stat > span {
  position: absolute;
  z-index: 2;
  left: 30%;
  right: 3%;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1px;
  overflow: hidden;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.gt-fort-stat > span .gt-fort-label,
.gt-fort-stat > span b { position: static; min-width: 0; overflow: hidden; white-space: nowrap; }
.gt-fort-stat > span .gt-fort-label {
  flex: 0 1 auto;
  width: 92%;
  max-width: 92%;
  height: clamp(19px, 2.2vh, 29px);
  object-fit: contain;
}
.gt-fort-stat > span b { flex: 0 0 auto; translate: 0 -.02em; font-family: var(--gt-hud-font); font-size: clamp(18px, 1.68vw, 27px); font-weight: 700; line-height: .9; font-variant-numeric: tabular-nums; }

/* Resource cassettes are slightly taller than the source artwork so their
   parchment labels keep comfortable vertical padding at every viewport. */
.gt-resources {
  position: absolute;
  z-index: 2;
  left: 3%;
  right: 3%;
  bottom: 4%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 1.3%;
}

.gt-resource {
  position: relative;
  isolation: isolate;
  min-width: 0;
  /* Give both the parchment caption and the dark value well a little more
     breathing room than the original, very flat authored cassette. */
  aspect-ratio: 460 / 170;
  color: #fff6d1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  filter: drop-shadow(0 2px 2px rgba(31, 17, 5, .4));
  text-shadow: 0 2px 2px #1f1108;
}

.gt-resource.is-scrap { background-image: url('../assets/cards/game-ui/runtime/v2/resource-scrap.webp'); }
.gt-resource.is-spirit { background-image: url('../assets/cards/game-ui/runtime/v2/resource-spirit.webp'); }
.gt-resource.is-valor { background-image: url('../assets/cards/game-ui/runtime/v2/resource-valor.webp'); }

.gt-resource-icon {
  position: absolute;
  z-index: 2;
  left: 3%;
  top: 11%;
  width: 23.5%;
  height: 78%;
  object-fit: contain;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .45));
}

.gt-resource > .gt-resource-label {
  position: absolute;
  z-index: 2;
  /* Match the inner parchment, not the full ornamental frame. */
  left: 31%;
  right: 6%;
  top: 13%;
  height: 30%;
  width: auto;
  object-fit: contain;
}

.gt-resource > b {
  position: absolute;
  z-index: 2;
  left: 29%;
  right: 3%;
  top: 45%;
  bottom: 10%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .22em;
  overflow: hidden;
  color: #fff3c7;
  font-family: var(--gt-hud-font);
  font-size: clamp(18px, 1.68vw, 27px);
  font-weight: 700;
  line-height: .9;
  font-variant-numeric: tabular-nums;
  text-align: center;
  white-space: nowrap;
}

.gt-resource > b em { margin: 0; translate: 0 -.02em; color: #c7f28c; font-family: var(--gt-hud-font); font-size: .62em; font-style: normal; font-weight: 700; line-height: .9; }

/* Turn plaque keeps the authored 800:186 silhouette with no axis distortion. */
.gt-turn {
  position: absolute;
  z-index: 6;
  left: 50%;
  top: 21.5vh;
  width: clamp(300px, 23vw, 440px);
  aspect-ratio: 800 / 186;
  transform: translateX(-50%);
  padding: 0;
  color: #fff5cf;
  font-family: var(--gt-hud-font);
  background: var(--gt-turn-art) center / 100% 100% no-repeat;
  filter: drop-shadow(0 .6vh .8vh rgba(36, 20, 5, .42));
  text-align: center;
  text-shadow: 0 2px 3px rgba(38, 23, 10, .8);
  text-transform: uppercase;
  white-space: nowrap;
}

.gt-turn-timer,
.gt-turn-number { position: absolute; z-index: 2; display: grid; place-items: center; color: #fff4c8; font-family: var(--gt-hud-font); font-variant-numeric: tabular-nums; font-weight: 900; line-height: 1; }
.gt-turn-timer { left: 65%; right: 11%; top: 30%; height: 28%; font-size: clamp(15px, 1.16vw, 20px); }
.gt-turn-number { left: 54%; right: 37%; top: 63%; height: 19%; color: #d8eef7; font-size: clamp(11px, .78vw, 14px); }
.gt-turn-bot { position: absolute; z-index: 3; right: 7%; bottom: 12%; font-size: clamp(12px, 1vw, 17px); filter: drop-shadow(0 1px 2px #261509); }

/* Card hand */
.gt-hand-wrap {
  position: absolute;
  z-index: 5;
  left: 5vw;
  right: 5vw;
  bottom: 15.8vh;
  height: min(43vh, 430px);
  display: grid;
  grid-template-columns: min(6.2vw, 104px) minmax(0, 1fr) min(6.2vw, 104px);
  align-items: center;
  gap: .4vw;
}

.gt-hand {
  height: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2.2vh 1.2vw 1.1vh;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: clamp(8px, 1vw, 18px);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  cursor: grab;
}

.gt-hand::-webkit-scrollbar { display: none; }
.gt-hand:active { cursor: grabbing; }

.gt-card {
  height: calc(100% - 1.5vh);
  aspect-ratio: 2 / 3;
  flex: 0 0 auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: clamp(9px, .8vw, 15px);
  background: transparent;
  box-shadow: 0 1.1vh 1.5vh rgba(7, 16, 8, .56);
  scroll-snap-align: center;
  cursor: pointer;
  transform-origin: center bottom;
  transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}

.gt-card img { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.gt-card:hover { transform: translateY(-1vh); }
.gt-card.is-selected { transform: translateY(-2.4vh) scale(1.09); filter: drop-shadow(0 0 .8vh #68c8ff) drop-shadow(0 0 .35vh #fff); }
.gt-card.is-unavailable { opacity: .82; filter: saturate(.45) brightness(.66); }
.gt-card.is-unavailable.is-selected { filter: saturate(.45) brightness(.72) drop-shadow(0 0 .6vh #e89a66); }

.gt-hand-arrow {
  z-index: 2;
  width: 100%;
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  background: transparent;
  filter: drop-shadow(0 .6vh .7vh rgba(0, 0, 0, .45));
  cursor: pointer;
}

.gt-hand-arrow img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gt-hand-arrow.is-next img { transform: rotate(180deg); }
.gt-hand-arrow:hover { filter: brightness(1.1) drop-shadow(0 .6vh .7vh rgba(0, 0, 0, .45)); }

.gt-hand-dots { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); display: flex; gap: .35vw; }
.gt-hand-dots i { width: clamp(5px, .42vw, 8px); aspect-ratio: 1; border: 1px solid #eac264; border-radius: 50%; background: #74491d; }
.gt-hand-dots i.active { background: #67c8ff; box-shadow: 0 0 8px #67c8ff; }

/* Actions and overlays */
.gt-actions { position: absolute; z-index: 7; right: max(1.2vw, env(safe-area-inset-right)); bottom: max(.45vh, env(safe-area-inset-bottom)); display: flex; align-items: end; }
.gt-image-button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.gt-image-button img { display: block; width: 100%; height: auto; filter: drop-shadow(0 .6vh .8vh rgba(24, 14, 4, .42)); }
.gt-image-button:active { transform: translateY(2px); }
.gt-image-button:disabled { opacity: .6; filter: grayscale(.7); cursor: not-allowed; }
.gt-end-turn { width: min(28vw, 520px); }
.gt-log-button { position: absolute; z-index: 7; left: max(1.2vw, env(safe-area-inset-left)); bottom: max(.7vh, env(safe-area-inset-bottom)); width: min(15vw, 280px); }

.gt-log {
  position: absolute;
  z-index: 12;
  left: max(12px, env(safe-area-inset-left));
  bottom: max(12px, env(safe-area-inset-bottom));
  width: min(420px, calc(100vw - 24px));
  max-height: min(62vh, 520px);
  overflow: hidden;
  border: 3px solid #d7ad57;
  border-radius: 20px;
  color: #382410;
  background: linear-gradient(#fff2cf, #e5c990);
  box-shadow: inset 0 0 0 2px #6c4724, 0 18px 45px rgba(0, 0, 0, .46);
  opacity: 0;
  transform: translateY(calc(100% + 30px));
  pointer-events: none;
  transition: .22s ease;
}

.gt-log.is-open { opacity: 1; transform: none; pointer-events: auto; }
.gt-log header { padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; color: #fff0c5; background: #124d73; }
.gt-log header button { width: 32px; height: 32px; border: 1px solid #d9b566; border-radius: 50%; color: #fff; background: #743b2c; }
.gt-log ol { max-height: 430px; margin: 0; padding: 14px 12px 22px; overflow: auto; list-style: none; font: 700 .82rem/1.35 "Trebuchet MS", Arial, sans-serif; }
.gt-log-card { position: relative; width: 66%; margin: 0 auto 14px; display: grid; gap: 5px; }
.gt-log-card.is-player { margin-left: 0; padding-right: 13%; }
.gt-log-card.is-enemy { margin-right: 0; padding-left: 13%; }
.gt-log-card > div { position: relative; width: min(150px, 100%); margin: auto; }
.gt-log-card img { display: block; width: 100%; height: auto; border-radius: 9px; filter: drop-shadow(0 7px 8px rgba(32,20,8,.38)); }
.gt-log-card b { position: absolute; inset: 0; display: grid; place-items: center; color: #d43c31; font: 900 clamp(4rem, 12vw, 7rem)/1 Georgia, serif; text-shadow: 0 3px 0 #fff1c4, 0 6px 12px #34150d; }
.gt-log-card small { display: block; padding: 5px 7px; border-radius: 8px; color: #4a2e16; background: rgba(255,247,216,.82); text-align: center; }
.gt-log-event { width: 82%; margin: 8px auto; padding: 8px 10px; border-radius: 10px; background: rgba(106,71,34,.12); }
.gt-log-event.is-player { margin-left: 0; }
.gt-log-event.is-enemy { margin-right: 0; }
.gt-log-event p { margin: 0; }
.gt-log-event small { display: block; margin-top: 3px; color: #74512d; }

.gt-league {
  position: absolute;
  z-index: 13;
  top: 50%;
  left: 50%;
  width: min(820px, calc(100vw - 28px));
  max-height: min(82vh, 680px);
  overflow: auto;
  border: 3px solid #d7ad57;
  border-radius: 20px;
  color: #382410;
  background: linear-gradient(#fff2cf, #e5c990);
  box-shadow: inset 0 0 0 2px #6c4724, 0 22px 52px rgba(0, 0, 0, .52);
  opacity: 0;
  transform: translate(-50%, -46%) scale(.96);
  pointer-events: none;
  transition: .2s ease;
}

.gt-league.is-open { opacity: 1; transform: translate(-50%, -50%); pointer-events: auto; }
.gt-league > header { position: sticky; top: 0; z-index: 2; padding: 11px 14px; display: flex; align-items: center; justify-content: space-between; color: #fff0c5; background: #124d73; }
.gt-league > header button { width: 32px; height: 32px; border: 1px solid #d9b566; border-radius: 50%; color: #fff; background: #743b2c; }
.gt-league > p { margin: 8px 16px 14px; text-align: center; font: 800 .82rem/1.35 "Trebuchet MS", Arial, sans-serif; }
.gt-league-summary { display: flex; align-items: baseline; justify-content: center; gap: 12px; padding: 14px 16px 0; color: #174f6c; }
.gt-league-summary b { font-size: 1.3rem; }
.gt-league-summary small { color: #684725; font-weight: 800; }
.gt-league-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 14px 16px; }
.gt-league-columns section { min-width: 0; overflow: hidden; border: 2px solid #9a6c35; border-radius: 12px; background: rgba(255, 248, 220, .62); }
.gt-league-columns h3 { margin: 0; padding: 8px 10px; color: #fff0c5; background: #285e76; text-align: center; font-size: .9rem; }
.gt-league-columns ol { margin: 0; padding: 8px; list-style: none; }
.gt-league-columns li { display: grid; grid-template-columns: 2em minmax(0, 1fr) auto; gap: 7px; align-items: center; min-height: 30px; padding: 4px 6px; border-radius: 7px; font: 800 .76rem/1.2 "Trebuchet MS", Arial, sans-serif; }
.gt-league-columns li:nth-child(even) { background: rgba(114, 76, 32, .09); }
.gt-league-columns li.is-me { color: #0b536f; background: rgba(74, 183, 224, .18); }
.gt-league-columns li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-league-columns li em { color: #176482; font-style: normal; }

/* Towers lobby: entering the module never starts matchmaking by itself. */
.gt-lobby,
.gt-ranking-screen {
  position: absolute;
  inset: 0;
  z-index: 7;
  display: grid;
  place-items: center;
  padding: max(12vh, 84px) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  overflow: auto;
}

.gt-lobby-panel,
.gt-ranking-screen > section {
  width: min(920px, calc(100vw - 36px));
  padding: clamp(18px, 2.5vw, 30px);
  border: 4px solid #d5a54c;
  border-radius: 26px;
  color: #3c2814;
  background:
    linear-gradient(rgba(255,245,211,.96),rgba(221,190,126,.96)),
    repeating-linear-gradient(90deg,rgba(92,55,21,.06) 0 2px,transparent 2px 18px);
  box-shadow: inset 0 0 0 3px #68421f, inset 0 0 28px rgba(103,64,23,.2), 0 22px 56px rgba(28,18,6,.48);
}

.gt-lobby-profile {
  width: fit-content;
  margin: 0 auto 10px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  color: #174f6d;
  font-family: var(--gt-hud-font);
}
.gt-lobby-profile span { color: #6b4724; font-size: .82rem; font-weight: 800; }
.gt-lobby-profile b { font-size: clamp(1.25rem, 2.2vw, 1.8rem); }
.gt-lobby-profile small { color: #875d2e; font-weight: 900; }
.gt-lobby-notice { min-height: 1.4em; margin: 0 auto 16px; color: #65441f; text-align: center; font: 800 clamp(.76rem, 1.4vw, .95rem)/1.35 var(--gt-hud-font); }
.gt-lobby-notice.is-error { color: #9b3025; }

.gt-lobby-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(12px,2vw,20px); }
.gt-lobby-action {
  position: relative;
  min-height: clamp(132px, 15vw, 182px);
  overflow: hidden;
  padding: 22px 18px;
  border: 3px solid #d8ad57;
  border-radius: 20px;
  display: grid;
  align-content: end;
  gap: 8px;
  color: #fff3cd;
  background-color: #155d7e;
  box-shadow: inset 0 0 0 3px #513318, inset 0 -70px 80px rgba(9,20,18,.58), 0 10px 20px rgba(55,32,11,.28);
  text-align: left;
  text-shadow: 0 2px 4px #241307;
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease;
}
.gt-lobby-action::before { content:""; position:absolute; inset:7px; border:1px solid rgba(255,226,148,.36); border-radius:13px; pointer-events:none; }
.gt-lobby-action.is-online { background: linear-gradient(145deg,#278bb2,#124b70 58%,#0c354d); }
.gt-lobby-action.is-bot { background: linear-gradient(145deg,#c2763c,#84411f 58%,#552913); }
.gt-lobby-action.is-rating { background: linear-gradient(145deg,#318b77,#185b59 58%,#123b42); }
.gt-lobby-action:hover,.gt-lobby-action:focus-visible { transform: translateY(-4px); filter: brightness(1.08); outline: none; }
.gt-lobby-action:disabled { opacity: .48; filter: grayscale(.55); cursor: not-allowed; transform: none; }
.gt-lobby-action span { position:relative; z-index:1; font: 900 clamp(1.25rem,2.2vw,1.75rem)/1.05 Georgia,"Times New Roman",serif; }
.gt-lobby-action small { position:relative; z-index:1; color:#f4dfb1; font: 800 clamp(.7rem,1.25vw,.88rem)/1.28 var(--gt-hud-font); }
.gt-lobby-exit { display:block; margin:16px auto 0; padding:7px 16px; border:1px solid #9b723e; border-radius:999px; color:#5b3c1d; background:rgba(255,246,216,.62); font:800 .78rem/1.2 var(--gt-hud-font); cursor:pointer; }

.gt-ranking-screen > section { max-height: min(82vh,720px); overflow:auto; }
.gt-ranking-screen > section > header { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin:-6px 0 8px; }
.gt-ranking-screen > section > header::after { content:""; width:72px; }
.gt-ranking-screen > section > header h2 { margin:0; color:#174f6d; text-align:center; font-size:clamp(1.2rem,2.6vw,1.9rem); }
.gt-ranking-screen > section > header button { padding:7px 14px; border:2px solid #6b4724; border-radius:10px; color:#fff1c7; background:#165f80; font:900 .8rem/1.2 var(--gt-hud-font); cursor:pointer; }

.gt-status-card {
  position: absolute;
  z-index: 8;
  top: 50%;
  left: 50%;
  width: min(440px, calc(100vw - 30px));
  padding: 26px 24px;
  transform: translate(-50%, -50%);
  border: 3px solid #d7ad57;
  border-radius: 22px;
  color: #382410;
  background: linear-gradient(#fff2cf, #e5c990);
  box-shadow: inset 0 0 0 2px #6c4724, 0 20px 48px rgba(0, 0, 0, .46);
  text-align: center;
}
.gt-status-card h2 { margin: 8px 0; font-size: 1.45rem; }
.gt-status-card p { margin: 0 auto 16px; max-width: 34em; font: 700 .9rem/1.4 "Trebuchet MS", Arial, sans-serif; }
.gt-status-card button { padding: 9px 20px; border: 2px solid #60421f; border-radius: 11px; color: #fff6d7; background: #176486; font-weight: 900; }
.gt-status-spinner { width: 34px; height: 34px; margin: 0 auto; border: 4px solid rgba(23, 100, 134, .25); border-top-color: #176486; border-radius: 50%; animation: gt-spin .8s linear infinite; }
.gt-search-card > strong { display: block; margin: 6px 0 14px; color: #145d7d; font: 900 clamp(1.7rem, 5vw, 2.6rem)/1 var(--gt-hud-font); font-variant-numeric: tabular-nums; }
.gt-search-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 0 0 14px; }
.gt-search-stats span { padding: 8px 5px; border: 1px solid #b98a45; border-radius: 9px; background: rgba(255,248,220,.55); font: 700 .72rem/1.2 var(--gt-hud-font); }
.gt-search-stats b { display: block; margin-top: 3px; color: #155e7f; font-size: 1rem; }
.gt-status-card .gt-training-button { background: linear-gradient(#b76532,#82401f); }
.gt-status-card .gt-search-cancel { margin-left: 7px; color: #5b3b20; background: rgba(255,246,210,.45); }
@keyframes gt-spin { to { transform: rotate(1turn); } }

.gt-card-inspect { position: absolute; inset: 0; z-index: 26; display: grid; place-items: center; padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); background: rgba(10,25,25,.72); backdrop-filter: blur(9px); }
.gt-card-inspect > section { max-height: 96dvh; display: grid; grid-template-columns: minmax(0,auto) minmax(170px,260px); align-items: center; gap: clamp(14px,3vw,34px); }
.gt-inspect-card { display: block; height: min(82dvh,720px); max-width: 62vw; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(0,0,0,.58)); }
.gt-inspect-actions { display: grid; gap: 12px; }
.gt-inspect-actions button { min-width: 0; padding: 0; border: 0; background: transparent; filter: drop-shadow(0 7px 10px rgba(0,0,0,.4)); cursor: pointer; }
.gt-inspect-actions button img { display: block; width: 100%; height: auto; }
.gt-inspect-actions button:disabled { opacity: .42; filter: grayscale(.7); cursor: not-allowed; }
.gt-card-inspect p { max-width: 260px; margin: 10px 0 0; color: #ffe9b6; font: 700 .82rem/1.3 var(--gt-hud-font); text-align: center; }
.gt-inspect-back { position: absolute; top: max(14px,env(safe-area-inset-top)); left: max(14px,env(safe-area-inset-left)); width: min(210px,28vw); padding: 0; border: 0; background: transparent; filter: drop-shadow(0 5px 9px rgba(0,0,0,.42)); cursor: pointer; }
.gt-inspect-back img { display: block; width: 100%; height: auto; }

.gt-card-flight { position: absolute; z-index: 30; left: 50%; top: 50%; width: min(25vw,330px); transform: translate(-50%,70vh) scale(.72) rotate(-5deg); opacity: 0; pointer-events: none; }
.gt-card-flight.is-enemy { transform: translate(-50%,-85vh) scale(.72) rotate(5deg); }
.gt-card-flight img { display: block; width: 100%; filter: drop-shadow(0 18px 25px rgba(0,0,0,.62)); }
.gt-card-flight span { display: block; margin-top: -2%; padding: 7px 10px; border: 2px solid #d7ad57; border-radius: 10px; color: #442b14; background: #fff0c8; font: 800 .8rem/1.25 var(--gt-hud-font); text-align: center; }
.gt-card-flight.is-discarded::after { content: "×"; position: absolute; inset: 0 0 auto; display: grid; place-items: center; height: 88%; color: #db392d; font: 900 min(25vw,13rem)/1 Georgia,serif; text-shadow: 0 4px 0 #fff0c8,0 8px 18px #31100b; }
.gt-card-flight.is-running { animation: gt-card-play 1.4s cubic-bezier(.2,.75,.25,1) forwards; }
.gt-card-flight.is-enemy.is-running { animation-name: gt-card-play-enemy; }
@keyframes gt-card-play { 0%{transform:translate(-50%,70vh) scale(.72) rotate(-5deg);opacity:0} 22%,70%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1} 100%{transform:translate(-50%,-58%) scale(.82);opacity:0} }
@keyframes gt-card-play-enemy { 0%{transform:translate(-50%,-85vh) scale(.72) rotate(5deg);opacity:0} 22%,70%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1} 100%{transform:translate(-50%,-42%) scale(.82);opacity:0} }
.gt-hud.is-income-pulse .gt-resource { animation: gt-income-pulse .9s ease; }
.gt-income-float { position: absolute; z-index: 29; left: 50%; width: min(430px,80vw); padding: 8px 12px; transform: translateX(-50%); border: 2px solid #e6bd69; border-radius: 13px; color: #fff4ca; background: rgba(18,78,104,.94); box-shadow: 0 8px 18px rgba(0,0,0,.4); text-align: center; animation: gt-income-rise 1s ease both; }
.gt-income-float.is-player { bottom: 30%; }
.gt-income-float.is-enemy { top: 28%; background: rgba(132,62,36,.94); }
.gt-income-float b,.gt-income-float span { display: block; font-family: var(--gt-hud-font); }
.gt-income-float span { margin-top: 2px; font-size: .78rem; }
@keyframes gt-income-pulse { 0%,100%{filter:drop-shadow(0 2px 2px rgba(31,17,5,.4))} 45%{filter:brightness(1.35) drop-shadow(0 0 12px #bff58a);transform:translateY(-3px)} }
@keyframes gt-income-rise { 0%{opacity:0;translate:0 16px} 20%,75%{opacity:1;translate:0 0} 100%{opacity:0;translate:0 -10px} }

.gt-result { position: absolute; inset: 0; z-index: 20; display: grid; place-items: center; background: rgba(14, 22, 17, .55); backdrop-filter: blur(7px); }
.gt-result > div { width: min(420px, calc(100% - 30px)); padding: 28px; border: 3px solid #e1b95e; border-radius: 25px; color: #3b2713; background: linear-gradient(#fff5d8, #e5ca91); box-shadow: inset 0 0 0 3px #805429, 0 22px 50px rgba(0, 0, 0, .52); text-align: center; }
.gt-result h2 { font-size: 2.2rem; }
.gt-result p { margin: 8px 0 18px; }
.gt-result button { padding: 10px 20px; border: 2px solid #60421f; border-radius: 12px; color: #fff6d7; background: #176486; font-weight: 900; }

.gt-choice { position: absolute; inset: 0; z-index: 24; display: grid; place-items: center; padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); background: rgba(12, 28, 28, .68); backdrop-filter: blur(8px); }
.gt-choice > section { width: min(880px, 96vw); max-height: 94dvh; overflow: auto; padding: clamp(14px, 2.4vw, 28px); border: 3px solid #d5a94f; border-radius: 24px; color: #fff3ce; background: linear-gradient(165deg, rgba(13, 74, 91, .98), rgba(17, 47, 57, .98)); box-shadow: inset 0 0 0 3px #493018, 0 24px 60px rgba(0,0,0,.55); text-align: center; }
.gt-choice h2 { margin: 0; font: 900 clamp(1.2rem, 3vw, 2rem)/1.1 Georgia, serif; text-shadow: 0 2px 2px #2a170a; }
.gt-choice p { margin: 7px 0 15px; font: 700 clamp(.76rem, 1.6vw, 1rem)/1.35 "Trebuchet MS", Arial, sans-serif; }
.gt-choice-cards { display: flex; justify-content: center; gap: clamp(8px, 1.8vw, 18px); overflow-x: auto; padding: 8px; }
.gt-choice-card { position: relative; flex: 0 0 auto; height: min(58vh, 430px); aspect-ratio: 2/3; padding: 0; border: 0; border-radius: 14px; background: transparent; cursor: pointer; transition: transform .16s ease, filter .16s ease; }
.gt-choice-card:hover,.gt-choice-card:focus-visible { transform: translateY(-6px); filter: drop-shadow(0 8px 10px rgba(243,204,103,.45)); outline: none; }
.gt-choice-card.is-ordered { filter: saturate(.78) brightness(.75); }
.gt-choice-card img { width: 100%; height: 100%; object-fit: contain; }
.gt-choice-card b { position: absolute; top: 5%; right: 6%; display: grid; place-items: center; width: 34px; aspect-ratio: 1; border: 2px solid #ffe29a; border-radius: 50%; color: #fff7dd; background: #176486; box-shadow: 0 3px 8px #000; font-size: 1.1rem; }
.gt-choice-confirm { margin-top: 14px; padding: 10px 24px; border: 2px solid #f0cf7b; border-radius: 12px; color: #fff8d9; background: linear-gradient(#2782a4,#135571); box-shadow: inset 0 0 0 2px #5b361b; font-weight: 900; }
.gt-choice-confirm:disabled { opacity: .45; cursor: not-allowed; }

body.goblin-towers-route,
body.mode-gate-route { overflow: hidden !important; background: #6ea9c4 !important; }
body:is(.goblin-towers-route, .mode-gate-route) :is(.topbar, #bottomNav, .bottom-nav, .bg-forest, .gryzlo-encounter) { display: none !important; }
body:is(.goblin-towers-route, .mode-gate-route) :is(.game-shell, .tma, #screen, .screen) { width: 100% !important; max-width: none !important; min-height: 100dvh !important; margin: 0 !important; padding: 0 !important; }

/* Portrait and narrow layouts */
@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-gate-content { width: min(620px, calc(100% - 20px)); padding-left: max(10px, env(safe-area-inset-left)); padding-right: max(10px, env(safe-area-inset-right)); }
  .gt-gate-title { width: min(96vw, 760px); }
  .gt-gate-content > p { margin-top: 4px; margin-bottom: 16px; }
  .gt-gate-actions { width: min(520px, 100%); grid-template-columns: 1fr; gap: 14px; }
  .gt-mode-card { min-height: clamp(140px, 22vh, 210px); padding: 22px; }
  .gt-mode-card .gt-mode-drop { font-size: clamp(.66rem,2.5vw,.88rem); }
  .gt-mode-card.is-towers { background-image: url('../assets/cards/game-ui/runtime/v3/battlefield-portrait.webp'); background-position: center 64%; }
  .gt-bg img { object-position: center center; }

  .gt-titlebar { top: max(.25vh, env(safe-area-inset-top)); width: 96vw; height: 6.4vh; }
  .gt-hud { left: 0 !important; right: 0 !important; width: 100%; height: 13.6vh; }
  .gt-hud.is-enemy { top: 6.8vh; }
  .gt-hud.is-player { top: auto; bottom: 34.2vh; }
  .gt-hud::before { border-width: clamp(10px, 1.65vw, 18px); }
  .gt-hud-portrait { top: 3%; width: 18%; }
  .gt-hud.is-player .gt-hud-portrait { left: 1.5%; }
  .gt-hud.is-enemy .gt-hud-portrait { right: 1.5%; }

  .gt-hud-head { top: 5%; height: 18%; }
  .gt-hud.is-player .gt-hud-head { left: 19%; right: 4%; }
  .gt-hud.is-enemy .gt-hud-head { left: 4%; right: 19%; }
  .gt-hud-head strong { font-size: clamp(13px, 2.55vw, 21px); }
  .gt-hud-head span { font-size: clamp(12px, 2.2vw, 18px); }

  .gt-fort-stats { top: 25%; height: 68%; gap: 2.2%; }
  .gt-hud.is-player .gt-fort-stats { left: 19%; right: 43%; }
  .gt-hud.is-enemy .gt-fort-stats { left: 43%; right: 19%; }
  .gt-fort-stat::before { border-width: clamp(8px, 1.15vh, 16px) clamp(10px, 1.45vh, 20px); }
  .gt-stat-icon { left: 4%; top: 25%; width: 31%; height: 67%; }
  .gt-fort-stat > span { left: 34%; right: 4%; top: 53%; flex-direction: column; align-items: center; gap: clamp(1px, .12vh, 2px); }
  .gt-fort-stat > span .gt-fort-label { width: 94%; max-width: 94%; height: clamp(18px, 2.25vh, 32px); }
  .gt-fort-stat > span b { font-size: clamp(18px, 3.65vw, 29px); }

  .gt-resources { top: 25%; bottom: 6%; align-items: stretch; gap: 1.2%; }
  .gt-hud.is-player .gt-resources { left: 58.5%; right: 2%; }
  .gt-hud.is-enemy .gt-resources { left: 2%; right: 58.5%; }
  .gt-resource { height: 100%; aspect-ratio: auto; }
  .gt-resource.is-scrap { background-image: url('../assets/cards/game-ui/runtime/v5/resource-vertical-scrap.webp'); }
  .gt-resource.is-spirit { background-image: url('../assets/cards/game-ui/runtime/v5/resource-vertical-spirit.webp'); }
  .gt-resource.is-valor { background-image: url('../assets/cards/game-ui/runtime/v5/resource-vertical-valor.webp'); }
  .gt-resource-icon { left: 22%; top: 28%; width: 56%; height: 41%; }
  .gt-resource > .gt-resource-label { left: 10%; right: 10%; top: 6%; height: 16%; }
  .gt-resource > b { left: 4%; right: 4%; top: 69%; bottom: 4%; font-size: clamp(17px, 3.45vw, 27px); }
  .gt-resource > b em { font-size: .56em; }

  .gt-turn { top: 21.7vh; width: clamp(250px, 49vw, 440px); }
  .gt-turn-timer { font-size: clamp(14px, 2.45vw, 20px); }
  .gt-turn-number { font-size: clamp(10px, 1.7vw, 14px); }

  .gt-hand-wrap { left: 0; right: 0; bottom: 9vh; height: 25vh; grid-template-columns: 10vw minmax(0, 1fr) 10vw; gap: 0; }
  .gt-hand { padding: 2.4vh 1vw 1.2vh; justify-content: flex-start; gap: 2.2vw; }
  .gt-card { height: calc(100% - 2.4vh); border-radius: 2.4vw; }
  .gt-card.is-selected { transform: translateY(-1.4vh) scale(1.08); }
  .gt-hand-dots { gap: 1vw; }
  .gt-hand-dots i { width: 6px; }
  .gt-actions { right: max(2vw, env(safe-area-inset-right)); bottom: max(.5vh, env(safe-area-inset-bottom)); }
  .gt-end-turn { width: min(59vw, 340px); }
  .gt-log-button { left: max(2vw, env(safe-area-inset-left)); bottom: max(.6vh, env(safe-area-inset-bottom)); width: min(25vw, 132px); }
  .gt-league { width: calc(100vw - 18px); max-height: 76vh; }
  .gt-league-columns { grid-template-columns: 1fr; }
  .gt-choice > section { width: min(96vw, 620px); }
  .gt-choice-card { height: min(43vh, 440px); }
  .gt-lobby,.gt-ranking-screen { padding-top:max(8vh,64px); align-items:start; }
  .gt-lobby-panel,.gt-ranking-screen > section { width:min(620px,calc(100vw - 18px)); padding:clamp(14px,3vw,22px); }
  .gt-lobby-actions { grid-template-columns:1fr; gap:10px; }
  .gt-lobby-action { min-height:clamp(96px,15vh,132px); padding:16px 18px; }
  .gt-ranking-screen > section { max-height:88vh; }
  .gt-card-inspect > section { width: 100%; grid-template-columns: 1fr; justify-items: center; gap: 8px; }
  .gt-inspect-card { height: min(68dvh,690px); max-width: 88vw; }
  .gt-inspect-actions { width: min(520px,92vw); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .gt-card-inspect p { max-width: 86vw; margin-top: 0; }
  .gt-card-flight { width: min(49vw,360px); }
  .gt-income-float.is-player { bottom: 31%; }
  .gt-income-float.is-enemy { top: 25%; }
}

@media (orientation: portrait) and (max-width: 430px) {
  .gt-titlebar { height: 6.2vh; }
  .gt-hud.is-enemy { top: 6.5vh; }
  .gt-hud { height: 13.8vh; }
  .gt-hud.is-player { bottom: 34.6vh; }
  .gt-hand-wrap { bottom: 11.2vh; }
  .gt-turn { top: 21.7vh; width: clamp(235px, 67vw, 290px); }
  .gt-fort-stat > span { left: 34%; right: 4%; gap: 1px; }
  .gt-fort-stat > span .gt-fort-label { height: clamp(14px, 2.2vh, 20px); }
  .gt-fort-stat > span b { font-size: clamp(15px, 4.4vw, 18px); }
  .gt-resource > .gt-resource-label { top: 6%; height: 15%; }
  .gt-resource > b { font-size: clamp(15px, 4.15vw, 18px); }
  .gt-search-stats { grid-template-columns: 1fr; }
  .gt-search-stats span { display: flex; align-items: center; justify-content: space-between; padding: 6px 9px; }
  .gt-search-stats b { display: inline; margin: 0; }
  .gt-inspect-card { height: min(62dvh,470px); }
  .gt-inspect-actions button { min-height: 0; padding: 0; }
  .gt-lobby,.gt-ranking-screen { padding-top:max(7vh,48px); padding-left:7px; padding-right:7px; }
  .gt-lobby-panel,.gt-ranking-screen > section { width:100%; padding:11px; border-width:3px; border-radius:18px; }
  .gt-lobby-profile { margin-bottom:5px; gap:7px; }
  .gt-lobby-profile span { font-size:.7rem; }
  .gt-lobby-profile b { font-size:1.12rem; }
  .gt-lobby-notice { margin-bottom:8px; font-size:.7rem; }
  .gt-lobby-actions { gap:7px; }
  .gt-lobby-action { min-height:82px; padding:11px 13px; border-width:2px; border-radius:14px; gap:4px; }
  .gt-lobby-action span { font-size:1.08rem; }
  .gt-lobby-action small { font-size:.64rem; }
  .gt-lobby-exit { margin-top:8px; padding:5px 12px; font-size:.68rem; }
  .gt-ranking-screen > section > header { grid-template-columns:auto 1fr; }
  .gt-ranking-screen > section > header::after { display:none; }
  .gt-ranking-screen > section > header h2 { font-size:1.05rem; }
}

@media (orientation: landscape) and (max-width: 1100px) {
  .gt-fort-stat > span {
    flex-direction: column;
    align-items: center;
    gap: 1px;
  }

  .gt-fort-stat > span .gt-fort-label {
    height: clamp(18px, 2.5vh, 24px);
  }

  .gt-fort-stat > span b {
    font-size: clamp(15px, 1.75vw, 20px);
  }

  .gt-resource > .gt-resource-label { height: 29%; }
  .gt-resource > b { font-size: clamp(15px, 1.7vw, 19px); }
}

@media (orientation: landscape) and (max-height: 560px) {
  .gt-titlebar { height: 10vh; }
  .gt-hud { height: 24.5vh; }
  .gt-hand-wrap { bottom: 17.5vh; height: 34vh; }
  .gt-card { height: calc(100% - 2.2vh); }
  .gt-turn { top: 21vh; }
  .gt-end-turn { width: min(27vw, 390px); }
}

@media (prefers-reduced-motion: reduce) {
  .gt-mode-card,
  .gt-card,
  .gt-log,
  .gt-league { transition: none !important; }
  .gt-status-spinner { animation: none !important; }
  .gt-hand { scroll-behavior: auto !important; }
  .gt-card-flight.is-running,
  .gt-hud.is-income-pulse .gt-resource,
  .gt-income-float { animation-duration: .01ms !important; }
}

/* v6 lobby and tournament boards: generated, game-native UI instead of web panels. */
.gt-lobby,
.gt-ranking-screen {
  position: absolute;
  inset: 0;
  z-index: 7;
  width: 100%;
  height: 100%;
  padding: clamp(76px, 11vh, 112px) max(2.2vw, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(2.2vw, env(safe-area-inset-left));
  overflow: hidden;
}

.gt-lobby {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gt-lobby-profile,
.gt-league-summary {
  position: relative;
  flex: 0 0 auto;
  width: clamp(360px, 39vw, 610px);
  aspect-ratio: 3.55 / 1;
  margin: 0 auto;
  color: #f5cf78;
  background: var(--gt-profile-art) center / 100% 100% no-repeat;
  filter: drop-shadow(0 10px 10px rgba(23, 13, 5, .42));
  font-family: Georgia, "Times New Roman", serif;
  text-align: center;
  text-shadow: 0 2px 2px #241208, 0 0 4px rgba(25, 12, 4, .8);
}

.gt-lobby-profile span,
.gt-league-summary > span {
  position: absolute;
  top: 20%;
  left: 27%;
  right: 20%;
  color: #f3d18a;
  font-size: clamp(.82rem, 1.7vw, 1.5rem);
  font-weight: 900;
  text-transform: uppercase;
}

.gt-lobby-profile b,
.gt-league-summary > b {
  position: absolute;
  top: 43%;
  left: 27%;
  right: 20%;
  color: #ffd477;
  font-size: clamp(1.35rem, 2.8vw, 2.55rem);
  line-height: 1;
  white-space: nowrap;
}

.gt-lobby-profile small,
.gt-league-summary > em {
  position: absolute;
  top: 66%;
  left: 27%;
  right: 20%;
  color: #f1dba7;
  font: 900 clamp(.68rem, 1.15vw, 1.05rem)/1 var(--gt-hud-font);
  font-style: normal;
}

.gt-lobby-avatar,
.gt-league-avatar {
  position: absolute;
  z-index: 2;
  left: 1.5%;
  top: 7%;
  width: 25.5%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  filter: drop-shadow(0 4px 5px rgba(18, 9, 3, .5));
}
.gt-lobby-avatar img,
.gt-league-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }

.gt-lobby-notice {
  z-index: 2;
  min-height: 0;
  margin: clamp(5px, 1vh, 10px) 0 0;
  padding: 5px 14px;
  border: 1px solid #d3a94f;
  border-radius: 999px;
  color: #ffeab6;
  background: rgba(9, 49, 69, .86);
  box-shadow: inset 0 0 0 1px #3b2412, 0 4px 10px rgba(0,0,0,.3);
  font: 900 clamp(.68rem, 1vw, .88rem)/1.25 var(--gt-hud-font);
  text-shadow: 0 1px 2px #1b0f08;
}

.gt-lobby-notice.is-error { color: #ffe1c6; background: rgba(120, 39, 25, .9); }

.gt-lobby-actions {
  width: min(95vw, 1540px);
  margin: auto auto clamp(68px, 10.5vh, 108px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 24px);
}

.gt-lobby-action {
  position: relative;
  width: 100%;
  min-height: 0;
  height: clamp(130px, 24vh, 232px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent !important;
  box-shadow: none;
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease;
}

.gt-lobby-action::before { display: none; }
.gt-lobby-action > img { display: block; width: 100%; height: 100%; object-fit: fill; filter: drop-shadow(0 10px 10px rgba(21, 12, 4, .48)); }
.gt-lobby-action:hover,
.gt-lobby-action:focus-visible { z-index: 2; transform: translateY(-5px) scale(1.015); filter: brightness(1.08); outline: none; }
.gt-lobby-action:focus-visible::after { content: ""; position: absolute; inset: 3%; border: 3px solid #fff0aa; border-radius: 12px; box-shadow: 0 0 14px #f4c54e; pointer-events: none; }
.gt-lobby-action:active { transform: translateY(1px) scale(.99); }
.gt-lobby-action:disabled { opacity: .52; filter: grayscale(.65); cursor: not-allowed; transform: none; }
.gt-lobby-resume { position: absolute; right: 4%; top: 5%; padding: 4px 9px; border: 2px solid #573515; border-radius: 999px; color: #40220d; background: #ffd475; box-shadow: 0 2px 5px rgba(0,0,0,.35); font: 900 clamp(.58rem, .85vw, .78rem)/1 var(--gt-hud-font); }

.gt-lobby-exit,
.gt-ranking-back {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: max(1.5vh, env(safe-area-inset-bottom));
  width: clamp(260px, 28vw, 440px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: translateX(-50%);
  filter: drop-shadow(0 7px 8px rgba(20,11,4,.48));
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease;
}

.gt-lobby-exit img,
.gt-ranking-back img { display: block; width: 100%; height: auto; }
.gt-lobby-exit:hover,
.gt-lobby-exit:focus-visible,
.gt-ranking-back:hover,
.gt-ranking-back:focus-visible { outline: none; filter: brightness(1.1) drop-shadow(0 7px 8px rgba(20,11,4,.48)); transform: translateX(-50%) scale(1.025); }

.gt-ranking-screen {
  display: block;
  padding-top: clamp(74px, 10.5vh, 108px);
  padding-bottom: clamp(58px, 8vh, 82px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #c99640 rgba(8, 42, 59, .55);
}

.gt-ranking-screen > section {
  width: min(1360px, 94vw);
  max-height: none;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  color: #f7dfaa;
  background: transparent;
  box-shadow: none;
}

.gt-tournament { width: 100%; }
.gt-ranking-screen .gt-league-summary { width: clamp(420px, 42vw, 650px); }
.gt-league-summary > small {
  position: absolute;
  top: 67%;
  right: 5.5%;
  width: 17%;
  overflow: hidden;
  color: #ffe5a3;
  font: 900 clamp(.52rem, .7vw, .75rem)/1 var(--gt-hud-font);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gt-league-reward {
  width: clamp(440px, 43vw, 680px);
  aspect-ratio: 6.65 / 1;
  margin: clamp(4px, .7vh, 8px) auto clamp(7px, 1.1vh, 12px);
  padding: 0 7% 0 23%;
  display: grid;
  place-items: center;
  color: #3c250f;
  background: var(--gt-reward-art) center / 100% 100% no-repeat;
  filter: drop-shadow(0 6px 6px rgba(25,14,5,.34));
  font: 900 clamp(.75rem, 1.28vw, 1.2rem)/1.15 Georgia, "Times New Roman", serif;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(255,242,190,.55);
}

.gt-league-columns {
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(14px, 2vw, 30px);
}

.gt-league-columns > section {
  min-width: 0;
  min-height: clamp(300px, 43vh, 440px);
  padding: clamp(24px, 3vw, 42px) clamp(22px, 2.6vw, 36px) clamp(22px, 2.3vw, 34px);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  filter: drop-shadow(0 12px 12px rgba(25,14,5,.42));
}

.gt-league-columns > .is-personal { background-image: url('../assets/cards/game-ui/runtime/v6/ranking-board-blue.webp'); }
.gt-league-columns > .is-clans { background-image: url('../assets/cards/game-ui/runtime/v6/ranking-board-teal.webp'); }
.gt-league-columns h3 {
  margin: 0 0 clamp(8px, 1.2vh, 13px);
  padding: 0;
  color: #f5c864;
  background: transparent;
  font: 900 clamp(1.3rem, 2.35vw, 2.25rem)/1 Georgia, "Times New Roman", serif;
  text-align: center;
  text-shadow: 0 2px 2px #251207, 0 0 4px rgba(23,12,5,.8);
  text-transform: uppercase;
}

.gt-league-columns ol { margin: 0; padding: 0; display: grid; gap: clamp(4px, .65vh, 7px); list-style: none; }
.gt-league-columns li {
  position: relative;
  min-height: clamp(42px, 5.8vh, 58px);
  padding: 4px 5.5% 4px clamp(56px, 8.5vw, 82px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border-radius: 0;
  color: #f8e2b3;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  font: 900 clamp(.78rem, 1.45vw, 1.25rem)/1.1 Georgia, "Times New Roman", serif;
  text-shadow: 0 2px 2px #1f1008;
}

.gt-league-columns .is-personal li { background: url('../assets/cards/game-ui/runtime/v6/ranking-row-blue.webp') center / 100% 100% no-repeat; }
.gt-league-columns .is-clans li { background: url('../assets/cards/game-ui/runtime/v6/ranking-row-teal.webp') center / 100% 100% no-repeat; }
.gt-league-columns li:nth-child(even) { background-color: transparent; }
.gt-league-columns li.is-me { color: #fff0b0; background-color: transparent; filter: brightness(1.16) drop-shadow(0 0 6px rgba(255,190,57,.78)); }
.gt-league-columns li.is-empty { grid-template-columns: 1fr; padding-left: 8%; text-align: center; }
.gt-league-columns li > span:not(.gt-rank-medal) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-league-columns li em { color: #f8d98c; font-style: normal; white-space: nowrap; }
.gt-league-columns li em { font-size: .92em; }

.gt-rank-medal {
  position: absolute;
  z-index: 1;
  left: clamp(7px, .75vw, 12px);
  top: 50%;
  width: clamp(48px, 6.5vw, 68px);
  aspect-ratio: 1;
  transform: translateY(-50%);
}
.gt-rank-medal img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.gt-rank-medal b { position: absolute; inset: 0; display: grid; place-items: center; color: #f9df9c; font: 900 clamp(1rem, 1.8vw, 1.65rem)/1 Georgia, serif; text-shadow: 0 2px 2px #1e0f07; }
.gt-league-columns li:nth-child(1) .gt-rank-medal b { color: #fff1ae; }

.gt-ranking-back { position: fixed; width: clamp(215px, 22vw, 330px); }

/* The same tournament widget is also used by the in-battle rating drawer. */
.gt-league .gt-tournament { padding: 10px 12px 16px; }
.gt-league .gt-league-summary { width: min(520px, 80vw); }
.gt-league .gt-league-reward { width: min(540px, 82vw); }
.gt-league .gt-league-columns > section { min-height: 280px; }

@media (orientation: portrait) {
  .gt-lobby { padding-top: clamp(68px, 7.6vh, 122px); }
  .gt-lobby-profile { width: min(77vw, 650px); }
  .gt-lobby-actions {
    width: min(76vw, 670px);
    margin-top: auto;
    margin-bottom: clamp(48px, 6.8vh, 88px);
    grid-template-columns: 1fr;
    gap: clamp(14px, 1.8vh, 23px);
  }
  .gt-lobby-action { height: clamp(98px, 16.3vh, 258px); }
  .gt-lobby-exit { width: min(58vw, 440px); }
  .gt-lobby-notice { margin-top: 4px; max-width: 82vw; }

  .gt-ranking-screen { padding-top: clamp(66px, 7.3vh, 116px); padding-bottom: clamp(50px, 6vh, 82px); }
  .gt-ranking-screen > section { width: min(94vw, 760px); }
  .gt-ranking-screen .gt-league-summary { width: min(82vw, 650px); }
  .gt-league-reward { width: min(88vw, 680px); }
  .gt-league-reward { font-size: clamp(.6rem, 1.75vw, 1rem); }
  .gt-league-columns { width: min(91vw, 720px); margin: 0 auto; grid-template-columns: 1fr; gap: clamp(7px, 1vh, 12px); }
  .gt-league-columns > section { min-height: 0; padding: clamp(20px, 3.3vw, 34px) clamp(20px, 3.8vw, 34px) clamp(19px, 3.2vw, 30px); }
  .gt-league-columns h3 { margin-bottom: clamp(5px, .7vh, 9px); font-size: clamp(1.05rem, 4.2vw, 2rem); }
  .gt-league-columns ol { gap: clamp(2px, .45vh, 6px); }
  .gt-league-columns li { min-height: clamp(34px, 5.1vh, 58px); padding-left: clamp(48px, 11vw, 78px); font-size: clamp(.7rem, 2.9vw, 1.18rem); }
  .gt-rank-medal { width: clamp(40px, 9.5vw, 64px); }
  .gt-rank-medal b { font-size: clamp(.9rem, 3.5vw, 1.5rem); }
  .gt-ranking-back { width: min(50vw, 330px); }
}

/* The full 9:16 leaderboard uses the authored board proportions. Compact
   phones keep the intentionally denser layout declared below. */
@media (orientation: portrait) and (min-width: 431px) and (min-height: 1200px) {
  .gt-game:is(.is-tournament-menu, .is-tournament-rating) .gt-titlebar {
    top: 1.8vh;
    width: 98vw;
    height: 7.5vh;
  }
  .gt-game.is-tournament-menu .gt-lobby {
    padding-top: clamp(154px, 10.5vh, 180px);
  }
  .gt-game.is-tournament-menu .gt-lobby-actions {
    margin-bottom: clamp(150px, 12.3vh, 210px);
  }
  .gt-game.is-tournament-menu .gt-lobby-exit { bottom: max(5vh, env(safe-area-inset-bottom)); }

  .gt-game.is-tournament-rating .gt-ranking-screen {
    padding-top: clamp(148px, 9.8vh, 168px);
  }
  .gt-league-columns > section {
    min-height: clamp(450px, 30.5vh, 500px);
    display: flex;
    flex-direction: column;
  }
  .gt-league-columns > section.is-personal {
    min-height: clamp(520px, 33.1vh, 540px);
  }
  .gt-league-columns ol {
    min-height: 0;
    flex: 1 1 auto;
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .gt-league-columns li { min-height: 0; }
}

@media (orientation: portrait) and (max-width: 430px) {
  .gt-lobby,
  .gt-ranking-screen { padding-left: 4px; padding-right: 4px; }
  .gt-lobby { padding-top: 45px; }
  .gt-lobby-profile { width: 72vw; }
  .gt-lobby-profile span { font-size: .54rem; }
  .gt-lobby-profile b { font-size: 1rem; }
  .gt-lobby-profile small { font-size: .52rem; }
  .gt-lobby-notice { margin-top: 2px; padding: 3px 8px; font-size: .52rem; }
  .gt-lobby-actions { width: 80vw; margin-bottom: 39px; gap: 8px; }
  .gt-lobby-action { height: 94px; }
  .gt-lobby-resume { padding: 2px 5px; font-size: .48rem; }
  .gt-lobby-exit { width: 53vw; bottom: 3px; }

  .gt-ranking-screen { padding-top: 44px; padding-bottom: 42px; }
  .gt-ranking-screen > section { width: 98vw; padding: 0; }
  .gt-ranking-screen .gt-league-summary { width: 76vw; }
  .gt-league-summary > span { font-size: .48rem; }
  .gt-league-summary > b { font-size: .92rem; }
  .gt-league-summary > em { font-size: .48rem; }
  .gt-league-summary > small { right: 2%; width: 22%; font-size: .35rem; }
  .gt-league-reward { width: 82vw; margin: 1px auto 3px; font-size: .52rem; }
  .gt-league-columns { width: 96vw; gap: 3px; }
  .gt-league-columns > section { padding: 13px 13px 12px; }
  .gt-league-columns h3 { margin-bottom: 2px; font-size: .88rem; }
  .gt-league-columns ol { gap: 1px; }
  .gt-league-columns li { min-height: 29px; padding: 2px 12px 2px 39px; font-size: .61rem; }
  .gt-rank-medal { left: 4px; width: 34px; }
  .gt-rank-medal b { font-size: .78rem; }
  .gt-ranking-back { width: 43vw; bottom: 2px; }
}

@media (orientation: landscape) {
  .gt-game.is-battle .gt-hud.is-player .gt-hud-portrait,
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-portrait { top: 94%; }
  .gt-game.is-tournament-menu .gt-titlebar,
  .gt-game.is-tournament-rating .gt-titlebar {
    width: min(56vw, 900px);
    height: 18.5vh;
  }
  .gt-game.is-tournament-menu .gt-titlebar { top: 5.2vh; }
  .gt-game.is-tournament-rating .gt-titlebar { top: 1.8vh; }

  .gt-game.is-tournament-menu .gt-lobby {
    padding-top: clamp(174px, 23vh, 216px);
  }
  .gt-game.is-tournament-menu .gt-lobby-profile { width: min(29vw, 470px); }
  .gt-game.is-tournament-menu .gt-lobby-actions { width: min(88vw, 1450px); }
  .gt-game.is-tournament-menu .gt-lobby-actions {
    margin-bottom: clamp(115px, 17vh, 155px);
  }
  .gt-game.is-tournament-menu .gt-lobby-action {
    height: clamp(220px, 33vh, 300px);
  }

  .gt-game.is-tournament-rating .gt-ranking-screen {
    padding-top: clamp(148px, 17.2vh, 174px);
  }
  .gt-game.is-tournament-rating .gt-ranking-screen .gt-league-summary {
    width: min(36vw, 560px);
  }
  .gt-game.is-tournament-rating .gt-league-reward {
    width: min(37vw, 590px);
  }
  .gt-game.is-tournament-rating .gt-league-columns {
    width: min(78vw, 1248px);
    margin: -32px auto 0;
  }
  .gt-game.is-tournament-rating .gt-ranking-screen { padding-bottom: 42px; }
  .gt-league-reward { width: min(48vw, 760px); padding-left: 18%; font-size: clamp(.72rem, 1.05vw, 1rem); }
}

@media (orientation: landscape) and (max-height: 700px) {
  .gt-lobby { padding-top: 60px; }
  .gt-lobby-profile { width: min(33vw, 450px); }
  .gt-lobby-actions { margin-bottom: 45px; }
  .gt-lobby-action { height: min(25vh, 170px); }
  .gt-lobby-exit { width: min(25vw, 330px); bottom: 3px; }

  .gt-game.is-tournament-menu .gt-lobby { padding-top: clamp(100px, 19vh, 135px); }
  .gt-game.is-tournament-menu .gt-lobby-profile { width: min(31vw, 430px); }
  .gt-game.is-tournament-menu .gt-lobby-actions { margin-bottom: clamp(76px, 13vh, 96px); }
  .gt-game.is-tournament-menu .gt-lobby-action { height: min(25vh, 170px); }

  .gt-ranking-screen { padding-top: 58px; padding-bottom: 48px; }
  .gt-ranking-screen .gt-league-summary { width: min(33vw, 500px); }
  .gt-game.is-tournament-rating .gt-ranking-screen { padding-top: clamp(108px, 18vh, 126px); }
  .gt-game.is-tournament-rating .gt-ranking-screen .gt-league-summary { width: min(32vw, 460px); }
  .gt-league-reward { width: min(37vw, 560px); margin-top: 1px; margin-bottom: 4px; font-size: clamp(.62rem, 1.05vw, .95rem); }
  .gt-league-columns { width: min(88vw, 1280px); margin: 0 auto; }
  .gt-league-columns > section { min-height: 0; padding: 21px 22px 18px; }
  .gt-league-columns h3 { margin-bottom: 5px; font-size: clamp(1rem, 2vw, 1.7rem); }
  .gt-league-columns ol { gap: 2px; }
  .gt-league-columns li { min-height: clamp(32px, 6vh, 43px); padding-left: clamp(46px, 5vw, 64px); font-size: clamp(.68rem, 1.25vw, 1rem); }
  .gt-rank-medal { width: clamp(38px, 4.8vw, 52px); }
  .gt-rank-medal b { font-size: clamp(.86rem, 1.5vw, 1.2rem); }
  .gt-ranking-back { width: min(19vw, 260px); bottom: 2px; }
}

/* v7 battle UX: compact, mobile-first HUD and automatic turn flow. The
   decorative art stays in the battlefield and cards; controls use restrained,
   code-native materials so information remains crisp in RU and EN. */
.gt-game.is-battle .gt-hud {
  filter: none;
}

.gt-game.is-battle .gt-fort-stat > b {
  position: absolute;
  z-index: 3;
  inset: 0 4% 0 36%;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #3b260f;
  font: 900 clamp(20px, 1.9vw, 32px)/1 var(--gt-hud-font);
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 0 #fff0bd;
}

.gt-game.is-battle .gt-stat-icon {
  left: 7%;
  top: 13%;
  width: 28%;
  height: 74%;
}

.gt-game.is-battle .gt-actions {
  left: 50%;
  right: auto;
  bottom: max(8px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
}

.gt-pass-turn,
.gt-training-exit,
.gt-help {
  min-height: 44px;
  border: 2px solid #d3a652;
  color: #fff2c6;
  background: linear-gradient(180deg, #176d91, #0c3e5b);
  box-shadow: inset 0 0 0 2px rgba(45, 25, 9, .86), 0 5px 12px rgba(16, 11, 5, .34);
  font-family: var(--gt-hud-font);
  font-weight: 900;
  text-shadow: 0 2px 2px #1c1008;
  cursor: pointer;
}

.gt-pass-turn {
  min-width: 144px;
  padding: 6px 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 14px;
  text-transform: uppercase;
}
.gt-pass-turn span { color: #ffd479; font-size: 1.45em; line-height: .7; }
.gt-pass-turn b { font-size: clamp(.72rem, 1.15vw, .98rem); }
.gt-pass-turn:active,.gt-training-exit:active,.gt-help:active { transform: translateY(2px); }

.gt-battle-tools {
  position: absolute;
  z-index: 8;
  right: max(8px, env(safe-area-inset-right));
  bottom: max(8px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 7px;
}
.gt-training-exit { padding: 4px 10px; display: flex; align-items: center; gap: 5px; border-radius: 13px; background: linear-gradient(180deg,#8d4d2e,#54291e); }
.gt-training-exit span { font-size: 1.15rem; }
.gt-training-exit b { font-size: clamp(.62rem,.9vw,.78rem); white-space: nowrap; }
.gt-help { width: 44px; padding: 0; border-radius: 50%; font-size: 1.45rem; }

.gt-game.is-battle .gt-log-button {
  bottom: max(9px, env(safe-area-inset-bottom));
  width: min(12vw, 190px);
  min-width: 104px;
}

.gt-game.is-battle .gt-card-inspect {
  background: rgba(7, 21, 21, .75);
  backdrop-filter: blur(12px) saturate(.82);
}
.gt-game.is-battle .gt-inspect-back {
  width: auto;
  min-width: 128px;
  min-height: 44px;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 2px solid #d2a554;
  border-radius: 13px;
  color: #fff1c5;
  background: linear-gradient(#155e7d,#0b3952);
  box-shadow: inset 0 0 0 2px #44270f,0 6px 12px rgba(0,0,0,.35);
  font: 900 .78rem/1 var(--gt-hud-font);
  filter: none;
}
.gt-game.is-battle .gt-inspect-back span { font-size: 1.25rem; }
.gt-game.is-battle .gt-inspect-actions button {
  min-height: 56px;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 2px solid #d4a64d;
  border-radius: 15px;
  color: #fff2c8;
  background: linear-gradient(#17799e,#0d4766);
  box-shadow: inset 0 0 0 2px #4c2c11,0 7px 13px rgba(0,0,0,.34);
  filter: none;
  font-family: var(--gt-hud-font);
}
.gt-game.is-battle .gt-inspect-actions button.is-discard { background: linear-gradient(#9b5435,#5a2d22); }
.gt-game.is-battle .gt-inspect-actions button span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#ffe39a; background:rgba(0,0,0,.22); font-size:1.1rem; }
.gt-game.is-battle .gt-inspect-actions button b { font-size: clamp(.75rem,1.1vw,1rem); text-transform: uppercase; }
.gt-game.is-battle .gt-inspect-actions button:disabled { opacity:.4; filter:grayscale(.75); }

.gt-tutorial {
  position: absolute;
  inset: 0;
  z-index: 25;
  pointer-events: auto;
}
.gt-tutorial > section {
  position: absolute;
  left: 50%;
  top: 31%;
  width: min(420px, calc(100% - 28px));
  transform: translateX(-50%);
  padding: 14px 16px 15px;
  border: 2px solid #e0b65d;
  border-radius: 18px;
  color: #fff3ce;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),transparent 28%),
    linear-gradient(145deg,#154e68,#0a2e43);
  box-shadow: inset 0 0 0 3px #4a2c13,0 14px 34px rgba(0,0,0,.5);
  font-family: var(--gt-hud-font);
  text-align: center;
}
.gt-tutorial header { display:flex; align-items:center; justify-content:space-between; color:#f3cf7b; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.gt-tutorial-dots { margin:7px auto 8px; display:flex; justify-content:center; gap:6px; }
.gt-tutorial-dots i { width:7px; height:7px; border:1px solid #d6ad59; border-radius:50%; background:#183448; }
.gt-tutorial-dots i.is-active { background:#78d2ef; box-shadow:0 0 7px #78d2ef; }
.gt-tutorial-dots i.is-done { background:#d4a851; }
.gt-tutorial h2 { margin:0; color:#fff0bd; font:900 clamp(1.05rem,2.3vw,1.38rem)/1.15 var(--gt-hud-font); }
.gt-tutorial p { margin:8px 0 12px; color:#e7edf0; font:700 clamp(.72rem,1.5vw,.9rem)/1.38 var(--gt-hud-font); }
.gt-tutorial footer { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:7px; }
.gt-tutorial footer button { min-height:42px; padding:6px 9px; border:1px solid #d2a44f; border-radius:11px; color:#fff2c5; background:#176485; font:900 .69rem/1.1 var(--gt-hud-font); text-transform:uppercase; }
.gt-tutorial footer .is-back,.gt-tutorial footer .is-skip { color:#e6d7b9; background:rgba(30,24,20,.45); }
.is-tutorial-focus { z-index: 26 !important; filter: drop-shadow(0 0 7px #83dcff) drop-shadow(0 0 3px #fff4bd) !important; }

.gt-game.is-search .gt-status-card {
  width: min(520px, calc(100vw - 28px));
  padding: clamp(19px,3vw,30px);
  border: 2px solid #dfb55c;
  border-radius: 22px;
  color: #f8eccb;
  background:
    radial-gradient(circle at 50% 0,rgba(71,151,181,.26),transparent 42%),
    linear-gradient(155deg,rgba(18,74,95,.97),rgba(8,35,50,.98));
  box-shadow: inset 0 0 0 3px #4b2d14,0 20px 46px rgba(0,0,0,.48);
  font-family: var(--gt-hud-font);
}
.gt-game.is-search .gt-status-kicker { margin:0 0 5px; color:#e4be6a; font:900 .69rem/1 var(--gt-hud-font); letter-spacing:.09em; text-transform:uppercase; }
.gt-game.is-search .gt-status-card h2 { margin:5px 0 7px; color:#fff2c7; font:900 clamp(1.25rem,4.8vw,1.9rem)/1.1 var(--gt-hud-font); }
.gt-game.is-search .gt-status-card > p:not(.gt-status-kicker) { color:#dce9eb; font:700 .79rem/1.45 var(--gt-hud-font); }
.gt-game.is-search .gt-search-card > strong { color:#ffdc82; }
.gt-game.is-search .gt-search-stats span { border-color:#8b7044; color:#e6edf0; background:rgba(0,0,0,.2); }
.gt-game.is-search .gt-search-stats b { color:#85dcf4; }
.gt-status-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; }
.gt-game.is-search .gt-status-card button { min-height:46px; margin:0; border:2px solid #d4a552; border-radius:13px; font:900 .78rem/1.1 var(--gt-hud-font); box-shadow:inset 0 0 0 2px #4a2a12; }
.gt-game.is-search .gt-status-card button small { display:block; margin-top:3px; color:#f2d8ae; font-size:.62rem; }
.gt-game.is-search .gt-status-card .gt-search-cancel { color:#eee2c6; background:rgba(20,25,25,.38); }

.gt-game.is-battle .gt-result > div,
.gt-game.is-battle .gt-choice > section {
  border: 2px solid #deb35c;
  color: #fff0ca;
  background: linear-gradient(155deg,rgba(18,78,99,.98),rgba(8,34,49,.99));
  box-shadow: inset 0 0 0 3px #4b2d14,0 22px 52px rgba(0,0,0,.55);
  font-family: var(--gt-hud-font);
}
.gt-game.is-battle .gt-log {
  border:2px solid #deb35c;
  color:#f6ebcb;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 22%),
    linear-gradient(155deg,rgba(16,70,91,.985),rgba(7,31,45,.99));
  box-shadow:inset 0 0 0 3px #4b2d14,0 18px 45px rgba(0,0,0,.52);
}
.gt-game.is-battle .gt-log header { border-bottom:1px solid rgba(224,183,95,.65); color:#fff0bd; background:rgba(13,57,78,.92); font-family:var(--gt-hud-font); }
.gt-game.is-battle .gt-log header button { border-color:#d6aa52; background:#783f30; }
.gt-game.is-battle .gt-log ol { font-family:var(--gt-hud-font); }
.gt-game.is-battle .gt-log-event { color:#eaf0ed; background:rgba(255,244,207,.1); box-shadow:inset 0 0 0 1px rgba(223,181,89,.2); }
.gt-game.is-battle .gt-log-event small { color:#bdd8dd; }
.gt-game.is-battle .gt-log-card small { border:1px solid rgba(222,179,89,.7); color:#fff0c7; background:rgba(8,28,40,.88); }
.gt-game.is-battle .gt-log-card img { filter:drop-shadow(0 8px 11px rgba(0,0,0,.55)); }
.gt-result-mark { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 8px; border:2px solid #e1b558; border-radius:50%; color:#ffe18a; background:#155d7c; box-shadow:inset 0 0 0 3px #4b2c13; font-size:2rem; }
.gt-game.is-battle .gt-result h2 { margin:0; color:#fff0bd; font:900 clamp(1.7rem,5vw,2.35rem)/1.1 var(--gt-hud-font); }
.gt-game.is-battle .gt-result p { color:#e4ecee; font-weight:800; }
.gt-game.is-battle .gt-result button,.gt-game.is-battle .gt-choice-confirm { min-height:46px; border:2px solid #d7aa51; border-radius:13px; color:#fff2c7; background:linear-gradient(#17789c,#0c4664); box-shadow:inset 0 0 0 2px #4b2b12; font:900 .8rem/1 var(--gt-hud-font); }

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-game.is-battle .gt-titlebar { top:max(.2vh,env(safe-area-inset-top)); width:96vw; height:5.7vh; }
  .gt-game.is-battle .gt-hud { left:0!important; right:0!important; width:100%; height:12.4vh; }
  .gt-game.is-battle .gt-hud.is-enemy { top:5.8vh; }
  .gt-game.is-battle .gt-hud.is-player { top:auto; bottom:31.8vh; }
  .gt-game.is-battle .gt-hud::before { border-width:clamp(8px,2vw,12px); }
  .gt-game.is-battle .gt-hud-portrait { top:4%; width:17.5%; }
  .gt-game.is-battle .gt-hud.is-player .gt-hud-portrait { left:1.2%; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-portrait { right:1.2%; }
  .gt-game.is-battle .gt-hud-head { top:5%; height:21%; gap:.38em; }
  .gt-game.is-battle .gt-hud.is-player .gt-hud-head { left:18.5%; right:3%; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-head { left:3%; right:18.5%; }
  .gt-game.is-battle .gt-hud-head strong { font-size:clamp(11px,3vw,16px); }
  .gt-game.is-battle .gt-hud-head span { font-size:clamp(10px,2.55vw,14px); }
  .gt-game.is-battle .gt-hud-head i { font-size:.4em; }

  .gt-game.is-battle .gt-fort-stats { top:28%; height:65%; gap:2%; }
  .gt-game.is-battle .gt-hud.is-player .gt-fort-stats { left:18%; right:52.5%; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-fort-stats { left:52.5%; right:18%; }
  .gt-game.is-battle .gt-fort-stat::before { border-width:clamp(7px,1.2vh,10px) clamp(9px,1.45vh,13px); }
  .gt-game.is-battle .gt-stat-icon { left:6%; top:16%; width:34%; height:68%; }
  .gt-game.is-battle .gt-fort-stat > b { inset:0 2% 0 38%; font-size:clamp(18px,5.6vw,25px); }

  .gt-game.is-battle .gt-resources { top:28%; bottom:7%; gap:1.3%; }
  .gt-game.is-battle .gt-hud.is-player .gt-resources { left:48%; right:2%; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-resources { left:2%; right:48%; }
  .gt-game.is-battle .gt-resource { height:100%; aspect-ratio:auto; }
  .gt-game.is-battle .gt-resource-icon { left:21%; top:25%; width:58%; height:40%; }
  .gt-game.is-battle .gt-resource > .gt-resource-label { left:7%; right:7%; top:5%; height:17%; }
  .gt-game.is-battle .gt-resource > b { left:2%; right:2%; top:65%; bottom:3%; font-size:clamp(15px,4.6vw,21px); }
  .gt-game.is-battle .gt-resource > b em { font-size:.52em; }

  .gt-game.is-battle .gt-turn { top:19.2vh; width:clamp(218px,59vw,285px); }
  .gt-game.is-battle .gt-turn-timer { font-size:clamp(12px,3vw,16px); }
  .gt-game.is-battle .gt-turn-number { font-size:clamp(9px,2vw,12px); }
  .gt-game.is-battle .gt-turn-bot { right:6%; bottom:9%; font-size:9px; color:#9fe8ff; }

  .gt-game.is-battle .gt-hand-wrap { left:0; right:0; bottom:5.8vh; height:25.7vh; grid-template-columns:10vw minmax(0,1fr) 10vw; }
  .gt-game.is-battle .gt-hand { padding:2.1vh 1vw .9vh; gap:2.2vw; }
  .gt-game.is-battle .gt-card { height:calc(100% - 1.7vh); }
  .gt-game.is-battle .gt-card.is-selected { transform:translateY(-1.25vh) scale(1.065); }
  .gt-game.is-battle .gt-hand-dots { bottom:0; }

  .gt-game.is-battle .gt-log-button { left:max(6px,env(safe-area-inset-left)); bottom:max(8px,env(safe-area-inset-bottom)); min-width:0; width:86px; }
  .gt-game.is-battle .gt-actions { bottom:max(7px,env(safe-area-inset-bottom)); }
  .gt-game.is-battle .gt-pass-turn { min-width:116px; min-height:42px; padding:5px 10px; gap:5px; }
  .gt-game.is-battle .gt-pass-turn b { font-size:.65rem; }
  .gt-game.is-battle .gt-battle-tools { right:max(6px,env(safe-area-inset-right)); bottom:max(7px,env(safe-area-inset-bottom)); gap:5px; }
  .gt-game.is-battle .gt-training-exit { min-height:42px; padding:3px 7px; }
  .gt-game.is-battle .gt-training-exit b { font-size:.55rem; }
  .gt-game.is-battle .gt-help { width:42px; min-height:42px; }

  .gt-game.is-battle .gt-tutorial > section { top:26.5%; }
  .gt-game.is-battle .gt-tutorial.is-step-2 > section,
  .gt-game.is-battle .gt-tutorial.is-step-3 > section { top:28%; }

  .gt-game.is-battle .gt-card-inspect > section { width:100%; grid-template-columns:1fr; gap:9px; }
  .gt-game.is-battle .gt-inspect-card { height:min(66dvh,560px); max-width:88vw; }
  .gt-game.is-battle .gt-inspect-actions { width:min(360px,92vw); grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .gt-game.is-battle .gt-inspect-actions button { min-height:52px; padding:7px 9px; }
  .gt-game.is-battle .gt-inspect-back { top:max(9px,env(safe-area-inset-top)); left:max(9px,env(safe-area-inset-left)); }
  .gt-game.is-battle .gt-card-inspect p { margin-top:0; }

  .gt-game.is-battle .gt-choice > section { width:calc(100vw - 18px); max-height:94dvh; padding:14px 10px; }
  .gt-game.is-battle .gt-choice-card { height:min(39vh,350px); }
}

@media (orientation: portrait) and (max-width: 430px) {
  .gt-game.is-battle .gt-titlebar { height:5.5vh; }
  .gt-game.is-battle .gt-hud.is-enemy { top:5.5vh; }
  .gt-game.is-battle .gt-hud { height:12.7vh; }
  .gt-game.is-battle .gt-hud.is-player { bottom:31.6vh; }
  .gt-game.is-battle .gt-hud-head { top:4%; }
  .gt-game.is-battle .gt-turn { top:19vh; width:min(248px,64vw); }
  .gt-game.is-battle .gt-hand-wrap { bottom:6vh; height:25.5vh; }
  .gt-game.is-battle .gt-fort-stat > b { font-size:clamp(17px,5.2vw,22px); }
  .gt-game.is-battle .gt-resource > b { font-size:clamp(14px,4.25vw,18px); }
  .gt-game.is-battle .gt-training-exit { min-width:64px; padding:0 6px; justify-content:center; }
  .gt-game.is-battle .gt-training-exit b { font-size:.48rem; }
  .gt-game.is-battle .gt-log-button { width:78px; }
  .gt-game.is-battle .gt-pass-turn { min-width:108px; }
  .gt-game.is-battle .gt-tutorial > section { width:calc(100% - 20px); padding:11px 12px 12px; }
  .gt-game.is-battle .gt-tutorial p { margin:6px 0 9px; font-size:.69rem; }
  .gt-game.is-battle .gt-tutorial footer button { min-height:40px; padding:5px 6px; font-size:.61rem; }
  .gt-game.is-battle .gt-inspect-card { height:min(61dvh,470px); }
}

@media (orientation: landscape) {
  .gt-game.is-battle .gt-hud { width:min(33vw,620px); height:min(23vh,250px); }
  .gt-game.is-battle .gt-fort-stats { top:27%; height:31%; }
  .gt-game.is-battle .gt-hud.is-player .gt-fort-stats { left:24%; right:3%; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-fort-stats { left:3%; right:24%; }
  .gt-game.is-battle .gt-fort-stat > b { font-size:clamp(17px,1.7vw,27px); }
  .gt-game.is-battle .gt-resources { bottom:5%; }
  .gt-game.is-battle .gt-hand-wrap { bottom:9vh; height:min(41vh,410px); }
  .gt-game.is-battle .gt-log-button { bottom:max(7px,env(safe-area-inset-bottom)); }
  .gt-game.is-battle .gt-battle-tools { bottom:max(7px,env(safe-area-inset-bottom)); }
  .gt-game.is-battle .gt-tutorial > section { top:29%; }
}

@media (orientation: landscape) and (max-height: 560px) {
  .gt-game.is-battle .gt-titlebar { height:9vh; }
  .gt-game.is-battle .gt-hud { height:22.5vh; }
  .gt-game.is-battle .gt-turn { top:19vh; }
  .gt-game.is-battle .gt-hand-wrap { bottom:10vh; height:36vh; }
  .gt-game.is-battle .gt-training-exit b { display:none; }
  .gt-game.is-battle .gt-training-exit { width:44px; padding:0; justify-content:center; }
  .gt-game.is-battle .gt-tutorial > section { top:25%; width:min(400px,45vw); }
  .gt-game.is-battle .gt-tutorial p { margin:5px 0 8px; font-size:.7rem; }
}

/* v8 responsive composition. Battle stats and controls now have one layout
   owner each, so Telegram's changing viewport cannot make their children
   collide. Ranking boards and rows use real 9-slice borders instead of
   stretching the decorative corners with the content. */
.gt-game.is-battle .gt-hud-stats {
  position: absolute;
  z-index: 2;
  top: 27%;
  bottom: 6%;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 1.5%;
}
.gt-game.is-battle .gt-hud.is-player .gt-hud-stats { left: 24%; right: 3%; }
.gt-game.is-battle .gt-hud.is-enemy .gt-hud-stats { left: 3%; right: 24%; }
.gt-game.is-battle .gt-hud-stats > .gt-fort-stats,
.gt-game.is-battle .gt-hud-stats > .gt-resources {
  position: static;
  inset: auto;
  width: auto;
  height: auto;
  min-width: 0;
  align-items: stretch;
  gap: clamp(2px, .35vw, 6px);
}
.gt-game.is-battle .gt-hud-stats > .gt-fort-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gt-game.is-battle .gt-hud-stats > .gt-resources { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.gt-game.is-battle .gt-fort-stat {
  display: grid;
  grid-template-columns: minmax(22px, 42%) minmax(0, 1fr);
  place-items: center;
  padding: 4% 5%;
}
.gt-game.is-battle .gt-fort-stat::before {
  border-width: clamp(7px, 1.1vh, 12px) clamp(8px, 1.3vh, 14px);
  border-image-slice: 30 38 fill;
  border-image-repeat: stretch;
}
.gt-game.is-battle .gt-stat-icon,
.gt-game.is-battle .gt-fort-stat > b {
  position: static;
  inset: auto;
  width: 100%;
  height: 76%;
  min-width: 0;
}
.gt-game.is-battle .gt-stat-icon { object-fit: contain; }
.gt-game.is-battle .gt-fort-stat > b {
  display: grid;
  place-items: center;
  overflow: visible;
  font-size: clamp(17px, 1.65vw, 27px);
  line-height: 1;
}

.gt-game.is-battle .gt-resource {
  position: relative;
  isolation: isolate;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  padding: 4% 3% 3%;
  display: grid;
  grid-template-rows: minmax(11px, .65fr) minmax(22px, 1.35fr) minmax(15px, .75fr);
  place-items: center;
  overflow: hidden;
  border: 1px solid #c9a15d;
  border-radius: clamp(5px, .45vw, 8px);
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.09), transparent 36%),
    linear-gradient(165deg, #392716, #17130f) !important;
  box-shadow: inset 0 0 0 2px rgba(58,31,11,.82), inset 0 -14px 22px rgba(0,0,0,.2), 0 2px 3px rgba(25,13,4,.42);
  filter: none;
}
.gt-game.is-battle .gt-resource.is-spirit { background-image: linear-gradient(180deg,rgba(255,255,255,.1),transparent 36%),linear-gradient(165deg,#0d665f,#063d3a) !important; }
.gt-game.is-battle .gt-resource.is-valor { background-image: linear-gradient(180deg,rgba(255,255,255,.1),transparent 36%),linear-gradient(165deg,#11558a,#092e52) !important; }
.gt-game.is-battle .gt-resource > .gt-resource-label,
.gt-game.is-battle .gt-resource-icon,
.gt-game.is-battle .gt-resource > b {
  position: static;
  inset: auto;
  width: auto;
  height: auto;
  transform: none;
}
.gt-game.is-battle .gt-resource > .gt-resource-label {
  z-index: 3;
  align-self: center;
  max-width: 100%;
  overflow: hidden;
  color: #ffe8aa;
  font: 900 clamp(8px, .78vw, 12px)/1 var(--gt-hud-font);
  letter-spacing: .02em;
  text-align: center;
  text-overflow: ellipsis;
  text-shadow: 0 1px 2px #160d07;
  text-transform: uppercase;
  white-space: nowrap;
}
.gt-game.is-battle .gt-resource-icon {
  z-index: 2;
  width: min(76%, 48px);
  height: 100%;
  min-height: 0;
  object-fit: contain;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.5));
}
.gt-game.is-battle .gt-resource > b {
  z-index: 3;
  align-self: center;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .16em;
  overflow: visible;
  font-size: clamp(14px, 1.45vw, 23px);
  line-height: 1;
}
.gt-game.is-battle .gt-resource > b em { font-size: .54em; }

.gt-game.is-battle .gt-command-bar {
  position: absolute;
  z-index: 8;
  left: max(8px, env(safe-area-inset-left));
  right: max(8px, env(safe-area-inset-right));
  bottom: max(7px, env(safe-area-inset-bottom));
  height: 46px;
  display: grid;
  grid-template-columns: minmax(78px, 116px) minmax(108px, 1fr) auto;
  align-items: center;
  gap: clamp(6px, 1.1vw, 16px);
  pointer-events: none;
}
.gt-game.is-battle .gt-command-bar > * { pointer-events: auto; }
.gt-game.is-battle .gt-command-bar .gt-log-button,
.gt-game.is-battle .gt-command-bar .gt-actions,
.gt-game.is-battle .gt-command-bar .gt-battle-tools {
  position: static;
  inset: auto;
  width: auto;
  min-width: 0;
  margin: 0;
  transform: none;
}
.gt-game.is-battle .gt-command-bar .gt-log-button { justify-self: start; width: min(100%, 112px); }
.gt-game.is-battle .gt-command-bar .gt-actions { justify-self: center; align-items: center; }
.gt-game.is-battle .gt-command-bar .gt-battle-tools { justify-self: end; display: flex; gap: 7px; }
.gt-game.is-battle .gt-command-bar .gt-pass-turn { min-width: clamp(108px, 17vw, 170px); }

/* Standalone ranking: content owns its height and the back button participates
   in normal flow. Decorative corners are 9-sliced, not scaled with the list. */
.gt-game.is-tournament-rating .gt-ranking-screen {
  padding-bottom: max(14px, env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}
.gt-game.is-tournament-rating .gt-ranking-screen::-webkit-scrollbar { display: none; }
.gt-game.is-tournament-rating .gt-ranking-screen > section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(5px, .7vh, 9px);
}
.gt-game.is-tournament-rating .gt-tournament { display: flex; flex-direction: column; align-items: center; }
.gt-game.is-tournament-rating .gt-league-summary { width: min(68vw, 560px); }
.gt-game.is-tournament-rating .gt-league-reward { width: min(78vw, 640px); margin: 2px auto 4px; }
.gt-game.is-tournament-rating .gt-league-columns {
  width: min(94vw, 1280px);
  margin: 0 auto;
  gap: clamp(8px, 1.2vw, 18px);
}
.gt-game.is-tournament-rating .gt-league-columns > section {
  min-height: 0;
  padding: clamp(10px, 1.1vw, 16px) clamp(9px, 1vw, 15px) clamp(11px, 1.2vw, 18px);
  overflow: visible;
  border: clamp(14px, 1.7vw, 24px) solid transparent;
  border-image-slice: 9% fill;
  border-image-width: 1;
  border-image-outset: 0;
  border-image-repeat: stretch;
  background: none;
  filter: drop-shadow(0 8px 8px rgba(25,14,5,.38));
}
.gt-game.is-tournament-rating .gt-league-columns > .is-personal { border-image-source: url('../assets/cards/game-ui/runtime/v6/ranking-board-blue.webp'); }
.gt-game.is-tournament-rating .gt-league-columns > .is-clans { border-image-source: url('../assets/cards/game-ui/runtime/v6/ranking-board-teal.webp'); }
.gt-game.is-tournament-rating .gt-league-columns h3 {
  margin: -2px 0 5px;
  font-size: clamp(.95rem, 2vw, 1.65rem);
}
.gt-game.is-tournament-rating .gt-league-columns ol { gap: clamp(1px, .25vh, 3px); }
.gt-game.is-tournament-rating .gt-league-columns li {
  min-height: clamp(31px, 4.4vh, 40px);
  padding: 2px clamp(10px, 1.5vw, 18px) 2px clamp(42px, 5vw, 60px);
  border: clamp(5px, .55vw, 8px) solid transparent;
  border-image-slice: 18% 7% fill;
  border-image-width: 1;
  border-image-repeat: stretch;
  background: none !important;
  font-size: clamp(.66rem, 1.15vw, .94rem);
}
.gt-game.is-tournament-rating .gt-league-columns .is-personal li { border-image-source: url('../assets/cards/game-ui/runtime/v6/ranking-row-blue.webp'); }
.gt-game.is-tournament-rating .gt-league-columns .is-clans li { border-image-source: url('../assets/cards/game-ui/runtime/v6/ranking-row-teal.webp'); }
.gt-game.is-tournament-rating .gt-rank-medal {
  left: clamp(1px, .35vw, 5px);
  width: clamp(30px, 4.3vw, 48px);
}
.gt-game.is-tournament-rating .gt-rank-medal b { font-size: clamp(.72rem, 1.2vw, 1rem); }
.gt-game.is-tournament-rating .gt-ranking-back {
  position: relative;
  left: auto;
  bottom: auto;
  flex: 0 0 auto;
  width: clamp(170px, 25vw, 290px);
  margin: 0 auto 4px;
  transform: none;
}
.gt-game.is-tournament-rating .gt-ranking-back:hover,
.gt-game.is-tournament-rating .gt-ranking-back:focus-visible { transform: scale(1.025); }

/* Lobby art has an authored aspect ratio; contain it instead of stretching
   every button to an unrelated viewport height. */
.gt-game.is-tournament-menu .gt-lobby-action { height: auto; aspect-ratio: 2.62 / 1; }
.gt-game.is-tournament-menu .gt-lobby-action > img { object-fit: contain; }

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-game.is-battle .gt-hud.is-enemy { top: 7.8vh; }
  .gt-game.is-battle .gt-turn { top: 20.8vh; }
  .gt-game.is-battle .gt-hud-stats { top: 27%; bottom: 6%; }
  .gt-game.is-battle .gt-hud.is-player .gt-hud-stats { left: 18%; right: 2%; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-stats { left: 2%; right: 18%; }
  .gt-game.is-battle .gt-fort-stat { grid-template-columns: minmax(19px, 44%) minmax(0, 1fr); padding: 4% 3%; }
  .gt-game.is-battle .gt-fort-stat > b { font-size: clamp(16px, 4.25vw, 23px); }
  .gt-game.is-battle .gt-resource > .gt-resource-label { font-size: clamp(8px, 2vw, 11px); }
  .gt-game.is-battle .gt-resource > b { font-size: clamp(14px, 3.8vw, 20px); }
  .gt-game.is-battle .gt-command-bar { height: 44px; grid-template-columns: minmax(74px, 92px) minmax(102px, 1fr) auto; gap: clamp(4px, 1.4vw, 8px); }
  .gt-game.is-battle .gt-command-bar .gt-log-button { width: min(100%, 88px); }
  .gt-game.is-battle .gt-command-bar .gt-battle-tools { gap: 5px; }
  .gt-game.is-battle .gt-command-bar .gt-pass-turn { min-width: clamp(102px, 29vw, 136px); min-height: 42px; padding: 5px 9px; }
  .gt-game.is-battle .gt-command-bar .gt-training-exit { min-height: 42px; padding: 3px 7px; }
  .gt-game.is-battle .gt-command-bar .gt-help { width: 42px; min-height: 42px; }

  .gt-game.is-tournament-rating .gt-ranking-screen { padding-top: clamp(96px, 10.2vh, 170px); }
  .gt-game.is-tournament-rating .gt-ranking-screen > section { width: 98vw; }
  .gt-game.is-tournament-rating .gt-league-summary { width: min(68vw, 520px); }
  .gt-game.is-tournament-rating .gt-league-reward { width: min(82vw, 620px); font-size: clamp(.54rem, 1.8vw, .85rem); }
  .gt-game.is-tournament-rating .gt-league-columns { width: 97vw; grid-template-columns: 1fr; gap: 6px; }
  .gt-game.is-tournament-rating .gt-league-columns > section { padding: 5px 6px 7px; border-width: clamp(12px, 3vw, 20px); }
  .gt-game.is-tournament-rating .gt-league-columns h3 { margin: -1px 0 3px; font-size: clamp(.88rem, 3.6vw, 1.35rem); }
  .gt-game.is-tournament-rating .gt-league-columns ol { gap: 0; }
  .gt-game.is-tournament-rating .gt-league-columns li {
    min-height: clamp(27px, 3.5vh, 35px);
    padding: 1px clamp(7px, 2.2vw, 13px) 1px clamp(38px, 9.5vw, 54px);
    border-width: clamp(4px, 1.3vw, 7px);
    font-size: clamp(.58rem, 2.45vw, .82rem);
  }
  .gt-game.is-tournament-rating .gt-rank-medal { left: 0; width: clamp(28px, 7.8vw, 42px); }
  .gt-game.is-tournament-rating .gt-rank-medal b { font-size: clamp(.66rem, 2.6vw, .9rem); }
  .gt-game.is-tournament-rating .gt-ranking-back { width: min(42vw, 260px); margin-top: 1px; }

  .gt-game.is-tournament-menu .gt-lobby-actions { gap: clamp(4px, .7vh, 9px); }
}

@media (orientation: portrait) and (max-width: 430px) {
  .gt-game.is-battle .gt-command-bar { left: max(5px, env(safe-area-inset-left)); right: max(5px, env(safe-area-inset-right)); grid-template-columns: 70px minmax(96px, 1fr) auto; }
  .gt-game.is-battle .gt-command-bar .gt-log-button { width: 70px; }
  .gt-game.is-battle .gt-command-bar .gt-training-exit { width: 42px; min-width: 42px; padding: 0; justify-content: center; }
  .gt-game.is-battle .gt-command-bar .gt-training-exit b { display: none; }
  .gt-game.is-battle .gt-resource { grid-template-rows: minmax(9px,.58fr) minmax(19px,1.32fr) minmax(14px,.72fr); }
  .gt-game.is-tournament-rating .gt-ranking-screen { padding-top: 58px; }
  .gt-game.is-tournament-rating .gt-league-columns li { min-height: 27px; font-size: .58rem; }
}

@media (orientation: landscape) {
  .gt-game:is(.is-tournament-menu,.is-tournament-rating) .gt-titlebar { height: min(13vh, 122px); }
  .gt-game.is-tournament-menu .gt-titlebar { top: 2vh; }
  .gt-game.is-tournament-menu .gt-lobby { padding-top: min(17vh, 150px); }
  .gt-game.is-tournament-menu .gt-lobby-actions { margin-bottom: clamp(52px, 9vh, 82px); }
  .gt-game.is-tournament-menu .gt-lobby-profile b { top: 39%; font-size: clamp(1.35rem, 2.25vw, 2.15rem); }
  .gt-game.is-tournament-menu .gt-lobby-profile small { top: 73%; }

  .gt-game.is-tournament-rating .gt-ranking-screen { padding-top: min(16vh, 146px); }
  .gt-game.is-tournament-rating .gt-league-summary { width: min(24vw, 390px); }
  .gt-game.is-tournament-rating .gt-league-reward { width: min(32vw, 520px); padding-left: 18%; font-size: .72rem; line-height: 1.05; }
  .gt-game.is-tournament-rating .gt-league-columns { width: min(88vw, 1280px); grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gt-game.is-tournament-rating .gt-league-columns > section { padding: 4px 6px 7px; border-width: clamp(14px, 1.15vw, 18px); }
  .gt-game.is-tournament-rating .gt-league-columns h3 { margin: 0 0 3px; font-size: clamp(1rem, 1.45vw, 1.35rem); }
  .gt-game.is-tournament-rating .gt-league-columns li { min-height: 28px; padding-top: 0; padding-bottom: 0; border-width: 5px; font-size: clamp(.62rem, .9vw, .84rem); }
  .gt-game.is-tournament-rating .gt-rank-medal { width: clamp(28px, 3vw, 38px); }
  .gt-game.is-tournament-rating .gt-ranking-back { width: min(18vw, 250px); }
}

/* v9 production polish. Keep the compact composition introduced above, but
   give every small element one predictable box. Source-pixel 9-slice values
   preserve the authored bevels instead of resampling corners per viewport. */
.gt-game.is-battle .gt-resource {
  grid-template:
    "icon label" minmax(0, .82fr)
    "icon value" minmax(0, 1.18fr)
    / minmax(22px, 43%) minmax(0, 57%);
  gap: 0;
  padding: clamp(3px, .42vw, 6px);
  overflow: hidden;
  border: 1px solid #d5ae62;
  border-radius: clamp(7px, .58vw, 10px);
  background:
    radial-gradient(circle at 25% 48%, rgba(255, 212, 108, .16), transparent 34%),
    linear-gradient(155deg, #4a311b, #21160f 72%) !important;
  box-shadow:
    inset 0 0 0 2px rgba(51, 28, 11, .9),
    inset 0 1px 0 rgba(255, 236, 174, .22),
    0 2px 4px rgba(24, 13, 5, .45);
}
.gt-game.is-battle .gt-resource::after {
  content: "";
  position: absolute;
  inset: 3px;
  z-index: 1;
  border: 1px solid rgba(239, 197, 105, .28);
  border-radius: max(4px, calc(clamp(7px, .58vw, 10px) - 3px));
  pointer-events: none;
}
.gt-game.is-battle .gt-resource.is-spirit {
  background:
    radial-gradient(circle at 25% 48%, rgba(95, 238, 218, .2), transparent 35%),
    linear-gradient(155deg, #136f68, #073b39 72%) !important;
}
.gt-game.is-battle .gt-resource.is-valor {
  background:
    radial-gradient(circle at 25% 48%, rgba(103, 190, 255, .22), transparent 35%),
    linear-gradient(155deg, #176397, #092f54 72%) !important;
}
.gt-game.is-battle .gt-resource-icon {
  grid-area: icon;
  z-index: 2;
  width: 92%;
  height: 84%;
  min-height: 0;
  align-self: center;
  justify-self: center;
  object-fit: contain;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .62));
}
.gt-game.is-battle .gt-resource > .gt-resource-label {
  grid-area: label;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  align-self: end;
  padding: 0 1px 1px;
  overflow: hidden;
  color: #ffe8a9;
  font: 900 clamp(8px, .78vw, 12px)/1 var(--gt-hud-font);
  letter-spacing: .015em;
  text-align: center;
  text-overflow: ellipsis;
  text-shadow: 0 1px 2px #130b06;
  text-transform: uppercase;
  white-space: nowrap;
}
.gt-game.is-battle .gt-resource > b {
  grid-area: value;
  z-index: 2;
  width: 100%;
  min-width: 0;
  align-self: start;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .12em;
  overflow: visible;
  color: #fff3c7;
  font-size: clamp(15px, 1.52vw, 24px);
  line-height: 1;
}
.gt-game.is-battle .gt-resource > b em {
  padding: .12em .25em;
  border-radius: 999px;
  color: #d5ff9d;
  background: rgba(10, 27, 13, .54);
  font-size: .48em;
  line-height: 1;
}

.gt-game.is-battle .gt-command-bar {
  isolation: isolate;
  grid-template-columns: minmax(70px, .82fr) minmax(102px, 1.25fr) minmax(90px, .9fr);
}
.gt-game.is-battle .gt-command-bar > *,
.gt-game.is-battle .gt-command-bar .gt-battle-tools,
.gt-game.is-battle .gt-command-bar .gt-actions { min-width: 0; max-width: 100%; }
.gt-game.is-battle .gt-command-bar .gt-pass-turn { width: 100%; min-width: 0; }
.gt-game.is-battle .gt-command-bar .gt-training-exit { flex: 0 1 auto; min-width: 0; }
.gt-game.is-battle .gt-command-bar .gt-help { flex: 0 0 auto; }

.gt-game.is-tournament-rating .gt-league-columns > section {
  border-width: 14px 20px;
  border-image-slice: 56 72 fill;
  border-image-width: 1;
  border-image-repeat: stretch;
}
.gt-game.is-tournament-rating .gt-league-columns li {
  border-width: 6px 11px;
  border-image-slice: 32 52 fill;
  border-image-width: 1;
  border-image-repeat: stretch;
}
.gt-game.is-tournament-rating .gt-league-columns li > span:not(.gt-rank-medal) {
  padding-left: 2px;
}

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-game.is-battle .gt-resource {
    grid-template:
      "icon label" minmax(0, .8fr)
      "icon value" minmax(0, 1.2fr)
      / minmax(19px, 38%) minmax(0, 62%);
    padding: 3px;
  }
  .gt-game.is-battle .gt-resource > .gt-resource-label {
    overflow: visible;
    font-size: clamp(7px, 1.9vw, 10px);
    letter-spacing: -.015em;
    text-overflow: clip;
  }
  .gt-game.is-battle .gt-resource > b { font-size: clamp(15px, 4.15vw, 20px); }
  .gt-game.is-battle .gt-command-bar { grid-template-columns: minmax(70px, .82fr) minmax(102px, 1.22fr) minmax(90px, .9fr); }

  .gt-game.is-tournament-rating .gt-league-columns > section {
    padding: 5px 6px 7px;
    border-width: 12px 15px;
  }
  .gt-game.is-tournament-rating .gt-league-columns li {
    min-height: clamp(29px, 3.75vh, 36px);
    padding-top: 1px;
    padding-bottom: 1px;
    border-width: 5px 9px;
  }
}

@media (orientation: portrait) and (max-width: 480px) {
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-actions {
    width: min(60vw, 300px);
  }
  .gt-game.is-battle .gt-inspect-card { height: min(57dvh, 500px); }
  .gt-game.is-battle .gt-inspect-actions {
    grid-template-columns: minmax(230px, 280px);
    gap: 7px;
  }
  .gt-game.is-battle .gt-inspect-actions button { width: min(68vw, 280px); }
}

@media (orientation: portrait) and (max-width: 430px) {
  .gt-game.is-battle .gt-command-bar {
    left: max(5px, env(safe-area-inset-left));
    right: max(5px, env(safe-area-inset-right));
    grid-template-columns: 70px minmax(100px, 1fr) 89px;
    gap: 5px;
  }
  .gt-game.is-battle .gt-command-bar .gt-pass-turn { padding-left: 7px; padding-right: 7px; }
  .gt-game.is-battle .gt-command-bar .gt-battle-tools { width: 89px; justify-content: end; }
  .gt-game.is-tournament-rating .gt-ranking-screen { padding-top: 60px; }
  .gt-game.is-tournament-rating .gt-league-columns li { font-size: .61rem; }
}

/* v10 composition pass: portraits hang outside the HUD, rank medallions live
   inside their rows, and authored lobby art keeps its real 896:418 ratio. */
.gt-game.is-battle .gt-hud-stats {
  left: 2.2% !important;
  right: 2.2% !important;
}
.gt-game.is-battle .gt-fort-stat {
  grid-template-columns: minmax(24px, 48%) minmax(0, 52%);
  padding: clamp(5px, .6vw, 9px) clamp(7px, .75vw, 11px);
}
.gt-game.is-battle .gt-stat-icon {
  width: 78%;
  height: 70%;
  justify-self: center;
  align-self: center;
}
.gt-game.is-battle .gt-fort-stat > b {
  width: 100%;
  justify-self: center;
  text-align: center;
}
.gt-game.is-battle .gt-hud-portrait {
  z-index: 7;
  width: 19.5%;
  filter: drop-shadow(0 7px 7px rgba(16, 9, 3, .55));
  pointer-events: none;
}

.gt-game.is-tournament-rating .gt-league-columns li {
  grid-template-columns: clamp(25px, 3.2vw, 34px) minmax(0, 1fr) auto;
  padding-left: clamp(7px, .8vw, 11px);
}
.gt-game.is-tournament-rating .gt-rank-medal {
  position: relative;
  left: auto;
  top: auto;
  width: clamp(25px, 3.2vw, 34px);
  align-self: center;
  justify-self: center;
  transform: none;
}
.gt-game.is-tournament-rating .gt-rank-medal img {
  object-fit: contain;
}
.gt-game.is-tournament-rating .gt-rank-medal b {
  inset: 0;
  display: grid;
  place-items: center;
  padding: 0;
  font-size: clamp(.62rem, .9vw, .8rem);
  line-height: 1;
  text-align: center;
}

.gt-game.is-tournament-menu .gt-lobby-action {
  aspect-ratio: 896 / 418;
}
.gt-game.is-tournament-menu .gt-lobby-actions {
  gap: clamp(16px, 2vh, 24px);
}

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-game.is-battle .gt-hud.is-player .gt-hud-portrait {
    top: auto;
    bottom: 95%;
    left: 0;
    right: auto;
  }
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-portrait {
    top: 95%;
    bottom: auto;
    left: auto;
    right: 0;
  }
  .gt-game.is-battle .gt-fort-stat {
    grid-template-columns: minmax(22px, 48%) minmax(0, 52%);
    padding: 5px 7px;
  }
  .gt-game.is-battle .gt-stat-icon { width: 76%; height: 68%; }

  .gt-game.is-tournament-rating .gt-league-columns li {
    grid-template-columns: clamp(24px, 6.8vw, 30px) minmax(0, 1fr) auto;
    padding-left: clamp(6px, 1.8vw, 9px);
  }
  .gt-game.is-tournament-rating .gt-rank-medal { width: clamp(24px, 6.8vw, 30px); }
  .gt-game.is-tournament-rating .gt-rank-medal b { font-size: clamp(.58rem, 2.2vw, .74rem); }
  .gt-game.is-tournament-menu .gt-lobby-actions { gap: clamp(14px, 1.9vh, 20px); }
}

@media (orientation: portrait) and (max-width: 430px) {
  .gt-game.is-tournament-menu .gt-lobby-actions {
    width: 80vw;
    margin-bottom: 35px;
    gap: 14px;
  }
  .gt-game.is-tournament-rating .gt-league-columns li {
    min-height: 30px;
    grid-template-columns: 21px minmax(0, 1fr) auto;
    padding-left: 6px;
    padding-top: 0;
    padding-bottom: 0;
    border-width: 4px 8px;
  }
  .gt-game.is-tournament-rating .gt-rank-medal { width: 21px; }
  .gt-game.is-tournament-rating .gt-rank-medal b { font-size: .54rem; }
}

@media (orientation: landscape) {
  .gt-game.is-battle .gt-hud.is-player .gt-hud-portrait,
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-portrait {
    top: 84%;
    bottom: auto;
    width: 16%;
  }
  .gt-game.is-battle .gt-hud.is-player .gt-hud-portrait { left: 2%; right: auto; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-portrait { left: auto; right: 2%; }
  .gt-game.is-tournament-menu .gt-lobby-actions { gap: clamp(20px, 2.2vw, 34px); }

  .gt-game.is-tournament-rating .gt-league-columns ol { gap: 2px; }
  .gt-game.is-tournament-rating .gt-league-columns li {
    min-height: 34px;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    padding: 0 10px 0 7px;
    border-width: 4px 10px;
  }
  .gt-game.is-tournament-rating .gt-rank-medal { width: 24px; }
  .gt-game.is-tournament-rating .gt-rank-medal b { font-size: .6rem; }
}

/* v11 readability pass: information uses the available surface instead of
   preserving desktop-sized type inside large mobile artwork. */
.gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-title,
.gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-subtitle {
  position: absolute;
  z-index: 2;
  left: 37%;
  right: 5%;
  display: grid;
  place-items: center;
  color: #ffe09a;
  text-align: center;
  pointer-events: none;
  text-shadow: 0 2px 2px #241005, 0 0 5px rgba(255,195,82,.2);
}
.gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-title {
  top: 25%;
  height: 40%;
  font: 900 clamp(1.45rem, 4vw, 3.45rem)/.92 Georgia,serif;
}
.gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-subtitle {
  top: 68%;
  height: 15%;
  color: #f3e7c8;
  font: 900 clamp(.64rem, 1.2vw, 1.1rem)/1 var(--gt-hud-font);
  text-transform: uppercase;
}
.gt-lobby-profile b,
.gt-league-summary > b {
  top: 33%;
  left: 28%;
  right: 5%;
  color: #ffd77d;
  font-size: clamp(1.45rem, 3vw, 2.8rem);
  line-height: 1;
  text-transform: uppercase;
}
.gt-lobby-profile small,
.gt-league-summary > em {
  top: 65%;
  left: 28%;
  right: 5%;
  color: #fff0bd;
  font-size: clamp(18px, 1.55vw, 25px) !important;
}
.gt-league-summary > small { top: 70%; }

.gt-lobby-exit,
.gt-ranking-back {
  aspect-ratio: 3.2 / 1;
}
.gt-lobby-exit img,
.gt-ranking-back img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

/* Turn ownership is communicated by the frame colour. Only the timer remains
   inside, so the critical information is readable at a glance. */
.gt-game.is-battle .gt-turn {
  width: clamp(150px, 20vw, 300px);
  aspect-ratio: 3.7 / 1;
  display: grid;
  place-items: center;
  border: clamp(3px, .35vw, 5px) solid #63cfff;
  border-radius: clamp(14px, 1.4vw, 22px);
  color: #fff7d8;
  background:
    linear-gradient(180deg, rgba(255,255,255,.1), transparent 30%),
    linear-gradient(150deg, #146f9a, #082f4c);
  box-shadow:
    inset 0 0 0 3px #3d240f,
    inset 0 0 0 5px rgba(226,177,82,.82),
    0 7px 12px rgba(25,14,5,.42);
  clip-path: none;
  filter: none;
}
.gt-game.is-battle .gt-turn.is-opponent {
  border-color: #ff9c4f;
  background: linear-gradient(180deg,rgba(255,255,255,.1),transparent 30%),linear-gradient(150deg,#a64f27,#552214);
}
.gt-game.is-battle .gt-turn.is-checking {
  border-color: #f0cc68;
  background: linear-gradient(180deg,rgba(255,255,255,.1),transparent 30%),linear-gradient(150deg,#735b23,#3c2d12);
}
.gt-game.is-battle .gt-turn-timer {
  position: static;
  inset: auto;
  width: auto;
  height: auto;
  color: #fff6d6;
  font-size: clamp(1.35rem, 2.4vw, 2.25rem);
  letter-spacing: .04em;
  text-shadow: 0 2px 3px #170c06;
}

/* Larger, deliberately centred HUD values. */
.gt-game.is-battle .gt-fort-stat > b { font-size: clamp(26px, 2.35vw, 42px); }
.gt-game.is-battle .gt-resource > .gt-resource-label { font-size: clamp(13px, 1.05vw, 18px); }
.gt-game.is-battle .gt-resource > b { font-size: clamp(24px, 2vw, 36px); }
.gt-game.is-battle .gt-resource > b em { font-size: .5em; }
.gt-game.is-battle .gt-stat-icon { width: 84%; height: 78%; }
.gt-game.is-battle .gt-resource-icon { width: 96%; height: 90%; }

/* CSS medallions guarantee optical and mathematical centring. */
.gt-game .gt-rank-medal {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border: 3px solid #bb8a3f;
  border-radius: 50%;
  color: #fff0bd;
  background: radial-gradient(circle at 36% 30%,#42678a,#172f4b 62%,#081728);
  box-shadow: inset 0 0 0 2px #102236,0 2px 4px rgba(0,0,0,.45);
}
.gt-game .gt-rank-medal.is-gold { border-color:#ffd56b; background:radial-gradient(circle at 35% 28%,#ffe59a,#b16d12 62%,#573006); }
.gt-game .gt-rank-medal.is-silver { border-color:#e5edf3; background:radial-gradient(circle at 35% 28%,#f8fbff,#758491 62%,#303a43); }
.gt-game .gt-rank-medal.is-bronze { border-color:#e2a06a; background:radial-gradient(circle at 35% 28%,#f5bd88,#934d25 62%,#472010); }
.gt-game .gt-rank-medal b {
  position: static;
  inset: auto;
  width: 100%;
  height: 100%;
  padding: 0;
  display: grid;
  place-items: center;
  color: inherit;
  font: 900 clamp(.72rem, 1.15vw, 1.05rem)/1 var(--gt-hud-font);
  text-align: center;
  text-shadow: 0 2px 2px rgba(23,10,4,.9);
}

.gt-league-reward { position: relative; padding: 0; }
.gt-league-reward > span {
  position: absolute;
  left: 22%;
  right: 7%;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  text-align: center;
}

.gt-rating-tabs {
  width: min(92vw, 720px);
  margin: 4px auto 10px;
  padding: 5px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
  border: 2px solid #c99b4b;
  border-radius: 16px;
  background: rgba(8,38,55,.92);
  box-shadow: inset 0 0 0 2px #432812,0 6px 12px rgba(0,0,0,.32);
}
.gt-rating-tabs button {
  min-height: 48px;
  padding: 8px 12px;
  border: 0;
  border-radius: 11px;
  color: #d9c9a7;
  background: transparent;
  font: 900 clamp(.82rem, 2vw, 1.15rem)/1 var(--gt-hud-font);
  text-transform: uppercase;
}
.gt-rating-tabs button.is-active {
  color: #fff0b4;
  background: linear-gradient(#247ca0,#104761);
  box-shadow: inset 0 0 0 2px #d5aa57,0 2px 5px rgba(0,0,0,.35);
}
.gt-ranking-self {
  flex: 0 0 auto;
  min-height: 58px;
  margin-top: 7px;
  padding: 5px 12px 5px 8px;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  border: 2px solid #ffd36a;
  border-radius: 12px;
  color: #fff1b8;
  background: linear-gradient(90deg,#175e7e,#0c3852);
  font: 900 .9rem/1.1 var(--gt-hud-font);
}
.gt-ranking-self .gt-rank-medal { width: 40px; }
.gt-ranking-self em { color:#ffe39a; font-style:normal; }
.gt-game.is-tournament-menu .gt-lobby-profile small { top: 58%; }
.gt-game.is-tournament-rating .gt-league-columns li > em {
  font-size: clamp(16px, 1.25vw, 20px);
}

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-title { font-size: clamp(1.45rem, 6.7vw, 3.6rem); }
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-subtitle { font-size: clamp(.62rem, 2.35vw, 1.08rem); }
  .gt-lobby-profile b,
  .gt-league-summary > b { font-size: clamp(1.5rem, 5vw, 2.65rem); }
  .gt-lobby-profile small,
  .gt-league-summary > em { font-size: clamp(18px, 3vw, 25px) !important; }
  .gt-lobby-exit { width: min(48vw, 440px); }

  .gt-game.is-battle .gt-turn { width: clamp(150px, 38vw, 270px); }
  .gt-game.is-battle .gt-turn-timer { font-size: clamp(1.35rem, 5vw, 2.2rem); }
  .gt-game.is-battle .gt-fort-stat > b { font-size: clamp(22px, 4.6vw, 40px); }
  .gt-game.is-battle .gt-resource > .gt-resource-label { font-size: clamp(10px, 1.8vw, 17px); }
  .gt-game.is-battle .gt-resource > b { font-size: clamp(20px, 4vw, 36px); }

  .gt-game.is-tournament-rating .gt-rating-tabs { display: grid; }
  .gt-game.is-tournament-rating .gt-league-columns {
    width: min(94vw, 820px);
    display: block;
  }
  .gt-game.is-tournament-rating .gt-league-columns > section {
    display: none;
    height: min(60vh, 830px);
    min-height: 0;
    padding: clamp(8px, 1.5vw, 14px);
    border-width: clamp(14px, 2.4vw, 22px);
  }
  .gt-game.is-tournament-rating .gt-league-columns > section.is-active {
    display: flex;
    flex-direction: column;
  }
  .gt-game.is-tournament-rating .gt-league-columns ol {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    grid-template-rows: none;
    gap: 5px;
    scrollbar-width: thin;
    scrollbar-color: #d0a250 rgba(5,28,42,.45);
  }
  .gt-game.is-tournament-rating .gt-league-columns li {
    min-height: clamp(54px, 4.25vh, 68px);
    grid-template-columns: clamp(40px, 7vw, 52px) minmax(0,1fr) auto;
    padding: 4px clamp(12px,2vw,18px) 4px clamp(9px,1.5vw,14px);
    border-width: 6px 12px;
    font-size: clamp(.88rem, 2.2vw, 1.25rem);
  }
  .gt-game.is-tournament-rating .gt-rank-medal { width: clamp(40px, 7vw, 52px); }
  .gt-game.is-tournament-rating .gt-rank-medal b { font-size: clamp(.82rem, 2vw, 1.1rem); }
  .gt-game.is-tournament-rating .gt-ranking-back { width: min(42vw, 330px); }
}

@media (orientation: landscape) {
  .gt-game.is-tournament-menu .gt-lobby-actions { margin-bottom: clamp(126px, 15vh, 150px); }
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-title {
    font-size: clamp(28px, 2.75vw, 44px);
    line-height: .94;
  }
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-subtitle {
    font-size: clamp(11px, .9vw, 15px);
    line-height: 1.05;
  }
  .gt-game.is-tournament-menu .gt-lobby-profile b {
    left: 26%;
    right: 5%;
    font-size: clamp(30px, 2.35vw, 38px);
  }
  .gt-game.is-battle .gt-resource {
    grid-template:
      "label" minmax(18px, .32fr)
      "icon" minmax(44px, 1.08fr)
      "value" minmax(26px, .48fr)
      / minmax(0, 1fr);
    padding: 5px 7px;
  }
  .gt-game.is-battle .gt-resource > .gt-resource-label {
    font-size: clamp(11px, .82vw, 14px);
    align-self: center;
  }
  .gt-game.is-battle .gt-resource-icon {
    width: 78%;
    height: 96%;
  }
  .gt-game.is-battle .gt-resource > b {
    font-size: clamp(22px, 1.65vw, 29px);
    align-self: center;
  }
  .gt-game.is-tournament-rating .gt-rating-tabs { display: none; }
  .gt-game.is-tournament-rating .gt-league-columns { align-items: stretch; }
  .gt-game.is-tournament-rating .gt-league-columns > section {
    height: min(46vh, 414px);
    display: flex;
    flex-direction: column;
  }
  .gt-game.is-tournament-rating .gt-league-columns ol {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    gap: 4px;
    scrollbar-width: thin;
    scrollbar-color: #d0a250 rgba(5,28,42,.45);
  }
  .gt-game.is-tournament-rating .gt-league-columns li {
    min-height: 44px;
    grid-template-columns: 32px minmax(0,1fr) auto;
    padding: 2px 14px 2px 9px;
    border-width: 5px 11px;
    font-size: clamp(.82rem, 1vw, 1rem);
  }
  .gt-game.is-tournament-rating .gt-rank-medal { width: 32px; }
  .gt-game.is-tournament-rating .gt-rank-medal b { font-size: .72rem; }
}

/* Square and near-square screens use the stacked HUD rather than squeezing
   ten information cells into two short landscape corners. */
@media (min-aspect-ratio: 4/5) and (max-aspect-ratio: 5/4) {
  .gt-game.is-battle .gt-titlebar { top: .3vh; width: 86vw; height: 7vh; }
  .gt-game.is-battle .gt-hud { left:0!important; right:0!important; width:100%; height:14vh; }
  .gt-game.is-battle .gt-hud.is-enemy { top:12vh; }
  .gt-game.is-battle .gt-hud.is-player { top:auto; bottom:31vh; }
  .gt-game.is-battle .gt-hud-stats { left:2%!important; right:2%!important; top:27%; bottom:6%; }
  .gt-game.is-battle .gt-hud.is-player .gt-hud-portrait { top:auto; bottom:94%; left:0; right:auto; width:18%; }
  .gt-game.is-battle .gt-hud.is-enemy .gt-hud-portrait { top:94%; bottom:auto; left:auto; right:0; width:18%; }
  .gt-game.is-battle .gt-hud-head strong { font-size:clamp(15px,2vw,22px); }
  .gt-game.is-battle .gt-hud-head span { font-size:clamp(14px,1.8vw,20px); }
  .gt-game.is-battle .gt-turn { top:27vh; width:min(30vw,260px); }
  .gt-game.is-battle .gt-hand-wrap { left:0; right:0; bottom:6vh; height:24vh; grid-template-columns:8vw minmax(0,1fr) 8vw; }
  .gt-game.is-battle .gt-card { height:calc(100% - 1.4vh); }
  .gt-game.is-battle .gt-command-bar { grid-template-columns:minmax(88px,.8fr) minmax(130px,1.2fr) minmax(110px,.9fr); }
}

/* v90 weekly-drop labels: rating and estimated MPAK remain separate,
   readable lines instead of competing in one compressed baseline. */
.gt-league-columns li > span:not(.gt-rank-medal),
.gt-league-columns li > em {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
}
.gt-league-columns li small {
  display: block;
  margin-top: 1px;
  color: #c9f0b2;
  font: 700 .72em/1.05 "Trebuchet MS", Arial, sans-serif;
  letter-spacing: 0;
}
.gt-league-columns li > span:not(.gt-rank-medal) small { color: #ffd0a8; }

/* The weekly rule is core economy information, not decorative fine print. */
.gt-game.is-tournament-rating .gt-league-reward {
  width: min(72vw, 760px);
  flex: 0 0 auto;
  font-size: clamp(.82rem, 1.15vw, 1.08rem);
  line-height: 1.08;
}

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-game.is-tournament-rating .gt-league-reward {
    width: min(94vw, 720px);
    font-size: clamp(.72rem, 2.65vw, 1.08rem);
  }
}

/* v90.6: the battle log uses a bottom action, away from Telegram's top
   fullscreen controls. Large raster actions and wider lobby plates use the
   available mobile width instead of looking like narrow desktop leftovers. */
.gt-game.is-battle .gt-log header {
  justify-content: center;
  text-align: center;
}
.gt-game.is-battle .gt-log ol {
  padding-bottom: 12px;
}
.gt-game.is-battle .gt-log-footer {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  padding: 10px max(14px, env(safe-area-inset-right)) calc(var(--tg-bottom-safe, 0px) + 10px) max(14px, env(safe-area-inset-left));
  border-top: 1px solid rgba(220, 177, 85, .58);
  background: linear-gradient(180deg, rgba(7, 38, 54, .94), #062b40);
  box-shadow: 0 -8px 18px rgba(2, 15, 23, .28);
}
.gt-game.is-battle .gt-log-footer button {
  width: min(72vw, 380px);
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 2px solid #d7ab54;
  border-radius: 15px;
  color: #fff0bd;
  background: linear-gradient(180deg, #16779e, #0a4565);
  box-shadow: inset 0 0 0 2px #4b2b12, 0 5px 12px rgba(0, 0, 0, .38);
  font: 900 clamp(1rem, 2.4vw, 1.28rem)/1 var(--gt-hud-font);
  text-transform: uppercase;
  text-shadow: 0 2px 2px #1c1008;
  cursor: pointer;
}
.gt-game.is-battle .gt-log-footer button > span {
  color: #ffd477;
  font-size: 1.65em;
  line-height: .7;
}

.gt-game.is-battle .gt-inspect-actions {
  grid-template-columns: repeat(2, minmax(220px, 360px));
}
.gt-game.is-battle .gt-inspect-actions button {
  width: min(360px, 36vw);
}

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-actions {
    width: min(72vw, 420px);
    gap: 5px;
  }
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-action {
    aspect-ratio: 2.5 / 1;
  }
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-action > img {
    object-fit: fill;
  }
  body.tg-fullscreen .gt-game.is-battle .gt-inspect-actions {
    width: auto;
    grid-template-columns: minmax(300px, 420px);
    gap: 8px;
  }
  body.tg-fullscreen .gt-game.is-battle .gt-inspect-actions button {
    width: min(88vw, 420px);
  }
  body.tg-fullscreen .gt-game.is-battle .gt-inspect-actions button > b {
    font-size: clamp(1rem, 4vw, 1.28rem);
  }
}

@media (orientation: portrait) and (max-height: 1000px) {
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-actions {
    width: min(72vw, 330px);
  }
}

/* v12 interaction and accessibility pass. */
.gt-lobby-avatar .gt-profile-photo,
.gt-league-avatar .gt-profile-photo {
  inset: 10%;
  width: 80%;
  height: 80%;
  border-radius: 50%;
  object-fit: cover;
}
.gt-lobby-avatar .gt-profile-ring,
.gt-league-avatar .gt-profile-ring { object-fit: contain; }

.gt-game.is-battle .gt-hud-head { display: grid; place-items: center; }
.gt-game.is-battle .gt-hud-head .gt-hud-caption {
  width: 100%;
  display: block;
  color: #fff1c4;
  text-align: center;
}
.gt-game.is-battle .gt-hud-avatar { object-fit: cover; background: #173348; }

.gt-game.is-battle .gt-inspect-actions button {
  position: relative;
  width: min(340px, 34vw);
  min-height: 0;
  aspect-ratio: 4.2 / 1;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  filter: drop-shadow(0 8px 11px rgba(0,0,0,.48));
}
.gt-game.is-battle .gt-inspect-actions button > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.gt-game.is-battle .gt-inspect-actions button > b {
  position: absolute;
  z-index: 2;
  left: 31%;
  right: 5%;
  top: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  color: #fff0bd;
  font: 900 clamp(.9rem, 1.5vw, 1.28rem)/1 var(--gt-hud-font);
  letter-spacing: .035em;
  text-shadow: 0 2px 3px #160b05, 0 0 5px rgba(255,203,92,.25);
}
.gt-game.is-battle .gt-inspect-actions button:disabled { opacity: .46; filter: grayscale(.82) drop-shadow(0 5px 8px rgba(0,0,0,.38)); }

.gt-card-flight.is-discarded img,
.gt-log-card.is-discarded img { filter: grayscale(1) brightness(.72) drop-shadow(0 10px 14px rgba(0,0,0,.58)); }
.gt-card-flight.is-discarded::after,
.gt-log-card .gt-discard-slash {
  content: "";
  position: absolute;
  z-index: 4;
  left: 9%;
  top: 40%;
  width: 82%;
  height: clamp(8px, 2.2%, 15px);
  border: 2px solid #70160f;
  border-radius: 999px;
  background: linear-gradient(#ff5a45,#b71912);
  box-shadow: 0 2px 0 #ffe0ab, 0 5px 10px rgba(40,4,2,.72);
  transform: rotate(-32deg);
  transform-origin: center;
  pointer-events: none;
}
.gt-log-card .gt-discard-slash { display: block; }

.gt-game.is-battle .gt-log {
  position: fixed;
  z-index: 40;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-height: none;
  display: flex;
  flex-direction: column;
  border-radius: 0;
  transform: translateY(100%);
}
.gt-game.is-battle .gt-log.is-open { transform: none; }
.gt-game.is-battle .gt-log header {
  flex: 0 0 auto;
  min-height: 58px;
  padding: max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));
  font-size: clamp(1rem,2.5vw,1.35rem);
}
.gt-game.is-battle .gt-log ol {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  padding: 14px max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  overscroll-behavior: contain;
  touch-action: pan-y;
}
.gt-game.is-battle .gt-log-card { width: min(46%, 260px); margin-bottom: 12px; padding: 0; }
.gt-game.is-battle .gt-log-card > div { width: min(105px, 70%); }
.gt-game.is-battle .gt-log-event { width: min(82%, 720px); }

.gt-game.is-tournament-rating .gt-ranking-screen {
  padding: max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(84px,calc(env(safe-area-inset-bottom) + 76px)) max(8px,env(safe-area-inset-left));
  overflow: hidden;
}
.gt-game.is-tournament-rating .gt-ranking-screen > section,
.gt-game.is-tournament-rating .gt-tournament { width: 100%; height: 100%; min-height: 0; overflow: hidden; }
.gt-game.is-tournament-rating .gt-tournament { display: flex; flex-direction: column; }
.gt-game.is-tournament-rating .gt-league-columns { flex: 1 1 auto; min-height: 0; }
.gt-game.is-tournament-rating .gt-league-columns > section { height: auto !important; min-height: 0; }
.gt-game.is-tournament-rating .gt-ranking-back {
  position: absolute !important;
  z-index: 20;
  left: 50%;
  bottom: max(5px,env(safe-area-inset-bottom));
  width: min(42vw, 300px);
  margin: 0;
  transform: translateX(-50%);
}
.gt-game.is-tournament-rating .gt-ranking-back:hover,
.gt-game.is-tournament-rating .gt-ranking-back:focus-visible { transform: translateX(-50%) scale(1.025); }

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  .gt-game.is-battle .gt-hud.is-enemy { top: max(.8vh,env(safe-area-inset-top)); }
  .gt-game.is-battle .gt-turn { top: 13.8vh; }
  .gt-game.is-battle .gt-inspect-actions { width: min(94vw,560px); }
  .gt-game.is-battle .gt-inspect-actions button { width: 100%; }
  .gt-game.is-tournament-rating .gt-league-columns > section { height: 100% !important; }
  .gt-game.is-tournament-rating .gt-ranking-back { width: min(52vw,320px); }
}

@media (orientation: landscape) {
  .gt-game.is-tournament-rating .gt-ranking-screen { padding-bottom: max(84px,calc(env(safe-area-inset-bottom) + 76px)); }
  .gt-game.is-tournament-rating .gt-ranking-back { width: min(18vw,250px); }
}

@media (min-aspect-ratio: 4/5) and (max-aspect-ratio: 5/4) {
  .gt-game.is-battle .gt-hud.is-enemy { top: max(1vh,env(safe-area-inset-top)); }
  .gt-game.is-battle .gt-turn { top: 16vh; }
}

/* v90.1 Telegram Desktop portrait QA: reserve a real rectangle for every
   control. The 576x880 client is neither a phone nor a wide desktop. */
.gt-game.is-tournament-rating .gt-league-reward > span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  line-height: 1;
}
.gt-game.is-tournament-rating .gt-league-reward > span > b,
.gt-game.is-tournament-rating .gt-league-reward > span > small {
  display: block;
  font: inherit;
  line-height: 1;
  white-space: nowrap;
}
.gt-game.is-tournament-rating .gt-league-reward > span > small {
  font-size: .78em;
  letter-spacing: -.015em;
}
.gt-game.is-tournament-rating .gt-league-columns li.is-placeholder {
  opacity: .55;
  filter: saturate(.55);
}
.gt-game.is-tournament-rating .gt-league-columns li.is-placeholder > span {
  font-family: var(--gt-hud-font);
  font-size: .82em;
}

@media (orientation: portrait) and (min-width: 431px) and (max-height: 1000px) {
  .gt-game.is-tournament-menu .gt-titlebar {
    top: max(5px,env(safe-area-inset-top));
    width: min(96vw,560px);
    height: min(9vh,80px);
  }
  .gt-game.is-tournament-menu .gt-lobby {
    padding-top: max(76px,calc(env(safe-area-inset-top) + 70px));
    padding-left: max(8px,env(safe-area-inset-left));
    padding-right: max(8px,env(safe-area-inset-right));
  }
  .gt-game.is-tournament-menu .gt-lobby-profile { width: min(72vw,414px); }
  .gt-game.is-tournament-menu .gt-lobby-actions {
    width: min(68vw,390px);
    gap: 8px;
    margin: auto auto 96px;
  }
  .gt-game.is-tournament-menu .gt-lobby-action {
    width: 100%;
    height: auto;
    aspect-ratio: 896 / 418;
  }
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-title,
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-subtitle {
    left: 42%;
    right: 4%;
  }
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-title {
    top: 22%;
    height: 42%;
    font-size: clamp(1.7rem,5.7vw,2.05rem);
  }
  .gt-game.is-tournament-menu .gt-lobby-action > .gt-lobby-action-subtitle {
    top: 68%;
    height: 16%;
    font-size: clamp(.65rem,2.05vw,.78rem);
    line-height: 1;
    white-space: nowrap;
  }
  .gt-game.is-tournament-menu .gt-lobby-exit {
    bottom: max(7px,env(safe-area-inset-bottom));
    width: min(46vw,265px);
  }

  .gt-game.is-tournament-rating .gt-ranking-screen {
    padding-top: max(7px,env(safe-area-inset-top));
    padding-bottom: max(108px,calc(env(safe-area-inset-bottom) + 100px));
    padding-left: max(8px,env(safe-area-inset-left));
    padding-right: max(8px,env(safe-area-inset-right));
  }
  .gt-game.is-tournament-rating .gt-ranking-screen .gt-league-summary { width: min(72vw,414px); }
  .gt-game.is-tournament-rating .gt-league-reward {
    width: min(94vw,542px);
    margin: 3px auto 6px;
    font-size: clamp(.72rem,2.25vw,.84rem);
  }
  .gt-game.is-tournament-rating .gt-rating-tabs {
    width: min(92vw,530px);
    margin-top: 2px;
    margin-bottom: 7px;
  }
  .gt-game.is-tournament-rating .gt-league-columns > section {
    padding: 24px 20px 22px;
  }
  .gt-game.is-tournament-rating .gt-league-columns li {
    min-height: 46px;
    grid-template-columns: 32px minmax(0,1fr) auto;
    padding: 2px 13px 2px 8px;
    border-width: 5px 11px;
    font-size: clamp(.82rem,2.8vw,1rem);
  }
  .gt-game.is-tournament-rating .gt-rank-medal { width: 32px; }
  .gt-game.is-tournament-rating .gt-rank-medal b { font-size: .72rem; }
  .gt-game.is-tournament-rating .gt-ranking-self { min-height: 72px; }
}

/* Keep the rank away from both the rating line and the plaque's lower centre
   ornament. Explicit rows make the result stable from phone portrait to 16:9. */
.gt-game.is-tournament-menu .gt-lobby-profile > b {
  top: 23%;
  height: 32%;
  display: grid;
  place-items: center;
}
.gt-game.is-tournament-menu .gt-lobby-profile > .gt-lobby-rank {
  top: 60%;
  height: 16%;
  z-index: 3;
  display: grid;
  place-items: center;
  line-height: 1;
}
@media (orientation: landscape) {
  .gt-game.is-tournament-menu .gt-lobby-profile > b {
    font-size: clamp(28px, 1.8vw, 34px);
  }
  .gt-game.is-tournament-menu .gt-lobby-profile > .gt-lobby-rank {
    font-size: clamp(17px, 1.05vw, 21px) !important;
  }
}

/* v90.5 fullscreen and battle interaction pass. Telegram's fullscreen chrome
   is represented by --tg-*-safe; every critical control stays inside it. */
body.tg-fullscreen .gt-game.is-tournament-menu .gt-titlebar {
  top: calc(var(--tg-top-safe, 0px) + 4px);
}
body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby {
  padding-top: calc(var(--tg-top-safe, 0px) + 10.5vh + 10px);
  padding-bottom: calc(var(--tg-bottom-safe, 0px) + 18px);
}
body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-actions {
  margin-bottom: calc(var(--tg-bottom-safe, 0px) + clamp(102px, 12vh, 138px));
}
body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-exit {
  bottom: calc(var(--tg-bottom-safe, 0px) + 8px);
  width: clamp(290px, 30vw, 470px);
}

body.tg-fullscreen .gt-game.is-battle .gt-hud.is-enemy {
  top: calc(var(--tg-top-safe, 0px) + 8px);
}
body.tg-fullscreen .gt-game.is-battle .gt-command-bar {
  bottom: calc(var(--tg-bottom-safe, 0px) + 8px);
}
body.tg-fullscreen .gt-game.is-battle .gt-hand-wrap {
  bottom: calc(var(--tg-bottom-safe, 0px) + 54px);
}

/* Skip progress is one horizontal unit with the player label; it never adds a
   second row or changes HUD height. */
.gt-game.is-battle .gt-hud-head {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: .45em;
}
.gt-game.is-battle .gt-hud-head .gt-hud-caption {
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
}
.gt-game.is-battle .gt-hud-head .gt-skip-badge {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}

/* The source card art has a black matte in its transparent-looking corners.
   Clip to the authored rounded silhouette and let the glow follow that shape. */
.gt-game.is-battle .gt-inspect-card,
.gt-game.is-battle .gt-card-flight img {
  clip-path: inset(1.25% 2.35% round 3.6% / 2.4%);
  border-radius: 3.6% / 2.4%;
}
.gt-game.is-battle .gt-inspect-card {
  background: transparent;
  filter:
    drop-shadow(0 0 13px rgba(255, 207, 91, .58))
    drop-shadow(0 18px 24px rgba(0, 0, 0, .58));
}
.gt-game.is-battle .gt-card-inspect > section {
  background: transparent;
  box-shadow: none;
}

/* The painted 840x200 controls retain their native 4.2:1 ratio. Width is
   bounded so the browser cannot stretch them into viewport-wide strips. */
.gt-game.is-battle .gt-inspect-actions {
  width: auto;
  grid-template-columns: repeat(2, minmax(180px, 280px));
  justify-content: center;
  gap: 10px;
}
.gt-game.is-battle .gt-inspect-actions button {
  width: min(280px, 32vw);
  aspect-ratio: 4.2 / 1;
  min-height: 0;
  padding: 0;
}

/* A safe-centered scroller behaves like start alignment when cards overflow,
   so the first card is fully reachable in both directions. */
.gt-game.is-battle .gt-choice-cards {
  justify-content: flex-start;
  justify-content: safe center;
  gap: clamp(10px, 2vw, 20px);
  padding: 10px max(18px, 5vw) 16px;
  scroll-padding-inline: max(18px, 5vw);
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
}
.gt-game.is-battle .gt-choice-card { scroll-snap-align: center; }

/* 1.5x the former 1.4 s reveal: enough time to read the played effect. */
.gt-card-flight.is-running { animation-duration: 2.1s; }

.gt-game.is-battle .gt-command-bar .gt-log-button {
  width: min(100%, 190px);
  min-width: 118px;
}

@media (orientation: landscape) {
  body.tg-fullscreen .gt-game.is-battle .gt-hud.is-player {
    top: calc(var(--tg-top-safe, 0px) + 8px);
    bottom: auto;
  }
  body.tg-fullscreen .gt-game.is-battle .gt-command-bar { height: 64px; }
  body.tg-fullscreen .gt-game.is-battle .gt-hand-wrap {
    bottom: calc(var(--tg-bottom-safe, 0px) + 74px);
  }
}

@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-titlebar {
    top: calc(var(--tg-top-safe, 0px) + 4px);
    height: min(9vh, 84px);
  }
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby {
    padding-top: calc(var(--tg-top-safe, 0px) + min(9vh, 84px) + 8px);
  }
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-actions {
    margin-bottom: calc(var(--tg-bottom-safe, 0px) + 118px);
  }
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-exit {
    bottom: calc(var(--tg-bottom-safe, 0px) + 8px);
    width: min(58vw, 330px);
  }

  body.tg-fullscreen .gt-game.is-battle .gt-turn {
    top: calc(var(--tg-top-safe, 0px) + 15.2vh);
  }
  body.tg-fullscreen .gt-game.is-battle .gt-hud.is-player {
    bottom: calc(31.8vh + var(--tg-bottom-safe, 0px) - 14px);
  }
  .gt-game.is-battle .gt-command-bar {
    grid-template-columns: minmax(112px, .96fr) minmax(102px, 1.16fr) minmax(84px, .84fr);
  }
  .gt-game.is-battle .gt-command-bar .gt-log-button {
    width: min(100%, 132px);
    min-width: 108px;
  }
  .gt-game.is-battle .gt-inspect-card {
    height: min(59dvh, 530px);
    max-width: 86vw;
  }
  .gt-game.is-battle .gt-inspect-actions {
    width: auto;
    grid-template-columns: repeat(2, minmax(150px, 260px));
  }
  .gt-game.is-battle .gt-inspect-actions button {
    width: min(260px, 42vw);
  }
}

@media (orientation: portrait) and (max-width: 430px) {
  .gt-game.is-battle .gt-inspect-card { height: min(57dvh, 500px); }
  .gt-game.is-battle .gt-inspect-actions {
    grid-template-columns: minmax(220px, 280px);
    gap: 7px;
  }
  .gt-game.is-battle .gt-inspect-actions button { width: min(72vw, 280px); }
  .gt-game.is-battle .gt-command-bar {
    grid-template-columns: minmax(104px, 116px) minmax(96px, 1fr) 84px;
  }
  .gt-game.is-battle .gt-command-bar .gt-log-button {
    width: 108px;
    min-width: 108px;
  }
}

@media (orientation: portrait) and (max-width: 480px) {
  body.tg-fullscreen .gt-game.is-battle .gt-inspect-card {
    height: min(57dvh, 500px);
  }
  body.tg-fullscreen .gt-game.is-battle .gt-inspect-actions {
    width: auto;
    grid-template-columns: minmax(230px, 280px);
    gap: 7px;
  }
  body.tg-fullscreen .gt-game.is-battle .gt-inspect-actions button {
    width: min(68vw, 280px);
  }
}

/* v90.6 final cascade guard: these controls must remain comfortably wide on
   phones. Keep this block after the legacy compact-height overrides above. */
@media (orientation: portrait), (max-aspect-ratio: 4/5) {
  body.tg-fullscreen .gt-game.is-tournament-menu .gt-lobby-actions {
    width: min(72vw, 420px);
  }

  body.tg-fullscreen .gt-game.is-battle .gt-inspect-actions {
    width: auto;
    grid-template-columns: minmax(300px, 420px);
    gap: 8px;
  }

  body.tg-fullscreen .gt-game.is-battle .gt-inspect-actions button {
    width: min(88vw, 420px);
    aspect-ratio: 4.2 / 1;
  }
}
