:root{
  color-scheme:light;
  --app-bg:#f2f3f0;--surface:rgba(255,255,253,.84);--surface-solid:#fff;--surface-2:rgba(231,234,232,.8);
  --text:#202528;--muted:#626a72;--line:rgba(38,48,54,.15);--accent:#c84d20;--accent-strong:#963314;
  --accent-soft:rgba(210,83,42,.12);--good:#2f8558;--good-soft:rgba(47,133,88,.13);--warn:#b9761f;
  --warn-soft:rgba(185,118,31,.14);--danger:#bc3d49;--danger-soft:rgba(188,61,73,.13);
  --shadow:0 18px 48px rgba(66,38,27,.12),inset 0 1px 0 rgba(255,255,255,.72);
  --shadow-soft:0 9px 26px rgba(66,38,27,.08);--radius:22px;--safe-bottom:env(safe-area-inset-bottom,0px)
}
html[data-theme="dark"]{
  color-scheme:dark;--app-bg:#101215;--surface:rgba(24,27,32,.86);--surface-solid:#1e2228;--surface-2:rgba(38,43,50,.78);
  --text:#f6f7f4;--muted:#a8aeb7;--line:rgba(217,225,238,.13);--accent:#ff824d;--accent-strong:#c94925;
  --accent-soft:rgba(240,106,56,.15);--good:#60c78c;--good-soft:rgba(96,199,140,.14);--warn:#edb45c;
  --warn-soft:rgba(237,180,92,.14);--danger:#f17079;--danger-soft:rgba(241,112,121,.14);
  --shadow:0 22px 58px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);--shadow-soft:0 10px 28px rgba(0,0,0,.24)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--app-bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body{padding:0 0 calc(88px + var(--safe-bottom));background-image:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 32%),radial-gradient(circle at 94% 18%,color-mix(in srgb,var(--accent-strong) 11%,transparent),transparent 34%);background-attachment:fixed}
