/* A restrained shared surface system. Every palette remains dark in Telegram. */
:root{--orbit-accent:#0066cc;--orbit-accent-light:#93c9ff;--orbit-hairline:rgba(159,187,216,.18);--orbit-surface:#1d2a39}
:root[data-club=nocturne]{--orbit-accent:#967043;--orbit-accent-light:#e5c397}
:root[data-club=jade]{--orbit-accent:#287c70;--orbit-accent-light:#97dbc6}
:root[data-club=rose]{--orbit-accent:#99556e;--orbit-accent-light:#edb2c9}
html[data-club]:not([data-club=default]){--blue:var(--orbit-accent)!important}
body.dark{background:#141e2a;color:#e8f0f8;-webkit-font-smoothing:antialiased}
.dark .panel,.dark .card{border-color:var(--orbit-hairline);box-shadow:0 8px 28px rgba(4,12,22,.12)}
.dark button.primary{box-shadow:inset 0 1px rgba(255,255,255,.12);font-weight:650}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--orbit-accent-light);outline-offset:3px}
.card-body h3{letter-spacing:-.025em}.card-body p{line-height:1.55}
.app .grid .card-body{min-width:0}
.app .grid .card-body>p{flex:1 0 auto}
.app .grid .catalog-controls{display:grid;gap:7px;min-width:0;width:100%;margin-top:auto}
.app .grid .catalog-practice{min-height:44px;min-width:0;display:grid}
.app .grid .catalog-practice button{width:100%;min-width:0;min-height:44px;margin:0;padding:8px 4px;font-size:12px;white-space:normal;overflow-wrap:anywhere}
.app .grid .card-body .duel-catalog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(44px,auto));align-content:start;width:100%;min-width:0;gap:7px}
.app .grid .duel-catalog-actions .primary{grid-column:1/-1}
.app .grid .duel-catalog-actions button{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;font-size:12px;padding:9px 4px;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.duel-panel .duel-race canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;max-height:none;touch-action:none}
.duel-panel .duel-race{border-color:#476074;background:#101e2d}
.orbit-profile-hero .player-card{overflow:visible}.orbit-profile-hero .player-avatar{flex-shrink:0}
.orbit-profile-hero .player-info{min-width:0}.orbit-profile-hero .player-info>strong{overflow-wrap:anywhere}
.club-mark{display:inline-flex;vertical-align:middle;font:700 9px/1.4 system-ui;letter-spacing:.13em;color:#ecd1a8;background:#423e35;border:1px solid #796749;border-radius:5px;padding:3px 5px;white-space:nowrap}
.club-entry{display:flex;align-items:center;gap:13px;width:100%;text-align:left;margin:14px 0 20px;padding:17px 19px;border:1px solid #79674980;border-radius:19px;background:linear-gradient(115deg,#292e35,#1b2a3b);color:#e8f0f8}
.club-entry>span:nth-child(2){display:grid;gap:4px;flex:1}.club-entry small{color:#b3c5d7;font-size:12px;line-height:1.5}.club-symbol{font-size:29px;color:#e5c397}
.club-dialog{box-sizing:border-box;width:min(720px,calc(100vw - 20px));max-height:calc(100dvh - 32px);padding:26px;background:#172330;color:#e8f0f8;border:1px solid #4b6075;border-radius:24px;overflow:auto;overscroll-behavior:contain}
.club-dialog::backdrop{background:#050b14b8;backdrop-filter:blur(7px)}
.club-heading>[data-close-dialog="orbit-club"]{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid #536b82;border-radius:12px;font-size:24px;line-height:1;color:#c4d8eb;background:#1d2a39}
.club-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.club-heading h2{font-size:clamp(24px,6vw,34px);line-height:1.15;letter-spacing:-.035em;margin:9px 0}.club-heading button{min-width:44px;min-height:44px}
.club-dialog p{line-height:1.6;color:#b3c5d7}.club-intro{max-width:490px;font-size:14px}
.club-preview{position:relative;isolation:isolate;min-height:170px;overflow:hidden;border:1px solid #82745e;border-radius:18px;margin-top:22px;padding:24px;background:radial-gradient(ellipse at 90% 0,#9c774c33,transparent 70%),linear-gradient(120deg,#252b3b,#151f31)}
.club-preview[data-look=jade]{border-color:#407969;background:radial-gradient(ellipse at 90% 0,#489f7544,transparent 70%),linear-gradient(120deg,#1b3935,#162531)}
.club-preview[data-look=rose]{border-color:#965f77;background:radial-gradient(ellipse at 90% 0,#bb7c9544,transparent 70%),linear-gradient(120deg,#3c293e,#202538)}
.club-preview[data-look=default]{border-color:#456d98;background:linear-gradient(120deg,#213d5a,#192c40)}
.club-orbit{position:absolute;z-index:-1;font-size:310px;line-height:1;right:-22px;top:-62px;color:#e9dcc918;transform:rotate(-30deg)}
.club-preview-player{display:flex;gap:12px;align-items:center;margin-top:18px}.club-preview-player>div{display:grid;gap:7px;min-width:0;flex:1}.club-preview-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-preview-player small{color:#bfcddd;font-size:12px}
.club-preview-avatar{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:#223f55;border:2px solid #d4ba8c;color:#e8f0f8;font-size:25px;flex-shrink:0}
.club-preview[data-look=jade] .club-preview-avatar{border-color:#8ec8ac}.club-preview[data-look=rose] .club-preview-avatar{border-color:#d299b1}
.club-preview-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:32px;font-size:9px;letter-spacing:.18em;color:#beccda}
.club-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}
.club-swatch{display:grid;justify-items:center;gap:7px;border:1px solid #3b4e62;border-radius:13px;padding:12px 3px;background:#1d2b3b;color:#e8f0f8;min-width:0}.club-swatch strong{font-size:11px;line-height:1.5}.club-swatch small{font-size:10px;color:#b3c5d7}
.club-swatch[aria-pressed=true]{border-color:#cbb184;background:#313846}.club-swatch>span{height:24px;width:24px;border-radius:50%;border:3px solid #ffffff22;background:#347aca}.club-swatch>[data-look=nocturne]{background:#c0a279}.club-swatch>[data-look=jade]{background:#79b69b}.club-swatch>[data-look=rose]{background:#c389a4}
.club-apply{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-size:12px;color:#b3c5d7}.club-apply button{font-size:12px;min-height:44px}.club-preview-note{text-align:right;max-width:170px}
.club-products{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.club-product{display:flex;flex-direction:column;border:1px solid #415265;border-radius:18px;background:#1d2c3c;padding:20px}.club-product h3{font-size:24px;margin:10px 0 0}.club-product>p{font-size:13px}.club-product p.club-price{font-size:32px;color:#e8f0f8;margin:10px 0 0}.club-price span{font-size:12px;color:#b3c5d7}.club-product>button{margin-top:auto;min-height:46px}
.club-terms{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.6;color:#c2d2e2;margin:6px 0 18px}.club-terms input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--orbit-accent)}
.club-owned{padding:12px 0;color:#a1d7ba}.club-membership{border:1px solid #637963;border-radius:16px;padding:18px;margin:22px 0 0;background:#24382f}.club-membership h3{margin:10px 0 0;font-size:18px}.club-membership p{font-size:13px}
.club-dialog .club-notice{border:1px solid #536176;border-radius:12px;padding:12px;font-size:12px}.club-dialog .club-footnote{font-size:11px;margin:18px 0}.club-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.club-actions button{min-height:44px;font-size:12px}
.orbit-return{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:6px 0 22px;padding:18px 20px;border:1px solid #485f76;border-radius:18px;background:linear-gradient(105deg,#223448,#1b2a39)}
.orbit-return h2{font-size:20px;letter-spacing:-.025em;margin:5px 0}.orbit-return p{color:#b3c5d7;font-size:12px;margin:0}.orbit-return button{min-height:44px;white-space:nowrap}
.orbit-other-rooms{margin-top:12px;font-size:12px;color:#b3c5d7}.orbit-other-rooms button{display:block;text-align:left}
.orbit-collection-link{display:flex;align-items:center;gap:8px;margin:14px 0 0;justify-content:flex-end}.orbit-collection-link button{color:#cbb896;font-size:12px;min-height:44px}
@media(max-width:480px){.club-dialog{padding:18px 14px;border-radius:20px}.club-preview{padding:16px;min-height:155px}.club-preview-player{gap:9px}.club-preview-player strong{font-size:14px}.club-products{grid-template-columns:1fr}.club-swatch strong{font-size:10px}.club-swatch small{font-size:9px}.club-entry{padding:15px}.club-apply{align-items:flex-start}.orbit-return{padding:15px 14px;gap:10px}.orbit-return h2{font-size:18px}.orbit-return button{font-size:12px;padding:10px}.duel-catalog-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.club-dialog *{animation:none!important;transition:none!important}}

/* Preserve the original stacked mobile actions inside the two-column catalogue. */
@media(max-width:700px){
 .app .grid .card-body .duel-catalog-actions{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(44px,auto))}
 .app .grid .duel-catalog-actions button{min-height:44px;padding:10px 6px;font-size:13px}
 .app .grid .card-body .badge,.app .grid .card-body h3{min-height:0}
 .app .grid .card-body>p{flex:1 0 auto}
}
