.app-shell-module__uk8rSG__group{gap:2px;margin-top:2px;display:grid}.app-shell-module__uk8rSG__groupToggle{width:100%;min-height:34px;color:var(--color-text-muted);cursor:pointer;font:inherit;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:11px;font-weight:700;display:flex}.app-shell-module__uk8rSG__groupToggle:hover{background:var(--color-surface-2);color:var(--color-text-secondary)}.app-shell-module__uk8rSG__groupToggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell-module__uk8rSG__chevron{margin-left:auto;transition:transform .16s}.app-shell-module__uk8rSG__chevronOpen{transform:rotate(180deg)}.app-shell-module__uk8rSG__groupItems{gap:2px;padding-bottom:3px;display:grid}.app-shell-module__uk8rSG__groupItem{min-height:36px;padding-left:14px;font-size:13px}@media (max-width:899px){.app-shell-module__uk8rSG__group{display:none}}
.rpg-page{gap:22px;display:grid}.rpg-page-header{margin-bottom:-6px}.rpg-tabs{border:1px solid var(--color-border);background:var(--color-surface-1);box-shadow:var(--surface-highlight);scrollbar-width:none;border-radius:14px;gap:6px;padding:5px;display:flex;overflow-x:auto}.rpg-tabs::-webkit-scrollbar{display:none}.rpg-tab{min-height:38px;color:var(--color-text-secondary);border-radius:10px;flex:none;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.rpg-tab:hover{color:var(--color-text);background:var(--color-surface-2)}.rpg-tab--active{color:var(--color-text);background:var(--color-active-surface);box-shadow:var(--active-glow)}.rpg-tab--active svg{color:var(--color-active-indicator)}.rpg-character-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);gap:16px;display:grid}.rpg-rank-visual,.rpg-level-card,.rpg-stat,.rpg-hub-card,.rpg-section,.rpg-level-summary,.rpg-level-row,.rpg-achievement-summary,.rpg-achievement-card,.rpg-shop-balance,.rpg-reward-card,.rpg-redemption{border:1px solid var(--color-border);background:var(--color-surface-1);box-shadow:var(--card-shadow), var(--surface-highlight)}.rpg-rank-visual{border-radius:18px;min-height:280px;position:relative;overflow:hidden}.rpg-rank-visual:after{background:linear-gradient(transparent, var(--color-surface-1));content:"";pointer-events:none;height:45%;position:absolute;inset:auto 0 0}.rpg-avatar{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.rpg-rank-badge{z-index:2;object-fit:contain;filter:drop-shadow(0 8px 18px #00000057);width:58px;height:58px;position:absolute;top:14px;right:14px}.rpg-rank-visual__caption{z-index:2;gap:2px;display:grid;position:absolute;bottom:17px;left:18px;right:18px}.rpg-rank-visual__caption span{color:var(--color-xp);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:750}.rpg-rank-visual__caption strong{font-size:clamp(20px,2vw,28px);line-height:1.1}.rpg-level-card{border-radius:18px;align-content:center;gap:18px;padding:clamp(20px,3vw,34px);display:grid}.rpg-level-card__top,.rpg-level-card__progress-copy,.rpg-level-row__title,.rpg-reward-card__title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.rpg-level-card__top span,.rpg-stat span,.rpg-level-summary span,.rpg-shop-balance span{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.rpg-level-card__top h2{margin:3px 0 0;font-size:clamp(24px,3vw,38px);line-height:1.05}.rpg-level-card__top>strong{color:var(--color-xp);font-size:18px}.rpg-level-card__progress-copy{color:var(--color-text-secondary);font-size:13px}.rpg-level-card__next{color:var(--color-text-secondary);margin:0}.rpg-level-card__next strong{color:var(--color-text)}.rpg-progress{background:var(--color-surface-3);border-radius:99px;height:9px;overflow:hidden}.rpg-progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--color-action), var(--color-xp));height:100%;box-shadow:var(--primary-glow);transition:width .25s;display:block}.rpg-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.rpg-stat{border-radius:14px;align-items:center;gap:12px;min-width:0;padding:15px;display:flex}.rpg-stat__icon{background:var(--color-surface-2);width:42px;height:42px;color:var(--color-xp);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.rpg-stat__asset{object-fit:contain;width:30px;height:30px}.rpg-stat>div:last-child{gap:1px;min-width:0;display:grid}.rpg-stat strong{font-size:20px;line-height:1.2}.rpg-stat small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rpg-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.rpg-hub-card{border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-width:0;padding:17px;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;display:grid}.rpg-hub-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-2);transform:translateY(-1px)}.rpg-hub-card>svg:first-child{color:var(--color-action)}.rpg-hub-card>svg:last-child{color:var(--color-text-muted)}.rpg-hub-card h2{margin:0;font-size:15px}.rpg-hub-card p{color:var(--color-text-secondary);margin:3px 0 0;font-size:12px}.rpg-section{border-radius:16px;min-width:0;overflow:hidden}.rpg-section__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;display:flex}.rpg-section__header>div{align-items:center;gap:8px;display:flex}.rpg-section__header svg{color:var(--color-action)}.rpg-section__header h2{margin:0;font-size:15px}.rpg-section__header>span{color:var(--color-text-muted);font-size:12px}.rpg-ledger{display:grid}.rpg-ledger__row,.rpg-redemption{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:14px;padding:13px 17px;display:flex}.rpg-ledger__row:last-child{border-bottom:0}.rpg-ledger__row>div:first-child,.rpg-redemption>div:first-child{gap:2px;min-width:0;display:grid}.rpg-ledger__row span,.rpg-redemption span{color:var(--color-text-muted);font-size:12px}.rpg-ledger__delta{flex:none;justify-items:end;display:grid}.rpg-ledger__delta strong{color:var(--color-success)}.rpg-ledger__delta small{color:var(--color-xp)}.rpg-delta--negative{color:var(--color-error)!important}.rpg-level-summary,.rpg-achievement-summary,.rpg-shop-balance{border-radius:16px;align-items:center;gap:20px;padding:18px 20px;display:flex}.rpg-level-summary>div{gap:1px;display:grid}.rpg-level-summary>div>strong{font-size:26px}.rpg-level-summary small{color:var(--color-text-secondary)}.rpg-level-summary>svg{color:var(--color-text-muted)}.rpg-level-summary__xp{text-align:right;margin-left:auto}.rpg-level-list{gap:9px;display:grid}.rpg-level-row{opacity:.72;border-radius:14px;grid-template-columns:62px minmax(0,1fr);gap:14px;padding:13px 16px;display:grid}.rpg-level-row--reached{opacity:.9}.rpg-level-row--current{opacity:1;border-color:var(--color-active-indicator);box-shadow:var(--active-glow), var(--card-shadow)}.rpg-level-row__rank{place-items:center;display:grid;position:relative}.rpg-level-row__rank img{object-fit:contain;width:54px;height:54px}.rpg-level-row__rank strong{text-shadow:0 2px 5px #000000b3;font-size:13px;position:absolute}.rpg-level-row__content{gap:9px;min-width:0;display:grid}.rpg-level-row__title h2{margin:0;font-size:15px}.rpg-level-row__title>div>span{color:var(--color-text-muted);font-size:12px}.rpg-level-state{color:var(--color-success);align-items:center;gap:5px;font-size:12px;font-weight:650;display:inline-flex}.rpg-level-state--current{color:var(--color-action)}.rpg-level-state--locked{color:var(--color-text-muted)}.rpg-level-row__reward{color:var(--color-text-secondary);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.rpg-level-row__reward>span{color:var(--color-text-muted)}.rpg-level-row__reward>strong{color:var(--color-text)}.rpg-achievement-summary{justify-content:space-between}.rpg-achievement-summary>div:first-child{align-items:baseline;gap:8px;display:flex}.rpg-achievement-summary strong{font-size:30px}.rpg-achievement-summary small{color:var(--color-text-muted)}.rpg-achievement-summary__progress{gap:5px;width:min(480px,58%);display:grid}.rpg-achievement-summary__progress>span{text-align:right;color:var(--color-text-muted);font-size:12px}.rpg-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.rpg-achievement-card{opacity:.74;border-radius:13px;grid-template-columns:86px minmax(0,1fr);display:grid;overflow:hidden}.rpg-achievement-card--unlocked{opacity:1;border-color:var(--color-border-strong)}.rpg-achievement-card__visual{background:var(--color-surface-2);align-content:center;justify-items:center;gap:4px;padding:12px 8px;display:grid}.rpg-achievement-card__visual img{object-fit:contain;width:62px;height:62px}.rpg-achievement-card__tier{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.rpg-achievement-card__body{align-content:center;gap:8px;padding:13px 14px;display:grid}.rpg-achievement-card__title{justify-content:space-between;align-items:center;gap:10px;display:flex}.rpg-achievement-card__title h3{margin:0;font-size:14px}.rpg-achievement-card__title>svg{color:var(--color-text-muted)}.rpg-achievement-card__body p{color:var(--color-text-secondary);margin:0;font-size:12px}.rpg-achievement-card__body>small{color:var(--color-text-muted)}.rpg-achievement-card__numbers{color:var(--color-text-muted);justify-content:space-between;gap:10px;font-size:11px;display:flex}.rpg-unlocked{color:var(--color-success);align-items:center;gap:4px;font-size:11px;font-weight:650;display:inline-flex}.rpg-shop-balance>img{object-fit:contain;width:54px;height:54px}.rpg-shop-balance>div{gap:1px;display:grid}.rpg-shop-balance strong{font-size:26px}.rpg-shop-balance small{color:var(--color-text-muted)}.rpg-shop-balance>button{margin-left:auto}.rpg-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rpg-reward-card{border-radius:15px;grid-template-columns:96px minmax(0,1fr);display:grid;overflow:hidden}.rpg-reward-card--archived{opacity:.62}.rpg-reward-card__visual{background:var(--color-surface-2);align-content:center;justify-items:center;gap:5px;padding:14px 8px;display:grid}.rpg-reward-card__visual img{object-fit:contain;width:72px;height:72px}.rpg-reward-card__visual span{color:var(--color-text-muted);text-transform:uppercase;font-size:10px}.rpg-reward-card__body{gap:8px;padding:15px;display:grid}.rpg-reward-card__title h2{margin:0;font-size:15px}.rpg-reward-card__title strong{color:var(--color-warning);white-space:nowrap}.rpg-reward-card__body p{color:var(--color-text-secondary);margin:0;font-size:12px}.rpg-reward-card__meta{flex-wrap:wrap;gap:6px;display:flex}.rpg-reward-card__meta span{background:var(--color-surface-3);color:var(--color-text-muted);border-radius:99px;padding:3px 7px;font-size:10px}.rpg-reward-card__actions{border-top:1px solid var(--color-border);flex-wrap:wrap;grid-column:1/-1;gap:6px;padding:10px 12px;display:flex}.rpg-redemptions{display:grid}.rpg-redemption{border:0;border-bottom:1px solid var(--color-border);box-shadow:none;border-radius:0}.rpg-redemption:last-child{border-bottom:0}.rpg-redemption__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.rpg-muted-copy{color:var(--color-text-muted);margin:0;padding:18px}@media (max-width:1100px){.rpg-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rpg-hub-grid,.rpg-achievement-grid,.rpg-reward-grid{grid-template-columns:1fr}}@media (max-width:760px){.rpg-page{gap:16px}.rpg-character-grid{grid-template-columns:1fr}.rpg-rank-visual{min-height:250px}.rpg-level-card{padding:18px}.rpg-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rpg-stat{gap:9px;padding:12px}.rpg-stat__icon{flex-basis:36px;width:36px;height:36px}.rpg-stat strong{font-size:17px}.rpg-level-summary{grid-template-columns:1fr auto 1fr;gap:10px;padding:14px;display:grid}.rpg-level-summary__xp{border-top:1px solid var(--color-border);text-align:left;grid-column:1/-1;margin-left:0;padding-top:10px}.rpg-achievement-summary{align-items:flex-end}.rpg-achievement-summary__progress{width:62%}.rpg-level-row{grid-template-columns:48px minmax(0,1fr);padding:11px}.rpg-level-row__rank img{width:44px;height:44px}.rpg-achievement-card{grid-template-columns:74px minmax(0,1fr)}.rpg-achievement-card__visual img{width:52px;height:52px}.rpg-shop-balance{flex-wrap:wrap;gap:12px}.rpg-shop-balance>button{width:100%;margin-left:0}.rpg-reward-card{grid-template-columns:78px minmax(0,1fr)}.rpg-reward-card__visual img{width:58px;height:58px}.rpg-ledger__row,.rpg-redemption{align-items:flex-start}.rpg-redemption{display:grid}.rpg-redemption__actions{justify-content:flex-start}}@media (max-width:420px){.rpg-stats-grid{grid-template-columns:1fr}.rpg-achievement-summary{display:grid}.rpg-achievement-summary__progress{width:100%}.rpg-achievement-card__numbers{gap:2px;display:grid}.rpg-level-card__top h2{font-size:24px}}
.dashboard-page{gap:18px;display:grid}.dashboard-header__action,.dashboard-panel__header>a,.dashboard-hero__links a,.dashboard-next__links a{color:var(--color-action);align-items:center;gap:7px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.dashboard-header__action{border:1px solid var(--color-border-strong);background:var(--color-surface-2);border-radius:9px;min-height:42px;padding:8px 12px}.dashboard-hero{border:1px solid color-mix(in srgb, var(--color-action) 42%, var(--color-border));background:radial-gradient(circle at 82% 22%, color-mix(in srgb, var(--color-xp) 12%, transparent), transparent 24rem), var(--color-surface-1);box-shadow:var(--card-shadow), var(--surface-highlight);border-radius:18px;grid-template-columns:170px minmax(0,1fr) auto;align-items:stretch;gap:18px;display:grid;overflow:hidden}.dashboard-rank{border-right:1px solid var(--color-border);background:var(--color-surface-2);min-height:210px;position:relative;overflow:hidden}.dashboard-rank:after{background:linear-gradient(transparent, var(--color-surface-2));content:"";height:45%;position:absolute;inset:auto 0 0}.dashboard-rank__avatar{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dashboard-rank__badge{z-index:2;object-fit:contain;filter:drop-shadow(0 6px 14px #00000057);width:48px;height:48px;position:absolute;top:13px;right:13px}.dashboard-hero__content{align-content:center;gap:12px;min-width:0;padding:22px 0;display:grid}.dashboard-kicker{color:var(--color-xp);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:750}.dashboard-hero__content h2{margin:-4px 0 0;font-size:clamp(24px,3vw,36px);line-height:1.05}.dashboard-xp-copy{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:14px;font-size:12px;display:flex}.dashboard-xp-copy strong{color:var(--color-text)}.dashboard-hero__stats{color:var(--color-text-secondary);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.dashboard-hero__stats span{align-items:center;gap:6px;display:inline-flex}.dashboard-hero__stats img{object-fit:contain;width:20px;height:20px}.dashboard-hero__links{border-left:1px solid var(--color-border);align-content:center;gap:8px;padding:18px;display:grid}.dashboard-hero__links a{border:1px solid var(--color-border);background:var(--color-surface-2);min-width:120px;min-height:40px;color:var(--color-text-secondary);border-radius:9px;padding:8px 10px}.dashboard-hero__links a:hover,.dashboard-header__action:hover,.dashboard-panel__header>a:hover{border-color:var(--color-border-strong);color:var(--color-action)}.dashboard-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.dashboard-metrics article{border:1px solid var(--color-border);background:var(--color-surface-1);min-width:0;box-shadow:var(--surface-highlight);border-radius:12px;align-items:center;gap:12px;padding:13px 15px;display:flex}.dashboard-metrics article>svg{color:var(--color-action);flex:none}.dashboard-metrics article>div{min-width:0;display:grid}.dashboard-metrics span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dashboard-metrics strong{font-size:20px}.dashboard-metric--warning{border-color:color-mix(in srgb, var(--color-error) 42%, var(--color-border))!important}.dashboard-metric--warning>svg,.dashboard-metric--warning strong{color:var(--color-error)!important}.dashboard-layout,.dashboard-bottom-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:14px;display:grid}.dashboard-panel{border:1px solid var(--color-border);background:var(--color-surface-1);min-width:0;box-shadow:var(--card-shadow), var(--surface-highlight);border-radius:14px;overflow:hidden}.dashboard-panel__header{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface-2) 82%, var(--color-surface-1));justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 15px;display:flex}.dashboard-panel__header>div,.dashboard-panel__header>div>div{align-items:center;display:flex}.dashboard-panel__header>div{gap:9px;min-width:0}.dashboard-panel__header>div>svg{color:var(--color-action);flex:none}.dashboard-panel__header>div>div{flex-direction:column;align-items:flex-start;min-width:0}.dashboard-panel__header h2,.dashboard-panel__header p{margin:0}.dashboard-panel__header h2{font-size:15px}.dashboard-panel__header p{color:var(--color-text-muted);margin-top:2px;font-size:11px}.dashboard-focus-list,.dashboard-project-list,.dashboard-achievement-list,.dashboard-next__links{display:grid}.dashboard-focus-item{border-bottom:1px solid var(--color-border);min-height:58px;color:inherit;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 14px;text-decoration:none;display:grid}.dashboard-focus-item:last-child,.dashboard-project:last-child,.dashboard-achievement:last-child,.dashboard-next__links a:last-child{border-bottom:0}.dashboard-focus-item:hover,.dashboard-project:hover,.dashboard-next__links a:hover{background:var(--color-surface-2)}.dashboard-focus-item__marker{background:var(--color-action);border-radius:99px;width:7px;height:26px}.dashboard-focus-item--overdue .dashboard-focus-item__marker{background:var(--color-error)}.dashboard-focus-item>div:nth-child(2){gap:2px;min-width:0;display:grid}.dashboard-focus-item strong,.dashboard-focus-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-focus-item>div span{color:var(--color-text-muted);font-size:11px}.dashboard-project{border-bottom:1px solid var(--color-border);color:inherit;gap:8px;padding:12px 15px;text-decoration:none;display:grid}.dashboard-project__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-project__title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-project__title span{color:var(--color-action);font-size:12px;font-weight:750}.dashboard-project p{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.dashboard-empty{min-height:174px;color:var(--color-text-secondary);text-align:center;place-content:center;justify-items:center;gap:5px;padding:24px;display:grid}.dashboard-empty>svg{color:var(--color-action);margin-bottom:5px}.dashboard-empty span{max-width:420px;color:var(--color-text-muted);font-size:12px}.dashboard-empty--compact{min-height:122px}.dashboard-achievement{border-bottom:1px solid var(--color-border);grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:10px 14px;display:grid}.dashboard-achievement img{object-fit:contain;width:48px;height:48px}.dashboard-achievement>div{gap:2px;min-width:0;display:grid}.dashboard-achievement strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-achievement span{color:var(--color-text-muted);font-size:11px}.dashboard-next__links a{border-bottom:1px solid var(--color-border);min-height:76px;color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 15px;display:grid}.dashboard-next__links a>svg:first-child{color:var(--color-action)}.dashboard-next__links a>svg:last-child{color:var(--color-text-muted)}.dashboard-next__links a>div{min-width:0;display:grid}.dashboard-next__links strong{font-size:13px}.dashboard-next__links span{color:var(--color-text-muted);margin-top:2px;font-size:11px}[data-theme=neon_tactical] .dashboard-hero,[data-theme=neon_tactical] .dashboard-panel,[data-theme=neon_tactical] .dashboard-metrics article{background:linear-gradient(145deg,#091726f2,#040d17f5);border-color:#20c6ff40;border-radius:4px 15px;box-shadow:0 14px 34px #00000052,inset 0 1px #68dcff0d}[data-theme=neon_tactical] .dashboard-hero{background:radial-gradient(circle at 80% 18%,#a765ff24,#0000 23rem),radial-gradient(circle at 28% 68%,#20c6ff14,#0000 20rem),linear-gradient(145deg,#091726f7,#040d17fa);border-color:#a765ff75;box-shadow:0 0 24px #a765ff1a,0 18px 40px #00000057}[data-theme=neon_tactical] .dashboard-rank{background:#05111df5;border-right-color:#20c6ff38}[data-theme=neon_tactical] .dashboard-rank__badge,[data-theme=neon_tactical] .dashboard-achievement img{filter:drop-shadow(0 0 10px #a765ff3d)}[data-theme=neon_tactical] .dashboard-panel__header{background:linear-gradient(90deg,#122f4875,#07121fe0 70%,#a765ff0f);border-bottom-color:#20c6ff33}[data-theme=neon_tactical] .dashboard-focus-item,[data-theme=neon_tactical] .dashboard-project,[data-theme=neon_tactical] .dashboard-achievement,[data-theme=neon_tactical] .dashboard-next__links a{border-bottom-color:#20c6ff1f}[data-theme=neon_tactical] .dashboard-focus-item:hover,[data-theme=neon_tactical] .dashboard-project:hover,[data-theme=neon_tactical] .dashboard-next__links a:hover{background:linear-gradient(90deg,#20c6ff12,#0000 70%)}@media (max-width:1000px){.dashboard-hero{grid-template-columns:145px minmax(0,1fr)}.dashboard-hero__links{border-top:1px solid var(--color-border);border-left:0;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 14px 14px}.dashboard-hero__links a{justify-content:center}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-layout,.dashboard-bottom-grid{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-header__action{align-self:flex-start}.dashboard-hero{grid-template-columns:105px minmax(0,1fr);gap:12px}.dashboard-rank{min-height:180px}.dashboard-hero__content{padding:18px 12px 18px 0}.dashboard-hero__content h2{font-size:22px}.dashboard-xp-copy{flex-direction:column;align-items:flex-start;gap:2px}.dashboard-hero__stats{display:grid}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.dashboard-hero{grid-template-columns:1fr}.dashboard-rank{border-right:0;border-bottom:1px solid var(--color-border);min-height:190px}.dashboard-hero__content{padding:0 15px 16px}.dashboard-hero__links{grid-template-columns:1fr}.dashboard-metrics{gap:7px}.dashboard-metrics article{padding:10px}.dashboard-focus-item{grid-template-columns:7px minmax(0,1fr)}.dashboard-focus-item>.priority-pill{grid-column:2;justify-self:start}}
.month-page{gap:16px;display:grid}.month-toolbar{border:1px solid var(--color-border);background:var(--color-surface-1);border-radius:12px;align-items:center;gap:10px;padding:9px 11px;display:flex}.month-toolbar__navigation{align-items:center;gap:8px;display:flex}.month-toolbar__navigation strong{text-align:center;min-width:150px}.month-toolbar__timezone{color:var(--color-text-muted);margin-left:auto;font-size:12px}.month-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.month-summary article{border:1px solid var(--color-border);background:var(--color-surface-1);border-radius:11px;align-items:center;gap:10px;min-width:0;padding:11px 13px;display:flex}.month-summary article>svg{color:var(--color-action);flex:none}.month-summary article>div{min-width:0;display:grid}.month-summary span{color:var(--color-text-muted);font-size:11px}.month-summary strong{font-size:18px}.month-summary__dot{background:var(--color-xp);width:12px;height:12px;box-shadow:0 0 10px color-mix(in srgb, var(--color-xp) 35%, transparent);border-radius:50%}.month-calendar{border:1px solid var(--color-border);background:var(--color-surface-1);box-shadow:var(--card-shadow), var(--surface-highlight);border-radius:14px;overflow:hidden}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.month-weekdays span{color:var(--color-text-muted);text-align:center;text-transform:uppercase;padding:8px 7px;font-size:11px;font-weight:700}.month-cell{border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface-1);min-width:0;min-height:124px;color:var(--color-text);cursor:pointer;text-align:left;align-content:start;gap:7px;padding:8px;display:grid;position:relative}.month-cell:nth-child(7n){border-right:0}.month-cell:hover{background:var(--color-surface-2)}.month-cell--empty{cursor:default;background:color-mix(in srgb, var(--color-background) 60%, var(--color-surface-1))}.month-cell--today{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-action) 65%, transparent)}.month-cell--selected{background:var(--color-active-surface);box-shadow:inset 0 0 0 2px var(--color-action)}.month-cell__date{justify-content:space-between;align-items:center;gap:5px;display:flex}.month-cell__date strong{font-size:13px}.month-cell__date span{color:var(--color-action);text-transform:uppercase;font-size:9px;font-weight:700}.month-cell__items{gap:3px;min-width:0;display:grid}.month-chip{border-left:2px solid var(--color-border-strong);background:var(--color-surface-2);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:3px 5px;font-size:10px;line-height:14px;display:block;overflow:hidden}.month-chip--p0{border-left-color:var(--color-error)}.month-chip--p1{border-left-color:var(--color-warning)}.month-chip--p2{border-left-color:var(--color-action)}.month-chip--p3{border-left-color:var(--color-text-muted)}.month-cell__more,.month-cell__done{color:var(--color-text-muted);font-size:9px}.month-cell__done{color:var(--color-success);justify-self:end}.month-selected{border:1px solid var(--color-border);background:var(--color-surface-1);border-radius:14px;overflow:hidden}.month-selected__header{border-bottom:1px solid var(--color-border);background:var(--color-surface-2);justify-content:space-between;align-items:center;gap:14px;padding:12px 15px;display:flex}.month-selected__header h2{margin:3px 0 0;font-size:18px}.month-selected__empty{color:var(--color-text-muted);text-align:center;padding:24px 15px}.month-selected__list{display:grid}.month-selected-item{border-bottom:1px solid var(--color-border);min-height:56px;color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 14px;text-decoration:none;display:grid}.month-selected-item:last-child{border-bottom:0}.month-selected-item:hover{background:var(--color-surface-2)}.month-selected-item>div{gap:2px;min-width:0;display:grid}.month-selected-item strong,.month-selected-item>div span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-selected-item>div span,.month-selected-item small{color:var(--color-text-muted);font-size:11px}.month-selected-item--completed{opacity:.7}[data-theme=neon_tactical] .month-toolbar,[data-theme=neon_tactical] .month-calendar,[data-theme=neon_tactical] .month-selected,[data-theme=neon_tactical] .month-summary article{background:linear-gradient(145deg,#091624f0,#050e18f5);border-color:#20c6ff3d;border-radius:4px 14px}[data-theme=neon_tactical] .month-weekdays,[data-theme=neon_tactical] .month-selected__header{background:linear-gradient(90deg,#122f4873,#08131fe0);border-bottom-color:#20c6ff2e}[data-theme=neon_tactical] .month-cell{background:#05101beb;border-color:#20c6ff1c}[data-theme=neon_tactical] .month-cell:hover{background:linear-gradient(145deg,#0e293ecc,#06121ff0)}[data-theme=neon_tactical] .month-cell--today{box-shadow:inset 0 0 0 1px #20c6ffbf,0 0 14px #20c6ff14}[data-theme=neon_tactical] .month-cell--selected{box-shadow:inset 0 0 0 2px var(--neon-cyan), 0 0 16px #20c6ff1a;background:linear-gradient(145deg,#14435ea8,#23194670)}[data-theme=neon_tactical] .month-chip{background:#071726e6;border-color:#20c6ff57}@media (max-width:900px){.month-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.month-cell{min-height:92px;padding:6px}.month-chip{font-size:9px}.month-cell__items .month-chip:nth-child(n+3){display:none}}@media (max-width:640px){.month-toolbar{flex-wrap:wrap;align-items:stretch}.month-toolbar__navigation{flex:100%;justify-content:space-between}.month-toolbar__timezone{width:100%;margin-left:0}.month-weekdays span{padding-inline:2px;font-size:9px}.month-cell{gap:3px;min-height:64px;padding:5px 4px}.month-cell__date{justify-content:center}.month-cell__date span,.month-cell__items,.month-cell__done{display:none}.month-cell--today .month-cell__date strong:after{content:"•";color:var(--color-action);margin-left:2px}.month-cell:not(.month-cell--empty):has(.month-chip) .month-cell__date:after{background:var(--color-action);content:"";border-radius:50%;width:5px;height:5px}.month-selected__header{flex-direction:column;align-items:flex-start}.month-selected__header .button{width:100%}.month-selected-item{grid-template-columns:auto minmax(0,1fr)}.month-selected-item>small{grid-column:2}}
.weekly-review-page{gap:18px;display:grid}.weekly-review-header>a{align-self:flex-start;text-decoration:none}.weekly-review-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.weekly-review-summary article{border:1px solid var(--color-border);background:var(--color-surface-1);box-shadow:var(--surface-highlight);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;padding:13px 15px;display:grid}.weekly-review-summary article>svg{color:var(--color-action);grid-row:1/3}.weekly-review-summary article>span{color:var(--color-text-muted);font-size:11px}.weekly-review-summary article>strong{text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.weekly-review-summary article>strong small{color:var(--color-text-muted);margin-left:5px;font-size:10px;font-weight:600}.weekly-review-summary article.is-complete{border-color:color-mix(in srgb, var(--color-success) 42%, var(--color-border))}.weekly-review-summary article.is-complete>svg,.weekly-review-summary article.is-complete>strong{color:var(--color-success)}.weekly-review-summary article.is-warning{border-color:color-mix(in srgb, var(--color-error) 42%, var(--color-border))}.weekly-review-summary article.is-warning>svg,.weekly-review-summary article.is-warning>strong{color:var(--color-error)}.weekly-review-panel{border:1px solid var(--color-border);background:var(--color-surface-1);box-shadow:var(--card-shadow), var(--surface-highlight);border-radius:14px;overflow:hidden}.weekly-review-panel__intro{border-bottom:1px solid var(--color-border);background:var(--color-surface-2);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.weekly-review-panel__intro h2,.weekly-review-panel__intro p{margin:0}.weekly-review-panel__intro h2{font-size:17px}.weekly-review-panel__intro p{max-width:760px;color:var(--color-text-muted);margin-top:5px;font-size:12px;line-height:1.5}.weekly-review-status{border:1px solid color-mix(in srgb, var(--color-success) 40%, var(--color-border));color:var(--color-success);border-radius:99px;flex:none;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.weekly-review-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 20px;display:grid}.weekly-review-fields label{align-content:start;gap:6px;min-width:0;display:grid}.weekly-review-fields label>span{font-size:13px;font-weight:750}.weekly-review-fields label>small{min-height:34px;color:var(--color-text-muted);font-size:11px;line-height:1.45}.weekly-review-fields textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface-2);width:100%;min-height:150px;color:var(--color-text);font:inherit;border-radius:10px;outline:none;padding:11px 12px;font-size:13px;line-height:1.5}.weekly-review-fields textarea:focus{border-color:var(--color-action);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-action) 12%, transparent)}.weekly-review-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:9px;padding:14px 20px 18px;display:flex}[data-theme=neon_tactical] .weekly-review-panel,[data-theme=neon_tactical] .weekly-review-summary article{background:linear-gradient(145deg,#091726f5,#040d17f7);border-color:#20c6ff3d;border-radius:4px 14px}[data-theme=neon_tactical] .weekly-review-panel__intro{background:linear-gradient(90deg,#122f4870,#07121fe0 75%,#a765ff12);border-bottom-color:#20c6ff2e}[data-theme=neon_tactical] .weekly-review-fields textarea{background:#05111de0;border-color:#20c6ff33}@media (max-width:1100px){.weekly-review-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.weekly-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-review-fields{grid-template-columns:1fr}.weekly-review-fields label>small{min-height:0}}@media (max-width:560px){.weekly-review-panel__intro{flex-direction:column}.weekly-review-summary{gap:7px}.weekly-review-summary article{padding:10px}.weekly-review-fields,.weekly-review-actions{padding-left:14px;padding-right:14px}.weekly-review-actions{grid-template-columns:1fr;display:grid}}