button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{width:min(760px,100%);margin:0 auto;padding:12px 13px 34px}
h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.18}h2{font-size:19px;line-height:1.25}h3{font-size:15px}.muted{color:var(--muted)}
.center-state{min-height:72vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:28px}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.surface,.server-card,.quick-card,.action-tile,.ticket-card,.metric-card,.menu-row,.rules-section,.consent-row,.modal-panel,.bottom-nav,.glass-bar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.surface{border-radius:var(--radius);padding:18px}.surface+.surface{margin-top:12px}.btn{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:12px 16px;font-weight:750;min-height:44px;transition:.16s}.btn:active,.icon-btn:active,.copy-btn:active,.nav-item:active,.quick-card:active,.action-tile:active,.ticket-card:active{transform:translateY(1px) scale(.985)}.btn.primary{background:linear-gradient(145deg,var(--accent),var(--accent-strong));border-color:transparent;color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 24%,transparent)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.full{width:100%}.btn.tiny{padding:7px 10px;min-height:32px;font-size:12px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);display:grid;place-items:center;font-size:19px;flex:none}.text-button{border:0;background:transparent;color:var(--accent);padding:8px 2px;font-weight:750}
.input{width:100%;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:13px 14px;outline:none}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{min-height:122px;resize:vertical}.field-group{display:grid;gap:7px;margin:14px 0}.field-group>span{font-size:13px;font-weight:750;color:var(--muted)}.code-input{text-transform:uppercase;letter-spacing:.12em;text-align:center;font-weight:850}code{color:var(--accent);background:var(--accent-soft);padding:2px 5px;border-radius:6px}
.toast{position:fixed;left:50%;bottom:calc(94px + var(--safe-bottom));transform:translate(-50%,20px);opacity:0;background:#191412;color:#fff;padding:11px 16px;border-radius:14px;z-index:300;transition:.2s;pointer-events:none;max-width:calc(100% - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.state-icon{width:56px;height:56px;border-radius:17px;background:var(--accent-soft);display:grid;place-items:center;font-size:25px;color:var(--accent);font-weight:850}.state-icon.warning{background:var(--warn-soft);color:var(--warn)}.state-icon.danger{background:var(--danger-soft);color:var(--danger)}
.section-kicker{font-size:11px;font-weight:850;color:var(--accent);text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 2px 11px}.section-title p{font-size:13px;color:var(--muted);margin-top:3px}.compact-title{margin-top:18px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.soft-badge,.status-chip,.role-badge{font-size:11px;padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:800;white-space:nowrap;border:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.empty-state{padding:24px 14px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}.notice{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 20%,transparent);border-radius:14px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.warning-notice{display:block;line-height:1.5}
/* Header and application */
.brand-header,.profile-header{display:flex;align-items:center;gap:11px;border-radius:20px;padding:9px 10px;margin-bottom:13px}.brand-header>div:nth-child(2){display:grid;gap:1px;flex:1}.brand-header strong{font-size:18px}.brand-header span{font-size:13px;color:var(--muted)}.brand-mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#2a211e,var(--accent));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 22%,transparent)}
.application-shell{padding-bottom:20px}.application-intro{display:grid;place-items:center;padding:8px 0 18px}.server-intro-card{width:min(620px,100%);display:grid;gap:15px;padding:20px}.intro-brand{display:flex;align-items:center;gap:12px}.intro-brand h1{font-size:24px;line-height:1.15;margin-top:3px}.intro-mark{width:48px;height:48px;flex:none}.server-intro-card>p{color:var(--muted);line-height:1.58;font-size:14px}.intro-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.intro-points span{display:grid;place-items:center;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);font-size:12px;font-weight:800;text-align:center}
.season-pill{display:flex;align-items:center;justify-content:space-between;background:var(--accent-soft);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:16px}.season-pill span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.reader-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.reader-head p{color:var(--muted);margin-top:5px}.reader-head strong{color:var(--accent)}.progress-track{height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin:14px 0}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,var(--accent-strong),var(--accent));transition:width .15s}.rules-reader{height:min(58vh,620px);overflow:auto;scroll-behavior:smooth;padding-right:4px}.rules-section{border-radius:20px;padding:14px;margin-bottom:12px}.rules-section-head{display:flex;gap:11px;align-items:center;margin-bottom:10px}.rules-number{min-width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:#fff;display:grid;place-items:center;font-weight:900}.rule-item{padding:13px 0;border-top:1px solid var(--line)}.rule-item:first-of-type{border-top:0}.rule-title{font-weight:800;margin-bottom:6px}.rule-text{font-size:14px;line-height:1.5}.punishment,.rule-note,.rule-list{margin-top:9px;padding:10px 12px;border-radius:13px;font-size:13px;line-height:1.45}.punishment{background:var(--danger-soft)}.punishment b{color:var(--danger)}.rule-note{background:var(--warn-soft)}.rule-list{background:var(--surface-2)}.rule-list ul,.punishment ul{margin:5px 0 0;padding-left:18px}.terms-grid{display:grid;gap:8px}.term-item{background:var(--surface-2);border-radius:12px;padding:10px}.consent-row{display:flex;align-items:flex-start;gap:10px;border-radius:16px;padding:14px;margin:15px 0;font-weight:700}.consent-row.disabled{opacity:.5}.apply-card{margin-top:10px}.center-card{text-align:center;display:grid;justify-items:center;gap:12px;margin-top:42px}.reason-box{background:var(--danger-soft);padding:13px;border-radius:14px;width:100%;line-height:1.45}
/* Main shell */
.profile-header{position:sticky;top:8px;z-index:35}.avatar-wrap{width:52px;height:52px;border-radius:16px;background:var(--accent-soft);overflow:hidden;display:grid;place-items:center;font-weight:900;color:var(--accent);flex:none;border:2px solid color-mix(in srgb,var(--accent) 35%,var(--line))}.avatar-wrap img{width:100%;height:100%;image-rendering:pixelated}.avatar-wrap img:not([src]){display:none}.profile-copy{flex:1;min-width:0}.profile-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.profile-line h1{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy p{color:var(--muted);font-size:12px;margin-top:3px}.role-badge[data-role="OWNER"],.role-badge[data-role="ADMIN"]{background:var(--danger-soft);color:var(--danger)}.role-badge[data-role="MODERATOR"]{background:var(--warn-soft);color:var(--warn)}.role-badge[data-role="SPONSOR"]{background:rgba(155,84,224,.13);color:#a45be3}.role-badge[data-role="PREMIUM"]{background:rgba(67,123,219,.13);color:#4b83dc}.role-badge[data-role="VIP"]{background:rgba(212,151,43,.14);color:#c0831c}.server-pill{display:flex;align-items:center;gap:6px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);padding:7px 9px;font-size:11px;color:var(--muted);white-space:nowrap}.server-pill i,.online-line i{width:7px;height:7px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}.server-pill.online i,.online-line i{background:var(--good);box-shadow:0 0 0 4px var(--good-soft)}.server-pill.online{color:var(--good)}
.cabinet-page{display:none;animation:fade .18s ease}.cabinet-page.active{display:block}@keyframes fade{from{opacity:.55;transform:translateY(3px)}}
.home-hero{padding:20px;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(35,27,24,.96),rgba(79,37,27,.94) 65%,rgba(164,57,29,.9));color:#fff;border-color:rgba(255,255,255,.11)}.home-hero:after{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-92px;border-radius:50%;background:radial-gradient(circle,rgba(255,123,65,.42),transparent 66%)}.hero-top,.hero-metrics{position:relative;z-index:1}.hero-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.hero-top h2{font-size:22px;margin:3px 0}.hero-top p{font-size:12px;color:rgba(255,255,255,.68)}.online-orb{width:76px;height:76px;border-radius:25px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;align-content:center;flex:none;backdrop-filter:blur(16px)}.online-orb b{font-size:25px}.online-orb small{font-size:10px;color:rgba(255,255,255,.68)}.hero-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.hero-metric{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:16px;padding:12px;text-align:left;color:#fff;display:grid;gap:3px}.hero-metric span{font-size:10px;color:rgba(255,255,255,.62)}.hero-metric b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-metric small{font-size:10px;color:rgba(255,255,255,.62)}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-card{border-radius:19px;padding:13px;display:flex;align-items:center;gap:9px;text-align:left;min-width:0;min-height:78px}.quick-card>span:nth-child(2){display:grid;gap:2px;flex:1;min-width:0}.quick-card b{font-size:13px}.quick-card small{font-size:10px;color:var(--muted);line-height:1.3}.quick-card i{font-style:normal;color:var(--muted)}.quick-icon{width:31px;height:31px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:900;flex:none}
.server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.server-card{border-radius:19px;padding:14px;display:grid;gap:10px;height:100%}.edition-head{display:flex;align-items:center;justify-content:space-between}.edition-head b{font-size:13px}.edition-chip{font-size:9px;font-weight:900;padding:5px 7px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.address-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:9px}.address-row:first-of-type{border-top:0;padding-top:0}.address-copy{min-width:0}.address-copy small{display:block;color:var(--muted);font-size:9px}.address-copy b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-btn{border:0;background:var(--surface-2);width:32px;height:32px;border-radius:10px}.session-card{margin-top:12px}.online-line{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--good);font-weight:800}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;width:100%;margin:12px 0}.summary-grid>div{background:var(--surface-2);border-radius:13px;padding:10px;display:grid;gap:4px;min-width:0}.summary-grid span{font-size:10px;color:var(--muted)}.summary-grid b{font-size:12px;overflow:hidden;text-overflow:ellipsis}
/* Server and rankings */
.server-status-card{display:grid;gap:15px}.server-status-main{display:flex;align-items:center;gap:12px}.status-sigil{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#2d2320,var(--accent));color:#fff;display:grid;place-items:center;font-weight:900}.server-status-main p{font-size:12px;color:var(--muted);margin-top:4px}.server-live-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.server-live-metrics>div{background:var(--surface-2);border-radius:13px;padding:10px;text-align:center;display:grid;gap:3px}.server-live-metrics span{font-size:10px;color:var(--muted)}.server-live-metrics b{font-size:16px}.player-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.player-stat-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:13px;box-shadow:var(--shadow-soft);display:grid;gap:3px}.player-stat-card span{font-size:10px;color:var(--muted)}.player-stat-card b{font-size:18px}.player-stat-card small{font-size:10px;color:var(--muted)}.ranking-chips{display:flex;gap:7px;overflow:auto;padding:1px 1px 9px;scrollbar-width:none}.ranking-chips::-webkit-scrollbar{display:none}.ranking-chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:750;white-space:nowrap}.ranking-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.ranking-board{padding:15px}.ranking-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ranking-head>div{display:flex;align-items:center;gap:10px}.ranking-head p{font-size:11px;color:var(--muted);margin-top:2px}.ranking-icon{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:18px}.ranking-podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:7px;margin:18px 0 12px}.podium-card{background:var(--surface-2);border:1px solid var(--line);border-radius:17px;padding:11px 7px;text-align:center;display:grid;justify-items:center;gap:5px;min-width:0}.podium-card.first{min-height:145px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 18%,var(--surface)),var(--surface-2));border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.podium-card.second{min-height:128px}.podium-card.third{min-height:116px}.podium-card img,.rank-avatar{width:42px;height:42px;border-radius:12px;image-rendering:pixelated}.podium-card b{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.podium-card strong{font-size:14px;color:var(--accent)}.podium-medal{font-size:18px}.ranking-list{display:grid;gap:7px}.ranking-row,.ranking-self{display:grid;grid-template-columns:30px 40px 1fr auto;align-items:center;gap:9px;padding:9px 10px;border-radius:14px;background:var(--surface-2)}.ranking-row .rank-number{font-size:12px;font-weight:850;color:var(--muted);text-align:center}.ranking-row b,.ranking-self b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-value{font-size:12px;font-weight:850;color:var(--accent);white-space:nowrap}.ranking-self{margin-top:10px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);position:sticky;bottom:82px}.ranking-self:before{content:"Вы";font-size:10px;font-weight:900;color:var(--accent);text-align:center}
/* Community */
.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action-tile{border-radius:18px;padding:15px;text-align:left;display:grid;gap:4px}.action-tile>span{font-size:21px;color:var(--accent)}.action-tile small{color:var(--muted);font-size:11px}.subtabs,.profile-tabs{display:flex;gap:6px;background:var(--surface-2);padding:5px;border-radius:15px;margin:14px 0}.subtab,.profile-tab{flex:1;border:0;background:transparent;border-radius:11px;padding:9px;font-weight:750;font-size:12px}.subtab.active,.profile-tab.active{background:var(--surface-solid);color:var(--accent);box-shadow:var(--shadow-soft)}.subtab span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:var(--accent-soft);font-size:10px;margin-left:4px}.ticket-list{display:grid;gap:9px}.ticket-card{border-radius:17px;padding:13px;text-align:left;width:100%}.ticket-head,.ticket-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.ticket-card p{font-size:12px;color:var(--muted);line-height:1.42;margin:7px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ticket-meta{font-size:10px;color:var(--muted)}
/* Profile and security */
.profile-panel{display:grid;gap:10px}.profile-card-large{display:flex;align-items:center;gap:14px}.profile-card-avatar{width:66px;height:66px;border-radius:18px;background:var(--accent-soft);overflow:hidden;display:grid;place-items:center;color:var(--accent);font-weight:900;flex:none}.profile-card-avatar img{width:100%;height:100%;image-rendering:pixelated}.profile-card-avatar img:not([src]){display:none}.profile-card-large h2{font-size:22px;margin:2px 0}.profile-card-large p{font-size:12px;color:var(--muted)}.profile-info{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.profile-info>div{background:var(--surface-2);border-radius:13px;padding:10px;display:grid;gap:4px}.profile-info span{font-size:10px;color:var(--muted)}.profile-info b{font-size:12px}.menu-row{border-radius:17px;padding:13px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;text-align:left;width:100%;color:inherit;text-decoration:none}.menu-row>span{width:34px;height:34px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:900}.menu-row div{display:grid;gap:2px}.menu-row b{font-size:13px}.menu-row small{font-size:10px;color:var(--muted)}.menu-row i{font-style:normal;color:var(--muted)}.menu-row:disabled{opacity:.58}.feature-head{display:flex;gap:12px}.feature-icon{width:43px;height:43px;border-radius:13px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:21px;flex:none}.feature-head p,.surface>p,.section-row p{font-size:12px;color:var(--muted);line-height:1.45;margin-top:4px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.metric-card{border-radius:15px;padding:11px;display:grid;gap:4px}.metric-card span{font-size:10px;color:var(--muted)}.metric-card b{font-size:13px}.login-request{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent);border-radius:19px;padding:15px;margin-bottom:12px}.request-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.request-grid>div{display:grid;gap:3px}.request-grid span{font-size:10px;color:var(--muted)}.request-grid b{font-size:12px}.check-line{display:flex;gap:8px;font-size:12px;margin-bottom:11px}.request-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.device-list,.history-list{display:grid;gap:8px;margin-top:12px}.device{background:var(--surface-2);border-radius:15px;padding:11px}.device-main{display:flex;align-items:center;gap:9px}.device-icon{width:34px;height:34px;background:var(--accent-soft);display:grid;place-items:center;flex:none}.device-copy{flex:1;min-width:0}.device-name{font-weight:800;font-size:13px}.device-meta{font-size:10px;line-height:1.45;color:var(--muted);white-space:pre-line}.device-actions{display:flex;gap:7px;margin-top:9px}.switch-list{display:grid}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.switch-row span{display:grid;gap:2px}.switch-row b{font-size:13px}.switch-row small{font-size:10px;color:var(--muted)}.switch-row input{width:20px;height:20px;accent-color:var(--accent)}.danger-surface{border-color:color-mix(in srgb,var(--danger) 24%,var(--line));background:color-mix(in srgb,var(--danger-soft) 40%,var(--surface))}.history-item{padding:10px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-title{font-size:13px;font-weight:800}.history-item .muted{font-size:10px;margin-top:3px}.unlink-info p{font-size:12px!important;line-height:1.5!important}
/* Bottom navigation */
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);z-index:80;border-radius:22px 22px 0 0;border-bottom:0;padding:7px 8px calc(7px + var(--safe-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--surface) 92%,transparent)}.nav-item{border:0;background:transparent;border-radius:14px;padding:7px 4px;color:var(--muted);display:grid;place-items:center;gap:2px}.nav-item span{font-size:19px;line-height:1}.nav-item small{font-size:9px;font-weight:750}.nav-item.active{background:var(--accent-soft);color:var(--accent)}
/* Modals and conversations */
.modal{position:fixed;inset:0;z-index:150;background:rgba(10,7,6,.52);backdrop-filter:blur(10px);display:grid;align-items:end}.modal-panel{width:min(720px,100%);max-height:92vh;overflow:auto;margin:0 auto;border-radius:25px 25px 0 0;padding:20px 16px calc(20px + var(--safe-bottom));position:relative}.modal-panel.compact{max-width:460px}.modal-close{position:absolute;right:15px;top:14px;width:36px;height:36px;border:0;border-radius:12px;background:var(--surface-2);font-size:21px}.modal-heading{display:flex;align-items:center;gap:11px;padding-right:44px}.modal-heading>span{font-size:26px;color:var(--accent)}.upload-box{border:1px dashed var(--line);border-radius:15px;padding:14px;display:grid;gap:4px;text-align:center;margin:12px 0}.upload-box input,.attach-button input{display:none}.upload-box span{font-weight:800;font-size:13px}.upload-box small{color:var(--muted);font-size:10px}.file-preview,.message-images{display:flex;gap:7px;overflow:auto}.file-preview img,.message-images img{width:72px;height:72px;object-fit:cover;border-radius:11px}.player-suggestions{display:grid;gap:5px;background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;padding:6px;margin-top:-9px}.player-option{border:0;background:transparent;padding:8px;display:flex;align-items:center;gap:8px;text-align:left}.player-option img{width:34px;height:34px;border-radius:9px;image-rendering:pixelated}.player-option span{display:grid}.player-option small{color:var(--muted)}.conversation-panel{height:min(92vh,760px);display:grid;grid-template-rows:auto 1fr auto}.conversation-head{display:flex;align-items:center;gap:10px;padding-bottom:10px}.conversation-head p{font-size:11px;color:var(--muted)}.conversation-messages{overflow:auto;display:grid;align-content:start;gap:10px;padding:8px 2px}.message{display:grid;gap:3px;justify-items:start}.message.player{justify-items:end}.message-bubble{max-width:86%;border-radius:16px;padding:10px 12px;font-size:13px;line-height:1.45}.message.player .message-bubble{background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:#fff}.message.admin .message-bubble{background:var(--surface-2);border:1px solid var(--line)}.message-meta{font-size:9px;color:var(--muted)}.conversation-composer{display:grid;grid-template-columns:1fr 42px 42px;gap:7px;align-items:end;padding-top:9px}.conversation-composer textarea{min-height:44px;max-height:110px;resize:none}.attach-button,.send-button{height:42px;border:0;border-radius:13px;display:grid;place-items:center}.attach-button{background:var(--surface-2)}.send-button{background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:#fff}.rules-modal-panel{height:min(92vh,820px)}.rules-full{overflow:auto}.actions{display:flex;gap:8px;margin-top:12px}.actions .btn{flex:1}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:14px 0}.recovery-codes code{display:block;text-align:center;padding:10px}.recovery-answer{margin:10px 0}.blocked-shell{width:min(620px,100%);margin:0 auto;padding:22px 14px}.blocked-card{margin-top:7vh;text-align:left;justify-items:stretch;gap:14px;border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.blocked-card .state-icon{margin:0 auto}.blocked-card h1,.blocked-card>p{text-align:center}
@media(max-width:620px){.quick-grid.three{grid-template-columns:1fr}.quick-grid.three .quick-card{min-height:68px}.server-pill span{display:none}.server-pill{padding:8px}.ranking-board{padding:13px}.podium-card img{width:38px;height:38px}.podium-card{padding:9px 5px}.podium-card b{font-size:11px}}
@media(max-width:480px){.app-shell{padding-left:11px;padding-right:11px}.profile-header{top:5px}.avatar-wrap{width:48px;height:48px}.profile-line h1{font-size:19px}.home-hero{padding:17px}.hero-top h2{font-size:20px}.online-orb{width:68px;height:68px;border-radius:21px}.server-grid{grid-template-columns:1fr}.compact-server-grid{grid-template-columns:1fr 1fr}.compact-server-grid .server-card{padding:11px}.compact-server-grid .edition-head b{font-size:11px}.compact-server-grid .address-row:not(:nth-of-type(2)){display:none}.compact-server-grid .address-copy b{font-size:10px}.intro-points{grid-template-columns:1fr}.intro-points span{min-height:38px}.profile-info{grid-template-columns:1fr 1fr}.ranking-row,.ranking-self{grid-template-columns:26px 36px 1fr auto;padding:8px}.rank-avatar{width:36px;height:36px}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid .metric-card:first-child{grid-column:1/-1}.modal-panel{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v0.12 statistics polish */
.server-pill.stale{color:var(--warn)}
.server-pill.stale i{background:var(--warn);box-shadow:0 0 0 4px var(--warn-soft)}
.online-orb.offline{opacity:.72}
.server-status-card.offline .status-sigil{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.player-stat-card{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}
.player-stat-icon{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent)!important;display:grid;place-items:center;font-size:17px!important}
.player-stat-card>div{display:grid;gap:3px;min-width:0}
.player-stat-card b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.empty-state.wide{grid-column:1/-1}
.ranking-self:before{display:none}
.icon-btn.spinning{animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* v0.13 HomeWatch */
.bottom-nav{grid-template-columns:repeat(5,1fr)}
.quick-grid.four{grid-template-columns:repeat(2,1fr)}
.homewatch-control-card{display:grid;gap:14px}.homewatch-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.toggle-switch{position:relative;width:48px;height:28px;flex:none}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch span{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:.18s}.toggle-switch span:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:.18s}.toggle-switch input:checked+span{background:var(--accent)}.toggle-switch input:checked+span:after{transform:translateX(20px)}
.homewatch-points,.homewatch-events{display:grid;gap:10px}.homewatch-point{display:grid;gap:12px}.homewatch-point-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.homewatch-point-title{display:flex;align-items:center;gap:10px}.homewatch-point-icon{width:40px;height:40px;border-radius:13px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-size:20px}.homewatch-point h3{font-size:16px}.homewatch-point p{font-size:11px;color:var(--muted);margin-top:3px}.homewatch-point-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.homewatch-point-meta>div{background:var(--surface-2);border-radius:12px;padding:9px;display:grid;gap:3px}.homewatch-point-meta span{font-size:9px;color:var(--muted)}.homewatch-point-meta b{font-size:11px}.homewatch-event-settings{display:grid}.homewatch-event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.homewatch-event-row:last-child{border-bottom:0}.homewatch-event-row>span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:750}.homewatch-event-icon{width:30px;height:30px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}.homewatch-event{border-radius:17px;padding:13px;display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start}.homewatch-event>span{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-size:18px}.homewatch-event h3{font-size:13px}.homewatch-event p{font-size:11px;color:var(--muted);line-height:1.45;margin-top:4px}.homewatch-event small{font-size:9px;color:var(--muted);margin-top:5px;display:block}
@media (max-width:420px){.homewatch-actions{grid-template-columns:1fr}.homewatch-point-meta{grid-template-columns:repeat(2,1fr)}}

/* v0.13.3: compact HomeWatch timeline and clean event sheet */
.homewatch-events{gap:8px}
.homewatch-event-card{width:100%;min-height:68px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);padding:10px 11px;display:grid;grid-template-columns:38px minmax(0,1fr) 12px;gap:10px;align-items:center;color:inherit;text-align:left}
.homewatch-event-card:active{transform:scale(.988)}
.homewatch-event-card-icon{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:17px}
.homewatch-event-copy{min-width:0;display:grid;gap:2px}
.homewatch-event-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.homewatch-event-line h3{font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homewatch-event-line time{font-size:9px;color:var(--muted);white-space:nowrap}
.homewatch-event-card p,.homewatch-event-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homewatch-event-card p{font-size:11px;color:var(--text);opacity:.78}
.homewatch-event-card small{font-size:9px;color:var(--muted)}
.homewatch-event-card>i{font-style:normal;color:var(--muted);font-size:18px}
.homewatch-event-panel{display:grid;gap:14px;padding-top:18px}
.homewatch-event-hero{display:flex;align-items:center;gap:12px;padding-right:42px}
.homewatch-event-hero-icon{width:46px;height:46px;border-radius:15px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:22px;flex:none}
.homewatch-event-hero h2{font-size:19px;line-height:1.18}
.homewatch-event-hero p{font-size:11px;color:var(--muted);margin-top:3px}
.homewatch-event-facts{display:grid;border:1px solid var(--line);border-radius:17px;background:var(--surface-2);overflow:hidden}
.homewatch-event-facts>div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.homewatch-event-facts>div:last-child{border-bottom:0}
.fact-icon{width:28px;height:28px;border-radius:9px;background:var(--surface);color:var(--accent);display:grid;place-items:center;font-size:13px}
.homewatch-event-facts>div>div{min-width:0;display:grid;gap:1px}
.homewatch-event-facts small,.homewatch-event-summary small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.055em}
.homewatch-event-facts b{font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.homewatch-event-summary{display:grid;gap:4px;padding:13px 14px;border-radius:17px;background:color-mix(in srgb,var(--accent-soft) 74%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line))}
.homewatch-event-summary b{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.homewatch-report-note{font-size:10px;color:var(--muted);text-align:center;line-height:1.4;margin-top:-6px;padding:0 8px}

/* v0.14 VPN HellMine */
.vpn-entry-card{width:100%;position:relative;margin:13px 0 4px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:21px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 70%,var(--surface)),var(--surface));box-shadow:var(--shadow-soft);display:grid;grid-template-columns:46px minmax(0,1fr) 22px;gap:12px;align-items:center;text-align:left;overflow:hidden;color:inherit}
.vpn-entry-card:active{transform:scale(.988)}
.vpn-entry-card.ready{border-color:color-mix(in srgb,var(--good) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--good-soft) 76%,var(--surface)),var(--surface))}
.vpn-entry-card.active-vpn{box-shadow:0 12px 32px color-mix(in srgb,var(--good) 12%,transparent)}
.vpn-entry-icon{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:#fff;display:grid;place-items:center;font-size:19px;font-weight:900;box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 22%,transparent)}
.vpn-entry-card.ready .vpn-entry-icon{background:linear-gradient(145deg,var(--good),color-mix(in srgb,var(--good) 70%,#173f2d))}
.vpn-entry-copy{min-width:0;display:grid;gap:2px;padding-bottom:8px}.vpn-entry-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.vpn-entry-copy b{font-size:16px}.vpn-entry-copy em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vpn-entry-arrow{font-size:25px;color:var(--muted);font-weight:400}
.vpn-entry-progress{position:absolute;left:73px;right:48px;bottom:12px;height:5px;border-radius:999px;background:var(--line);overflow:hidden}.vpn-entry-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent-strong),var(--accent));transition:width .28s ease}.vpn-entry-card.ready .vpn-entry-progress i{background:linear-gradient(90deg,color-mix(in srgb,var(--good) 70%,#163c2b),var(--good))}
.vpn-page-head{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:11px;align-items:center;margin:17px 2px 12px}.vpn-page-head h2{font-size:21px}.vpn-page-head p{font-size:11px;color:var(--muted);margin-top:3px}
.vpn-hero{display:grid;gap:16px;overflow:hidden;position:relative;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 42%),var(--surface)}
.vpn-hero-top{display:flex;align-items:center;gap:13px}.vpn-shield{width:58px;height:58px;border-radius:19px;background:linear-gradient(145deg,var(--accent),var(--accent-strong));color:#fff;display:grid;place-items:center;font-weight:950;letter-spacing:-.05em;box-shadow:0 13px 28px color-mix(in srgb,var(--accent) 25%,transparent);flex:none}.vpn-shield.ready,.vpn-shield.active{background:linear-gradient(145deg,var(--good),color-mix(in srgb,var(--good) 65%,#113425))}.vpn-hero-copy{min-width:0;display:grid;justify-items:start;gap:4px}.vpn-hero-copy h2{font-size:20px}.vpn-hero-copy p{font-size:12px;color:var(--muted);line-height:1.45}
.vpn-progress-block{display:grid;gap:11px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 58%,var(--surface-2)),var(--surface-2));position:relative;overflow:hidden}.vpn-progress-block:before{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-56px;top:-70px;background:color-mix(in srgb,var(--accent) 10%,transparent);filter:blur(2px)}.vpn-progress-summary{display:grid;grid-template-columns:76px minmax(0,1fr);gap:13px;align-items:center;position:relative}.vpn-progress-ring{--vpn-progress:0;width:76px;height:76px;border-radius:50%;padding:7px;background:conic-gradient(var(--accent) calc(var(--vpn-progress) * 1%),color-mix(in srgb,var(--line) 80%,transparent) 0);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 14%,transparent);transition:background .3s ease}.vpn-progress-ring>div{width:100%;height:100%;border-radius:50%;background:var(--surface);display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,var(--line))}.vpn-progress-ring b{font-size:18px;line-height:1}.vpn-progress-ring span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:4px}.vpn-progress-copy{min-width:0;display:grid;gap:3px}.vpn-progress-copy>span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);font-weight:850}.vpn-progress-copy strong{font-size:22px;line-height:1.05;letter-spacing:-.025em}.vpn-progress-copy small{font-size:10px;line-height:1.4;color:var(--muted)}.vpn-progress-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);position:relative}.vpn-progress-meta b{color:var(--text);font-size:11px}.vpn-progress-track{height:11px;border-radius:999px;background:color-mix(in srgb,var(--line) 88%,transparent);overflow:hidden;position:relative;box-shadow:inset 0 1px 2px color-mix(in srgb,#000 8%,transparent)}.vpn-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-strong),var(--accent));transition:width .3s ease;box-shadow:0 0 13px color-mix(in srgb,var(--accent) 35%,transparent)}.vpn-progress-track span{position:absolute;top:1px;bottom:1px;width:1px;background:color-mix(in srgb,var(--surface) 78%,transparent)}.vpn-progress-track span:nth-of-type(1){left:33.333%}.vpn-progress-track span:nth-of-type(2){left:66.666%}.vpn-progress-hours{display:grid;grid-template-columns:repeat(4,1fr);font-size:8px;color:var(--muted);margin-top:-6px}.vpn-progress-hours span:nth-child(2),.vpn-progress-hours span:nth-child(3){text-align:center}.vpn-progress-hours span:last-child{text-align:right;color:var(--accent);font-weight:850}.vpn-progress-block>small{font-size:9px;line-height:1.4;color:var(--muted);position:relative}.vpn-progress-block.is-live{border-color:color-mix(in srgb,var(--good) 30%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--good-soft) 58%,var(--surface-2)),var(--surface-2))}.vpn-progress-block.is-live .vpn-progress-copy>span,.vpn-progress-block.is-live .vpn-progress-hours span:last-child{color:var(--good)}.vpn-progress-block.is-live .vpn-progress-ring{background:conic-gradient(var(--good) calc(var(--vpn-progress) * 1%),color-mix(in srgb,var(--line) 80%,transparent) 0)}.vpn-progress-block.is-live .vpn-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--good) 72%,#153b2c),var(--good))}
.vpn-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.vpn-facts>div{padding:11px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);display:grid;gap:3px}.vpn-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.vpn-facts b{font-size:13px}
.vpn-guide{padding:9px 16px}.vpn-steps{list-style:none;margin:0;padding:0;display:grid}.vpn-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.vpn-steps li:last-child{border-bottom:0}.vpn-steps li>span{width:30px;height:30px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:900}.vpn-steps li>div{display:grid;gap:3px}.vpn-steps b{font-size:13px}.vpn-steps p{font-size:11px;color:var(--muted);line-height:1.45}.vpn-steps strong{color:var(--text)}
.vpn-platform-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.vpn-platform{min-height:118px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft);display:grid;align-content:start;gap:6px}.vpn-platform>span{width:34px;height:34px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:17px}.vpn-platform b{font-size:13px}.vpn-platform small{font-size:10px;line-height:1.42;color:var(--muted)}
.vpn-device-note{font-size:10px;line-height:1.5;color:var(--muted);text-align:center;padding:13px 12px 2px}
@media(max-width:420px){.vpn-entry-card{grid-template-columns:42px minmax(0,1fr) 18px;padding:13px}.vpn-entry-icon{width:42px;height:42px}.vpn-entry-progress{left:67px;right:43px}.vpn-platform-grid{grid-template-columns:1fr 1fr}.vpn-platform{padding:12px;min-height:112px}.vpn-page-head p{display:none}.vpn-progress-summary{grid-template-columns:68px minmax(0,1fr);gap:11px}.vpn-progress-ring{width:68px;height:68px}.vpn-progress-copy strong{font-size:20px}}
.vpn-progress-block.is-complete{border-color:color-mix(in srgb,var(--good) 34%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--good-soft) 62%,var(--surface-2)),var(--surface-2))}.vpn-progress-block.is-complete .vpn-progress-copy>span,.vpn-progress-block.is-complete .vpn-progress-hours span:last-child{color:var(--good)}.vpn-progress-block.is-complete .vpn-progress-ring{background:conic-gradient(var(--good) 100%,var(--line) 0)}.vpn-progress-block.is-complete .vpn-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--good) 72%,#153b2c),var(--good))}


