.knight-view{flex:1;display:flex;min-height:0;min-width:0;overflow:hidden}.knight-sidebar{width:260px;min-width:260px;background:linear-gradient(180deg,#140b05,#1b0f08);border-right:1px solid rgba(212,175,55,.18);display:flex;flex-direction:column;height:100dvh;overflow-y:auto}.knight-sidebar-header{padding:16px;border-bottom:1px solid var(--border)}.knight-sidebar-header h2{margin:0;font-size:1em;color:var(--accent);font-weight:700}.knight-sidebar-item{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 16px;color:var(--text-secondary);cursor:pointer;border:none;border-left:3px solid transparent;background:none;width:100%;text-align:left;font-size:.9em;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.knight-sidebar-item:hover{background:#d4af3714;color:var(--text-primary)}.knight-sidebar-item.active{color:var(--text-primary);background:linear-gradient(90deg,#d4af3729,#d4af370a);border-left-color:var(--accent);font-weight:700}.knight-sidebar-item svg{flex:0 0 auto;color:currentColor;opacity:.88}.knight-sidebar-group{display:flex;flex-direction:column}.knight-sidebar-subnav{display:flex;flex-direction:column;gap:2px;padding:4px 10px 8px 34px}.knight-sidebar-subitem{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;padding:5px 9px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer;text-align:left;font-size:.78em}.knight-sidebar-subitem:hover,.knight-sidebar-subitem:focus-visible{background:#d4af3714;color:var(--text-primary);outline:none}.knight-sidebar-subitem.active{background:#d4af3729;color:var(--accent);font-weight:700}.knight-sidebar-subitem span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knight-sidebar-subitem span:last-child{flex:0 0 auto;color:var(--accent);font-size:.86em;font-weight:800}.knight-content{flex:1;overflow-y:auto;position:relative;padding:28px;background:repeating-linear-gradient(0deg,rgba(212,175,55,.018) 0,rgba(212,175,55,.018) 1px,transparent 1px,transparent 7px),linear-gradient(180deg,#1a0f08,#160c06)}.knight-pull-indicator{position:absolute;top:12px;left:50%;z-index:5;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(180deg,#2a1810,#221308);border:1px solid rgba(212,175,55,.45);box-shadow:0 4px 12px #00000059;pointer-events:none;transform:translate(-50%,-50px);opacity:0}.knight-pull-indicator.animating{transition:transform .22s ease,opacity .22s ease}.knight-pull-spinner{flex:0 0 auto;box-sizing:border-box;width:16px;height:16px;border:2px solid rgba(212,175,55,.22);border-top-color:var(--accent);border-radius:50%;transition:transform .18s ease,border-color .18s ease}.knight-pull-indicator.ready .knight-pull-spinner{border-color:var(--accent);transform:rotate(180deg)}.knight-pull-indicator.refreshing .knight-pull-spinner{animation:knight-pull-spin .7s linear infinite;border-color:#d4af3738;border-top-color:var(--accent);transform:none}@keyframes knight-pull-spin{to{transform:rotate(360deg)}}.knight-pull-content.animating{transition:transform .22s ease}.knight-history-filter{display:flex;gap:6px;margin-bottom:14px;padding:4px;background:#140b0566;border:1px solid rgba(125,92,54,.32);border-radius:10px}.knight-history-filter-tab{flex:1;padding:8px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-secondary);font:inherit;font-size:.84em;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.knight-history-filter-tab:hover:not(.active){color:var(--text-primary);background:#d4af3714}.knight-history-filter-tab.active{background:linear-gradient(180deg,#d4af3740,#d4af371a);border-color:#d4af378c;color:var(--text-primary)}.knight-pull-content{max-width:1280px;margin:0 auto}@media(max-width:768px){.knight-pull-content{max-width:none}}.knight-infinite-sentinel{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 0}.knight-infinite-sentinel .knight-pull-spinner{animation:knight-pull-spin .7s linear infinite}.knight-diamond-list{display:flex;flex-direction:column;gap:10px}.knight-diamond-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;background:linear-gradient(180deg,#2a1810eb,#1f120bf0);border:1px solid rgba(125,92,54,.42);border-left-width:3px;border-radius:8px;box-shadow:inset 0 1px #ffffff06;transition:background .15s ease,border-color .15s ease,transform .15s ease}.knight-diamond-card:hover,.knight-diamond-card:focus-visible{background:linear-gradient(180deg,#321e13f5,#23150df5);border-color:#d4af3757;transform:translateY(-1px);outline:none}.knight-diamond-card.plus{border-left-color:#57ab59b3}.knight-diamond-card.minus{border-left-color:#ff78788c}.knight-diamond-icon{width:36px;height:36px;object-fit:contain;flex:0 0 auto}.knight-diamond-text{min-width:0;display:flex;flex-direction:column;gap:3px}.knight-diamond-type{color:var(--text-primary);font-size:.92em;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knight-diamond-time{color:var(--text-secondary);font-size:.78em}.knight-diamond-amount{flex:0 0 auto;font-size:1em;font-weight:800;font-variant-numeric:tabular-nums;padding:6px 10px;border-radius:999px;background:#140b0580}.knight-diamond-amount.plus{color:#8ee690;border:1px solid rgba(87,171,89,.5)}.knight-diamond-amount.minus{color:#ff9b9b;border:1px solid rgba(255,120,120,.45)}@media(max-width:480px){.knight-diamond-card{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:10px 12px}.knight-diamond-icon{width:30px;height:30px}.knight-diamond-amount{font-size:.92em;padding:5px 8px}}.knight-content h2:not(.kp-name){margin:0 0 18px;font-size:1.18em;color:var(--accent);letter-spacing:.02em}.knight-subtitle{margin:0 0 12px;font-size:.95em;color:var(--text-secondary)}.knight-empty{margin:0;color:var(--text-secondary);font-size:.9em}.knight-card{background:linear-gradient(180deg,#2a1810fa,#22130cfa);border:1px solid rgba(125,92,54,.48);border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 12px 26px #00000029}.knight-card-title{font-size:.75em;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(212,175,55,.16);font-weight:700}.knight-profile-header{display:flex;align-items:center;gap:16px}.knight-header-rank{width:56px;height:56px;flex-shrink:0}.knight-header-info{flex:1;min-width:0}.knight-header-name{font-size:1.3em;font-weight:700;color:var(--text-primary);line-height:1.2}.knight-header-rankname{font-size:.85em;color:var(--text-secondary);margin-top:2px}.knight-header-title{font-size:.8em;color:var(--accent);margin-top:1px;font-style:italic}.knight-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.knight-stat-row{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid rgba(64,37,20,.25)}.knight-stat-row:last-child{border-bottom:none}img.knight-stat-icon{width:22px;height:22px;flex-shrink:0;object-fit:contain;opacity:.85}.knight-stat-row .knight-stat-label{flex:1;font-size:.85em;color:var(--text-secondary)}.knight-stat-row .knight-stat-value{font-size:.95em;color:var(--text-primary);font-weight:600;text-align:right}.knight-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.knight-resource{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:10px 8px;border:1px solid rgba(125,92,54,.24);border-radius:8px;background:#140b0547;transition:background .15s,border-color .15s}.knight-resource:hover{background:#d4af3714;border-color:#d4af3747}img.knight-resource-icon{width:26px;height:26px;object-fit:contain}.knight-resource-value{font-size:1em;font-weight:700;color:var(--text-primary);line-height:1.2}.knight-resource-label{font-size:.65em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.knight-resource-extra{font-size:.7em;color:var(--text-secondary);text-align:center;line-height:1.2}.knight-item-list{display:flex;flex-direction:column;gap:9px}.knight-item{display:flex;align-items:center;gap:12px;padding:12px;background:#140b0557;border:1px solid rgba(125,92,54,.38);border-radius:8px;flex-wrap:wrap;box-shadow:inset 0 1px #ffffff06;transition:background .15s ease,border-color .15s ease,transform .15s ease}.knight-item:hover,.knight-item:focus-visible{background:#d4af370f;border-color:#d4af375c;transform:translateY(-1px);outline:none}.knight-item.equipped,.knight-item.active{border-color:#43b58180;background:#43b58114}.knight-item-icon{width:42px;height:42px;object-fit:contain;flex-shrink:0;border-radius:8px;background:#0a060394;border:1px solid rgba(212,175,55,.16);padding:4px}.knight-item-main{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:3px}.knight-item-name{flex:1;color:var(--text-primary);font-weight:500;min-width:0}.knight-item-description{color:var(--text-secondary);font-size:.78em;line-height:1.35}.knight-item-amount{color:var(--text-secondary);font-size:.85em}.knight-item-stats{color:var(--accent);font-size:.8em}.knight-item-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.knight-item-action{border:1px solid rgba(212,175,55,.5);background:linear-gradient(180deg,#d4af372e,#d4af3714);color:var(--accent);border-radius:8px;padding:7px 10px;font:inherit;font-size:.82em;font-weight:700;cursor:pointer}.knight-item-action.secondary{border-color:#a0908059;background:#a090801a;color:var(--text-secondary)}.knight-item-action:hover:not(:disabled),.knight-item-action:focus-visible{border-color:var(--accent);color:var(--text-primary);outline:none}.knight-item-action:disabled{opacity:.55;cursor:wait}.knight-backpack-grid{display:flex;flex-wrap:wrap;gap:8px}.knight-backpack-pill{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border:1px solid rgba(125,92,54,.45);border-radius:999px;background:#140b0580;color:var(--text-primary);font-size:.92em}.knight-backpack-pill.equipped{border-color:#43b58199;background:#43b58114}.knight-backpack-pill>img{width:24px;height:24px;object-fit:contain;flex:0 0 auto}.knight-backpack-pill-amount{flex:0 0 auto;color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums}.knight-backpack-pill.equipped .knight-backpack-pill-amount{color:#8ee690}.knight-backpack-pill-name{flex:0 1 auto;min-width:0;font-weight:500}.knight-backpack-icon-wrap{width:44px;display:flex;align-items:center;justify-content:center}.knight-backpack-main{flex:initial;min-width:0}.knight-backpack-side{display:grid;grid-template-rows:auto auto;align-content:center;justify-items:end;gap:8px;min-width:0}.knight-backpack-title-row{display:flex;align-items:center;gap:7px;min-width:0}.knight-backpack-title-row .knight-item-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knight-backpack-count{flex:0 0 auto;color:var(--text-secondary);font-size:.78em;font-weight:700;line-height:1;white-space:nowrap}.knight-backpack-meta{align-items:center;align-self:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;width:100%}.knight-backpack-meta .knight-item-action{min-width:92px;white-space:nowrap}.knight-skill-item{display:grid;grid-template-columns:50px minmax(0,1fr) 92px;align-items:center;column-gap:12px;row-gap:6px;flex-wrap:nowrap}.knight-skill-icon-wrap{width:50px;display:flex;align-items:center;justify-content:center}.knight-skill-main{flex:initial;min-width:0;gap:5px}.knight-skill-meta{align-items:center;align-self:center;flex:0 0 auto;margin-left:auto;justify-content:flex-end;min-width:92px}.knight-skill-title-row{display:flex;align-items:center;gap:7px;min-width:0}.knight-skill-title-row .knight-item-name{flex:0 1 auto;min-width:0}.knight-skill-item .knight-item-name,.knight-skill-item .knight-item-description{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.knight-skill-item .knight-item-action{white-space:nowrap}.knight-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.75em;font-weight:700}.knight-badge.active{background:#43b58126;color:var(--online)}.knight-badge.inactive{background:#a0908026;color:var(--text-secondary)}.knight-badge.done{background:#d4af3726;color:var(--accent)}.knight-progress{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden;margin-top:4px}.knight-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.knight-achievement-overview h3{margin:0 0 12px;color:var(--text-primary);font-size:1em}.knight-achievement-total-progress{height:24px;margin-bottom:14px}.knight-achievement-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.knight-achievement-stats li{padding:12px;border:1px solid rgba(125,92,54,.32);border-radius:8px;background:#140b0547}.knight-achievement-stats .stat-value{display:block;color:var(--accent);font-size:1.35em;font-weight:800;line-height:1.1}.knight-achievement-stats .stat-label{display:block;margin-top:4px;color:var(--text-secondary);font-size:.76em;text-transform:uppercase;letter-spacing:.03em}.knight-achievement-category-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;color:var(--text-primary);font-size:1em}.knight-achievement-category-count{flex:0 0 auto;padding:4px 9px;border:1px solid rgba(212,175,55,.42);border-radius:999px;background:#d4af3714;color:var(--accent);font-size:.76em;font-weight:800}.knight-achievement-mobile-nav{display:none}.knight-achievement-category-card{scroll-margin-top:72px}.knight-achievement-category-card.collapsed{padding-bottom:14px}.knight-achievement-category-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0 0 12px;padding:0;border:0;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font:inherit}.knight-achievement-category-card.collapsed .knight-achievement-category-toggle{margin-bottom:0}.knight-achievement-category-title{min-width:0;color:var(--text-primary);font-size:1em;font-weight:700}.knight-achievement-category-meta{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto}.knight-achievement-category-chevron{width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .16s ease}.knight-achievement-category-toggle[aria-expanded=true] .knight-achievement-category-chevron{transform:rotate(225deg)}.knight-achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.knight-achievement{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;min-height:220px;padding:18px;background:repeating-linear-gradient(0deg,rgba(212,175,55,.014) 0,rgba(212,175,55,.014) 1px,transparent 1px,transparent 9px),linear-gradient(135deg,#2d2017fa,#1e1712fa);border:1px solid rgba(125,92,54,.58);border-radius:8px;box-shadow:0 10px 22px #0003;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.knight-achievement.maxed{min-height:0;gap:10px;padding:14px}.knight-achievement:hover,.knight-achievement:focus-visible{transform:translateY(-2px);border-color:#d4af37d9;box-shadow:0 14px 28px #00000052;outline:none}.knight-achievement.completed{border-color:#57ab59b8}.knight-achievement.completed:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,rgba(87,171,89,.95),transparent)}.knight-achievement.golden{border-color:#d4af37e6;box-shadow:0 4px 18px #d4af372e}.knight-achievement.locked{opacity:.78}.knight-achievement-golden-badge{position:absolute;top:12px;left:14px;color:var(--accent);font-size:1.1em;text-shadow:0 0 10px rgba(212,175,55,.8);z-index:2}.knight-achievement-tier-badge{position:absolute;top:12px;right:12px;padding:5px 10px;border-radius:999px;background:#2d2017f5;border:1px solid rgba(212,175,55,.55);color:var(--accent);font-size:.72em;font-weight:700;z-index:2}.knight-achievement-tier-badge.tier-max{background:#57ab592e;border-color:#57ab59c7;color:#8ee690}.knight-achievement-header{display:grid;grid-template-columns:74px 1fr;gap:14px;min-width:0}.knight-achievement.maxed .knight-achievement-header{grid-template-columns:58px 1fr;gap:10px;align-items:center}.knight-achievement-image{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#00000038;border:2px solid rgba(212,175,55,.38);box-shadow:0 2px 8px #00000052}.knight-achievement.maxed .knight-achievement-image{width:50px;height:50px}.knight-achievement.completed .knight-achievement-image{box-shadow:0 0 14px #57ab5952}.knight-achievement.locked .knight-achievement-image{filter:grayscale(.95);opacity:.72}.knight-achievement-info{min-width:0;display:flex;flex-direction:column;gap:7px;padding-right:74px}.knight-achievement.maxed .knight-achievement-info{gap:4px;padding-right:42px}.knight-achievement-title{margin:0;color:var(--text-primary);font-size:1.02em;font-weight:700;line-height:1.22}.knight-achievement-description{margin:0;color:var(--text-secondary);font-size:.86em;line-height:1.42}.knight-achievement.maxed .knight-achievement-description{line-height:1.28}.knight-achievement-chat-link{color:var(--accent);font-size:.82em;font-weight:700;text-decoration:none}.knight-achievement-chat-link:hover,.knight-achievement-chat-link:focus-visible{text-decoration:underline}.knight-achievement-progress{height:18px;background:#110c09c7;border-radius:999px;overflow:hidden;border:1px solid rgba(125,92,54,.45)}.knight-achievement-progress-bar{height:100%;min-width:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#b5872f,#d4af37);color:#23170d;font-size:.68em;font-weight:800;transition:width .3s ease}.knight-achievement.completed .knight-achievement-progress-bar,.knight-achievement-category-progress .knight-achievement-progress-bar{background:linear-gradient(90deg,#4caf50,#88d36f)}.knight-achievement-progress-text{display:flex;justify-content:space-between;gap:10px;color:var(--text-secondary);font-size:.72em;margin-top:-8px}.knight-achievement-difficulty{display:flex;flex-wrap:wrap;gap:7px}.knight-achievement-difficulty .difficulty{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;border:1px solid rgba(125,92,54,.42);color:var(--text-secondary);font-size:.75em;font-weight:700}.knight-achievement-difficulty .difficulty.completed{color:#8ee690;border-color:#57ab599e;background:#57ab5921}.knight-achievement-difficulty .difficulty.next{color:var(--accent);border-color:#d4af3799;background:#d4af371a}.knight-achievement-difficulty .difficulty.locked{opacity:.6}.knight-achievement-category-progress{display:flex;flex-direction:column;gap:8px}.knight-achievement-category-target{display:inline-flex;width:fit-content;max-width:100%;padding:5px 8px;border-radius:8px;background:#d4af371a;border:1px solid rgba(212,175,55,.35);color:var(--accent);font-size:.76em;font-weight:700}.knight-achievement-rewards{margin-top:auto;padding-top:12px;border-top:1px solid rgba(125,92,54,.34)}.knight-achievement-rewards-title{color:var(--accent);font-size:.76em;font-weight:800;margin-bottom:7px}.knight-achievement-reward-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.knight-achievement-reward-list .reward{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border-radius:999px;border:1px solid rgba(125,92,54,.38);background:#0000002e;color:var(--text-secondary);font-size:.74em;font-weight:700}.knight-achievement-reward-list .reward.gold,.knight-achievement-reward-list .reward.diamonds{color:var(--accent);border-color:#d4af3766}.knight-achievement-reward-list .reward img{width:16px;height:16px;object-fit:contain;flex-shrink:0}.knight-achievement-log-card{border-color:#d4af3757}.knight-achievement-log-list{display:flex;flex-direction:column;gap:0}.knight-achievement-log-date{position:relative;display:flex;justify-content:center;margin:12px 0 6px;color:var(--accent);font-size:.78em;font-weight:800}.knight-achievement-log-date:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#7d5c368c}.knight-achievement-log-date span{position:relative;z-index:1;padding:3px 14px;border-radius:999px;background:#3a2718}.knight-achievement-log-entry{display:grid;grid-template-columns:46px 48px minmax(0,1fr);gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(125,92,54,.34)}.knight-achievement-log-entry:last-child{border-bottom:none}.knight-achievement-log-entry.golden{border-left:3px solid var(--accent);padding-left:10px}.knight-achievement-log-time{color:var(--text-secondary);font-size:.78em;padding-top:12px;font-variant-numeric:tabular-nums}.knight-achievement-log-image{width:42px;height:42px;object-fit:cover;border-radius:8px;border:2px solid rgba(87,171,89,.62);background:#00000038}.knight-achievement-log-entry.golden .knight-achievement-log-image{border-color:#d4af37d1}.knight-achievement-log-content{min-width:0;display:flex;flex-direction:column;gap:6px}.knight-achievement-log-text{color:var(--text-primary);font-size:.9em;line-height:1.35}.knight-achievement-log-rewards{display:flex;flex-direction:column;gap:6px}.knight-achievement-log-reward-label{color:var(--text-secondary);font-size:.78em;font-weight:700}.knight-more-button{display:flex;align-items:center;justify-content:center;width:100%;margin-top:12px;min-height:38px;border:1px solid rgba(212,175,55,.36);border-radius:8px;background:#d4af3714;color:var(--accent);cursor:pointer;font-weight:800}.knight-more-button:hover,.knight-more-button:focus-visible{background:#d4af3724;outline:none}.knight-achievement-completed-check{position:absolute;right:14px;bottom:12px;color:#8ee690;font-size:1.2em;text-shadow:0 0 10px rgba(87,171,89,.55)}.knight-loading,.knight-error{text-align:center;padding:40px;color:var(--text-secondary)}.knight-error.compact{padding:10px 12px;margin-bottom:12px;text-align:left;color:#ff9b9b;border:1px solid rgba(255,107,107,.28);border-radius:8px;background:#ff6b6b14}.knight-energy-bar{display:flex;align-items:center;gap:12px}.knight-energy-bar img{width:24px;height:24px}.knight-energy-bar .knight-progress{flex:1;height:10px}.knight-energy-text{font-size:.85em;color:var(--text-secondary);min-width:80px;text-align:right}.knight-division{margin-top:12px}.knight-division-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.knight-division-label span:first-child{font-size:.75em;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em}.knight-division-label span:last-child{font-size:.8em;color:var(--text-primary)}.knight-division .knight-progress{height:10px}.knight-order{display:flex;align-items:center;gap:6px;margin-top:4px}.knight-order img{width:20px;height:20px}.knight-order span{font-size:.8em;color:var(--text-secondary)}.knight-blacksmith{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.knight-smith-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:8px;background:var(--bg-primary)}.knight-smith-item img{width:32px;height:32px}.knight-smith-value{font-size:1.2em;font-weight:700;color:var(--text-primary)}.knight-smith-label{font-size:.7em;color:var(--text-secondary);text-transform:uppercase}.knight-log-list,.knight-letter-list{display:flex;flex-direction:column;gap:9px}.knight-history-group-list{display:flex;flex-direction:column;gap:12px}.knight-history-group{padding:14px;background:linear-gradient(180deg,#2a1810eb,#1f120bf2);border:1px solid rgba(125,92,54,.42);border-radius:8px;box-shadow:inset 0 1px #ffffff06}.knight-history-group.collapsed{padding-bottom:14px}.knight-history-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0 0 12px;padding:0;border:0;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font:inherit}.knight-history-group.collapsed .knight-history-group-toggle{margin-bottom:0}.knight-history-group-title{min-width:0;color:var(--text-primary);font-size:.98em;font-weight:800}.knight-history-group-meta{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto}.knight-history-group-count{min-width:28px;padding:4px 9px;border:1px solid rgba(212,175,55,.42);border-radius:999px;background:#d4af3714;color:var(--accent);font-size:.76em;font-weight:800;text-align:center}.knight-history-group-chevron{width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .16s ease}.knight-history-group-toggle[aria-expanded=true] .knight-history-group-chevron{transform:rotate(225deg)}.knight-history-group-body .knight-log-row{background:#140b053d}.knight-history-empty{padding:12px;border:1px dashed rgba(125,92,54,.32);border-radius:8px;color:var(--text-secondary);font-size:.86em}.knight-log-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(90px,.7fr) minmax(180px,1.6fr) minmax(80px,.7fr);gap:12px;align-items:center;min-height:56px;padding:12px 14px;background:linear-gradient(180deg,#2a1810e6,#1f120beb);border:1px solid rgba(125,92,54,.42);border-radius:8px;box-shadow:inset 0 1px #ffffff06;transition:background .15s ease,border-color .15s ease,transform .15s ease}.knight-log-row:hover,.knight-log-row:focus-visible{background:linear-gradient(180deg,#321e13f5,#23150df5);border-color:#d4af3757;transform:translateY(-1px);outline:none}.knight-log-row.activity{grid-template-columns:34px 1fr minmax(120px,auto)}.knight-log-row.trade{grid-template-columns:minmax(120px,.8fr) minmax(240px,1.8fr) minmax(120px,.8fr) minmax(90px,.7fr)}.knight-log-row.activity img{width:30px;height:30px;object-fit:contain;padding:3px;border-radius:7px;background:#140b0570;border:1px solid rgba(212,175,55,.14)}.knight-log-time,.knight-log-meta{color:var(--text-secondary);font-size:.82em}.knight-log-main{color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.knight-log-main span{color:var(--text-secondary)}.knight-log-status{color:var(--accent);font-size:.86em;font-weight:700}.knight-log-status.won{color:var(--online)}.knight-log-status.lost{color:#ff7878}.knight-fight-list{display:flex;flex-direction:column;gap:10px}.knight-fight-card{display:flex;flex-direction:column;gap:10px;padding:13px 14px;background:linear-gradient(180deg,#2a1810eb,#1f120bf2);border:1px solid rgba(125,92,54,.42);border-radius:8px;box-shadow:inset 0 1px #ffffff06;transition:background .15s ease,border-color .15s ease,transform .15s ease}.knight-fight-card.won{border-left:3px solid rgba(87,171,89,.72)}.knight-fight-card.lost{border-left:3px solid rgba(255,120,120,.68)}.knight-fight-card:hover,.knight-fight-card:focus-visible{background:linear-gradient(180deg,#321e13f5,#23150df5);border-color:#d4af3757;transform:translateY(-1px);outline:none}.knight-fight-topline{display:flex;flex-direction:column;gap:5px;min-width:0}.knight-fight-matchup{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.knight-fight-person{display:flex;align-items:center;gap:9px;min-width:0}.knight-fight-person:last-child{flex-direction:row-reverse;justify-content:flex-start}.knight-fight-person:last-child .knight-fight-person-text{align-items:flex-end}.knight-fight-person:last-child .knight-fight-honor{flex-direction:row-reverse}.knight-fight-avatar.avatar-custom-wrap,.knight-fight-avatar.avatar-letter,.knight-fight-person>img{flex:0 0 auto}.knight-fight-person .avatar-custom-wrap{width:40px;height:40px}.knight-fight-person>img{width:40px;height:40px;border-radius:50%;object-fit:contain}.knight-fight-person-text{display:flex;flex-direction:column;min-width:0;gap:1px}.knight-fight-name{overflow:hidden;color:var(--text-primary);font-size:.94em;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.knight-fight-honor{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:.76em;font-weight:700}.knight-fight-honor img{width:14px;height:14px;object-fit:contain;flex:0 0 auto}.knight-fight-person-delta{font-size:.74em;font-weight:800;font-variant-numeric:tabular-nums;margin-top:1px}.knight-fight-person-delta.plus{color:#8ee690}.knight-fight-person-delta.minus{color:#ff9b9b}.knight-fight-versus{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(212,175,55,.26);border-radius:50%;background:#140b0561;color:var(--accent);font-size:.78em;font-weight:800;letter-spacing:.04em}.knight-fight-summary{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0}.knight-fight-delta{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 9px;border-radius:999px;background:#140b055c;font-size:.8em;font-weight:800}.knight-fight-delta.won{color:#8ee690;border:1px solid rgba(87,171,89,.5)}.knight-fight-delta.lost{color:#ff9b9b;border:1px solid rgba(255,120,120,.45)}.knight-fight-stole{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:.78em;font-weight:800}.knight-fight-stole img{width:15px;height:15px;object-fit:contain}.knight-letter{padding:20px;background-color:#f3e0c2;border:1px solid #c7a57b;border-radius:8px;box-shadow:0 4px 8px #0000002e;color:#5e4d3c;font-family:Georgia,Times New Roman,serif}.knight-letter-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-weight:700;font-size:1.05em;color:#4b382a}.knight-letter-author{flex:1;min-width:0;overflow-wrap:anywhere}.knight-letter-timestamp{flex:0 0 auto;color:#8d7b68;font-size:.86em;font-weight:500}.knight-letter-divider{border-bottom:1px solid #c7a57b;margin:7px 0}.knight-letter p{margin:0;color:#5e4d3c;line-height:1.5;white-space:pre-line}.knight-gift-list,.knight-trade-list{display:flex;flex-direction:column;gap:10px}.knight-gift-card,.knight-trade-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:linear-gradient(180deg,#2a1810eb,#1f120bf0);border:1px solid rgba(125,92,54,.42);border-left-width:3px;border-radius:8px;box-shadow:inset 0 1px #ffffff06;transition:background .15s ease,border-color .15s ease,transform .15s ease}.knight-gift-card.incoming,.knight-trade-card.incoming{border-left-color:#57ab59b3}.knight-gift-card.outgoing,.knight-trade-card.outgoing{border-left-color:#d4af37b3}.knight-gift-card:hover,.knight-gift-card:focus-visible,.knight-trade-card:hover,.knight-trade-card:focus-visible{background:linear-gradient(180deg,#321e13f5,#23150df5);border-color:#d4af3757;transform:translateY(-1px);outline:none}.knight-gift-topline,.knight-trade-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.knight-gift-partner,.knight-trade-partner{display:flex;align-items:center;gap:9px;min-width:0}.knight-gift-avatar,.knight-trade-avatar{flex:0 0 auto}.knight-trade-people{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.knight-trade-people-side{display:inline-flex;align-items:center;gap:6px;min-width:0}.knight-trade-people-name{color:var(--text-primary);font-weight:700;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.knight-trade-people-arrow{color:var(--accent);font-size:1.05em;font-weight:700;flex:0 0 auto}.knight-gift-partner-text,.knight-trade-partner-text{display:flex;flex-direction:column;gap:1px;min-width:0}.knight-gift-partner-name,.knight-trade-partner-name{color:var(--text-primary);font-weight:700;font-size:.94em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knight-gift-direction,.knight-trade-direction,.knight-gift-partner-subtitle{color:var(--text-secondary);font-size:.74em;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.knight-gift-avatar-npc{width:36px;height:36px;object-fit:contain;border-radius:50%;background:#140b058c;border:1px solid rgba(212,175,55,.45);flex:0 0 auto}.knight-gift-partner-name-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.knight-npc-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}@media(max-width:768px){.knight-npc-avatar{width:28px;height:28px}}.knight-npc-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;background:#d4af372e;border:1px solid rgba(212,175,55,.55);color:var(--accent);font-size:.7em;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.4;flex:0 0 auto}.knight-npc-badge-letter{background:#4b382a1f;border-color:#4b382a8c;color:#4b382a;margin-left:8px;vertical-align:middle}.knight-gift-card.npc,.knight-letter.npc{border-color:#d4af378c}.knight-player-name-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:inherit;text-decoration:none;border-radius:3px}.knight-player-name-btn:hover,.knight-player-name-btn:focus-visible{color:var(--accent);outline:none}.knight-letter-author-link{color:#4b382a}.knight-letter-author-link:hover,.knight-letter-author-link:focus-visible{color:#8a6517}.player-card-view{display:flex;flex-direction:column;gap:12px;padding:4px 0 24px;max-width:none;margin:0;width:100%;box-sizing:border-box}.player-card-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#140b058c;color:var(--text-primary);border:1px solid rgba(212,175,55,.35);border-radius:999px;font-size:.92em;cursor:pointer;transition:background .15s}.player-card-back:hover{background:#d4af372e}@media(max-width:768px){.player-card-back{padding:6px 12px;font-size:.88em}}.mobile-top-bar{display:none}@media(max-width:768px){.mobile-top-bar{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;z-index:50}.mobile-top-bar.has-desktop-titlebar{top:32px}.mobile-top-bar{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));background:var(--bg-secondary, #1a0f08);border-bottom:1px solid var(--border, rgba(212, 175, 55, .18))}.mobile-top-bar-left,.mobile-top-bar-right{flex:0 0 auto;display:flex;align-items:center}.mobile-top-bar-title{flex:1;min-width:0;text-align:left;font-size:1.05em;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-top-bar-burger{position:relative;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border, rgba(212, 175, 55, .18));border-radius:var(--radius, 8px);color:var(--accent);cursor:pointer;padding:6px 12px;font-size:1.1em;line-height:1}.mobile-top-bar-burger:hover,.mobile-top-bar-burger:focus-visible{background:#d4af3714;outline:none}}.knight-data-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.92em;color:var(--text-primary)}.knight-data-table thead th{text-align:left;font-weight:600;font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:8px 10px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));background:#ffffff05}.knight-data-table tbody td{padding:10px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06));vertical-align:middle}.knight-data-table tbody tr:last-child td{border-bottom:none}.knight-data-table tbody tr:hover{background:#ffffff05}.knight-data-table .knight-data-cell-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.knight-data-table .knight-data-cell-time{white-space:nowrap;color:var(--text-secondary);font-size:.85em}.knight-data-table .knight-data-player{display:inline-flex;align-items:center;gap:6px}.knight-data-table .knight-data-player .avatar-rank-overlay{width:12px;height:12px}.knight-data-table .knight-data-positive{color:#57c97a}.knight-data-table .knight-data-negative{color:#ff8a8a}.knight-data-table .knight-data-diamond-icon,.knight-data-table .knight-data-loot-icon{width:14px;height:14px;margin-left:4px;vertical-align:-2px}.knight-data-table .knight-data-item{display:inline-flex;align-items:center;gap:6px}.knight-data-table .knight-data-item-icon{width:22px;height:22px;flex-shrink:0}.knight-data-table .knight-trade-status.accepted{color:#57c97a}.knight-data-table .knight-trade-status.declined{color:#ff8a8a}.knight-data-table .knight-trade-status.expired{color:var(--text-secondary)}.knight-data-table .knight-trade-status.open{color:#f1c97a}@media(max-width:768px){.knight-data-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.knight-data-table{display:block;margin-top:8px}.knight-data-table tbody{display:block}.knight-data-table tbody tr{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;row-gap:8px;margin-bottom:10px;padding:12px;border:1px solid var(--border, rgba(212, 175, 55, .18));border-radius:10px;background:#ffffff05}.knight-data-table tbody td{display:block;padding:0;border-bottom:none;min-width:0;word-break:break-word}.knight-data-table tbody td:before{content:attr(data-label);display:block;font-size:.68em;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:2px;font-weight:600}.knight-data-table tbody td:empty:before,.knight-data-table tbody td[data-empty]:before{content:""}.knight-data-table tbody td:has(.knight-data-item){grid-column:1 / -1}.knight-data-table .knight-data-player img{width:24px;height:24px}.knight-data-table .knight-data-player .knight-block-name,.knight-data-table .knight-data-player .player-name,.knight-data-table .knight-data-player{min-width:0}.knight-data-table .knight-data-cell-num{text-align:left}.knight-data-table .knight-data-player{gap:8px}.knight-data-table .knight-data-player .avatar-rank-overlay{width:14px;height:14px}.knight-data-table .knight-fights-loot-col,.knight-data-table .knight-fights-result-col{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.knight-fights-table .knight-data-player{display:flex;width:100%}.knight-fights-table .knight-data-player.knight-data-player-right{flex-direction:row;justify-content:flex-end}.knight-fights-table .knight-fights-player-text.knight-fights-player-text-right{align-items:flex-end;text-align:right}.knight-fights-table tbody td .knight-data-delta{margin-top:2px}.knight-fights-table tbody tr{grid-template-columns:1fr auto 1fr;grid-template-areas:"time time time" "atk vs def";align-items:center;column-gap:8px;row-gap:8px;padding:12px 0}.knight-fights-table tbody td.knight-data-cell-time{grid-area:time;text-align:left;padding:0 12px}.knight-fights-table tbody td.knight-fights-atk-col{grid-area:atk;padding:0 0 0 8px}.knight-fights-table tbody td.knight-fights-def-col{grid-area:def;padding:0 8px 0 0}.knight-fights-table tbody td.knight-data-cell-time:before,.knight-fights-table tbody td.knight-fights-atk-col:before,.knight-fights-table tbody td.knight-fights-def-col:before{content:"";display:none}.knight-fights-table tbody tr:before{content:"VS";grid-area:vs;align-self:center;font-size:.7em;font-weight:800;letter-spacing:.1em;color:var(--text-secondary);padding:4px 8px;border:1px solid var(--border, rgba(212, 175, 55, .3));border-radius:999px}.knight-trades-table .knight-data-player{display:inline-flex;width:auto;align-items:center;gap:8px}.knight-trades-table .knight-data-player.knight-data-player-right{flex-direction:row;justify-content:center}.knight-trades-table .knight-fights-player-text,.knight-trades-table .knight-fights-player-text.knight-fights-player-text-right{align-items:center;text-align:center}.knight-trades-table tbody tr{grid-template-columns:1fr 1fr;grid-template-areas:"time   status" "from   offer" "arr    arr" "demand to";align-items:center;column-gap:0;row-gap:8px;padding:14px 12px;text-align:center}.knight-trades-table tbody td.knight-data-cell-time{grid-area:time;text-align:left;color:var(--text-secondary);font-size:.82em;font-variant-numeric:tabular-nums;padding:0 0 6px}.knight-trades-table tbody td.knight-trades-status-col{grid-area:status;text-align:right;padding:0 0 6px;font-size:.82em}.knight-trades-table tbody td.knight-trades-from-col,.knight-trades-table tbody td.knight-trades-demand-col{background:#d4af3712;padding:12px 14px;border-radius:10px 0 0 10px;border-right:1px solid rgba(212,175,55,.22);text-align:center;align-self:stretch;display:flex;align-items:center;justify-content:center}.knight-trades-table tbody td.knight-trades-offer-col,.knight-trades-table tbody td.knight-trades-to-col{background:#d4af3712;padding:12px 14px;border-radius:0 10px 10px 0;color:var(--text-primary);font-weight:500;text-align:center;align-self:stretch;display:flex;align-items:center;justify-content:center}.knight-trades-table tbody td.knight-trades-offer-col,.knight-trades-table tbody td.knight-trades-demand-col{flex-direction:column;gap:2px}.knight-trades-table tbody td.knight-trades-offer-col:before,.knight-trades-table tbody td.knight-trades-demand-col:before{content:attr(data-label);display:block;font-size:.68em;text-transform:lowercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600;margin:0}.knight-trades-table tbody td.knight-trades-from-col{grid-area:from}.knight-trades-table tbody td.knight-trades-to-col{grid-area:to}.knight-trades-table tbody td.knight-trades-offer-col{grid-area:offer}.knight-trades-table tbody td.knight-trades-demand-col{grid-area:demand}.knight-trades-table tbody td.knight-trades-offer-col .knight-data-item,.knight-trades-table tbody td.knight-trades-demand-col .knight-data-item{justify-content:center}.knight-trades-table tbody td.knight-data-cell-time:before,.knight-trades-table tbody td.knight-trades-status-col:before,.knight-trades-table tbody td.knight-trades-from-col:before,.knight-trades-table tbody td.knight-trades-from-col:after,.knight-trades-table tbody td.knight-trades-to-col:before,.knight-trades-table tbody td.knight-trades-to-col:after{content:"";display:none}.knight-trades-table tbody tr:before{content:"⬇";grid-area:arr;justify-self:center;color:var(--accent, #d4af37);font-size:1.6em;line-height:1;margin:2px 0}.knight-gifts-table .knight-data-player{display:inline-flex;flex-direction:row;width:auto;max-width:100%;align-items:center;justify-content:center;gap:8px;margin:0 auto}.knight-gifts-table .knight-fights-player-text{align-items:center;text-align:center;min-width:0;flex:0 1 auto}.knight-gifts-table .knight-player-name-btn{white-space:normal;word-break:break-word;text-align:center;line-height:1.2}.knight-gifts-table tbody tr{grid-template-columns:1fr 1fr;grid-template-areas:"time   status" "partner item";align-items:center;column-gap:0;row-gap:8px;padding:14px 12px;text-align:center}.knight-gifts-table tbody td.knight-data-cell-time{grid-area:time;text-align:left;color:var(--text-secondary);font-size:.82em;font-variant-numeric:tabular-nums;padding:0 0 6px}.knight-gifts-table tbody td.knight-gifts-status-col{grid-area:status;text-align:right;padding:0 0 6px;font-size:.82em}.knight-gifts-table tbody td.knight-gifts-partner-col{grid-area:partner;background:#d4af3712;padding:12px 14px;border-radius:10px 0 0 10px;border-right:1px solid rgba(212,175,55,.22);text-align:center;align-self:stretch;display:flex;align-items:center;justify-content:center}.knight-gifts-table tbody td.knight-gifts-item-col{grid-area:item;background:#d4af3712;padding:12px 14px;border-radius:0 10px 10px 0;color:var(--text-primary);font-weight:500;text-align:center;align-self:stretch;display:flex;align-items:center;justify-content:center}.knight-gifts-table tbody td.knight-gifts-item-col .knight-data-item{justify-content:center}.knight-gifts-table tbody td.knight-gifts-dir-col{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.knight-gifts-table tbody td.knight-data-cell-time:before,.knight-gifts-table tbody td.knight-gifts-status-col:before,.knight-gifts-table tbody td.knight-gifts-partner-col:before,.knight-gifts-table tbody td.knight-gifts-item-col:before{content:"";display:none}.knight-diamonds-table tbody tr{grid-template-columns:1fr auto;grid-template-areas:"time   amount" "reason amount";column-gap:12px;row-gap:2px;padding:12px;align-items:center}.knight-diamonds-table tbody td.knight-diamonds-time-col{grid-area:time;color:var(--text-secondary);font-size:.78em;font-variant-numeric:tabular-nums;align-self:end}.knight-diamonds-table tbody td.knight-diamonds-reason-col{grid-area:reason;align-self:start;line-height:1.3}.knight-diamonds-table tbody td.knight-diamonds-amount-col{grid-area:amount;align-self:center;text-align:right;font-size:1.2em;font-weight:700;white-space:nowrap}.knight-diamonds-table tbody td.knight-diamonds-amount-col .knight-data-diamond-icon{width:18px;height:18px;margin-left:6px;vertical-align:-3px}.knight-diamonds-table tbody td.knight-diamonds-time-col:before,.knight-diamonds-table tbody td.knight-diamonds-reason-col:before,.knight-diamonds-table tbody td.knight-diamonds-amount-col:before{content:"";display:none}}.knight-data-table .knight-data-delta{display:block;margin-top:2px;font-size:.82em;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.knight-data-table .knight-data-delta.positive{color:#57c97a}.knight-data-table .knight-data-delta.negative{color:#ff8a8a}.knight-fights-player-text{display:flex;flex-direction:column;min-width:0}.knight-data-player.knight-data-player-right{flex-direction:row-reverse;justify-content:flex-start}.player-card{position:relative;width:100%;display:flex;flex-direction:column;gap:12px;color:var(--text-primary);box-sizing:border-box}.player-card-section{background:var(--bg-secondary);border:1px solid rgba(125,92,54,.55);border-radius:14px;padding:14px;box-shadow:0 8px 22px #00000073}.player-card-section-title{margin:0 0 10px;font-size:.95em;font-weight:800;color:var(--text-primary)}.player-card-loading,.player-card-error{text-align:center;padding:24px 8px;color:var(--text-secondary)}.player-card-header{display:flex;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(125,92,54,.45)}.player-card-avatar{flex:0 0 56px;width:56px!important;height:56px!important;position:relative}.player-card-avatar-wrap{position:relative;flex:0 0 72px;width:72px;height:72px}.player-card-avatar-wrap>.avatar-custom-wrap,.player-card-avatar-wrap>.avatar-letter,.player-card-avatar-wrap>img:not(.player-card-division-badge):not(.player-card-avatar-npc){width:72px;height:72px}.player-card-avatar-wrap .avatar-custom{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block}.player-card-division-badge{position:absolute;bottom:-4px;right:-4px;width:42px;height:42px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--bg-secondary);object-fit:contain;pointer-events:none;z-index:2}.player-card-rank-title-line{font-size:.78em;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:700;margin-bottom:2px}.player-card-online-dot{display:inline-block;width:9px;height:9px;margin-left:8px;border-radius:50%;background:var(--online, #57ab59);box-shadow:0 0 0 2px #43b58138;vertical-align:middle;flex-shrink:0}.player-card-avatar.avatar-custom-wrap .avatar-rank-overlay{width:26px;height:26px;bottom:-6px;right:-6px;border:0;background:transparent;padding:0}.player-card-rank-icon{object-fit:contain;background:#140b0566;border:1px solid rgba(212,175,55,.3);border-radius:8px;padding:4px}.player-card-avatar-npc{width:56px;height:56px;object-fit:contain;border-radius:50%;background:#140b058c;border:1px solid rgba(212,175,55,.45);flex:0 0 56px}.player-card-name-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.player-card-name-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.player-card-name{margin:0;font-size:1.2em;color:var(--text-primary);font-weight:800;overflow-wrap:anywhere}.player-card-title{color:var(--accent);font-size:.86em;font-style:italic}.player-card-rank-title{color:var(--text-secondary);font-size:.82em}.player-card-id{color:var(--text-secondary);font-size:.78em;font-variant-numeric:tabular-nums}.player-card-online{display:inline-flex;align-items:center;gap:4px;color:var(--online, #57ab59);font-size:.74em;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.player-card-online .online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--online, #57ab59);box-shadow:0 0 0 2px #43b58133}.player-card-division{margin-top:14px}.player-card-division-header{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.78em;color:var(--text-secondary);font-weight:700}.player-card-progress{height:18px;background:#2a1810;border:1px solid rgba(125,92,54,.5);border-radius:4px;overflow:hidden}.player-card-progress-bar{height:100%;background:linear-gradient(180deg,#d4af37,#a87f1c);display:flex;align-items:center;justify-content:center;color:#1a0d05;font-size:.74em;font-weight:800;transition:width .3s ease}.player-card-league{margin-top:6px;font-size:.86em;color:var(--accent);font-weight:700}.player-card-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:14px}.player-card-stat{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:0;align-items:center;padding:10px 12px;border:1px solid rgba(125,92,54,.35);border-radius:10px;background:#140b058c;min-width:0;text-align:left}.player-card-stat img{grid-row:1 / span 2;grid-column:1;align-self:center;width:22px;height:22px;object-fit:contain}.player-card-stat-label{grid-row:1;grid-column:2;color:var(--text-secondary);font-size:.66em;text-transform:uppercase;letter-spacing:.04em;font-weight:700;line-height:1.15;margin-bottom:2px;overflow-wrap:anywhere}.player-card-stat-value{grid-row:2;grid-column:2;color:var(--text-primary);font-size:.98em;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}.player-card-stat-value small{color:var(--text-secondary);font-weight:500;font-size:.78em}.player-card-smith{margin-top:14px;padding-top:12px;border-top:1px solid rgba(125,92,54,.32)}.player-card-smith-label{color:var(--text-secondary);font-size:.74em;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:6px}.player-card-smith-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.player-card-smith-stat{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 6px;border:1px solid rgba(125,92,54,.42);border-radius:6px;background:#140b0552}.player-card-smith-icon{width:24px;height:24px;object-fit:contain;flex:0 0 auto}.player-card-smith-hammer{width:16px;height:16px;object-fit:contain;flex:0 0 auto;opacity:.85}.player-card-smith-value{color:var(--text-primary);font-weight:800;font-variant-numeric:tabular-nums;font-size:1em;flex:0 0 auto}.player-card-smith-upgrading{color:var(--accent);font-size:.95em;flex:0 0 auto}.player-card-section.player-card-combat .player-card-stats,.player-card-section.player-card-hunting .player-card-stats{grid-template-columns:1fr}.player-card-section.player-card-combat .player-card-stat,.player-card-section.player-card-hunting .player-card-stat{display:flex;flex-direction:row;align-items:center;text-align:left;gap:10px}.player-card-section.player-card-combat .player-card-stat img,.player-card-section.player-card-hunting .player-card-stat img{grid-row:auto;grid-column:auto}.player-card-section.player-card-combat .player-card-stat-label,.player-card-section.player-card-hunting .player-card-stat-label{grid-row:auto;grid-column:auto;flex:1;text-align:left;margin-bottom:0}.player-card-section.player-card-combat .player-card-stat-value,.player-card-section.player-card-hunting .player-card-stat-value{grid-row:auto;grid-column:auto;text-align:right;white-space:normal;flex:0 0 auto}.player-card-resources-label{color:var(--text-secondary);font-size:.74em;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:6px}.player-card-resources .player-card-stats{margin-top:0}.player-card-order{margin-top:0;padding-top:0;border-top:0}.player-card-order-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.player-card-order-logo{width:44px;height:44px;object-fit:contain;flex:0 0 auto}.player-card-order-name-block{display:flex;flex-direction:column;gap:2px;min-width:0}.player-card-order-label{color:var(--text-secondary);font-size:.7em;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.player-card-order-name{color:var(--accent);font-weight:800;font-size:1em;overflow-wrap:anywhere}.player-card-order .player-card-stats{margin-top:0;grid-template-columns:1fr}.player-card-order .player-card-stat{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;text-align:left}.player-card-order .player-card-stat img{width:22px;height:22px;flex:0 0 auto}.player-card-order .player-card-stat-label{flex:1;text-align:left;white-space:normal;overflow:visible}.player-card-order .player-card-stat-value{text-align:right;flex:0 0 auto}.player-card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(125,92,54,.32);color:var(--text-secondary);font-size:.78em}.knight-options-body{display:flex;flex-direction:column;gap:14px}.knight-options-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid rgba(125,92,54,.42);border-radius:6px;background:#140b0552;cursor:pointer;transition:border-color .15s ease,background .15s ease}.knight-options-row:hover{border-color:#d4af3780;background:#140b0580}.knight-options-row input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--accent)}.knight-options-row>span{display:flex;flex-direction:column;gap:2px;flex:1}.knight-options-row strong{color:var(--text-primary);font-size:.96em}.knight-options-row small{color:var(--text-secondary);font-size:.84em;line-height:1.35}.knight-options-status{min-height:18px;padding-top:4px;text-align:right;color:var(--accent);font-size:.84em}.knight-options-view{display:flex;flex-direction:column;gap:24px;padding:16px 14px 32px;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box}.knight-options-title{margin:0;font-size:1.4em;font-weight:800;color:var(--text-primary)}@media(max-width:768px){.knight-options-title{font-size:1.15em}}.knight-options-section{display:flex;flex-direction:column;gap:12px;padding:14px;background:#140b0566;border:1px solid rgba(125,92,54,.4);border-radius:10px}.knight-options-section-title{margin:0;font-size:1.05em;font-weight:700;color:var(--accent);letter-spacing:.02em}.knight-options-section-hint{margin:0;color:var(--text-secondary);font-size:.88em;line-height:1.4}.knight-options-loading,.knight-options-error{padding:14px 8px;text-align:center;color:var(--text-secondary);font-size:.92em}.knight-options-link-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#d4af3726;color:var(--text-primary);border:1px solid rgba(212,175,55,.55);border-radius:8px;font-size:.95em;cursor:pointer;transition:background .15s ease,border-color .15s ease}.knight-options-link-btn:hover{background:#d4af3747;border-color:#d4af37cc}.knight-options-link-btn:disabled{opacity:.6;cursor:not-allowed}.knight-api-premium{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:14px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.knight-api-premium.is-active{background:#43b5811f;border-color:#43b58173}.knight-api-premium-icon{font-size:1.2em;line-height:1}.knight-api-premium-label{font-weight:600;color:var(--text-primary);font-size:.95em}.knight-api-premium-detail{margin-top:2px;font-size:.82em;color:var(--text-secondary)}.knight-api-token-row{margin-bottom:12px}.knight-api-token-label{display:block;font-size:.78em;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:4px}.knight-api-token-input-row{display:flex;gap:6px}.knight-api-token-input{flex:1;min-width:0;padding:8px 10px;border-radius:8px;background:#00000059;border:1px solid rgba(212,175,55,.35);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.85em}.knight-api-token-input:focus{outline:2px solid rgba(212,175,55,.6);outline-offset:1px}.knight-api-warning{padding:10px 12px;margin-top:6px;border-radius:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.45)}.knight-api-warning p{margin:0 0 8px;font-size:.9em;color:var(--text-primary)}.knight-api-warning-actions{display:flex;gap:8px;flex-wrap:wrap}.knight-api-error{margin-top:8px;font-size:.88em;color:#ff9b9b}.knight-api-resources{margin-top:14px;font-size:.9em;color:var(--text-secondary)}.knight-api-resources-label{font-weight:600;margin-bottom:4px;color:var(--text-primary)}.knight-api-resources ul{list-style:none;margin:0;padding:0}.knight-api-resource-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);text-decoration:none;padding:4px 0}.knight-api-resource-link:hover,.knight-api-resource-link:focus-visible{color:var(--accent);text-decoration:underline}.knight-api-resource-link span{font-size:.85em;opacity:.7}.knight-gift-meta,.knight-trade-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.knight-gift-status,.knight-trade-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#140b0566;border:1px solid rgba(125,92,54,.42);color:var(--text-secondary);font-size:.74em;font-weight:700;white-space:nowrap}.knight-gift-status.done,.knight-trade-status.accepted{color:#8ee690;border-color:#57ab5999}.knight-gift-status.arrived{color:var(--accent);border-color:#d4af378c}.knight-gift-status.pending,.knight-trade-status.open{color:var(--text-secondary)}.knight-trade-status.declined{color:#ff9b9b;border-color:#ff787873}.knight-gift-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;background:#140b0552;border:1px solid rgba(125,92,54,.3)}.knight-gift-item img{width:32px;height:32px;object-fit:contain;flex:0 0 auto}.knight-gift-item-amount{flex:0 0 auto;color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums}.knight-gift-item-name{flex:1;min-width:0;overflow-wrap:anywhere}.knight-trade-exchange{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:9px;align-items:stretch}.knight-trade-side{display:flex;flex-direction:column;gap:4px;min-width:0}.knight-trade-side-label{color:var(--text-secondary);font-size:.7em;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.knight-trade-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;background:#140b0552;border:1px solid rgba(125,92,54,.3);flex:1;min-width:0}.knight-trade-item img{width:28px;height:28px;object-fit:contain;flex:0 0 auto}.knight-trade-item-amount{flex:0 0 auto;color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums;font-size:.9em}.knight-trade-item-name{flex:1;min-width:0;font-size:.9em;overflow-wrap:anywhere}.knight-trade-arrow{display:flex;align-items:center;justify-content:center;width:30px;flex:0 0 auto;color:var(--accent);font-size:1.2em;font-weight:700;align-self:center}@media(max-width:480px){.knight-trade-exchange{grid-template-columns:1fr;gap:6px}.knight-trade-arrow{transform:rotate(90deg);width:auto;align-self:center}.knight-gift-card,.knight-trade-card{padding:10px 12px}}.knight-equipment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.knight-equipment-slot{padding:14px}.knight-equipment-slot-header{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(125,92,54,.3)}.knight-equipment-slot-label{margin:0;font-size:.78em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.knight-equipment-slot-current{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#8ee690}.knight-equipment-slot-current img{width:22px;height:22px;object-fit:contain;flex:0 0 auto}.knight-equipment-slot-empty{color:var(--text-secondary);font-style:italic;font-size:.88em}.knight-equipment-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.knight-equipment-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 8px;border-radius:6px;background:#140b0559;border:1px solid transparent;transition:background .12s ease}.knight-equipment-option.equipped{background:#43b5811f;border-color:#43b58173}.knight-equipment-option-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.knight-equipment-option-icon img{width:30px;height:30px;object-fit:contain}.knight-equipment-option-text{display:flex;flex-direction:column;gap:1px;min-width:0}.knight-equipment-option-name{font-size:.92em;color:var(--text-primary);overflow-wrap:anywhere;line-height:1.25}.knight-equipment-option-amount{font-size:.74em;color:var(--text-secondary);font-variant-numeric:tabular-nums}.knight-equipment-action{flex:0 0 auto;padding:6px 10px;border:1px solid rgba(212,175,55,.55);background:linear-gradient(180deg,#d4af372e,#d4af3714);color:var(--accent);border-radius:6px;font-size:.78em;font-weight:700;cursor:pointer;white-space:nowrap}@media(max-width:540px){.knight-equipment-option{gap:8px}.knight-equipment-action{padding:7px 12px;font-size:.85em}}.knight-equipment-action:hover:not(:disabled),.knight-equipment-action:focus-visible{border-color:var(--accent);background:linear-gradient(180deg,#d4af3747,#d4af3724);color:var(--text-primary);outline:none}.knight-equipment-action.secondary{border-color:#a0908066;background:#a090801a;color:var(--text-secondary)}.knight-equipment-action.secondary:hover:not(:disabled){border-color:var(--text-primary);color:var(--text-primary)}.knight-equipment-info-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:color .15s}.knight-equipment-info-btn:hover{color:var(--accent)}.knight-equipment-info-btn:focus-visible{color:var(--accent);outline:2px solid rgba(212,175,55,.55);outline-offset:1px;border-radius:50%}.knight-equipment-detail-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .15s ease-out}.knight-equipment-detail{background:var(--bg-secondary);border:1px solid rgba(212,175,55,.45);border-radius:14px;width:100%;max-width:520px;max-height:80vh;overflow-y:auto;padding:18px 20px;box-shadow:0 20px 50px #00000080}.knight-equipment-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.knight-equipment-detail-head img{width:44px;height:44px;object-fit:contain;flex:0 0 auto}.knight-equipment-detail-titles{flex:1;min-width:0}.knight-equipment-detail-titles h3{margin:0;font-size:1.1em;color:var(--accent);font-weight:800}.knight-equipment-detail-equipped{font-size:.7em;color:var(--online, #57ab59);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.knight-equipment-detail-close{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid rgba(160,144,128,.35);color:var(--text-secondary);font-size:1.4em;line-height:1;cursor:pointer}.knight-equipment-detail-close:hover,.knight-equipment-detail-close:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.knight-equipment-detail-desc{margin:0 0 14px;color:var(--text-primary);line-height:1.45}.knight-equipment-detail-desc.muted{color:var(--text-secondary);font-style:italic}.knight-equipment-detail-stats h4{margin:0 0 8px;font-size:.78em;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-weight:700}.knight-equipment-detail-stats ul{list-style:none;margin:0;padding:0;background:#140b0566;border-radius:10px}.knight-equipment-detail-stats li{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid rgba(125,92,54,.3)}.knight-equipment-detail-stats li:last-child{border-bottom:0}.knight-equipment-detail-stats li>span:first-child{color:var(--text-secondary)}.knight-equipment-detail-stats li>span:last-child{color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}.knight-equipment-action:disabled{opacity:.55;cursor:wait}.knight-toast{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:200;max-width:calc(100vw - 32px);padding:10px 16px;border:1px solid rgba(212,175,55,.6);border-radius:8px;background:#1a0d05;color:var(--text-primary);font-size:.9em;box-shadow:0 8px 22px #000000b3;animation:knight-toast-in .22s ease}.knight-toast-empty{border:0;padding:0;background:transparent;box-shadow:none;pointer-events:none;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;animation:none}@keyframes knight-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:768px){.knight-achievement{padding:16px}.knight-achievement-header{grid-template-columns:64px 1fr}.knight-achievement-info{padding-right:62px}.knight-sidebar{position:fixed;left:-260px;top:0;z-index:99;transition:left .2s ease}.knight-sidebar-open{left:0!important}.knight-content{padding:0 0 calc(56px + env(safe-area-inset-bottom,0px)) 0}.knight-content>*:first-child{padding:12px}.knight-content h2:not(.kp-name),.knight-options-title{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.knight-two-col{grid-template-columns:1fr}.knight-backpack-pill{padding:6px 12px 6px 8px;font-size:.88em}.knight-backpack-pill>img{width:22px;height:22px}.knight-achievement-grid{grid-template-columns:1fr}.knight-achievement-mobile-nav{display:flex;gap:7px;margin:-2px 0 12px;padding:0 1px 4px;overflow-x:auto;scrollbar-width:none}.knight-achievement-mobile-nav::-webkit-scrollbar{display:none}.knight-achievement-mobile-nav button,.knight-achievement-mobile-nav a{flex:0 0 auto;min-height:32px;padding:6px 10px;border:1px solid rgba(212,175,55,.3);border-radius:999px;background:#d4af3714;color:var(--text-primary);font-size:.78em;font-weight:800;text-decoration:none;display:inline-flex;align-items:center}.knight-achievement.maxed{padding:12px}.knight-achievement.maxed .knight-achievement-header{grid-template-columns:48px 1fr}.knight-achievement.maxed .knight-achievement-image{width:42px;height:42px}.knight-achievement-log-entry{grid-template-columns:40px 40px minmax(0,1fr);gap:9px}.knight-achievement-log-image{width:36px;height:36px}.knight-achievement-log-text{font-size:.85em}.knight-profile-header{gap:12px}.knight-header-rank{width:44px;height:44px}.knight-header-name{font-size:1.1em}.knight-skill-item{grid-template-columns:46px minmax(0,1fr) 86px;gap:8px 10px;padding:10px;min-height:82px}.knight-skill-icon-wrap{width:46px}.knight-skill-item .knight-item-icon{width:40px;height:40px}.knight-skill-main{flex-basis:initial}.knight-skill-meta{width:auto;margin-left:auto;justify-content:flex-end;min-width:0}.knight-skill-meta .knight-item-action{min-width:76px;padding:6px 8px;font-size:.76em}.knight-log-row,.knight-log-row.trade,.knight-log-row.activity{grid-template-columns:1fr;gap:6px}.knight-log-row.activity img{display:none}.knight-fight-card{grid-template-columns:1fr;gap:10px;padding:12px}.knight-fight-topline{flex-direction:row;justify-content:space-between;align-items:center}.knight-fight-matchup{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:7px}.knight-fight-person{gap:7px}.knight-fight-person .avatar-custom-wrap,.knight-fight-person>img,.knight-fight-avatar.avatar-letter{width:34px!important;height:34px!important}.knight-fight-name{font-size:.84em}.knight-fight-summary{flex-direction:row;justify-content:flex-end}.knight-letter-head{flex-direction:column;gap:4px}}.knight-news-list{display:flex;flex-direction:column;gap:14px}.knight-news-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;padding:14px}.knight-news-head{margin:0 0 8px}.knight-news-title{margin:0 0 4px;font-size:1.05em;color:var(--accent)}.knight-news-date{margin:0;font-size:.78em;color:var(--text-secondary)}.knight-news-text{margin:0;white-space:pre-wrap;color:var(--text-primary);font-size:.95em}.knight-news-update{margin-top:10px;padding:10px 12px;background:#d4af370f;border:1px solid rgba(212,175,55,.2);border-radius:10px}.knight-news-update h4{margin:0 0 4px;font-size:.95em;color:var(--text-primary)}.knight-news-update-date{margin:0 0 6px;font-size:.74em;color:var(--text-secondary)}.knight-news-update p{margin:0;white-space:pre-wrap;font-size:.9em}.knight-news-loading,.knight-news-empty{padding:30px 12px;text-align:center;color:var(--text-secondary)}.knight-news-item a{color:var(--accent);text-decoration:underline;text-decoration-color:#d4af3773;text-underline-offset:2px;word-break:break-word}.knight-news-item a:hover,.knight-news-item a:focus-visible{color:var(--accent-hover);text-decoration-color:var(--accent-hover)}.knight-leaderboard{position:relative;padding-bottom:60px;display:flex;flex-direction:column}.leaderboard-tabs{display:flex;gap:6px;position:sticky;top:0;z-index:4;margin:0 0 14px;padding:4px;background:#140b05eb;border:1px solid rgba(125,92,54,.32);border-radius:10px}.leaderboard-tab{flex:1;padding:8px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-secondary);font:inherit;font-size:.84em;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.leaderboard-tab:hover:not(.is-active){color:var(--text-primary);background:#d4af3714}.leaderboard-tab.is-active{background:linear-gradient(180deg,#d4af3740,#d4af371a);border-color:#d4af378c;color:var(--text-primary)}.leaderboard-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notif-tabs-mobile{display:none}@media(max-width:768px){.notif-tabs-mobile{display:flex}.notif-mobile-hidden{display:none}}.leaderboard-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:14px;background:var(--bg-secondary);overflow:clip}.leaderboard-section-header{position:sticky;top:48px;z-index:3;display:flex;align-items:baseline;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:.78em;border-radius:14px 14px 0 0}.leaderboard-section-letter{font-weight:800;color:var(--accent)}.leaderboard-section-range{color:var(--text-secondary);font-size:.85em}.leaderboard-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:transparent;border:0;border-bottom:1px solid var(--border);text-align:left;color:var(--text-primary);cursor:pointer;transition:background .12s ease}.leaderboard-row .leaderboard-name{font-size:.88em}.leaderboard-row .leaderboard-sub{font-size:.72em}.leaderboard-row .leaderboard-main{font-size:.88em}.leaderboard-row .leaderboard-avatar,.leaderboard-row .leaderboard-avatar-letter{width:28px;height:28px;flex:0 0 28px}.leaderboard-row .leaderboard-rank-number{font-size:.95em}.leaderboard-row .leaderboard-rank-label{font-size:.55em}.leaderboard-row:last-child{border-bottom:0}.leaderboard-row:hover{background:#d4af370f}.leaderboard-row.is-self{background:#d4af37d9;color:#1a0f08}.leaderboard-row.is-self:hover{background:#d4af37f2}.leaderboard-rank{display:flex;flex-direction:column;align-items:center;min-width:50px;color:var(--accent);line-height:1}.leaderboard-rank-label{font-size:.62em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:2px}.leaderboard-rank-number{font-weight:800;font-size:1.05em}.leaderboard-row.is-self .leaderboard-rank{color:inherit}.leaderboard-row.is-self .leaderboard-rank-label{color:#1a0f08a6}.leaderboard-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 32px}.leaderboard-avatar-letter{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-primary);border:1px solid rgba(212,175,55,.35);color:var(--accent);font-weight:800;font-size:.95em;flex:0 0 32px}.leaderboard-avatar-wrap{position:relative;display:inline-flex;flex:0 0 auto}.leaderboard-avatar.leaderboard-avatar-rank{border-radius:0;background:transparent;border:0;object-fit:contain}.leaderboard-avatar-badge{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:var(--bg-secondary);border:1.5px solid var(--bg-secondary);pointer-events:none}.leaderboard-name-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.leaderboard-name-row{display:flex;align-items:center;gap:6px;min-width:0}.leaderboard-name{font-weight:700;font-size:.95em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-online{width:8px;height:8px;border-radius:50%;background:#43b581;flex:0 0 auto}.leaderboard-legend{font-size:.7em;font-weight:800;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:1px 6px}.leaderboard-row.is-self .leaderboard-legend{color:#1a0f08}.leaderboard-legend-img{width:22px;height:22px;object-fit:contain;flex:0 0 auto}.leaderboard-sub{font-size:.78em;color:var(--text-secondary)}.leaderboard-row.is-self .leaderboard-sub{color:#1a0f08bf}.leaderboard-main{font-size:.95em;font-weight:800;color:var(--accent);white-space:nowrap}.leaderboard-row.is-self .leaderboard-main{color:inherit}.leaderboard-loading,.leaderboard-end{padding:16px;text-align:center;color:var(--text-secondary);font-size:.88em}.leaderboard-jump-btn{position:fixed;right:32px;bottom:32px;background:var(--accent);color:#1a0f08;border:0;border-radius:999px;font-weight:800;padding:10px 16px;font-size:.92em;box-shadow:0 6px 16px #00000059;cursor:pointer;z-index:5;display:inline-flex;align-items:center;gap:6px}.leaderboard-jump-icon{flex:none;display:block}.leaderboard-jump-btn:hover{background:var(--accent-hover)}.leaderboard-jump-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.kp-stat-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;padding:0;background:transparent;border:none;color:#d4af37f2;cursor:pointer;flex:0 0 auto;vertical-align:middle;transition:color .15s ease}.kp-stat-info-btn:hover{color:#d4af37}.kp-stat-clickable{cursor:pointer}.kp-stat-clickable:hover{background:#d4af370a}.kp-stat-clickable:focus-visible{outline:2px solid rgba(212,175,55,.55);outline-offset:2px;border-radius:4px}.kp-stat-info-btn:focus-visible{outline:2px solid rgba(212,175,55,.55);outline-offset:1px;border-radius:50%}.kp-stat-info-btn svg{display:block}.knight-stat-info-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.knight-stat-info{background:var(--bg-secondary, #1f1108);border:1px solid rgba(212,175,55,.35);border-radius:12px;max-width:480px;width:100%;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column}.knight-stat-info-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(212,175,55,.18)}.knight-stat-info-head h3{flex:1;margin:0;font-size:1.05em;color:var(--text-primary, #e8e8e8)}.knight-stat-info-close{background:transparent;border:none;color:var(--text-secondary, #b8a884);font-size:1.6em;width:32px;height:32px;cursor:pointer;padding:0}.knight-stat-info-close:hover,.knight-stat-info-close:focus-visible{color:var(--text-primary, #e8e8e8);outline:none}.knight-stat-info-body{padding:14px 16px;color:var(--text-primary, #e8e8e8);font-size:.92em;line-height:1.45}.knight-stat-info-body p{margin:0 0 8px}.knight-stat-info-body p:last-child{margin-bottom:0}.knight-workshop{max-width:1100px;margin:0 auto;padding:12px 16px 32px}.knight-workshop-header{margin-bottom:16px}.knight-workshop-title{margin:0 0 8px;font-size:1.4em;color:var(--accent, #d4af37)}.knight-workshop-skills{display:flex;gap:16px;flex-wrap:wrap;font-size:.9em;color:var(--text-secondary, #b9b9b9);margin-bottom:12px}.knight-workshop-skills strong{color:var(--text-primary, #e8e8e8)}.knight-workshop-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:16px}@media(max-width:720px){.knight-workshop-layout{grid-template-columns:1fr}.kw-detail{display:none}.kw-detail.kw-detail-open{display:block;position:fixed;top:calc(env(safe-area-inset-top,0px) + 56px);left:0;right:0;bottom:0;z-index:40;background:var(--bg-primary, #1a0f0a);overflow-y:auto;padding:40px 16px 80px;border-radius:0}}.kw-list{background:linear-gradient(180deg,#2a181099,#22130c99);border:1px solid rgba(125,92,54,.46);border-radius:10px;padding:8px;max-height:70vh;overflow-y:auto}@media(max-width:720px){.kw-list{max-height:none;overflow-y:visible}}.kw-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.kw-row{appearance:none;background:transparent;color:inherit;font:inherit;text-align:left;width:100%;display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;cursor:pointer;border:0;border-left:3px solid transparent;border-bottom:1px solid rgba(125,92,54,.18)}.kw-row:last-child{border-bottom:none}.kw-row:hover{background:#d4af3714}.kw-row:focus-visible{outline:2px solid var(--accent, #d4af37);outline-offset:1px}.kw-row-active{background:#d4af3724}.kw-row-locked{opacity:.62}.kw-row img{width:28px;height:28px;flex-shrink:0}.kw-row-text{display:flex;flex-direction:column;min-width:0}.kw-row-text strong{color:var(--text-primary, #e8e8e8);font-size:.95em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kw-row-meta{font-size:.78em;color:var(--text-secondary, #b9b9b9);display:inline-flex;align-items:center;gap:4px}.kw-diff-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.kw-color-red{border-left-color:#c44545}.kw-color-yellow{border-left-color:#d4af37}.kw-color-green{border-left-color:#4caf50}.kw-color-gray{border-left-color:#777}.kw-diff-red{color:#e07070}.kw-diff-dot.kw-diff-red{background:#c44545}.kw-diff-yellow{color:#e3c463}.kw-diff-dot.kw-diff-yellow{background:#d4af37}.kw-diff-green{color:#7ed47e}.kw-diff-dot.kw-diff-green{background:#4caf50}.kw-diff-gray{color:#aaa}.kw-diff-dot.kw-diff-gray{background:#777}.kw-detail{background:linear-gradient(180deg,#2a181099,#22130c99);border:1px solid rgba(125,92,54,.46);border-radius:10px;padding:16px;min-height:320px}.kw-detail-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.kw-detail-back{display:none}.kw-detail.kw-detail-open .kw-detail-back{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--accent, #d4af37);border:1px solid rgba(212,175,55,.45);border-radius:8px;padding:8px 12px;margin-bottom:14px;font:inherit;font-weight:600;cursor:pointer}.kw-detail.kw-detail-open .kw-detail-back:hover,.kw-detail.kw-detail-open .kw-detail-back:focus-visible{background:#d4af371f;outline:2px solid var(--accent, #d4af37);outline-offset:2px}.kw-detail-icon{width:64px;height:64px;flex-shrink:0}.kw-detail-header h3{margin:0 0 4px;color:var(--text-primary, #e8e8e8);font-size:1.2em}.kw-detail-meta{margin:0;font-size:.86em;color:var(--text-secondary, #b9b9b9)}.kw-skill-status{font-size:.85em;color:var(--text-secondary, #b9b9b9);background:#ffffff08;padding:8px 10px;border-radius:6px;border-left:3px solid var(--accent, #d4af37);margin-bottom:14px}.kw-section-title{margin:12px 0 8px;color:var(--text-primary, #e8e8e8);font-size:.95em;font-weight:600}.kw-materials{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:6px}.kw-mat{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#0000002e;border-radius:6px;border-left:3px solid transparent}.kw-mat-ok{border-left-color:#4caf50}.kw-mat-missing{border-left-color:#c44545;background:#c4454514}.kw-mat img{width:24px;height:24px;flex-shrink:0}.kw-mat-name{flex:1;color:var(--text-primary, #e8e8e8);font-size:.92em}.kw-mat-count{color:var(--text-secondary, #b9b9b9);font-size:.9em;font-variant-numeric:tabular-nums}.kw-mat-count strong{color:var(--text-primary, #e8e8e8)}.kw-mat-missing .kw-mat-count strong{color:#e07070}.kw-multi-note{font-size:.85em;color:var(--text-secondary, #b9b9b9);font-style:italic;margin:4px 0 12px}.kw-action{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.kw-action .kw-btn-craft{margin-left:auto}.kw-action .kw-progress{flex-basis:100%}.kw-amount{display:inline-flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums}.kw-amount-label{font-size:.9em;color:var(--text-secondary, #b9b9b9);margin-right:2px}.kw-amount button{width:32px;height:32px;border-radius:6px;border:1px solid rgba(125,92,54,.6);background:#0003;color:var(--text-primary, #e8e8e8);font-size:1em;cursor:pointer}.kw-amount button:disabled{opacity:.4;cursor:not-allowed}.kw-amount span{min-width:32px;text-align:center;font-weight:700;color:var(--text-primary, #e8e8e8)}.kw-amount em{font-style:normal;font-size:.82em;color:var(--text-secondary, #b9b9b9);margin-left:6px}.kw-btn-craft{display:inline-flex;align-items:center;gap:8px;background:var(--accent, #d4af37);color:#1a0f0a;border:1px solid var(--accent, #d4af37);border-radius:8px;padding:8px 18px;font-size:.85em;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,color .15s ease,transform .08s ease}.kw-btn-craft .kw-btn-arrow{font-size:1.1em;line-height:1;transition:transform .15s ease}.kw-btn-craft:hover:not(:disabled){background:transparent;color:var(--accent, #d4af37)}.kw-btn-craft:hover:not(:disabled) .kw-btn-arrow{transform:translate(2px)}.kw-btn-craft:active:not(:disabled){transform:translateY(1px)}.kw-btn-craft:disabled{color:#e8e8e859;border-color:#7d5c3659;cursor:not-allowed}.kw-btn-craft:focus-visible{outline:2px solid var(--accent, #d4af37);outline-offset:2px}.kw-progress{width:100%;height:6px;background:#ffffff14;border-radius:4px;overflow:hidden}.kw-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent, #d4af37),#f5d35c);transition:width .15s linear}.kw-toast{padding:10px 12px;border-radius:6px;font-size:.9em;margin-top:14px}.kw-toast-success{background:#4caf502e;border-left:3px solid #4caf50;color:#d6f5d6}.kw-toast-error{background:#c445452e;border-left:3px solid #c44545;color:#f5d6d6}.knight-workshop-empty-text{color:var(--text-secondary, #b9b9b9);font-style:italic}.knight-activity-filter-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.knight-activity-filter-btn{background:#976f481a;border:1px solid rgba(151,111,72,.3);color:var(--text-secondary, #b9b9b9);padding:5px 14px;border-radius:14px;font-size:.8em;cursor:pointer;transition:all .18s ease;font-family:inherit;line-height:1.2}.knight-activity-filter-btn:hover{background:#976f4833;border-color:#d4af3766}.knight-activity-filter-btn.active{background:#d4af3738;border-color:#d4af37a6;color:var(--accent, #d4af37);font-weight:600}.knight-activity-filter-btn:focus-visible{outline:2px solid var(--accent, #d4af37);outline-offset:2px}.knight-activity-timeline{position:relative}.knight-activity-day{display:flex;align-items:center;gap:8px;margin:12px 0 6px}.knight-activity-day:before,.knight-activity-day:after{content:"";flex:1;height:1px;background:#d4af3738}.knight-activity-day span{font-size:.72em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d4af37e6;background:#d4af371f;padding:3px 10px;border-radius:12px}.knight-activity-item{position:relative;padding:12px 12px 12px 22px;margin-left:12px;border-left:2px solid rgba(151,111,72,.3);border-radius:4px;transition:background .18s ease}.knight-activity-item.alt{background:#ffffff06}.knight-activity-item:hover,.knight-activity-item:focus-visible{background:#ffffff0f;outline:none}.knight-activity-item:before{content:"";position:absolute;left:-6px;top:16px;width:10px;height:10px;background:var(--bg-primary, #1a1a2e);border:2px solid rgba(212,175,55,.85);border-radius:50%}.knight-activity-time{float:right;color:var(--text-secondary, #888);font-size:.75em;margin-left:8px}.knight-activity-main{display:flex;align-items:flex-start;gap:6px;color:var(--text-primary, #eee)}.knight-activity-icon{width:22px;height:22px;flex-shrink:0;margin-top:1px}.knight-activity-icon-spacer{display:inline-block;width:22px;height:22px;flex-shrink:0}.knight-activity-subline{margin-left:28px;font-size:.9em;color:var(--text-primary, #eee);opacity:.88;margin-top:3px}.knight-activity-loadmore{display:flex;justify-content:center;padding:14px 0}.knight-activity-loadmore button{background:#d4af371f;border:1px solid rgba(212,175,55,.4);color:var(--accent, #d4af37);padding:6px 18px;border-radius:14px;font-size:.85em;cursor:pointer;transition:all .18s ease;font-family:inherit}.knight-activity-loadmore button:hover:not(:disabled){background:#d4af3738}.knight-activity-loadmore button:disabled{opacity:.6;cursor:default}:root{--bg-primary: #1a0f08;--bg-secondary: #2a1810;--bg-sidebar: #140b05;--bg-input: #2a1810;--bg-hover: rgba(212, 175, 55, .08);--text-primary: #e8e8e8;--text-secondary: #b8a890;--accent: #d4af37;--accent-hover: #e0c04a;--border: #402514;--online: #43b581;--danger: #ff6b6b;--unread: #d4af37;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100dvh;overflow:hidden;touch-action:manipulation}#root{position:fixed;inset:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;background:var(--bg-primary);overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.badge{background:var(--unread);color:#000;border-radius:10px;padding:1px 6px;font-size:.7em;font-weight:700;margin-left:6px}.mention-badge{background:var(--unread);color:#000;border-radius:10px;padding:1px 5px;font-size:.65em;font-weight:700;flex-shrink:0;margin-right:2px}.online-dot{width:8px;height:8px;background:var(--online);border-radius:50%;display:inline-block;flex-shrink:0}.online-dot.offline{background:var(--text-secondary);opacity:.4}.online-dot.pulse{animation:pulse-glow 2s ease-in-out infinite}.online-dot.away{background:#f0a030;animation:none}.online-dot.invisible{background:var(--text-secondary);opacity:.5;animation:none}@keyframes pulse-glow{0%,to{box-shadow:0 0 #43b58166}50%{box-shadow:0 0 6px 2px #43b5814d}}.rank-icon{width:18px;height:18px;vertical-align:middle}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent)!important;outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.desktop-titlebar{height:32px;background:#140b05;box-shadow:0 1px #402514;display:flex;align-items:center;padding:0 140px 0 12px;gap:8px;-webkit-app-region:drag;-webkit-user-select:none;user-select:none;flex-shrink:0}.desktop-titlebar-icon{color:#d4af37;flex-shrink:0}.desktop-titlebar-text{color:#d4af37;font-size:.78em;font-weight:600;letter-spacing:.3px}.ios-install-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--accent);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;z-index:300;box-shadow:0 -4px 16px #0006}.ios-install-content{flex:1;display:flex;align-items:center;gap:10px;font-size:.88em;color:var(--text-primary)}.ios-install-content strong{color:var(--accent)}.ios-install-icon{color:var(--accent);flex-shrink:0;display:flex}.ios-install-close{background:none;border:none;color:var(--text-secondary);font-size:1.5em;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.ios-install-close:hover{color:var(--text-primary)}.login-root{display:flex;align-items:center;justify-content:center;min-height:100dvh;position:relative;overflow:hidden;padding:16px}.login-bg{position:absolute;inset:0;background-image:url(/bg.png);background-color:#402514;background-size:cover;background-position:center center;filter:blur(3px) brightness(.5);transform:scale(1.08);pointer-events:none}.login-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#0003,#000000a6 85%)}.login-card{position:relative;z-index:1;padding:32px 24px 20px;text-align:center;max-width:400px;width:100%;animation:login-card-in .42s cubic-bezier(.2,.8,.2,1) both;text-shadow:0 1px 3px rgba(0,0,0,.75)}@keyframes login-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-logo{width:180px;max-width:60%;height:auto;margin:0 auto 12px;filter:drop-shadow(0 0 18px rgba(212,175,55,.15));animation:login-logo-glow 4.5s ease-in-out infinite}@keyframes login-logo-glow{0%,to{filter:drop-shadow(0 0 14px rgba(212,175,55,.12))}50%{filter:drop-shadow(0 0 24px rgba(212,175,55,.28))}}.login-title{color:var(--accent);font-size:1.15em;font-weight:600;letter-spacing:3px;text-transform:uppercase;margin:0 0 20px;position:relative}.login-title:before,.login-title:after{content:"";display:inline-block;width:28px;height:1px;background:linear-gradient(to right,transparent,var(--accent),transparent);vertical-align:middle;margin:0 12px;opacity:.6}.login-steps{list-style:none;padding:0;margin:0 0 18px;text-align:left;display:flex;flex-direction:column;gap:10px}.login-steps li{display:flex;align-items:flex-start;gap:10px;font-size:.85em;color:var(--text-secondary);line-height:1.4}.login-step-num{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);font-size:.75em;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.login-steps strong{color:var(--accent);font-weight:600}.login-code-label{display:block;text-align:center;margin-bottom:8px;font-size:.9em;color:var(--text-secondary)}.login-code-wrapper{display:flex;justify-content:center;margin-bottom:16px}.login-code-single{width:260px;height:56px;text-align:center;font-family:Courier New,ui-monospace,monospace;font-size:1.6em;letter-spacing:.18em;font-weight:700;text-transform:uppercase;background:#2a1810;color:var(--accent);border:1px solid var(--border);border-radius:8px;outline:none;padding:0 12px;transition:border-color .12s ease}.login-code-single:focus,.login-code-single:focus-visible{border-color:var(--accent);outline:none!important}.login-code-single::placeholder{color:#d4af374d;letter-spacing:.18em}.login-code-single:disabled{opacity:.6}.login-code-group{display:flex;justify-content:center;align-items:center;gap:4px;margin-bottom:16px;flex-wrap:nowrap}.login-code-input{width:34px;height:46px;text-align:center;font-family:Courier New,ui-monospace,monospace;font-size:1.3em;font-weight:700;text-transform:uppercase;background:#2a1810;color:var(--accent);border:1px solid var(--border);border-radius:6px;outline:none;padding:0;transition:border-color .12s ease,transform .12s ease}.login-code-input.is-filled{color:#e8cc5c;border-color:#d4af378c;animation:login-code-pop .18s ease}.login-code-input:focus,.login-code-input:focus-visible{border-color:var(--accent);outline:none!important}.login-code-input:disabled{opacity:.6}.login-code-dash{color:#d4af3780;font-weight:700;font-size:1.3em;margin:0 3px;-webkit-user-select:none;user-select:none}@keyframes login-code-pop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--accent-hover) 0%,var(--accent) 100%);color:#1a0e07;border:none;border-radius:var(--radius);padding:11px 28px;font-weight:700;font-size:.95em;letter-spacing:.5px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 2px 8px #d4af3740;min-height:42px}.login-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #d4af3759}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{cursor:not-allowed;opacity:.4;box-shadow:none}.login-feedback{min-height:20px;margin-top:10px;font-size:.82em;line-height:1.35}.login-feedback-error{color:var(--danger)}.login-feedback-error small{display:block;color:var(--text-secondary);font-size:.88em;margin-top:2px}.login-feedback-loading{color:var(--accent);display:inline-flex;align-items:center;gap:8px}.login-spinner{width:14px;height:14px;border:2px solid rgba(212,175,55,.25);border-top-color:var(--accent);border-radius:50%;animation:login-spin .8s linear infinite;display:inline-block}@keyframes login-spin{to{transform:rotate(360deg)}}.login-alt{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.login-alt-prompt{font-size:.75em;color:var(--text-secondary);margin:0 0 6px}.login-alt-link{color:var(--text-secondary);font-size:.82em;cursor:pointer;background:none;border:none;padding:4px 8px;text-decoration:underline;text-underline-offset:3px;transition:color .12s ease;border-radius:4px}.login-alt-link:hover,.login-alt-link:focus-visible{color:var(--accent);outline:none}.login-privacy{margin-top:10px;font-size:.72em;color:var(--text-secondary);opacity:.8}.login-privacy a{color:var(--accent);text-decoration:underline;opacity:.85}.login-privacy a:hover{opacity:1}.login-help-link{margin-top:18px;background:none;border:none;color:var(--text-secondary);opacity:.5;font-size:.75em;cursor:pointer;padding:4px 8px}.login-help-link:hover{opacity:.8}.login-info-overlay{position:fixed;inset:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.login-info-modal{background:var(--bg-primary, #1a0f08);border:1px solid var(--border, #402514);border-radius:12px;padding:28px 24px;max-width:420px;width:100%;position:relative;color:var(--text-primary, #e8e8e8)}.login-info-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-secondary);font-size:1.4em;cursor:pointer;line-height:1}.login-info-close:hover{color:var(--text-primary)}.login-info-title{color:var(--accent, #d4af37);font-size:1.05em;margin:0 0 12px}.login-info-intro{font-size:.88em;color:var(--text-secondary);margin:0 0 16px;line-height:1.45}.login-info-steps{padding:0;margin:0 0 16px;list-style:none;counter-reset:info-step}.login-info-steps li{counter-increment:info-step;display:flex;align-items:flex-start;gap:10px;font-size:.88em;line-height:1.45;margin-bottom:10px;color:var(--text-primary)}.login-info-steps li:before{content:counter(info-step);flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1px solid var(--accent, #d4af37);color:var(--accent, #d4af37);font-size:.75em;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.login-info-note{font-size:.78em;color:var(--text-secondary);opacity:.8;margin:0;line-height:1.4}.login-error-top{color:var(--danger);font-size:.88em;margin:0 0 14px;padding:8px 12px;background:#ff6b6b14;border-radius:6px;border:1px solid rgba(255,107,107,.2)}.login-loading-screen{padding:24px 0 8px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:.9em}.login-loading-screen .login-spinner{width:28px;height:28px;border-width:3px}@media(max-width:360px){.login-card{padding:32px 20px 24px}.login-code-input{width:30px;height:42px;font-size:1.15em}.login-code-group{gap:3px}.login-code-dash{margin:0 2px}}@media(prefers-reduced-motion:reduce){.login-card,.login-logo,.login-code-input.is-filled,.login-spinner{animation:none!important}.login-submit{transition:none}}.presence-trigger{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer;padding:4px 6px;margin:-4px -6px;border-radius:6px;transition:background .15s ease}.presence-trigger:hover{background:var(--bg-hover)}.presence-chevron{color:var(--text-secondary);flex-shrink:0}.presence-picker{position:absolute;top:calc(100% + 2px);left:16px;background:#1a0f08;border:1px solid var(--border);border-radius:8px;padding:4px;z-index:50;box-shadow:0 4px 16px #00000080;min-width:140px}.presence-option{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:.85em;color:var(--text-primary);transition:background .1s ease;white-space:nowrap}.presence-option:hover{background:var(--bg-hover)}.presence-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.presence-dot.online{background:var(--online)}.presence-dot.away{background:#f0a030}.presence-dot.invisible{background:var(--text-secondary);opacity:.5}.sidebar-item{padding:7px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .15s ease,border-color .15s ease;border-left:3px solid transparent;color:#9a9a9a;font-size:.93em;text-decoration:none}.sidebar-item.has-unread{color:#fff;font-weight:700}.sidebar-item:hover{background:var(--bg-hover)}.sidebar-item.active{background:var(--bg-hover);border-left-color:var(--accent)}.sidebar-item .sidebar-item-prefix{color:var(--text-secondary);font-weight:700;font-family:monospace;width:12px}.sidebar-item .sidebar-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-mention-badge{font-size:.7em;font-weight:700;color:var(--danger);background:#ff6b6b33;padding:1px 5px;border-radius:6px;white-space:nowrap}.sidebar-item .channel-hash{color:var(--text-secondary);font-weight:700;font-size:1.1em;width:18px;text-align:center;flex-shrink:0}.sidebar-item.logout-item{color:var(--text-secondary);font-size:.85em;border-radius:var(--radius);background:#1e1209;transition:background .15s ease,color .15s ease}.sidebar-item.logout-item:hover{color:var(--danger);background:#ff6b6b14}.sidebar-item.logout-item svg{stroke:currentColor}.sidebar-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.sidebar-header img.sidebar-logo{width:calc(100% - 32px);height:auto}.sidebar-section-label{padding:10px 16px 4px;color:var(--text-secondary);font-size:.7em;text-transform:uppercase;letter-spacing:1.2px;font-weight:600}.sidebar-section-toggle{background:none;border:none;color:inherit;font:inherit;cursor:pointer;display:flex;align-items:center;gap:4px;width:100%;padding:0;-webkit-user-select:none;user-select:none;transition:color .15s ease}.sidebar-section-toggle:hover{color:var(--text-primary)}.sidebar-item-label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.sidebar-item-button{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;width:100%}.sidebar-item-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.sidebar-section-arrow{font-size:.7em;width:10px;display:inline-block}.dm-item{padding-top:5px;padding-bottom:5px}.dm-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.dm-avatar.dm-avatar-rank{border-radius:0;width:auto}.dm-avatar-letter{width:24px;height:24px;border-radius:50%;background:var(--bg-hover);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.75em;font-weight:700;flex-shrink:0}.dm-close-btn{display:block;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1em;padding:0 4px;line-height:1;border-radius:4px;transition:color .15s ease;flex-shrink:0}.sidebar-item:hover .dm-close-btn{display:block}.dm-close-btn:hover{color:var(--danger)}.settings-cog-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s ease;flex-shrink:0;position:relative}.settings-cog-btn:hover{color:var(--accent)}.settings-update-dot{position:absolute;top:1px;right:1px;width:8px;height:8px;background:var(--accent, #d4af37);border-radius:50%;border:1.5px solid var(--bg-secondary, #1a0f08);pointer-events:none}.rules-btn{display:flex;align-items:center;gap:8px;width:100%;background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:8px 12px;cursor:pointer;font-size:.82em;transition:background .15s ease,color .15s ease,border-color .15s ease}.rules-btn:hover{background:#d4af3714;color:var(--accent);border-color:var(--accent)}.sidebar-avatar-wrap{position:relative;width:28px;height:28px;flex-shrink:0}.sidebar-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.sidebar-rank-overlay{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px}.channel-muted{opacity:.5}.channel-mute-icon{flex-shrink:0;opacity:.6}.channel-mute-btn{display:none;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:4px;flex-shrink:0;line-height:1;margin-left:auto}.sidebar-item:hover .channel-mute-btn{display:flex}.sidebar-item:hover .channel-mute-icon{display:none}.channel-mute-btn:hover{color:var(--accent)}.group-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary)}@media(max-width:768px){.sidebar{position:fixed!important;top:0;left:0;z-index:90;transform:translate(-100%);transition:transform .25s ease;width:260px!important;min-width:0!important;padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.sidebar.sidebar-open{transform:translate(0)}.mobile-chat-list-open .sidebar{width:100vw!important;min-width:100vw!important;max-width:100vw;transform:translate(0);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.mobile-chat-list-open .sidebar-backdrop{display:none!important}.mobile-chat-list-open .sidebar-header img.sidebar-logo{width:min(228px,calc(100vw - 32px))}.mobile-chat-list-open .sidebar-header{justify-content:center}.burger-badge{position:absolute;top:-2px;right:-2px;background:#e74c3c;color:#fff;font-size:.55em;font-weight:700;padding:1px 4px;border-radius:8px;min-width:14px;text-align:center;line-height:1.3}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:89}.sidebar-backdrop.visible{display:block}}.chat-header{padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary);display:flex;align-items:center;gap:10px}.header-profile-card-wrap{position:absolute;top:calc(100% + 8px);right:0;z-index:1000}.header-profile-card-wrap .user-card{position:relative;left:auto;right:0}.chat-header .header-channel{flex:1;min-width:0}.chat-header .header-name{color:var(--accent);font-weight:700;font-size:.95em}.chat-header .header-hash{color:var(--text-secondary);font-weight:700}.header-back-btn{display:none;background:none;border:none;color:var(--accent);cursor:pointer;padding:4px;margin-right:4px;border-radius:var(--radius);vertical-align:middle}.header-back-btn:hover{background:var(--bg-hover)}.chat-header-burger{display:none;align-items:center;justify-content:center;position:relative;background:transparent;border:1px solid var(--border, rgba(212, 175, 55, .18));border-radius:var(--radius, 8px);color:var(--accent);cursor:pointer;padding:6px 12px;font-size:1.1em;line-height:1;flex-shrink:0}.chat-header-burger:hover,.chat-header-burger:focus-visible{background:#d4af3714;outline:none}.chat-header .header-desc{display:block;color:var(--text-secondary);font-size:.75em;font-weight:400;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-info-wrap{position:relative;display:inline-flex;vertical-align:middle;margin-left:6px}.channel-info-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;display:inline-flex;align-items:center;opacity:.6;transition:opacity .15s}.channel-info-btn:hover,.channel-info-btn.has-restrictions{opacity:1}.channel-info-btn.has-restrictions{color:var(--warning, #f0ad4e)}.channel-info-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:100;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:10px 14px;min-width:180px;box-shadow:0 4px 16px #0000004d}.channel-info-title{font-size:.8em;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.channel-info-grid{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.channel-info-row{display:flex;align-items:center;gap:6px;font-size:.85em;color:var(--text-primary)}.channel-info-row.disabled{color:var(--text-secondary);opacity:.6}.channel-info-icon{font-size:.9em;width:16px;text-align:center}.channel-info-row:not(.disabled) .channel-info-icon{color:#4caf50}.channel-info-row.disabled .channel-info-icon{color:#ef5350}.channel-info-write{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:.8em;color:var(--warning, #f0ad4e)}.search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-primary);border-bottom:1px solid var(--border)}.search-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.88em;outline:none;font-family:inherit}.search-input::placeholder{color:var(--text-secondary)}.search-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;display:flex;align-items:center}.search-close-btn:hover{color:var(--accent)}.pins-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-weight:700;font-size:.88em;color:var(--accent);border-bottom:1px solid var(--border)}.pins-heading{margin:0;font:inherit;color:inherit}.search-results{padding:4px 0}.search-scope{display:flex;gap:4px;padding:4px 12px}.search-scope-btn{flex:1;padding:4px 8px;font-size:.78em;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.search-scope-btn.active{background:var(--accent);color:#000;border-color:var(--accent)}.search-filter-toggle{display:flex;align-items:center;gap:4px;padding:4px 12px;font-size:.78em;color:var(--text-secondary);background:none;border:none;cursor:pointer;width:100%}.search-filter-toggle:hover{color:var(--accent)}.search-filters{padding:4px 12px 8px;border-bottom:1px solid var(--border)}.search-filter-row{margin-bottom:6px}.search-filter-dates{display:flex;gap:8px}.search-filter-dates>div{flex:1}.search-filter-label{display:block;font-size:.72em;color:var(--text-secondary);margin-bottom:2px}.search-filter-input{width:100%;padding:4px 6px;font-size:.82em;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary)}.search-player-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;list-style:none;margin:2px 0 0;padding:0;z-index:10;max-height:150px;overflow-y:auto}.search-player-option{padding:4px 8px;font-size:.82em;cursor:pointer}.search-player-option:hover,.search-player-option:focus{background:#d4af371a}.search-result-count{padding:4px 12px;font-size:.72em;color:var(--text-secondary);min-height:20px}.search-result-channel{font-size:.72em;color:var(--text-secondary);background:#ffffff0d;padding:1px 4px;border-radius:3px}.search-load-more{display:block;width:100%;padding:10px;font-size:.82em;color:var(--accent);background:none;border:none;border-top:1px solid var(--border);cursor:pointer}.search-load-more:hover{background:#d4af370f}.search-result-item{padding:8px 16px;border-bottom:1px solid var(--border);cursor:default}.search-result-clickable{cursor:pointer}.search-result-item:hover{background:#d4af370a}.search-result-header{display:flex;align-items:center;gap:6px;margin-bottom:3px}.search-result-name{font-weight:700;font-size:.82em;color:var(--accent)}.search-result-time{font-size:.72em;color:var(--text-secondary);margin-left:auto}.search-result-text{font-size:.88em;color:var(--text-primary);line-height:1.4;word-break:break-word}.search-highlight{background:#d4af374d;color:var(--accent);border-radius:2px;padding:0 1px}.dm-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.dm-welcome-icon{font-size:2.5em;margin-bottom:12px;opacity:.5}.dm-welcome-text{font-size:.95em;line-height:1.5;max-width:360px}.dm-welcome-text strong{color:var(--accent)}.scroll-down-btn{position:absolute;bottom:100px;right:16px;width:32px;height:32px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7;transition:opacity .15s;z-index:10;box-shadow:0 2px 6px #0000004d}.scroll-down-btn:hover{opacity:1;color:var(--text-primary)}.scroll-down-btn.has-new{opacity:1;color:var(--text-primary);border-color:var(--accent, #4a9eff)}.scroll-down-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent, #4a9eff);color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center;box-shadow:0 1px 3px #0006}.typing-indicator{padding:4px 16px;font-size:.8em;color:var(--text-secondary);font-style:italic;min-height:28px}.date-separator{display:flex;align-items:center;padding:8px 16px;gap:12px}.date-separator:before,.date-separator:after{content:"";flex:1;height:1px;background:var(--border)}.date-separator-label{color:var(--text-secondary);font-size:.72em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.unread-separator{display:flex;align-items:center;padding:4px 16px;gap:12px}.unread-separator:before,.unread-separator:after{content:"";flex:1;height:1px;background:var(--danger);opacity:.5}.unread-separator-label{color:var(--danger);font-size:.72em;font-weight:600;white-space:nowrap}.cooldown-banner{padding:8px 16px;background:#ff00001f;color:var(--danger);text-align:center;font-size:.9em;border-top:1px solid rgba(255,0,0,.2)}.readonly-banner{padding:10px 16px;background:#8bc34a14;color:var(--text-secondary);text-align:center;font-size:.85em;border-top:1px solid var(--border)}.write-ban-banner{padding:10px 16px;background:#ff00001f;color:var(--danger);text-align:center;font-size:.88em;border-top:1px solid rgba(255,0,0,.2);display:flex;align-items:center;justify-content:center;gap:8px}.write-ban-banner svg{flex-shrink:0}.chat-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:var(--radius);font-size:.88em;z-index:200;animation:toast-in .25s ease;pointer-events:none}.chat-toast-success{background:#228b22e6;color:#fff}.chat-toast-error{background:#c82828e6;color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.system-message{text-align:center;color:var(--text-secondary);font-size:.82em;padding:8px 16px;font-style:italic}@keyframes msgHighlightPulse{0%{background:transparent}20%{background:#d4af3733}to{background:transparent}}.msg-highlight-pulse{animation:msgHighlightPulse 2s ease-out;border-radius:6px}@media(max-width:768px){.chat-header{padding-left:12px}.header-back-btn{display:inline-flex;align-items:center}.chat-header-burger{display:inline-flex!important}.scroll-down-btn{width:28px;height:28px;right:10px;bottom:90px}.members-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:89}.members-backdrop.visible{display:block}}.message-row{padding:15px 16px;display:flex;gap:10px;transition:background .1s ease}.message-row:hover{background:#ffffff05}.message-row.reply-to-me{background:#d4af3714!important;border-left:2px solid var(--accent)}.message-row.message-grouped{padding-top:1px;padding-bottom:1px}div:has(>.message-row):has(+div>.message-grouped)>.message-row{padding-bottom:1px}.message-grouped .msg-avatar{height:auto;align-items:flex-start}.blocked-group{border-left:2px solid var(--border);margin:2px 0}.message-blocked{opacity:.5;cursor:pointer;padding:6px 16px}.message-blocked:hover{opacity:.7;background:#ffffff08}.msg-blocked-text{flex:1;font-size:.82em;color:var(--text-secondary);font-style:italic;align-self:center;display:flex;align-items:center;gap:4px}.blocked-toggle-arrow{font-size:.7em;font-style:normal}.blocked-avatar{font-size:1.1em;filter:grayscale(1)}.blocked-group-content{padding:4px 16px 8px;opacity:.5}.blocked-sender-header{display:flex;align-items:center;gap:8px;padding:4px 0}.blocked-sender-avatar{width:28px;height:28px;flex-shrink:0}.blocked-sender-avatar img,.blocked-sender-avatar .avatar-letter{width:28px;height:28px;filter:grayscale(.6)}.blocked-sender-name{font-size:.85em;font-weight:600;color:var(--text-secondary)}.blocked-msgs-body{padding-left:36px}.blocked-msg-line{display:flex;gap:8px;padding:2px 0;font-size:.82em;color:var(--text-secondary);line-height:1.4}.blocked-msg-time{flex-shrink:0;font-size:.85em;opacity:.7}.blocked-msg-text{word-break:break-word}.msg-hover-time{display:none;font-size:.65em;color:var(--text-secondary);white-space:nowrap;line-height:1.45;margin-top:3px}.message-grouped:hover .msg-hover-time{display:block}.msg-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.msg-avatar>img{width:36px;height:36px}.msg-avatar .avatar-letter{width:36px;height:36px;border-radius:50%;background:var(--bg-hover);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;font-size:.85em}.msg-username-wrap{position:relative;display:inline-block}.msg-username{color:#fff;font-weight:700;font-size:.9em;cursor:pointer}.msg-username-admin{color:#e74c3c}.msg-username-mod{color:#5b9bd5}.msg-username:hover{text-decoration:underline}.mini-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:0;background:#1a0f08;border:1px solid var(--border);border-radius:6px;padding:4px 8px;z-index:15;white-space:nowrap;font-size:.78em;color:var(--text-secondary);box-shadow:0 2px 8px #0006;pointer-events:none}.msg-username-wrap:hover .mini-tooltip{display:block}.msg-username-wrap:has(.user-card) .mini-tooltip{display:none}.user-card{position:absolute;top:calc(100% + 8px);left:0;background:#1a0f08;border:1px solid var(--border);border-radius:12px;z-index:30;min-width:240px;max-width:280px;box-shadow:0 8px 24px #00000080;overflow:hidden}.user-card-above{top:auto;bottom:calc(100% + 8px)}.user-card-header{display:flex;align-items:center;gap:12px;padding:14px 16px 10px;background:#d4af370f;border-bottom:1px solid var(--border)}.user-card-avatar{position:relative;flex-shrink:0;width:44px;height:44px}.user-card-avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover}.user-card-avatar-rank-badge{position:absolute;right:-4px;bottom:-2px;width:20px;height:20px;pointer-events:none}.user-card-avatar-rank{width:44px;height:44px;object-fit:contain}.user-card-avatar-letter{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg-hover);color:var(--accent);font-weight:700;font-size:1.2em}.user-card-identity{min-width:0}.user-card-name{color:#fff;font-weight:700;font-size:.95em;display:flex;align-items:center;gap:4px}.user-card-title{color:var(--accent);font-size:.78em;margin-top:2px}.user-card-info{padding:8px 16px;border-bottom:1px solid var(--border)}.user-card-row{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.8em;padding:2px 0}.user-card-order-icon{width:18px;height:18px}.user-card-id{font-size:.75em}.user-card-note{padding:8px 16px;border-bottom:1px solid var(--border)}.user-card-note-label{display:block;font-size:.7em;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.user-card-note-input{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.8em;padding:6px 8px;resize:none;outline:none;font-family:inherit;line-height:1.4;box-sizing:border-box}.user-card-note-input:focus{border-color:var(--accent)}.user-card-action-list{display:flex;flex-direction:column;padding:4px 0;border-bottom:1px solid var(--border)}.user-card-action{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--text-primary);font-size:.82em;padding:9px 16px;cursor:pointer;transition:background .1s ease;text-decoration:none;text-align:left}.user-card-action:hover{background:var(--bg-hover)}.user-card-action svg{color:var(--text-secondary);flex-shrink:0}.user-card-action-mod{color:#64b4ff}.user-card-action-mod svg{color:#64b4ff}.user-card-action-danger{color:var(--danger)}.user-card-action-danger svg{color:var(--danger)}.user-card-actions{display:flex;gap:6px;padding:10px 16px;flex-wrap:wrap}.user-card-btn{display:inline-block;color:var(--text-secondary);font-size:.8em;background:none;border:1px solid var(--border);border-radius:8px;padding:5px 12px;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.user-card-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.user-card-btn-primary{color:var(--accent);border-color:var(--accent);background:#d4af3714}.user-card-btn-primary:hover{background:#d4af372e}.user-card-btn-mod{color:#64b4ff}.user-card-btn-mod:hover{background:#64b4ff1a;border-color:#64b4ff}.role-admin-text{color:#ff6b6b}.role-mod-text{color:#64b4ff}.msg-time{color:var(--text-secondary);font-size:.7em;margin-left:8px;flex-shrink:0}.msg-time.always-visible{opacity:.6}.msg-reply-quote{border-left:3px solid var(--accent);background:#d4af370f;border-radius:0 6px 6px 0;padding:4px 10px;margin:4px 0 2px;display:flex;flex-direction:column;gap:1px;max-width:400px}.msg-reply-author{color:var(--accent);font-size:.75em;font-weight:700}.msg-reply-text{color:var(--text-secondary);font-size:.82em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-reply-blocked{border-left-color:var(--text-secondary);background:#8080800f;font-style:italic;opacity:.6}.msg-reply-clickable{cursor:pointer;transition:background .15s ease}.msg-reply-clickable:hover{background:#d4af371f}.msg-inline-code{background:#d4af371a;border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.88em;color:var(--accent)}.mention-highlight{color:var(--accent);font-weight:700;background:#d4af371a;border-radius:4px;padding:0 2px}.mention-clickable{cursor:pointer}.mention-clickable:hover{background:#d4af3740}.channel-ref{color:var(--accent);font-weight:700;background:#d4af371a;border-radius:4px;padding:0 2px;cursor:pointer}.channel-ref:hover{text-decoration:underline}.msg-link{color:var(--accent);text-decoration:underline;text-decoration-color:#d4af3766;word-break:break-all}.msg-link:hover{text-decoration-color:var(--accent)}.link-preview{display:flex;margin-top:8px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-secondary);text-decoration:none;color:inherit;max-width:400px;min-height:70px;transition:border-color .15s ease}.link-preview:hover{border-color:var(--accent)}.link-preview-img{width:80px;min-height:60px;object-fit:cover;flex-shrink:0}.link-preview-body{padding:8px 10px;min-width:0;overflow:hidden}.link-preview-site{font-size:.7em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.link-preview-title{font-size:.85em;font-weight:700;color:var(--accent);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-preview-desc{font-size:.78em;color:var(--text-secondary);line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.msg-image-link{display:block;cursor:pointer}.msg-image{width:100%;height:100%;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;object-fit:cover;background:var(--bg-secondary)}.msg-image-grid{display:grid;gap:4px;margin-top:6px;max-width:360px;border-radius:var(--radius);overflow:hidden}.msg-image-grid-1{grid-template-columns:1fr}.msg-image-grid-1 .msg-image{height:250px;object-fit:contain}.msg-image-grid-2{grid-template-columns:1fr 1fr}.msg-image-grid-2 .msg-image{height:180px}.msg-image-grid-3{grid-template-columns:1fr 1fr;grid-template-rows:120px 120px}.msg-image-grid-3 .msg-image-link:first-child{grid-row:1 / 3}.msg-image-grid-3 .msg-image-link:first-child .msg-image{height:244px}.msg-image-grid-3 .msg-image{height:120px}.msg-image-grid-4{grid-template-columns:1fr 1fr}.msg-image-grid-4 .msg-image{height:120px}.msg-image-overflow{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000008c;color:#fff;font-size:1.4em;font-weight:600;border-radius:var(--radius)}.message-row{position:relative}.hover-toolbar{position:absolute;top:4px;right:8px;display:flex;align-items:center;gap:2px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:2px 4px;z-index:5;box-shadow:0 2px 8px #0000004d;animation:toolbar-fade-in .12s ease}@keyframes toolbar-fade-in{0%{opacity:0}to{opacity:1}}.hover-toolbar-btn{background:none;border:none;cursor:pointer;font-size:.95em;padding:4px 6px;border-radius:6px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background .1s ease,transform .1s ease,color .1s ease;line-height:1}.hover-toolbar-btn:hover{background:var(--bg-hover);transform:scale(1.15);color:var(--text-primary)}.hover-toolbar-btn-active{background:#d4af3733;color:var(--accent)}.hover-toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 2px}.hover-toolbar-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;min-width:180px;padding:4px;z-index:20;box-shadow:0 4px 16px #0006}.hover-toolbar-menu-above{top:auto;bottom:calc(100% + 4px)}.hover-toolbar-menu-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;color:var(--text-secondary);font-size:.85em;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s ease,color .1s ease;text-align:left}.hover-toolbar-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.hover-toolbar-menu-item:disabled{opacity:.5;cursor:default}.hover-toolbar-menu-danger:hover{color:var(--danger);background:#ff6b6b14}.hover-toolbar-menu-timer{padding:4px 10px;font-size:.75em;color:var(--accent);opacity:.8;text-align:center;border-top:1px solid rgba(255,255,255,.06)}.bottom-sheet-timer{padding:8px 0;font-size:.8em;color:var(--accent);opacity:.8;text-align:center}.emoji-popup{position:absolute;bottom:calc(100% + 6px);right:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;padding:8px;z-index:25;box-shadow:0 4px 16px #0006}.emoji-popup-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.emoji-popup-btn{background:none;border:none;cursor:pointer;font-size:1.15em;padding:4px;border-radius:6px;transition:background .1s ease,transform .1s ease;line-height:1}.emoji-popup-btn:hover{background:var(--bg-hover);transform:scale(1.2)}.emoji-popup-btn-active{background:#d4af3733;border:1px solid var(--accent)}.bottom-sheet-backdrop{position:fixed;inset:0;background:#0000;z-index:1000;transition:background .25s ease;touch-action:none}.bottom-sheet-backdrop-visible{background:#0006}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border);border-radius:16px 16px 0 0;padding:0 0 env(safe-area-inset-bottom,12px);transform:translateY(100%);transition:transform .25s cubic-bezier(.32,.72,0,1);z-index:1001;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.bottom-sheet-visible{transform:translateY(0)}.bottom-sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 6px}.bottom-sheet-emoji-row{display:flex;gap:2px;padding:8px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);scrollbar-width:none}.bottom-sheet-emoji-row::-webkit-scrollbar{display:none}.bottom-sheet-emoji{background:none;border:none;cursor:pointer;font-size:1.5em;padding:6px 8px;border-radius:8px;flex-shrink:0;transition:background .1s ease;line-height:1}.bottom-sheet-emoji:active{background:var(--bg-hover)}.bottom-sheet-emoji-active{background:#d4af3733;border:1px solid var(--accent)}.bottom-sheet-actions{padding:4px 0}.bottom-sheet-action{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;color:var(--text-primary);font-size:.92em;padding:14px 20px;cursor:pointer;transition:background .1s ease;text-align:left}.bottom-sheet-action:active{background:var(--bg-hover)}.bottom-sheet-action:disabled{opacity:.5;cursor:default}.bottom-sheet-action svg{color:var(--text-secondary);flex-shrink:0}.bottom-sheet-action-danger{color:var(--danger)}.bottom-sheet-action-danger svg{color:var(--danger)}@media(min-width:768px){.bottom-sheet{max-width:340px;margin-inline:auto;border-radius:16px;margin-bottom:16px;border:1px solid var(--border)}}@media(pointer:coarse){.hover-toolbar{display:none!important}.message-row{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.message-deleted-row{opacity:.6}.msg-deleted-text{font-style:italic;color:var(--text-secondary);margin:2px 0 0;font-size:.92em}.msg-username-deleted{color:var(--text-secondary)!important}.msg-deleted-toggle{background:none;border:none;color:var(--text-secondary);font-style:italic;font-size:inherit;font-family:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.msg-deleted-toggle:hover{color:var(--text-primary)}.msg-deleted-original{margin:4px 0 0;padding:6px 10px;background:#ffffff0d;border-left:2px solid var(--text-secondary);border-radius:0 4px 4px 0;color:var(--text-primary);font-size:.92em;white-space:pre-wrap;word-break:break-word}.msg-edit-wrap{margin-top:3px}.msg-edit-input{width:100%;background:var(--bg-main);border:1px solid var(--accent);border-radius:6px;padding:5px 8px;color:var(--text-primary);font-size:.93em;font-family:inherit;outline:none;resize:none;line-height:1.45;box-sizing:border-box}.msg-edit-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.msg-edit-save,.msg-edit-cancel{padding:3px 12px;border:none;border-radius:4px;font-size:.8em;font-family:inherit;cursor:pointer}.msg-edit-save{background:var(--accent);color:#fff}.msg-edit-save:hover{filter:brightness(1.15)}.msg-edit-cancel{background:var(--bg-hover);color:var(--text-secondary)}.msg-edit-cancel:hover{color:var(--text-primary)}.msg-edit-hint{font-size:.7em;color:var(--text-secondary)}.msg-edited-tag{font-size:.72em;color:var(--text-secondary);margin-left:6px;font-style:italic}.reactions-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-chip{display:flex;align-items:center;gap:4px;background:#d4af371a;border:1px solid var(--border);border-radius:10px;padding:3px 8px;cursor:pointer;font-size:1.1em;transition:background .15s ease,border-color .15s ease;position:relative}.reaction-chip:hover,.reaction-chip-active{background:#d4af3733;border-color:var(--accent)}.reaction-count{color:var(--text-secondary);font-size:.85em}.reaction-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1a0f08;border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:.7em;color:var(--text-primary);white-space:nowrap;pointer-events:none;z-index:10}.reaction-chip:hover .reaction-tooltip{display:block}.msg-pin-icon{margin-left:4px;vertical-align:middle;display:inline}.pin-remove-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;margin-left:4px;display:flex;align-items:center;border-radius:4px}.pin-remove-btn:hover{color:var(--danger)}.avatar-custom-wrap{position:relative;width:36px;height:36px}.avatar-custom{width:36px;height:36px;border-radius:50%;object-fit:cover}.avatar-rank-overlay{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px}.ban-duration-picker{display:flex;flex-direction:column;gap:4px;padding:8px 16px;border-top:1px solid var(--border)}.ban-duration-picker .ban-label{font-size:.72em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.ban-duration-options{display:flex;gap:4px;flex-wrap:wrap}.ban-duration-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:4px 10px;font-size:.78em;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.ban-duration-btn:hover{background:#ff6b6b1a;border-color:var(--danger);color:var(--danger)}.msg-forward-card{background:var(--bg-secondary);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:6px 10px;margin:4px 0;cursor:pointer;transition:background .15s;font-size:.88em;max-width:400px}.msg-forward-card:hover{background:var(--bg-hover)}.msg-forward-no-link{cursor:default}.msg-forward-no-link:hover{background:var(--bg-secondary)}.msg-forward-header{display:flex;align-items:center;gap:4px;color:var(--accent);font-size:.82em;margin-bottom:2px}.msg-forward-channel{font-weight:600}.msg-forward-author{color:var(--text-primary);font-weight:600;font-size:.9em;display:block}.msg-forward-text{color:var(--text-secondary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px;font-size:.92em;line-height:1.4}.msg-forward-no-link .msg-forward-text{white-space:pre-wrap;overflow:visible;text-overflow:unset;max-width:none}.msg-forward-img-hint{color:var(--text-secondary);font-size:.85em}.ban-icon{display:inline-flex;align-items:center;margin-left:5px;vertical-align:middle;color:#e74c3c;cursor:default;opacity:.85}.ban-icon svg{display:block}.msg-legend-badge{width:16px;height:16px;margin-left:4px;vertical-align:middle;image-rendering:pixelated}.role-badge{display:inline-block;font-size:.65em;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:5px;vertical-align:middle;line-height:1}.role-admin{background:#ff6b6b33;color:#ff6b6b}.role-mod{background:#64b4ff33;color:#64b4ff}.role-bot{background:#8bc34a33;color:#8bc34a}.avatar-bot{width:36px;height:36px;border-radius:50%;background:#8bc34a26;border:1px solid rgba(139,195,74,.3);display:flex;align-items:center;justify-content:center;font-size:1.1em}.msg-username-bot{color:#8bc34a}.backpack-card{margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);max-width:360px;overflow:hidden}.backpack-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:.85em;font-weight:600;color:var(--accent);border-bottom:1px solid var(--border)}.backpack-header svg{flex-shrink:0}.backpack-items{padding:6px 12px;display:flex;flex-direction:column;gap:3px;max-height:280px;overflow-y:auto}.backpack-item{display:flex;align-items:center;gap:6px;font-size:.85em;line-height:1.3}.backpack-item-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.backpack-item-amount{color:var(--accent);font-weight:600;min-width:28px}.backpack-item-name{color:var(--text-primary)}.backpack-empty{padding:12px;text-align:center;color:var(--text-secondary);font-size:.85em}.backpack-footer{padding:6px 12px;font-size:.78em;color:var(--text-secondary);border-top:1px solid var(--border);text-align:right}.resource-card{margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);max-width:280px;overflow:hidden}.resource-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:.82em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.resource-icon{width:18px;height:18px;object-fit:contain}.resource-value{padding:10px 12px;font-size:1.2em;font-weight:700;color:var(--accent);text-align:center}.roll-card .roll-dice{font-size:1.3em}.roll-card .resource-value{font-size:1.8em}.orcking-card{margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);max-width:280px;overflow:hidden}.orcking-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:.85em;font-weight:600;color:var(--accent);border-bottom:1px solid var(--border)}.orcking-header svg{flex-shrink:0;stroke:var(--accent)}.orcking-bar-wrap{margin:10px 12px 6px;height:14px;background:#ffffff0f;border-radius:7px;overflow:hidden;border:1px solid var(--border)}.orcking-bar{height:100%;border-radius:7px;transition:width .3s ease}.orcking-stats{display:flex;justify-content:space-between;padding:0 12px 10px;font-size:.82em}.orcking-percent{font-weight:700;color:var(--text-primary)}.orcking-hp{color:var(--text-secondary)}.orcking-dead{padding:12px;text-align:center;color:var(--text-secondary);font-size:.85em;font-style:italic}.msg-translation{border-left:2px solid var(--accent);background:#d4af370a;border-radius:0 4px 4px 0;padding:4px 8px;margin-top:4px;max-width:500px}.msg-translation-label{display:block;font-size:.65em;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1px}.msg-translation-text{display:block;font-size:.88em;font-style:italic;color:var(--text-primary);line-height:1.4;word-break:break-word}.cmd-status-toast{padding:6px 12px;font-size:.82em;color:var(--danger);background:#ff6b6b14;border-radius:6px;margin-bottom:4px}.trade-card{margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);max-width:380px;overflow:hidden}.trade-card-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:.85em;font-weight:600;color:var(--accent);border-bottom:1px solid var(--border)}.trade-card-header svg{flex-shrink:0}.trade-status{margin-left:auto;font-size:.85em;font-weight:500;padding:1px 8px;border-radius:10px}.trade-status-pending{background:#ffc10726;color:#ffc107}.trade-status-accepted{background:#4caf5026;color:#4caf50}.trade-status-declined{background:#f4433626;color:#f44336}.trade-status-expired{background:#9e9e9e26;color:#9e9e9e}.trade-card-body{display:flex;align-items:center;padding:10px 12px;gap:8px}.trade-side{flex:1;min-width:0}.trade-side-label{font-size:.75em;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.trade-item-row{display:flex;align-items:center;gap:6px}.trade-item-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}.trade-item-text{font-size:.88em;font-weight:600;color:var(--text-primary)}.trade-arrow{font-size:1.2em;color:var(--text-secondary);flex-shrink:0;padding:0 4px}.trade-card-actions{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border)}.trade-btn{flex:1;padding:6px 12px;border:none;border-radius:var(--radius);font-size:.82em;font-weight:600;cursor:pointer;transition:opacity .15s}.trade-btn:disabled{opacity:.5;cursor:default}.trade-btn-accept{background:#4caf5033;color:#4caf50}.trade-btn-accept:hover:not(:disabled){background:#4caf504d}.trade-btn-decline{background:#f4433626;color:#f44336}.trade-btn-decline:hover:not(:disabled){background:#f4433640}.trade-card-error{padding:4px 12px 8px;font-size:.78em;color:var(--danger)}.trade-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.trade-modal-dialog{padding:0;border:none;background:transparent;max-width:90vw;max-height:90vh}.trade-modal-dialog::backdrop{background:#0009}.trade-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:420px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.trade-modal-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.trade-modal-header h3{margin:0;font-size:.95em}.trade-modal-target{font-size:.82em;color:var(--accent);margin-left:4px}.trade-modal-close{margin-left:auto;background:none;border:none;color:var(--text-secondary);font-size:1.3em;cursor:pointer;padding:0 4px}.trade-modal-loading{padding:24px;text-align:center;color:var(--text-secondary);font-size:.85em}.trade-modal-body{padding:16px}.trade-section{margin-bottom:16px}.trade-section-label{display:block;font-size:.82em;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.trade-select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.88em;margin-bottom:6px}.trade-amount-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.88em;margin-bottom:4px}.trade-balance{font-size:.78em;color:var(--text-secondary)}.trade-modal-error{padding:0 16px 8px;font-size:.82em;color:var(--danger)}.trade-modal-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.trade-modal-btn{flex:1;padding:8px 16px;border:none;border-radius:var(--radius);font-size:.88em;font-weight:600;cursor:pointer}.trade-modal-btn:disabled{opacity:.5;cursor:default}.trade-modal-btn-cancel{background:var(--bg-secondary);color:var(--text-secondary)}.trade-modal-btn-send{background:var(--accent);color:var(--bg-primary)}.trade-modal-btn-send:hover:not(:disabled){opacity:.9}.user-card-btn-trade{color:var(--accent)!important}.user-card-btn-gift{color:#d4a017!important}.gift-card{margin-top:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);max-width:380px;overflow:hidden}.gift-card-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:.85em;font-weight:600;color:#d4a017;border-bottom:1px solid var(--border)}.gift-card-header svg{flex-shrink:0}.gift-express-badge{font-size:.75em;font-weight:600;padding:1px 6px;border-radius:8px;background:#d4a01726;color:#d4a017}.gift-delivered{background:#4caf5026;color:#4caf50}.gift-picked-up{background:#4caf5040;color:#66bb6a}.gift-card-body{padding:10px 12px}.gift-card-info{display:flex;flex-direction:column;gap:6px}.gift-card-from{font-size:.78em;color:var(--text-secondary)}.gift-countdown{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.82em;color:var(--text-secondary);border-top:1px solid var(--border)}.gift-delivery-preview{font-size:.82em;color:var(--text-secondary);padding:4px 0}.gift-express-label{display:flex;align-items:center;gap:8px;font-size:.88em;color:var(--text-primary);cursor:pointer;margin-bottom:4px}.gift-express-label input[type=checkbox]{accent-color:#d4a017}.gift-modal-btn-send{background:#d4a017;color:#fff}.gift-modal-btn-send:hover:not(:disabled){opacity:.9}.voice-message{display:flex;align-items:center;gap:8px;max-width:280px;padding:8px 12px;border-radius:12px;background:#ffffff0d;margin-top:4px}.voice-play-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}.voice-play-btn:hover{opacity:.85}.voice-progress-wrap{flex:1;height:4px;background:#ffffff1a;border-radius:2px;cursor:pointer;position:relative}.voice-progress-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.voice-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width .1s linear}.voice-time{font-size:.75em;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.voice-autoplay{border-left:2px solid var(--accent);animation:voice-autoplay-fade .4s ease}@keyframes voice-autoplay-fade{0%{background:#d4af3726}to{background:#ffffff0d}}.voice-recording{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-secondary);border-top:1px solid var(--border)}.voice-recording-dot{width:10px;height:10px;border-radius:50%;background:#e53935;animation:voice-pulse 1s ease-in-out infinite;flex-shrink:0}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.3}}.voice-recording-timer{font-size:.9em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.voice-recording-cancel,.voice-recording-send{width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.voice-recording-cancel{background:#ffffff14;color:var(--text-secondary)}.voice-recording-cancel:hover{background:#ffffff26}.voice-recording-send{background:var(--accent);color:#fff}.voice-recording-send:hover{opacity:.85}.voice-recording-warning{border-top-color:#e53935}.voice-recording-warning .voice-recording-timer{color:#e53935}.voice-recording-limit{font-size:.8em;color:#e53935;white-space:nowrap}.user-joined-card{position:relative;display:inline-flex;align-items:center;gap:8px;padding:4px 8px;margin:4px 16px;background:transparent;border:none;border-radius:6px;cursor:pointer;opacity:.75;transition:opacity .1s ease-in,background .1s ease-in;font-size:.85em}.user-joined-card:hover,.user-joined-card:focus-visible{opacity:1;background:#ffffff0a;outline:none}.user-joined-avatar{width:20px;height:20px;flex:0 0 auto}.user-joined-avatar img{width:100%;height:100%;object-fit:cover}.user-joined-body{display:inline;min-width:0;color:#a9997b}.user-joined-title{display:inline;font-weight:500}.user-joined-name{color:#c9b87a}.user-joined-level{font-weight:400;color:#a9997b}.user-joined-subtitle{display:inline;margin-left:4px;color:#a9997b}.item-picker-trigger{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.88em;text-align:left;cursor:pointer;margin-bottom:6px;min-height:40px}.item-picker-trigger:hover:not(:disabled){border-color:var(--accent)}.item-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.item-picker-trigger>img{width:24px;height:24px;object-fit:contain;flex:0 0 auto}.item-picker-trigger-text{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.item-picker-trigger-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-picker-trigger-amount{flex:0 0 auto;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.item-picker-trigger-placeholder{flex:1;color:var(--text-secondary)}.item-picker-trigger-chevron{flex:0 0 auto;color:var(--text-secondary);font-size:.9em}.item-picker-overlay{position:fixed;inset:0;z-index:1100;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.item-picker-sheet{display:flex;flex-direction:column;width:calc(100% + -0px);max-width:420px;max-height:min(560px,80vh);background:var(--bg-card, var(--bg-secondary));color:var(--text-primary);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 12px 32px #00000080}.item-picker-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border);flex:0 0 auto}.item-picker-search{flex:1;min-width:0;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.92em}.item-picker-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.item-picker-close{flex:0 0 auto;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);font-size:1.4em;line-height:1;cursor:pointer}.item-picker-close:hover{color:var(--text-primary)}.item-picker-list{flex:1;min-height:0;overflow-y:auto;padding:6px 6px 10px}.item-picker-empty{padding:28px 16px;text-align:center;color:var(--text-secondary);font-size:.92em}.item-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font-size:.94em;text-align:left;cursor:pointer;min-height:44px}.item-picker-row:hover,.item-picker-row:focus-visible{background:#d4af371a;outline:none}.item-picker-row.selected{background:#d4af372e}.item-picker-row.active{background:#d4af3724;outline:2px solid rgba(212,175,55,.55);outline-offset:-2px}.item-picker-row>img,.item-picker-row-icon-fallback{width:28px;height:28px;object-fit:contain;flex:0 0 auto}.item-picker-row-icon-fallback{border-radius:6px;background:#7d5c362e}.item-picker-row-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-picker-row-amount{flex:0 0 auto;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700;font-size:.9em}@media(max-width:480px){.item-picker-overlay{padding:8px}.item-picker-sheet{max-width:none;max-height:78vh}}.reply-preview{display:flex;align-items:center;padding:8px 16px;background:var(--bg-secondary);border-top:1px solid var(--border);gap:8px}.reply-preview-content{flex:1;min-width:0;border-left:3px solid var(--accent);padding-left:10px;display:flex;flex-direction:column;gap:1px}.reply-preview-author{color:var(--accent);font-size:.75em;font-weight:700}.reply-preview-text{color:var(--text-secondary);font-size:.82em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .15s ease;flex-shrink:0}.reply-preview-close:hover{color:var(--danger)}.emoji-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;flex-shrink:0;transition:color .15s ease}.emoji-toggle-btn:hover:not(:disabled){color:var(--accent)}.emoji-toggle-btn:disabled{opacity:.3;cursor:default}.emoji-picker{position:absolute;bottom:100%;left:0;background:#1a0f08;border:1px solid var(--border);border-radius:var(--radius);padding:6px;z-index:30;box-shadow:0 -4px 16px #0006;max-height:min(60vh,400px);overflow-y:auto;width:fit-content;max-width:90vw}.emoji-picker-header{display:flex;justify-content:flex-end;padding:0 0 4px}.emoji-picker-close{background:none;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;padding:3px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.emoji-picker-close:hover{color:var(--text-primary);background:var(--bg-hover)}.emoji-picker-row{display:grid;grid-template-columns:repeat(8,1fr);gap:1px}.emoji-picker-item{background:none;border:none;font-size:1.2em;cursor:pointer;padding:3px;border-radius:6px;line-height:1;transition:background .1s ease,transform .1s ease}.emoji-picker-item:hover{background:var(--bg-hover);transform:scale(1.2)}.image-preview-grid{display:flex;gap:6px;padding:8px 12px 4px;background:var(--bg-secondary);border-top:1px solid var(--border);overflow-x:auto;align-items:flex-end;flex-wrap:wrap}.image-preview-item{position:relative;flex-shrink:0}.image-preview-img{width:80px;height:80px;border-radius:var(--radius);border:1px solid var(--border);object-fit:cover}.image-preview-remove{position:absolute;top:-4px;right:-4px;background:#000000b3;border:none;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer}.image-preview-remove:hover{background:var(--danger)}.image-preview-uploading{display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:.8em;padding:0 8px;white-space:nowrap}.image-preview-count{font-size:.75em;color:var(--text-secondary);padding:0 4px;align-self:center}.mention-dropdown{position:absolute;bottom:100%;left:16px;right:16px;background:#1a0f08;border:1px solid var(--border);border-radius:var(--radius);padding:4px;z-index:30;box-shadow:0 -4px 16px #0006;max-height:320px;overflow-y:auto}.mention-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.9em;color:var(--text-primary);transition:background .1s ease}.mention-item:hover,.mention-item.active{background:var(--bg-hover)}.mention-rank{width:18px;height:18px}.msg-input-wrap{display:flex;align-items:center;padding:12px 16px;background:var(--bg-secondary);gap:8px}.msg-input-container{position:relative;min-width:0}.msg-input-inner{flex:1;min-width:0;position:relative}.msg-input{width:100%;min-width:0;font-family:inherit;background:#1a0f08;border:none;border-radius:var(--radius);padding:14px;color:var(--text-primary);outline:none;font-size:.95em;resize:none;overflow-y:auto;max-height:120px;line-height:1.4}.char-counter{position:absolute;bottom:4px;right:8px;font-size:.7em;color:var(--text-secondary);pointer-events:none;opacity:.7}.char-counter-danger{color:var(--danger);opacity:1;font-weight:600}.msg-input::placeholder{color:var(--text-secondary)}.msg-send-btn{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#1a0f08;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease;flex-shrink:0}.msg-send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.msg-send-btn:disabled{opacity:.3;cursor:default}.msg-send-btn svg{width:18px;height:18px}.drop-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none;border:2px dashed var(--accent);border-radius:var(--radius)}.drop-overlay-content{color:var(--accent);font-size:1.1em;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:8px}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;z-index:300;display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius);cursor:default}.lightbox-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:2em;cursor:pointer;line-height:1;opacity:.7;transition:opacity .15s ease;z-index:301}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;border:none;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7;transition:opacity .15s ease;z-index:301}.lightbox-nav:hover{opacity:1}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#fff;font-size:.9em;background:#00000080;padding:4px 12px;border-radius:12px;z-index:301}.settings-overlay{position:fixed;inset:0;background:#0009;z-index:200}.settings-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:380px;max-width:90vw;max-height:90vh;overflow-y:auto;z-index:201;box-shadow:0 8px 32px #00000080}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);font-weight:700;color:var(--accent)}.settings-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.4em;cursor:pointer;padding:0 4px;line-height:1}.settings-close-btn:hover{color:var(--danger)}.settings-modal-body{padding:20px}.settings-group{margin-bottom:24px;scroll-margin-top:16px}.settings-group:last-child{margin-bottom:0}.settings-group-title{margin:0 0 14px;font-size:1.05em;font-weight:700;color:var(--accent);letter-spacing:.02em;padding-bottom:6px;border-bottom:1px solid var(--border)}.settings-embedded{background:transparent;border:0;border-radius:0;width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;z-index:auto;position:static;transform:none}.settings-embedded .settings-modal-body{padding:4px 0 0}.settings-embedded .settings-modal-footer{padding:14px 0 0;border-top:1px solid var(--border);margin-top:8px}.settings-embedded .settings-group{padding:14px;background:#140b0566;border:1px solid rgba(125,92,54,.4);border-radius:10px;margin-bottom:16px}.settings-embedded .settings-group:last-child{margin-bottom:0}.settings-embedded .settings-group-title{border-bottom:0;padding-bottom:0;margin-bottom:12px;font-size:1.05em;font-weight:700;letter-spacing:.02em}.settings-section{margin-bottom:20px}.settings-label{display:block;color:var(--text-secondary);font-size:.75em;text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:8px}.settings-avatar-area{display:flex;align-items:center;gap:16px}.settings-avatar-wrap{position:relative;width:64px;height:64px;flex-shrink:0}.settings-avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.settings-avatar-placeholder{width:64px;height:64px;border-radius:50%;background:var(--bg-hover);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;font-size:1.5em}.settings-rank-overlay{position:absolute;bottom:-2px;right:-2px;width:24px;height:24px}.settings-upload-btn{display:inline-block;color:var(--accent);font-size:.82em;border:1px solid var(--border);border-radius:8px;padding:6px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.settings-upload-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.settings-hint{color:var(--text-secondary);font-size:.7em;margin-top:4px}.settings-link-btn{background:none;border:none;color:var(--accent);font-size:.82em;cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:3px}.settings-link-btn:hover{color:var(--text-primary)}.settings-link-btn:disabled{opacity:.5;cursor:default}.settings-danger-link{color:var(--danger)}.settings-danger-link:hover{color:#ff8a8a}.settings-email-input{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.85em;outline:none}.settings-email-input:focus{border-color:var(--accent)}.settings-email-submit{padding:6px 14px;background:var(--accent);color:var(--bg-primary);border:none;border-radius:6px;font-size:.82em;font-weight:600;cursor:pointer;white-space:nowrap}.settings-email-submit:hover{background:var(--accent-hover)}.settings-email-submit:disabled{opacity:.4;cursor:default}.settings-lang-toggle{display:flex;gap:8px}.settings-lang-btn{padding:6px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.85em;transition:all .15s}.settings-lang-btn.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.settings-lang-btn:hover:not(.active){border-color:var(--accent);color:var(--text-primary)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:.88em}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:22px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:var(--text-secondary);border-radius:50%;transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px);background:#1a0f08}.settings-error{color:var(--danger);font-size:.82em;padding:8px 12px;background:#ff6b6b1a;border-radius:8px;margin-bottom:12px}.settings-success{color:var(--online);font-size:.82em;padding:8px 12px;background:#43b5811a;border-radius:8px;margin-bottom:12px}.settings-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--border)}.settings-cancel-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;padding:8px 18px;cursor:pointer;font-size:.85em;transition:color .15s ease,border-color .15s ease}.settings-cancel-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.settings-save-btn{background:var(--accent);border:none;color:#1a0f08;border-radius:8px;padding:8px 18px;cursor:pointer;font-size:.85em;font-weight:700;transition:background .15s ease}.settings-save-btn:hover:not(:disabled){background:var(--accent-hover)}.settings-save-btn:disabled{opacity:.5;cursor:default}.settings-logout-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border);color:var(--danger, #e74c3c);padding:7px 14px;border-radius:6px;cursor:pointer;font-size:.85em;margin-right:auto;transition:background .15s ease,border-color .15s ease}.settings-logout-btn:hover{background:#e74c3c1a;border-color:var(--danger, #e74c3c)}.settings-download-group{display:flex;flex-direction:column;gap:8px}.settings-download-btn{display:flex;align-items:center;gap:8px;color:var(--accent);text-decoration:none;font-size:.85em;padding:8px 12px;border:1px solid var(--border);border-radius:6px;transition:background .15s ease,border-color .15s ease}.settings-download-btn:hover{background:#d4af371a;border-color:var(--accent)}.version-badge-new{margin-left:auto;background:var(--accent, #d4af37);color:#1a0f08;font-size:.7em;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.settings-update-banner{display:flex;align-items:center;gap:8px;color:var(--accent);text-decoration:none;font-size:.85em;padding:10px 12px;border:1px solid var(--accent);border-radius:6px;background:#d4af3714;transition:background .15s ease}.settings-update-banner:hover{background:#d4af3726}.settings-privacy-group{display:flex;flex-direction:column;gap:8px;margin-top:4px}.settings-privacy-btn{display:flex;align-items:center;gap:8px;font-size:.85em;padding:10px 14px;border-radius:6px;cursor:pointer;transition:background .15s ease,border-color .15s ease;background:none;text-align:left}.settings-privacy-btn--link{color:var(--accent);border:1px solid var(--border);text-decoration:none}.settings-privacy-btn--link:hover{background:#d4af371a;border-color:var(--accent)}.settings-privacy-btn--action{color:var(--text);border:1px solid var(--border);background:#ffffff0a}.settings-privacy-btn--action:hover{background:#ffffff14;border-color:var(--text-secondary)}.settings-privacy-btn--danger{color:#e74c3c;border:1px solid rgba(231,76,60,.3);background:#e74c3c0f}.settings-privacy-btn--danger:hover{background:#e74c3c24;border-color:#e74c3c80}.settings-privacy-btn:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-box{border:1px solid rgba(231,76,60,.3);border-radius:8px;padding:12px;background:#e74c3c0f}.delete-confirm-warning{display:flex;align-items:flex-start;gap:8px;font-size:.82em;color:#e74c3c;line-height:1.4;margin-bottom:10px}.delete-confirm-warning svg{flex-shrink:0;margin-top:1px}.delete-confirm-input{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid rgba(231,76,60,.3);border-radius:6px;color:var(--text-primary);font-size:.88em;font-family:inherit;margin-bottom:10px;box-sizing:border-box;outline:none}.delete-confirm-input:focus{border-color:#e74c3c}.delete-confirm-input::placeholder{color:var(--text-secondary);opacity:.5}.delete-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.delete-confirm-cancel{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:6px 14px;cursor:pointer;font-size:.82em;transition:color .15s ease,border-color .15s ease}.delete-confirm-cancel:hover{color:var(--text-primary);border-color:var(--text-secondary)}.delete-confirm-proceed{background:none;border:1px solid rgba(231,76,60,.4);color:#e74c3c;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:.82em;transition:background .15s ease,border-color .15s ease}.delete-confirm-proceed:hover{background:#e74c3c1a;border-color:#e74c3c}.delete-confirm-final{display:flex;align-items:center;gap:6px;background:#e74c3c;border:none;color:#fff;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:.82em;font-weight:600;transition:background .15s ease}.delete-confirm-final:hover:not(:disabled){background:#c0392b}.delete-confirm-final:disabled{opacity:.35;cursor:not-allowed}.settings-push-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:#d4af3714;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-size:.88em;cursor:pointer;transition:background .15s ease}.settings-push-btn:hover{background:#d4af372e}.settings-block-list{display:flex;flex-direction:column;gap:6px}.settings-block-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:8px;background:var(--bg-primary)}.settings-block-user{display:flex;align-items:center;gap:8px;min-width:0}.settings-block-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.settings-block-avatar-letter{width:28px;height:28px;border-radius:50%;background:var(--bg-hover);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.75em;font-weight:600;flex-shrink:0}.settings-block-name{font-size:.85em;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-block-remove{background:none;border:1px solid var(--text-secondary);border-radius:6px;color:var(--text-secondary);font-size:.75em;padding:3px 8px;cursor:pointer;flex-shrink:0;transition:color .15s ease,border-color .15s ease}.settings-block-remove:hover{color:var(--accent);border-color:var(--accent)}.settings-block-search{position:relative;margin-bottom:10px}.settings-block-search-input{width:100%;padding:9px 12px;border:1px solid rgba(212,175,55,.35);border-radius:8px;background:#d4af3714;color:var(--text-primary);font-size:.95em;font-family:inherit;box-sizing:border-box;outline:none;transition:border-color .15s ease,background .15s ease}.settings-block-search-input::placeholder{color:var(--text-secondary);opacity:.7}.settings-block-search-input:focus{border-color:var(--accent);background:#d4af3724}.settings-block-search-results{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--bg-elevated, var(--bg-secondary, #2a2a2a));border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:6px;box-shadow:0 6px 20px #00000059;z-index:10;max-height:320px;overflow-y:auto}.settings-block-search-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:8px 10px;cursor:pointer;color:var(--text-primary);text-align:left;font-size:.88em;transition:background-color .12s ease}.settings-block-search-item:not(:last-child){border-bottom:1px solid var(--border, rgba(255, 255, 255, .06))}.settings-block-search-item:hover:not(:disabled),.settings-block-search-item:focus-visible:not(:disabled){background:var(--bg-hover, rgba(255, 255, 255, .05))}.settings-block-search-item:disabled{opacity:.5;cursor:progress}.settings-block-add-hint{margin-left:auto;font-size:.75em;color:var(--text-secondary);flex-shrink:0}.settings-block-id{margin-left:6px;font-size:.78em;color:var(--text-secondary);font-weight:400}.rules-modal{width:460px}.rules-content{font-size:.9em;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.rules-editor{width:100%;min-height:200px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:10px;font-size:.88em;line-height:1.5;resize:vertical;font-family:inherit}.rules-editor:focus{outline:none;border-color:var(--accent)}.rules-lang-tabs{display:flex;gap:4px;margin-bottom:10px}.rules-lang-tab{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:5px 14px;cursor:pointer;font-size:.82em;transition:background .15s ease,color .15s ease,border-color .15s ease}.rules-lang-tab.active{background:var(--accent);color:#1a0f08;border-color:var(--accent);font-weight:700}.rules-lang-tab:not(.active):hover{border-color:var(--text-secondary);color:var(--text-primary)}.group-creator-overlay{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:center;justify-content:center}.group-creator-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:380px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.group-creator-title{font-size:1.1em;font-weight:700;color:var(--text-primary);margin-bottom:12px}.group-creator-search{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text-primary);font-size:.9em;width:100%;margin-bottom:8px;box-sizing:border-box;outline:none;font-family:inherit}.group-creator-search:focus{border-color:var(--accent)}.group-creator-search::placeholder{color:var(--text-secondary)}.group-creator-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.group-member-chip{background:var(--bg-hover);border:1px solid var(--border);border-radius:16px;padding:3px 10px;font-size:.82em;color:var(--text-primary);display:flex;align-items:center;gap:4px}.group-member-chip-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:1.1em;line-height:1}.group-member-chip-remove:hover{color:var(--danger)}.group-creator-list{flex:1;overflow-y:auto;margin-bottom:12px;min-height:120px;max-height:300px}.group-creator-user{padding:6px 8px;display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:6px;font-size:.9em}.group-creator-user:hover{background:var(--bg-hover)}.group-creator-user.selected{background:#d4af371f}.group-creator-btn{background:var(--accent);color:#000;border:none;border-radius:8px;padding:10px;font-weight:700;cursor:pointer;font-size:.9em}.group-creator-btn:disabled{opacity:.4;cursor:not-allowed}.forward-section-header{padding:8px 12px 4px;font-size:.75em;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em}.forward-channel-hash{width:24px;text-align:center;font-weight:700;color:var(--text-secondary);font-size:1.1em}.group-member-clickable{cursor:pointer;transition:text-decoration .15s}.group-member-clickable:hover{text-decoration:underline}.kick-confirm-modal{max-width:360px}.kick-confirm-btn{background:none!important;border:1px solid var(--danger, #e74c3c)!important;color:var(--danger, #e74c3c)!important;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:.85em;transition:background .15s ease}.kick-confirm-btn:hover{background:#e74c3c1a!important}.admin-modal{width:440px}.admin-tabs{display:flex;border-bottom:1px solid var(--border)}.admin-tab{flex:1;padding:10px 16px;background:none;border:none;color:var(--text-secondary);font-size:.88em;cursor:pointer;transition:color .15s ease,border-color .15s ease;border-bottom:2px solid transparent}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.admin-tab:not(.active):hover{color:var(--text-primary)}.admin-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;transition:background .1s ease}.admin-list-item:hover{background:var(--bg-hover)}.admin-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;color:var(--text-primary);cursor:pointer}.admin-item-name:hover{color:var(--accent)}.admin-item-actions{display:flex;gap:4px;flex-shrink:0}.admin-btn-icon{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease}.admin-btn-icon:hover{color:var(--text-primary);background:var(--bg-hover)}.admin-btn-icon:disabled{opacity:.3;cursor:default}.admin-btn-icon.admin-btn-danger:hover{color:var(--danger, #e74c3c)}.admin-inline-edit{display:flex;gap:6px;align-items:center;width:100%}.admin-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:6px 10px;font-size:.88em;font-family:inherit;flex:1;min-width:0;outline:none;box-sizing:border-box;width:100%}.admin-input:focus{border-color:var(--accent)}.admin-input-number{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:6px 10px;font-size:.88em;font-family:inherit;outline:none;box-sizing:border-box}.admin-input-number:focus{border-color:var(--accent)}.admin-select{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:6px 10px;font-size:.88em;font-family:inherit;width:100%;outline:none;box-sizing:border-box;cursor:pointer}.admin-select:focus{border-color:var(--accent)}.admin-btn-sm{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:5px 12px;cursor:pointer;font-size:.82em;white-space:nowrap;transition:color .15s ease,border-color .15s ease,background .15s ease}.admin-btn-sm:hover{color:var(--text-primary);border-color:var(--text-secondary)}.admin-btn-sm.admin-btn-accent{background:var(--accent);color:#1a0f08;border-color:var(--accent);font-weight:600}.admin-btn-sm.admin-btn-accent:hover:not(:disabled){background:var(--accent-hover)}.admin-btn-sm.admin-btn-accent:disabled{opacity:.5;cursor:default}.admin-btn-sm.admin-btn-cancel{color:var(--text-secondary)}.admin-btn-sm.admin-btn-danger{color:var(--danger, #e74c3c);border-color:#e74c3c4d}.admin-btn-sm.admin-btn-danger:hover{background:#e74c3c1a;border-color:var(--danger, #e74c3c)}.admin-new-row{display:flex;gap:8px;margin-top:10px}.admin-group-header{font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:12px 10px 4px}.admin-channel-item{border:1px solid var(--border);border-radius:6px;margin-bottom:6px;overflow:hidden}.admin-channel-header{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;font-size:.9em;color:var(--text-primary);transition:background .1s ease}.admin-channel-header:hover{background:var(--bg-hover)}.admin-channel-header .channel-hash{color:var(--text-secondary);font-weight:700}.admin-chevron{margin-left:auto;color:var(--text-secondary);transition:transform .15s ease}.admin-chevron.expanded{transform:rotate(180deg)}.admin-channel-body{padding:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.admin-field-label{font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-top:4px}.admin-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:.88em;color:var(--text-primary)}.admin-channel-actions{display:flex;justify-content:space-between;margin-top:8px}.admin-new-channel{border:1px solid var(--accent);border-radius:6px;padding:12px;margin-top:12px;display:flex;flex-direction:column;gap:8px;background:#d4af370a}.admin-usage-section{margin-bottom:16px}.admin-usage-title{font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:0 0 6px}.admin-usage-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.admin-usage-stat{display:flex;align-items:center;justify-content:space-between;font-size:.88em}.admin-usage-stat-label{color:var(--text-secondary)}.admin-usage-stat-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.admin-usage-bar{height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden;margin-top:4px}.admin-usage-bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.admin-usage-bar-fill.warning{background:#e8a838}.admin-usage-bar-fill.danger{background:#e84038}.admin-usage-divider{border:none;border-top:1px solid var(--border);margin:12px 0}.admin-usage-highlight{font-size:1.1em}.hotkey-help-intro{margin:0 0 14px;color:var(--text-secondary);font-size:.95em;line-height:1.4}.hotkey-help-list{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:8px}.hotkey-help-row{display:flex;align-items:center;gap:14px;padding:10px 12px;background:#140b0573;border:1px solid var(--border);border-radius:10px}.hotkey-help-keys{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.hotkey-help-keys kbd{display:inline-block;padding:4px 9px;background:#3c261299;border:1px solid var(--border);border-radius:6px;color:var(--accent);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em;font-weight:700;letter-spacing:.04em;box-shadow:0 2px #0000004d}.hotkey-help-plus{color:var(--text-secondary);font-size:.85em;margin:0 2px}.hotkey-help-desc{flex:1 1 auto;color:var(--text-primary);font-size:.92em}.hotkey-help-foot{margin:6px 0 0;color:var(--text-secondary);font-size:.82em;line-height:1.4}.members-toggle-btn{margin-left:auto;background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius);padding:6px 8px;cursor:pointer;display:flex;align-items:center;transition:color .15s ease,border-color .15s ease}.members-toggle-btn:hover{color:var(--accent);border-color:var(--accent)}.members-toggle-btn svg{width:18px;height:18px}.members-panel{width:260px;min-width:260px;background:var(--bg-sidebar);height:100dvh;display:flex;flex-direction:column;overflow-y:auto}.members-header{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.82em;font-weight:600;text-transform:uppercase;letter-spacing:.8px;display:flex;justify-content:space-between;align-items:center}.members-search{padding:8px 12px;border-bottom:1px solid var(--border)}.members-search-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;color:var(--text-primary);font-size:.82em;outline:none;font-family:inherit;box-sizing:border-box}.members-search-input::placeholder{color:var(--text-secondary)}.members-search-input:focus{border-color:var(--accent)}.members-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.3em;cursor:pointer;padding:0 4px;line-height:1}.members-close-btn:hover{color:var(--accent)}.members-list{flex:1;overflow-y:auto;padding:4px 0}.members-group{margin-bottom:4px}.members-group-header{padding:8px 14px 4px;display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.members-group-header:hover{background:var(--bg-hover)}.members-group-arrow{font-size:.6em;color:var(--text-secondary);width:10px}.members-group-label{color:var(--text-secondary);font-size:.72em;text-transform:uppercase;letter-spacing:1px;font-weight:600}.members-group-count{color:var(--text-secondary);font-size:.7em;margin-left:auto}.members-group-list{padding:2px 0}.members-user{padding:5px 14px 5px 20px;display:flex;align-items:center;gap:6px;font-size:.85em;transition:background .1s ease}.members-user:hover{background:var(--bg-hover)}.members-user:focus-visible,.members-group-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.members-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.members-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-user-sub{font-size:.7em;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;display:flex;align-items:center;gap:2px}.members-order-icon{width:12px;height:12px}.members-user-offline{opacity:.5}.members-role-badge{font-size:.65em;font-weight:700;padding:1px 5px;border-radius:6px;flex-shrink:0}.members-role-admin{background:#ff6b6b33;color:#ff6b6b}.members-role-mod{background:#64b4ff33;color:#64b4ff}.members-panel.members-closed{display:none}.member-avatar-wrap{position:relative;width:18px;height:18px;flex-shrink:0}.member-avatar{width:18px;height:18px;border-radius:50%;object-fit:cover}.member-rank-overlay{position:absolute;bottom:-3px;right:-3px;width:10px;height:10px}.members-usercard-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center}.members-usercard-wrap{position:relative;max-width:320px;width:90%}.members-usercard-wrap .user-card{position:static;max-height:80dvh;overflow-y:auto}@media(max-width:1024px){.members-panel{position:fixed!important;top:0;right:0;z-index:90;transform:translate(100%);transition:transform .25s ease;height:100dvh!important;display:flex!important;padding-top:env(safe-area-inset-top,0px)}.members-panel.members-open{transform:translate(0)}.members-panel.members-closed{display:flex!important}}.report-reason-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.report-reason-picker{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px;min-width:240px;max-width:320px}.report-reason-title{color:var(--text-primary);font-weight:600;font-size:.95em;margin-bottom:12px;text-align:center}.report-reason-btn{display:block;width:100%;padding:10px 14px;margin:4px 0;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.9em;cursor:pointer;text-align:left;transition:background .15s}.report-reason-btn:hover{background:var(--bg-hover)}.reports-panel-backdrop{position:fixed;inset:0;background:#0000004d;z-index:149}.reports-panel{position:fixed;top:0;right:0;width:400px;max-width:100vw;height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border);z-index:150;display:flex;flex-direction:column;box-shadow:-4px 0 20px #0000004d}.reports-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.reports-panel-header h2,.reports-panel-header h3{margin:0;color:var(--text-primary);font-size:1em}.reports-panel-close{background:none;border:none;color:var(--text-secondary);font-size:1.4em;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center}.reports-panel-close:hover{color:var(--text-primary)}.reports-panel-body{flex:1;overflow-y:auto;padding:12px}.reports-panel-loading,.reports-panel-empty{color:var(--text-secondary);text-align:center;padding:40px 20px;font-size:.9em}.report-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px}.report-card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.report-card-user{color:var(--accent);font-weight:600;font-size:.9em}.report-card-reason{background:#d4af3726;color:var(--accent);padding:2px 8px;border-radius:10px;font-size:.75em;font-weight:500}.report-card-count{color:var(--text-secondary);font-size:.75em;margin-left:auto}.report-card-message{color:var(--text-primary);font-size:.85em;padding:8px 10px;background:var(--bg-secondary);border-radius:6px;margin:6px 0;word-break:break-word;white-space:pre-wrap}.report-card-message[role=button]{cursor:pointer}.report-card-message[role=button]:hover{background:var(--bg-hover)}.report-card-convtype{color:var(--text-secondary);font-style:italic}.report-card-meta{display:flex;gap:10px;font-size:.75em;color:var(--text-secondary);margin-bottom:8px}.report-card-offense{color:#e74c3c;font-weight:600}.report-card-suggested{font-style:italic}.report-card-actions{display:flex;gap:6px;flex-wrap:wrap}.report-action-btn{padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.78em;cursor:pointer;transition:background .15s}.report-action-btn:hover{background:var(--bg-hover)}.report-action-danger{border-color:#e74c3c4d;color:#e74c3c}.report-action-danger:hover{background:#e74c3c26}@media(max-width:768px){.reports-panel{width:100vw}}.mod-log-entry{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:.82em;align-items:baseline}.mod-log-time{color:var(--text-secondary);font-size:.9em;min-width:90px}.mod-log-mod{color:var(--accent);font-weight:600}.mod-log-action{color:var(--text-primary)}.mod-log-target{color:var(--text-secondary)}.mod-log-target:before{content:"→ "}.mod-log-detail{color:var(--text-secondary);font-style:italic;font-size:.9em}.mod-log-load-more{display:block;width:100%;padding:10px;margin-top:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85em}.mod-log-load-more:hover{background:var(--bg-hover)}.usercard-offenses{font-size:.75em;color:var(--text-secondary);margin-top:2px}.usercard-active-ban{color:#e74c3c;font-weight:600}.icon-rail{width:56px;min-width:56px;background:var(--bg-primary);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:4px;height:100dvh;overflow-y:auto}.icon-rail-item{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);background:transparent;border:none;position:relative;transition:background .15s ease,color .15s ease,border-radius .15s ease}.icon-rail-item:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-rail-item.active{color:var(--accent);background:#d4af371f}.icon-rail-item.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}.icon-rail-item[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#1a0f08;color:var(--text-primary);padding:6px 10px;border-radius:6px;font-size:.8em;white-space:nowrap;border:1px solid var(--border);z-index:200;pointer-events:none}.icon-rail-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger);color:#fff;font-size:.65em;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.icon-rail-spacer{flex:1}@media(max-width:768px){.icon-rail{display:none}}.bottom-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-sidebar);border-top:1px solid var(--border);z-index:120}@media(max-width:768px){.bottom-tab-bar{display:flex;align-items:center;justify-content:space-around}}.bottom-tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1 1 0;padding:7px 4px;min-height:44px;color:var(--text-secondary);background:none;border:none;cursor:pointer;font-size:.64em;transition:color .15s ease;min-width:0}.bottom-tab-item>span:last-child{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-tab-item.active{color:var(--accent)}@media(max-width:768px){.has-bottom-tabs{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))!important}.has-mobile-topbar{padding-top:calc(60px + env(safe-area-inset-top,0px))!important}}.bottom-tab-badge{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.mobile-more-view{flex:1;min-height:0;overflow-y:auto;padding:16px 16px calc(74px + env(safe-area-inset-bottom,0px));background:var(--bg-primary);color:var(--text-primary);-webkit-overflow-scrolling:touch}.mobile-more-list{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--bg-secondary)}.mobile-more-row{display:flex;align-items:center;gap:14px;width:100%;min-height:66px;padding:12px 14px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text-primary);text-align:left;font:inherit;cursor:pointer}.mobile-more-row:last-child{border-bottom:0}.mobile-more-row:focus-visible,.mobile-more-row:hover{outline:none;background:#d4af3714}.mobile-more-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#d4af3724;color:var(--accent)}.mobile-more-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.mobile-more-title{color:var(--text-primary);font-weight:800;font-size:.96em;line-height:1.2}.mobile-more-subtitle{color:var(--text-secondary);font-size:.8em;line-height:1.25}.mobile-more-chevron{color:var(--text-secondary);font-size:1.45em;line-height:1;flex:0 0 auto}.kp{width:100%}.kp-hero{position:relative;background:repeating-linear-gradient(90deg,rgba(212,175,55,.018) 0,rgba(212,175,55,.018) 1px,transparent 1px,transparent 16px),linear-gradient(135deg,rgba(212,175,55,.08) 0%,transparent 50%),linear-gradient(to bottom,#2f1c12fa,#1a0f08f5);border:1px solid rgba(125,92,54,.58);border-radius:8px;padding:22px 22px 17px;overflow:hidden;margin-bottom:16px;box-shadow:0 16px 34px #0000002e}.kp-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(212,175,55,.015) 2px,rgba(212,175,55,.015) 4px);pointer-events:none}.kp-hero-glow{position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.76),transparent);pointer-events:none}.kp-hero-inner{display:flex;align-items:flex-start;gap:16px;position:relative}.kp-avatar{position:relative;flex-shrink:0;width:72px;height:72px}.kp-avatar .avatar-custom-wrap{width:72px;height:72px}.kp-avatar .avatar-custom{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;filter:drop-shadow(0 2px 8px rgba(212,175,55,.3))}.kp-avatar>img{width:72px;height:72px;filter:drop-shadow(0 2px 8px rgba(212,175,55,.3))}.kp-avatar .avatar-rank-overlay{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;border:0;background:transparent;padding:0}.kp-avatar .avatar-letter{width:72px;height:72px}.kp-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}h2.kp-name,.kp-name{font-size:1.42em;font-weight:700;color:var(--text-primary);margin:0!important;padding:0!important;line-height:1}.kp-rankname{font-size:.8em;color:var(--text-secondary);margin:0;line-height:1.1}.kp-title{font-size:.78em;color:var(--accent);font-style:italic;margin:0;padding:0;line-height:1.1;opacity:.9}.kp-name+.kp-title{margin-top:1px}.kp-order{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:2px 8px 2px 4px;background:#d4af3714;border:1px solid rgba(212,175,55,.15);border-radius:20px;align-self:flex-start}.kp-order img{width:16px;height:16px}.kp-order span{font-size:.72em;color:var(--accent);font-weight:500}.kp-league{font-size:1.1em;font-weight:800;color:var(--accent);flex-shrink:0;align-self:flex-start;background:#d4af371a;border:1px solid rgba(212,175,55,.2);border-radius:8px;padding:4px 10px;line-height:1;letter-spacing:.05em}.kp-division{margin-top:16px;position:relative}.kp-division-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.kp-division-header span:first-child{font-size:.68em;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-weight:600}.kp-division-header span:last-child{font-size:.75em;color:var(--text-primary);font-weight:500}.kp-bar{height:8px;background:#0000004d;border-radius:4px;overflow:hidden;border:1px solid rgba(64,37,20,.3)}.kp-bar-fill{height:100%;background:linear-gradient(90deg,#b8941f,#d4af37,#e8c84a);border-radius:4px;transition:width .6s cubic-bezier(.22,1,.36,1);box-shadow:0 0 6px #d4af374d}.kp-bar-division{position:relative;height:14px}.kp-bar-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.6em;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none;z-index:1}.kp-energy{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#2a1810fa,#22130cfa);border:1px solid rgba(125,92,54,.48);border-top:none;border-radius:0 0 8px 8px;padding:12px 16px;margin-bottom:16px}.kp-energy img{width:22px;height:22px;opacity:.85}.kp-energy-info{flex:1;min-width:0}.kp-energy-label{font-size:.68em;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px;font-weight:600}.kp-bar-energy{height:6px}.kp-bar-fill-energy{background:linear-gradient(90deg,#2d8a4e,#43b581,#5dcd9e);box-shadow:0 0 6px #43b58140}.kp-energy-num{font-size:.85em;font-weight:600;color:var(--text-primary);flex-shrink:0;white-space:nowrap}.kp-energy-num small{font-weight:400;color:var(--text-secondary)}.kp-section{margin-bottom:16px;border:1px solid rgba(212,175,55,.22);border-radius:8px;padding:16px 12px 12px;background:linear-gradient(180deg,#d4af3709,#140b051f)}.kp-section-title{font-size:1.05em;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid rgba(212,175,55,.35)}.kp-section .kp-stat-block{margin-bottom:0}.kp-section .kp-smithy{margin-bottom:0;margin-top:12px}.kp-section .kp-stats{margin-bottom:12px}.kp-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.kp-stat-block{background:linear-gradient(180deg,#2a1810fa,#22130cf5);border:1px solid rgba(125,92,54,.46);border-radius:8px;padding:14px 12px 10px;box-shadow:inset 0 1px #ffffff06}.kp-stat-block-title{font-size:.65em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(212,175,55,.15)}.kp-stat{display:flex;align-items:center;gap:10px;padding:7px 2px}.kp-stat:not(:last-child){border-bottom:1px solid rgba(64,37,20,.15)}.kp-stat img{width:20px;height:20px;object-fit:contain;opacity:.8;flex-shrink:0}.kp-stat-label{flex:1;font-size:.82em;color:var(--text-secondary)}.kp-stat-value{font-size:.9em;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.kp-tag{display:inline-block;font-size:.7em;font-weight:600;color:var(--accent);background:#d4af371a;border:1px solid rgba(212,175,55,.2);border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:middle;line-height:1.4}.kp-bonus{color:var(--accent);font-size:.85em;font-weight:500;margin-left:3px}.kp-stat-with-bar{flex-wrap:wrap}.kp-xp-bar{position:relative;flex-basis:100%;height:14px;margin-top:4px;border-radius:999px;background:#4025142e;border:1px solid rgba(64,37,20,.18);overflow:hidden}.kp-xp-bar-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#d4af378c,#d4af37d9);transition:width .35s ease}.kp-xp-bar-text{position:relative;z-index:1;display:block;text-align:center;font-size:.68em;font-weight:700;color:var(--text-primary);line-height:14px;font-variant-numeric:tabular-nums;text-shadow:0 1px 0 rgba(0,0,0,.35)}.kp-stat-sub{display:flex;gap:12px;margin-top:2px;padding-left:32px}.kp-stat-sub span{font-size:.72em;color:var(--text-secondary);opacity:.7}.kp-smithy{background:linear-gradient(180deg,#2a1810fa,#22130cf5);border:1px solid rgba(125,92,54,.46);border-radius:8px;padding:14px 12px;margin-bottom:16px}.kp-smithy-title{font-size:.65em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid rgba(212,175,55,.15)}.kp-smithy-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.kp-set-bonuses{background:linear-gradient(180deg,#2a1810fa,#22130cf5);border:1px solid rgba(125,92,54,.46);border-radius:8px;padding:14px 12px;margin-top:16px}.kp-set-bonuses-title{font-size:.65em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid rgba(212,175,55,.15)}.kp-set-bonuses-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.kp-set-bonus-row{padding:8px 0;border-bottom:1px solid rgba(125,92,54,.18)}.kp-set-bonus-row:last-child{border-bottom:none;padding-bottom:0}.kp-set-bonus-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.kp-set-bonus-name{font-weight:700;color:var(--text-primary)}.kp-set-bonus-count{color:var(--accent);font-weight:700;font-size:.85em}.kp-set-bonus-tiers{list-style:none;margin:0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:2px}.kp-set-bonus-tier{font-size:.85em;color:var(--text-secondary);line-height:1.35}.kp-set-bonus-tier-num{color:var(--accent);font-weight:700;margin-right:2px}.kp-set-bonus-empty{font-size:.82em;color:var(--text-secondary);font-style:italic}.kp-smith{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 10px;background:linear-gradient(135deg,rgba(212,175,55,.04) 0%,transparent 60%),var(--bg-primary);border:1px solid rgba(64,37,20,.3);border-radius:8px;transition:border-color .2s}.kp-smith:hover{border-color:#d4af374d}.kp-smith.upgrading{border-color:#d4af3780;box-shadow:inset 0 0 0 1px #d4af372e}.kp-smith>img:not(.kp-smith-hammer){width:30px;height:30px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}.kp-smith-num{display:inline-flex;align-items:center;gap:6px}.kp-smith-hammer{width:18px!important;height:18px!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))!important}.kp-smith-time{margin-top:4px;font-size:.74em;color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.kp-smith-num{font-size:1.3em;font-weight:800;color:var(--text-primary);line-height:1}.kp-smith-label{font-size:.65em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}@media(max-width:768px){.kp{max-width:none}.kp-stats{grid-template-columns:1fr;gap:10px}.kp-avatar,.kp-avatar .avatar-custom-wrap,.kp-avatar .avatar-custom,.kp-avatar>img,.kp-avatar .avatar-letter{width:56px;height:56px}.kp-avatar .avatar-rank-overlay{width:22px;height:22px}.kp-name{font-size:1.1em}.kp-hero{padding:16px}}