/* v0.16 BlueMap */
.bottom-nav{grid-template-columns:repeat(6,1fr)}
.map-page{padding-bottom:2px}
.map-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:16px 2px 11px}
.map-page-head>div:first-child{min-width:0}.map-page-head h2{font-size:21px}.map-page-head p{font-size:11px;color:var(--muted);margin-top:3px}
.map-head-actions{display:flex;gap:7px;flex:none}
.map-frame-shell{position:relative;height:calc(100dvh - 196px - var(--safe-bottom));min-height:480px;max-height:820px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow-soft)}
.server-map-frame{display:block;width:100%;height:100%;border:0;background:var(--surface-2)}
.map-loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:left;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 34%,var(--surface)),var(--surface));color:var(--text)}
.map-loading.hidden{display:none}.map-loading>div:last-child{display:grid;gap:3px}.map-loading b{font-size:14px}.map-loading small{font-size:10px;line-height:1.4;color:var(--muted)}
@media(max-width:420px){.bottom-nav{padding-left:5px;padding-right:5px}.nav-item{padding-left:2px;padding-right:2px}.nav-item small{font-size:8px}.map-page-head p{display:none}.map-frame-shell{height:calc(100dvh - 181px - var(--safe-bottom));min-height:430px;border-radius:18px}}


/* v0.17 Achievements */
.achievements-page{padding-bottom:8px}.achievements-title{align-items:flex-end}.achievements-title p{font-size:11px;color:var(--muted);margin-top:3px}
.achievement-summary{padding:17px;margin-bottom:10px}.achievement-summary-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.achievement-summary-top>div:first-child{display:grid;gap:2px}.achievement-summary-top span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.achievement-summary-top strong{font-size:25px;letter-spacing:-.04em}.achievement-total-ring{--achievement-total:0;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--achievement-total)*1%),var(--line) 0);position:relative}.achievement-total-ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}.achievement-total-ring b{position:relative;z-index:1;font-size:12px}.achievement-total-track{height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:13px 0 7px}.achievement-total-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--good)));transition:width .3s ease}.achievement-summary>small{font-size:9px;color:var(--muted)}
.suffix-picker-head{padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.suffix-current{display:flex;align-items:center;gap:11px;min-width:0}.suffix-glyph{width:45px;height:45px;border-radius:14px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent);display:grid;place-items:center;font-size:24px;font-weight:900;flex:none}.suffix-current>div{display:grid;gap:1px;min-width:0}.suffix-current small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.suffix-current b{font-size:14px}.suffix-current p{font-size:9px;color:var(--muted)}
.achievement-filter-row{display:flex;gap:7px;overflow:auto;padding:1px 1px 10px;scrollbar-width:none}.achievement-filter-row::-webkit-scrollbar{display:none}.achievement-filter{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:7px 11px;font:inherit;font-size:10px;font-weight:800;white-space:nowrap}.achievement-filter.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:var(--accent)}
.achievement-list{display:grid;gap:9px}.achievement-card{padding:14px;overflow:hidden;position:relative}.achievement-card.completed{border-color:color-mix(in srgb,var(--good) 24%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--good-soft) 32%,var(--surface)),var(--surface))}.achievement-card.selected-suffix{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),var(--shadow-soft)}.achievement-card-head{display:grid;grid-template-columns:43px minmax(0,1fr);gap:11px;align-items:start}.achievement-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);font-size:21px;font-weight:900;color:var(--text)}.achievement-card.completed .achievement-icon{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb,var(--good) 30%,var(--line))}.achievement-name-line{display:flex;align-items:center;justify-content:space-between;gap:7px}.achievement-name-line h3{font-size:14px}.achievement-done{font-size:8px;font-weight:900;color:var(--good);white-space:nowrap}.achievement-card-head p{font-size:10px;line-height:1.42;color:var(--muted);margin-top:3px}.achievement-progress-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 5px;font-size:9px}.achievement-progress-line b{font-size:10px}.achievement-progress-line span{color:var(--muted)}.achievement-progress{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}.achievement-progress i{display:block;height:100%;background:var(--accent);border-radius:inherit}.achievement-card.completed .achievement-progress i{background:var(--good)}.achievement-card-foot{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px}.achievement-card-foot>span:first-child{font-size:8px;color:var(--muted);line-height:1.35}.achievement-locked{font-size:9px!important;font-weight:800;color:var(--muted)!important;white-space:nowrap}.achievement-suffix-button{white-space:nowrap;flex:none}
@media(max-width:420px){.achievements-title p{display:none}.achievement-summary{padding:14px}.achievement-total-ring{width:54px;height:54px}.achievement-card{padding:12px}.achievement-card-head{grid-template-columns:39px minmax(0,1fr);gap:9px}.achievement-icon{width:39px;height:39px}.achievement-card-foot{align-items:flex-end}.achievement-card-foot>span:first-child{max-width:58%}}


/* v0.18 Polls */
.bottom-nav{grid-template-columns:repeat(7,1fr)}
.poll-nav-item{position:relative}.poll-nav-badge{position:absolute;top:4px;right:17%;min-width:15px;height:15px;padding:0 4px;border-radius:99px;background:var(--danger);color:#fff;font-style:normal;font-size:8px;font-weight:900;display:grid;place-items:center;box-shadow:0 2px 8px color-mix(in srgb,var(--danger) 45%,transparent)}.poll-nav-badge.hidden{display:none}
.polls-page{padding-bottom:8px}.polls-title{align-items:flex-end}.polls-title p{font-size:11px;color:var(--muted);margin-top:3px}.poll-tab-row{display:flex;gap:7px;overflow:auto;margin-bottom:10px;scrollbar-width:none}.poll-tab-row::-webkit-scrollbar{display:none}.poll-tab{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:8px 12px;font:inherit;font-size:10px;font-weight:850;white-space:nowrap;display:flex;align-items:center;gap:6px}.poll-tab i{font-style:normal;background:var(--surface-2);border-radius:99px;min-width:17px;height:17px;display:grid;place-items:center;font-size:8px}.poll-tab.active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.poll-panel.hidden{display:none}.poll-list{display:grid;gap:9px}
.poll-admin-hero{padding:13px 14px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 55%,var(--surface)),var(--surface))}.poll-admin-hero.hidden{display:none}.poll-admin-hero>div{display:flex;gap:10px;align-items:center;min-width:0}.poll-admin-mark{width:42px;height:42px;border-radius:13px;background:var(--accent);color:var(--surface-solid);display:grid;place-items:center;font-size:20px;font-weight:900;flex:none}.poll-admin-hero>div>div{display:grid;gap:1px}.poll-admin-hero small{font-size:8px;color:var(--accent);font-weight:900;letter-spacing:.08em}.poll-admin-hero b{font-size:13px}.poll-admin-hero p{font-size:9px;color:var(--muted);margin:0}
.poll-card{padding:15px;overflow:hidden}.poll-card.voted{border-color:color-mix(in srgb,var(--good) 22%,var(--line))}.poll-card.closed{opacity:.92}.poll-card-top{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:10px}.poll-card-top h3{font-size:16px;line-height:1.25;letter-spacing:-.02em;margin-top:4px}.poll-card-top p{font-size:10px;color:var(--muted);line-height:1.45;margin-top:5px;white-space:pre-line}.poll-state-mark{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:20px;font-weight:900}.poll-card.voted .poll-state-mark,.poll-card.closed .poll-state-mark{background:var(--good-soft);color:var(--good)}.poll-eyebrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.poll-eyebrow span{font-size:8px;text-transform:uppercase;letter-spacing:.055em;color:var(--accent);font-weight:900}.poll-eyebrow i{font-style:normal;font-size:8px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 6px}.poll-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.poll-meta span{font-size:8px;color:var(--muted);background:var(--surface-2);border-radius:99px;padding:4px 7px}
.poll-options{display:grid;gap:7px;margin:11px 0}.poll-choice{display:block;cursor:pointer}.poll-choice input{position:absolute;opacity:0;pointer-events:none}.poll-choice>span{min-height:43px;border:1px solid var(--line);border-radius:13px;padding:10px 11px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:center;font-size:11px;font-weight:750;background:var(--surface-2);transition:.15s ease}.poll-choice>span>i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center}.poll-choice.selected>span{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--text)}.poll-choice.selected>span>i{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--accent-soft);background:var(--accent)}.poll-choice input[type=checkbox]+span>i{border-radius:5px}.poll-choice input:disabled+span{cursor:default}.poll-voted-note{margin:10px 0;padding:9px 11px;border-radius:12px;background:var(--good-soft);color:var(--good);font-size:10px;font-weight:850;text-align:center}
.poll-results{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);display:grid;gap:8px}.poll-results-locked{margin-top:11px;border:1px dashed var(--line);border-radius:12px;padding:10px;color:var(--muted);font-size:9px;text-align:center}.poll-turnout{display:grid;grid-template-columns:1fr 1fr;gap:7px}.poll-turnout>div{background:var(--surface-2);border-radius:11px;padding:8px;display:grid;gap:2px}.poll-turnout span{font-size:8px;color:var(--muted)}.poll-turnout b{font-size:12px}.good-text{color:var(--good)!important}.warn-text{color:var(--warn)!important}.poll-result-row{display:grid;gap:4px}.poll-result-row>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:9px}.poll-result-row>div:first-child b{font-size:10px}.poll-result-row>div:first-child span{color:var(--muted)}.poll-result-track{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}.poll-result-track i{display:block;height:100%;background:var(--accent);border-radius:inherit}.poll-quorum{font-size:8px;color:var(--warn);font-weight:800}.poll-quorum.reached{color:var(--good)}.poll-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.poll-card-foot>span{font-size:8px;color:var(--muted);line-height:1.35}.poll-card-foot>b{font-size:8px;color:var(--accent)}.poll-admin-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.danger-text{color:var(--danger)!important}.poll-empty{padding:28px 15px!important}.poll-empty>span{font-size:26px;color:var(--good);display:block;margin-bottom:7px}.poll-empty>b{font-size:13px;display:block}.poll-empty>p{font-size:10px!important;margin-top:4px!important}
.poll-create-panel{max-width:720px}.poll-create-panel .modal-heading p{font-size:10px;color:var(--muted);margin-top:2px}.poll-form-section{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.poll-form-section:first-of-type{border-top:0}.poll-field{display:grid;gap:6px;margin-top:9px}.poll-field:first-child{margin-top:0}.poll-field>span{font-size:9px;font-weight:800;color:var(--muted)}.poll-field>span i{font-style:normal;font-weight:500}.poll-field textarea{resize:vertical;min-height:74px}.poll-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.poll-form-head>div{display:grid;gap:2px}.poll-form-head b{font-size:12px}.poll-form-head small{font-size:8px;color:var(--muted)}.poll-audience-count{font-size:9px;font-weight:900;color:var(--accent);background:var(--accent-soft);border-radius:99px;padding:5px 8px}.poll-option-editor{display:grid;gap:6px}.poll-option-edit-row{display:grid;grid-template-columns:24px minmax(0,1fr) 34px;gap:6px;align-items:center}.poll-option-edit-row>span{width:24px;height:24px;border-radius:8px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;font-size:9px;font-weight:900}.poll-option-edit-row .input{margin:0}.poll-remove-option{border:0;background:var(--surface-2);color:var(--muted);border-radius:10px;height:36px;font-size:18px}.poll-preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.poll-preset-grid button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:14px;padding:10px;text-align:left;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;row-gap:1px}.poll-preset-grid button>span{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:var(--surface);display:grid;place-items:center}.poll-preset-grid button b{font-size:10px}.poll-preset-grid button small{font-size:8px;color:var(--muted)}.poll-preset-grid button.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}.poll-custom-audience{margin-top:8px;background:var(--surface-2);border-radius:14px;padding:0 10px 10px}.compact-switch{padding:9px 0!important}.poll-audience-preview{margin-top:8px;border:1px dashed var(--line);border-radius:13px;padding:9px 10px;display:grid;gap:3px}.poll-audience-preview>b{font-size:10px}.poll-audience-preview>span,.poll-audience-preview>small{font-size:8px;color:var(--muted);line-height:1.4}.poll-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.poll-settings-grid .poll-field{margin:0}.poll-voters-list{display:grid;gap:7px;margin-top:14px}.poll-voter-row{background:var(--surface-2);border-radius:13px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.poll-voter-row>div{display:grid;gap:2px}.poll-voter-row b{font-size:11px}.poll-voter-row small{font-size:8px;color:var(--muted)}.poll-voter-row>span{font-size:9px;text-align:right;max-width:180px}
@media(max-width:500px){.bottom-nav{padding-left:4px;padding-right:4px}.nav-item{padding-left:1px;padding-right:1px}.nav-item small{font-size:7px}.poll-nav-badge{right:9%}.polls-title p{display:none}.poll-admin-hero p{display:none}.poll-admin-hero .btn{padding-left:9px;padding-right:9px}.poll-card{padding:12px}.poll-settings-grid{grid-template-columns:1fr}.poll-preset-grid{grid-template-columns:1fr 1fr}.poll-card-foot{align-items:flex-end}.poll-card-foot>span{max-width:55%}}

/* v0.19.0 — Season Manager / player season history */
.season-wait-card{max-width:560px;margin:28px auto;text-align:center;overflow:hidden;position:relative}
.season-wait-orb{width:76px;height:76px;margin:0 auto 18px;border-radius:24px;display:grid;place-items:center;font-weight:900;font-size:22px;background:var(--accent-soft,#ece7ff);box-shadow:inset 0 0 0 1px var(--line);transform:rotate(-4deg)}
.season-history-hint{margin:18px 0;padding:14px;border-radius:16px;background:var(--surface-2,#f4f4f7);font-size:14px}
.season-waiting-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px}
.season-waiting-banner>div{display:flex;flex-direction:column;gap:3px}.season-waiting-banner span{font-size:12px;color:var(--muted)}
.season-history-card{margin-top:12px}.season-history-list{display:grid;gap:8px;margin-top:12px}
.season-history-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2,#f7f7fa)}
.season-history-row.current{box-shadow:inset 3px 0 0 var(--accent,#7457e8)}
.season-history-dot{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--surface);font-weight:800}
.season-history-row>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.season-history-row span,.season-history-row small{font-size:12px;color:var(--muted)}
@media(max-width:560px){.season-history-row{grid-template-columns:30px 1fr}.season-history-row small{grid-column:2}.season-waiting-banner{align-items:flex-start}}


/* v0.19.1 — cleaner application landing */
.server-intro-v2{gap:14px;overflow:hidden;position:relative}
.server-intro-v2:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-80px;top:-90px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 68%);pointer-events:none}
.intro-lead,.intro-note{position:relative}.intro-lead{font-size:14px!important;color:var(--text)!important;opacity:.82}.intro-note{font-size:12px!important;line-height:1.5!important}
.season-spotlight{display:grid;grid-template-columns:1.15fr .85fr;gap:9px;position:relative}
.season-spotlight>div{min-height:70px;border-radius:16px;padding:12px 13px;background:linear-gradient(145deg,var(--accent-soft),var(--surface-2));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));display:grid;align-content:center;gap:3px}
.season-spotlight small{font-size:10px;color:var(--muted);font-weight:700}.season-spotlight b{font-size:17px;line-height:1.15}.season-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px var(--good-soft);position:absolute;margin-top:5px}.season-spotlight>div:first-child small,.season-spotlight>div:first-child b{padding-left:17px}
.intro-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.intro-facts span{min-height:38px;padding:8px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;display:grid;place-items:center;text-align:center;font-size:11px;font-weight:800}
.intro-actions{display:grid;gap:8px}.telegram-btn{background:var(--surface-2);border:1px solid var(--line);color:var(--text);text-decoration:none}.telegram-btn span{font-size:15px;margin-right:5px;color:#229ED9}
@media(max-width:480px){.server-intro-v2{padding:18px}.season-spotlight{grid-template-columns:1fr 1fr}.intro-facts{grid-template-columns:1fr 1fr}.intro-facts span:last-child{grid-column:1/-1}.server-intro-v2 .intro-brand h1{font-size:27px}}
