:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f4f4f5;--card-text-color: var(--tg-theme-text-color);--card-subtle-color: var(--tg-theme-hint-color);--card-bg-color: #ffffff;--card-shadow: rgba(0, 0, 0, .06);--border-color: rgba(0, 0, 0, .1);--stat-bar-bg: rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);overflow-x:hidden}.hidden{display:none!important}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh}.spinner{width:50px;height:50px;border:4px solid var(--tg-theme-hint-color);border-top-color:var(--tg-theme-button-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--tg-theme-bg-color);border-top:1px solid var(--border-color);padding:8px 0 12px;z-index:1000;box-shadow:0 -2px 12px var(--card-shadow)}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;background:none;border:none;color:var(--tg-theme-hint-color);cursor:pointer;padding:8px;transition:all .2s;position:relative}.nav-btn.active{color:var(--tg-theme-button-color)}.nav-btn.active:before{content:"";position:absolute;top:-9px;left:50%;transform:translate(-50%);width:30px;height:3px;background:var(--tg-theme-button-color);border-radius:0 0 3px 3px}.nav-btn .icon{font-size:26px;margin-bottom:4px;transition:transform .2s}.nav-btn.active .icon{transform:scale(1.1)}.nav-btn .label{font-size:11px;font-weight:500}.content{padding:20px 16px 90px;min-height:100vh;background:var(--tg-theme-bg-color)}.dashboard{display:flex;flex-direction:column;gap:20px}.profile-card{background:var(--tg-theme-secondary-bg-color);border-radius:16px;padding:20px;box-shadow:0 2px 8px var(--card-shadow);color:var(--card-text-color)}.profile-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.profile-avatar{width:60px;height:60px;border-radius:50%;background:var(--tg-theme-button-color);display:flex;align-items:center;justify-content:center;font-size:32px}.profile-info h2{font-size:20px;margin-bottom:4px;color:var(--card-text-color)}.profile-level{color:var(--card-subtle-color);font-size:14px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--card-subtle-color)}.stat-bar{height:20px;background:var(--stat-bar-bg);border-radius:10px;overflow:hidden;position:relative}.stat-fill{height:100%;border-radius:10px;transition:width .3s}.stat-fill.hp{background:#ef4444}.stat-fill.stamina{background:#10b981}.stat-fill.hunger{background:#f59e0b}.stat-fill.thirst{background:#3b82f6}.stat-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.money-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px;color:#fff;box-shadow:0 4px 16px #764ba24d}.money-title{font-size:14px;opacity:.9;margin-bottom:8px}.money-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.money-item h3{font-size:12px;opacity:.8;margin-bottom:4px}.money-amount{font-size:24px;font-weight:700}.location-card{background:var(--tg-theme-secondary-bg-color);border-radius:16px;padding:18px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000f}.location-icon{font-size:32px}.location-info h3{font-size:16px;margin-bottom:4px}.location-district{color:var(--tg-theme-hint-color);font-size:14px}.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-btn{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:14px;padding:18px 16px;font-size:15px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s;box-shadow:0 2px 8px #2481cc40}.action-btn:active{transform:scale(.95);box-shadow:0 1px 4px #2481cc40}.action-btn .icon{font-size:36px}.work-page{display:flex;flex-direction:column;gap:16px}.current-job-card{background:var(--tg-theme-secondary-bg-color);border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f}.job-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.job-icon{font-size:32px}.job-info h3{font-size:18px;margin-bottom:4px}.job-salary{color:var(--tg-theme-hint-color);font-size:14px}.job-progress{margin-top:12px}.progress-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;font-weight:500}.progress-label span:last-child{color:var(--tg-theme-button-color);font-weight:600}.progress-bar{height:10px;background:#00000014;border-radius:10px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--tg-theme-button-color),#38bdf8);border-radius:10px;transition:width .5s ease-out;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.work-btn{width:100%;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:700;cursor:pointer;margin-top:16px;transition:all .2s;box-shadow:0 2px 8px #2481cc4d}.work-btn:active:not(:disabled){transform:scale(.98);box-shadow:0 1px 4px #2481cc4d}.work-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.jobs-list{display:flex;flex-direction:column;gap:12px}.job-card{background:var(--tg-theme-secondary-bg-color);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;border:2px solid transparent}.job-card:active:not(.disabled){transform:scale(.98)}.job-card:hover:not(.disabled){border-color:var(--tg-theme-button-color)}.job-card.disabled{opacity:.6;cursor:not-allowed}.job-card .job-header{margin-bottom:8px}.job-card h4{font-size:16px;font-weight:600;margin:0}.job-details{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--tg-theme-hint-color);margin-top:8px}.job-details span:first-child{font-weight:600;color:#10b981;font-size:15px}.business-page{display:flex;flex-direction:column;gap:16px}.business-card{background:var(--tg-theme-secondary-bg-color);border-radius:16px;padding:20px;box-shadow:0 2px 8px #0000000f}.business-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.business-info h3{font-size:18px;margin-bottom:4px}.business-type{color:var(--tg-theme-hint-color);font-size:14px}.business-status{padding:4px 12px;border-radius:12px;font-size:12px;background:#10b981;color:#fff}.business-status.raid{background:#ef4444}.business-income{font-size:24px;font-weight:700;color:#10b981;margin-bottom:12px}.business-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.business-btn{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:8px;padding:12px;font-size:14px;cursor:pointer}.business-btn.danger{background:#ef4444}.buy-business-btn{width:100%;background:#10b981;color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:700;cursor:pointer}.map-page{display:flex;flex-direction:column;gap:16px}.district-card{background:var(--tg-theme-secondary-bg-color);border-radius:12px;padding:16px;cursor:pointer;transition:transform .2s}.district-card:active{transform:scale(.98)}.district-card.safe{border-left:4px solid #10b981}.district-card.dangerous{border-left:4px solid #ef4444}.district-card.war{border-left:4px solid #f59e0b}.district-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.district-name{font-size:18px;font-weight:700}.district-level{padding:4px 12px;border-radius:12px;font-size:12px;background:#0000001a}.district-stats{display:flex;gap:16px;font-size:14px;color:var(--tg-theme-hint-color)}.move-btn{width:100%;margin-top:12px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:8px;padding:12px;font-size:14px;cursor:pointer}.section-title{font-size:24px;font-weight:700;margin-bottom:20px;color:var(--tg-theme-text-color);display:flex;align-items:center;gap:8px}.empty-state{text-align:center;padding:60px 20px;color:var(--tg-theme-hint-color);background:var(--tg-theme-secondary-bg-color);border-radius:12px}.empty-state .icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state p{margin:8px 0}.empty-state p:first-of-type{font-size:16px;font-weight:600;color:var(--tg-theme-text-color)}.notification{position:fixed;top:16px;left:16px;right:16px;background:var(--tg-theme-button-color);color:#fff;padding:16px;border-radius:12px;box-shadow:0 4px 12px #00000026;z-index:2000;animation:slideDown .3s}.notification.error{background:#ef4444}.notification.success{background:#10b981}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.crimes-page{padding:20px 20px 80px}.crime-category{margin-bottom:30px}.category-title{font-size:18px;margin-bottom:15px;color:var(--tg-theme-text-color)}.crimes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.crime-card{background:var(--tg-theme-secondary-bg-color);color:var(--card-text-color)}@media (prefers-color-scheme: dark){.profile-card,.business-card,.current-job-card,.hospital-page .patient-status-card,.bank-balance-card,.student-card,.event-card,.friends-section,.media-page .news-card,.media-page .article-card,.degree-card,.plan-card,.treatment-card,.inventory-item,.shop-item-card,.district-card,.mayor-card,.cabinet-section,.budget-section,.laws-section,.elections-section,.government-section{background:#23272f;color:#e5e7eb}.profile-card,.business-card,.current-job-card{border-radius:12px;padding:15px;text-align:center;box-shadow:0 2px 8px #0000001a}}.crime-card.petty{border-top:3px solid #10b981}.crime-card.medium{border-top:3px solid #f59e0b}.crime-card.major{border-top:3px solid #ef4444}.crime-icon{font-size:40px;margin-bottom:10px}.crime-name{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--tg-theme-text-color)}.crime-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;font-size:12px}.crime-stat{display:flex;justify-content:space-between}.stat-label{color:#666}.stat-value{font-weight:600}.commit-crime-btn{width:100%;padding:8px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.commit-crime-btn:disabled{background:#ccc;cursor:not-allowed}.warning-card{display:flex;gap:12px;padding:15px;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-top:20px}.warning-card .icon{font-size:24px}.warning-card strong{display:block;margin-bottom:5px}.factions-page{padding:20px 20px 80px}.faction-header{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.faction-tab{flex:1;padding:12px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;cursor:pointer;transition:all .2s}.faction-tab.active{border-bottom-color:var(--tg-theme-button-color);color:var(--tg-theme-button-color);font-weight:600}.factions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.faction-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.faction-icon-large{font-size:48px;text-align:center;margin-bottom:10px}.faction-name{font-size:18px;font-weight:700;text-align:center;margin-bottom:8px}.faction-type{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:12px}.faction-type.gang{background:#fee2e2;color:#dc2626}.faction-type.mafia{background:#fef3c7;color:#d97706}.faction-type.government{background:#dbeafe;color:#2563eb}.faction-description{font-size:13px;color:#666;margin-bottom:15px;text-align:center}.faction-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.faction-stat{text-align:center}.faction-stat .stat-label{display:block;font-size:11px;color:#999}.faction-stat .stat-value{display:block;font-size:16px;font-weight:700}.join-faction-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;margin-top:10px}.my-faction-details{background:#fff;border-radius:12px;padding:20px}.faction-header-card{display:flex;gap:15px;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.faction-rank{font-size:14px;margin-top:5px}.faction-treasury,.faction-members,.faction-wars{margin-bottom:20px}.treasury-amount{font-size:24px;font-weight:700;color:#10b981;margin:10px 0}.donate-btn{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer}.members-list{display:flex;flex-direction:column;gap:10px}.member-item{display:flex;justify-content:space-between;padding:10px;background:var(--tg-theme-secondary-bg-color);color:var(--card-text-color)}@media (prefers-color-scheme: dark){.faction-card,.transaction-item,.loan-card,.course-card,.law-card,.candidate-card,.friend-card,.player-card,.history-item,.personal-event-card{background:#23272f;color:#e5e7eb;border-radius:8px}}.member-rank{font-weight:600;color:var(--tg-theme-button-color)}.war-item{display:flex;justify-content:space-between;padding:10px;background:#fee2e2;border-radius:8px;margin-top:10px}.war-status{font-weight:600;color:#dc2626}.leave-faction-btn{width:100%;padding:10px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;margin-top:20px}.create-faction-form{background:#fff;border-radius:12px;padding:20px}.form-group{margin-bottom:15px}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.create-btn{width:100%;padding:12px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.bank-page{padding:20px 20px 80px}.bank-balance-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px;color:#fff;margin-bottom:20px;box-shadow:0 4px 15px #0003}.balance-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.balance-item:first-child{border-bottom:1px solid rgba(255,255,255,.3)}.balance-label{font-size:14px;opacity:.9}.balance-amount{font-size:20px;font-weight:700}.bank-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.bank-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.bank-action-btn:hover{border-color:var(--tg-theme-button-color);color:var(--tg-theme-button-color)}.btn-icon{font-size:24px}.bank-sections{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.bank-section-tab{flex:1;padding:12px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;cursor:pointer;transition:all .2s}.bank-section-tab.active{border-bottom-color:var(--tg-theme-button-color);color:var(--tg-theme-button-color);font-weight:600}.transactions-list{background:#fff;border-radius:12px;padding:20px}.transaction-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #f3f4f6}.transaction-item:last-child{border-bottom:none}.transaction-icon{font-size:24px}.transaction-details{flex:1}.transaction-parties{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:4px}.party{font-weight:600}.arrow{color:#999}.transaction-date{font-size:12px;color:#999}.transaction-amount{font-size:16px;font-weight:700}.transaction-amount.positive{color:#10b981}.transaction-amount.negative{color:#ef4444}.loans-section{background:#fff;border-radius:12px;padding:20px}.loan-card{background:#f9fafb;border-radius:12px;padding:15px;margin-bottom:15px}.loan-card.active{border:2px solid #f59e0b}.loan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.loan-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.loan-status.active{background:#fef3c7;color:#d97706}.loan-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.loan-detail{display:flex;flex-direction:column;gap:4px}.loan-detail .label{font-size:12px;color:#666}.loan-detail .value{font-size:14px;font-weight:600}.progress-text{font-size:12px;color:#666;text-align:center;margin-top:5px}.repay-btn{width:100%;padding:10px;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.available-loans{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.loan-card.available{border:2px solid #e5e7eb;text-align:center}.loan-amount{font-size:24px;font-weight:700;color:#10b981;margin:10px 0}.loan-terms{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#666;margin-bottom:15px}.take-loan-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.empty-text{text-align:center;color:#999;padding:20px}.events-page{padding:20px 20px 80px}.event-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.event-tab{flex:1;padding:12px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;cursor:pointer;transition:all .2s}.event-tab.active{border-bottom-color:var(--tg-theme-button-color);color:var(--tg-theme-button-color);font-weight:600}.active-events{display:flex;flex-direction:column;gap:15px}.event-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.event-header{display:flex;gap:15px;align-items:center;margin-bottom:15px}.event-icon-large{font-size:48px}.event-title-block{flex:1}.event-name{font-size:18px;margin-bottom:5px}.event-severity{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.event-description{color:#666;margin-bottom:15px;line-height:1.5}.event-effects h4{font-size:14px;margin-bottom:10px}.event-effects ul{list-style:none;padding:0}.event-effects li{padding:8px 12px;background:#f9fafb;border-radius:8px;margin-bottom:5px;font-size:13px}.event-effects li:before{content:"•";color:var(--tg-theme-button-color);font-weight:700;margin-right:8px}.event-footer{display:flex;justify-content:space-between;margin-top:15px;padding-top:15px;border-top:1px solid #e5e7eb;font-size:13px;color:#666}.personal-events{background:#fff;border-radius:12px;padding:20px}.personal-events-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.personal-event-card{display:flex;align-items:center;gap:15px;padding:15px;background:#f9fafb;border-radius:12px;border:2px solid transparent}.personal-event-card.claimable{border-color:#10b981;background:#f0fdf4}.personal-event-icon{font-size:40px}.personal-event-details{flex:1}.personal-event-details h4{margin-bottom:5px}.personal-event-details p{font-size:13px;color:#666;margin-bottom:8px}.personal-event-reward{font-size:14px}.claim-btn{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.active-badge{padding:8px 16px;background:#3b82f6;color:#fff;border-radius:8px;font-size:12px;font-weight:600}.events-history{background:#fff;border-radius:12px;padding:20px}.history-list{display:flex;flex-direction:column;gap:10px;margin-top:15px}.history-item{display:flex;gap:15px;padding:12px;background:#f9fafb;border-radius:8px}.history-icon{font-size:32px}.history-details h4{margin-bottom:5px}.history-meta{display:flex;gap:15px;font-size:12px;color:#666}.politics-page{padding:20px 20px 80px}.politics-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.politics-tab{flex:1;padding:12px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;cursor:pointer;transition:all .2s}.politics-tab.active{border-bottom-color:var(--tg-theme-button-color);color:var(--tg-theme-button-color);font-weight:600}.government-section,.elections-section,.laws-section{display:flex;flex-direction:column;gap:20px}.mayor-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.mayor-header{display:flex;gap:15px;align-items:center;margin-bottom:20px}.mayor-avatar{font-size:64px}.party-badge{display:inline-block;padding:4px 12px;background:#dbeafe;color:#2563eb;border-radius:12px;font-size:12px;font-weight:600;margin-top:5px}.term-info{margin-top:5px;font-size:13px;color:#666}.rating-section{margin-bottom:20px}.rating-bar{position:relative;width:100%;height:30px;background:#e5e7eb;border-radius:8px;overflow:hidden;margin-top:10px}.rating-fill{height:100%;background:linear-gradient(90deg,#10b981,#3b82f6);transition:width .3s}.rating-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.policies-list{list-style:none;padding:0}.policies-list li{padding:10px;background:var(--tg-theme-secondary-bg-color);border-radius:8px;margin-bottom:8px;color:var(--card-text-color)}@media (prefers-color-scheme: dark){.policies-list li{background:#23272f;color:#e5e7eb}}.cabinet-section{background:#fff;border-radius:12px;padding:20px}.cabinet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;margin-top:15px}.minister-card{text-align:center;padding:15px;background:#f9fafb;border-radius:12px}.minister-avatar{font-size:40px;margin-bottom:10px}.minister-card h4{font-size:13px;margin-bottom:5px}.minister-name{font-size:12px;color:#666;margin-bottom:10px}.minister-rating{font-size:12px}.mini-rating-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-top:5px}.mini-rating-fill{height:100%;background:var(--tg-theme-button-color)}.budget-section{background:#fff;border-radius:12px;padding:20px}.budget-chart{margin-top:15px;display:flex;flex-direction:column;gap:12px}.budget-item{display:flex;flex-direction:column;gap:5px}.budget-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.budget-dot{width:12px;height:12px;border-radius:50%}.budget-bar{position:relative;width:100%;height:24px;background:#f3f4f6;border-radius:8px;overflow:hidden}.budget-fill{height:100%;transition:width .3s}.budget-percent{position:absolute;top:50%;right:10px;transform:translateY(-50%);font-size:12px;font-weight:600}.election-info-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:20px;color:#fff;text-align:center}.election-countdown{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;font-size:16px}.countdown-icon{font-size:24px}.candidates-list{background:#fff;border-radius:12px;padding:20px}.candidate-card{background:#f9fafb;border-radius:12px;padding:15px;margin-top:15px}.candidate-card:first-of-type{margin-top:15px}.candidate-header{display:flex;gap:15px;margin-bottom:15px}.candidate-avatar{font-size:48px}.candidate-info{flex:1}.candidate-info h4{margin-bottom:5px}.candidate-party{display:inline-block;padding:3px 10px;background:#dbeafe;color:#2563eb;border-radius:10px;font-size:11px;margin-bottom:8px}.candidate-platform{font-size:13px;color:#666;font-style:italic}.candidate-votes{display:flex;flex-direction:column;gap:10px}.votes-bar{position:relative;width:100%;height:28px;background:#e5e7eb;border-radius:8px;overflow:hidden}.votes-fill{height:100%;background:var(--tg-theme-button-color);transition:width .3s}.votes-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:#fff}.vote-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.register-candidate-card{background:#fff;border-radius:12px;padding:20px;text-align:center}.register-btn{margin-top:15px;padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.laws-section{background:#fff;border-radius:12px;padding:20px}.laws-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.law-card{background:#f9fafb;border-radius:12px;padding:15px;border-left:4px solid transparent}.law-card.active{border-left-color:#10b981}.law-card.voting{border-left-color:#f59e0b}.law-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.law-status{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600}.law-status.active{background:#d1fae5;color:#059669}.law-status.voting{background:#fef3c7;color:#d97706}.law-description{font-size:13px;color:#666;margin-bottom:10px}.law-author{font-size:12px;color:#999;margin-bottom:15px}.law-votes{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.vote-result{display:flex;flex-direction:column;gap:5px}.vote-label{font-size:12px;font-weight:600}.vote-bar{position:relative;width:100%;height:24px;border-radius:8px;overflow:hidden}.vote-bar.for{background:#d1fae5}.vote-bar.against{background:#fee2e2}.vote-bar.for .vote-fill{background:#10b981}.vote-bar.against .vote-fill{background:#ef4444}.vote-bar span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700}.vote-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vote-law-btn{padding:10px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.vote-law-btn.for{background:#10b981;color:#fff}.vote-law-btn.against{background:#ef4444;color:#fff}.hospital-page{padding:20px 20px 80px}.patient-status-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px}.health-stats{display:flex;flex-direction:column;gap:15px;margin-top:15px}.health-stat{display:flex;gap:12px;align-items:center}.stat-icon{font-size:32px}.stat-details{flex:1}.stat-name{display:block;font-size:14px;font-weight:600;margin-bottom:5px}.stat-bar-container{display:flex;align-items:center;gap:10px}.stat-bar{flex:1;height:20px;background:#e5e7eb;border-radius:10px;overflow:hidden}.stat-fill{height:100%;transition:width .3s}.stat-value{font-size:13px;font-weight:600;min-width:50px}.conditions-list{margin-top:20px}.condition-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;margin-top:10px}.condition-item.warning{background:#fef3c7;border-left:4px solid #f59e0b}.condition-item.minor{background:#f3f4f6;border-left:4px solid #9ca3af}.condition-icon{font-size:24px}.treatments-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px}.treatments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:15px}.treatment-card{background:#f9fafb;border-radius:12px;padding:15px;text-align:center;border:2px solid #e5e7eb}.treatment-icon{font-size:40px;margin-bottom:10px}.treatment-name{font-size:16px;font-weight:600;margin-bottom:8px}.treatment-description{font-size:13px;color:#666;margin-bottom:15px;line-height:1.4}.treatment-details{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;text-align:left}.treatment-detail{display:flex;justify-content:space-between;font-size:12px}.detail-label{color:#666}.detail-value{font-weight:600}.treatment-cost{display:flex;justify-content:space-between;padding:10px;background:#fff;border-radius:8px;margin-bottom:10px}.cost-label{font-size:13px;color:#666}.cost-value{font-size:16px;font-weight:700;color:#10b981}.get-treatment-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.insurance-section{background:#fff;border-radius:12px;padding:20px}.insurance-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:20px;color:#fff;margin:15px 0}.insurance-status{display:flex;gap:15px}.insurance-icon{font-size:48px}.insurance-active{margin:8px 0;font-size:14px}.insurance-benefit{font-size:13px;opacity:.9}.insurance-plans{margin-top:20px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:15px}.plan-card{background:#f9fafb;border-radius:12px;padding:15px;text-align:center;border:2px solid #e5e7eb}.plan-card.current{border-color:var(--tg-theme-button-color);background:#f0f9ff}.current-badge{display:inline-block;padding:4px 12px;background:var(--tg-theme-button-color);color:#fff;border-radius:12px;font-size:11px;margin-top:5px}.plan-cost{font-size:18px;font-weight:700;color:#10b981;margin:10px 0}.plan-benefits{list-style:none;padding:0;text-align:left;margin:15px 0}.plan-benefits li{padding:8px;font-size:12px;border-bottom:1px solid #e5e7eb}.plan-benefits li:last-child{border-bottom:none}.buy-plan-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.education-page{padding:20px 20px 80px}.student-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px}.education-level{display:flex;gap:15px;align-items:center;margin-bottom:20px}.edu-icon{font-size:48px}.skills-overview{margin-top:15px}.skills-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.skill-tag{padding:6px 12px;background:#dbeafe;color:#2563eb;border-radius:12px;font-size:12px;font-weight:600}.courses-section{display:flex;flex-direction:column;gap:30px}.course-category h3{margin-bottom:15px}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.course-card{position:relative;background:#fff;border-radius:12px;padding:15px;text-align:center;border:2px solid #e5e7eb;transition:transform .2s}.course-card,.degree-card,.profile-card,.job-card,.current-job-card,.university-section{color:var(--card-text-color)}.course-description,.course-detail,.job-details,.profile-level{color:var(--card-subtle-color)}.course-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.course-card.completed{background:#f0fdf4;border-color:#10b981}.completed-badge{position:absolute;top:10px;right:10px;padding:4px 10px;background:#10b981;color:#fff;border-radius:12px;font-size:11px;font-weight:600}.course-icon{font-size:40px;margin-bottom:10px}.course-name{font-size:15px;font-weight:600;margin-bottom:8px}.course-description{font-size:12px;color:#666;margin-bottom:12px;line-height:1.4}.course-details{display:flex;justify-content:space-around;padding:10px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin:10px 0}.course-detail{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px}.detail-icon{font-size:16px}.course-reward{font-size:12px;padding:8px;background:#fef3c7;border-radius:8px;margin:10px 0}.course-reward{color:#92400e}.course-cost{font-size:18px;font-weight:700;color:#10b981;margin:10px 0}.enroll-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.university-section{background:#fff;border-radius:12px;padding:20px;margin-top:20px}.university-info{margin-top:15px}.degrees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:15px}.degree-card{background:#f9fafb;border-radius:12px;padding:20px;text-align:center;border:2px solid #e5e7eb}.degree-icon{font-size:48px;margin-bottom:10px}.degree-info{display:flex;justify-content:space-around;margin:15px 0;font-size:13px}.degree-benefits{list-style:none;padding:0;text-align:left;margin:15px 0}.degree-benefits li{padding:8px;font-size:12px;border-bottom:1px solid #e5e7eb}.enroll-degree-btn{width:100%;padding:12px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.media-page{padding:20px 20px 80px}.media-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.media-tab{flex:1;padding:12px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;cursor:pointer;transition:all .2s}.media-tab.active{border-bottom-color:var(--tg-theme-button-color);color:var(--tg-theme-button-color);font-weight:600}.news-section,.articles-section,.publish-section,.news-list{display:flex;flex-direction:column;gap:15px}.news-card{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #0000001a}.news-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.news-icon{font-size:24px}.news-meta{display:flex;gap:10px;font-size:12px}.news-category{padding:4px 10px;background:#dbeafe;color:#2563eb;border-radius:10px;font-weight:600}.news-date{color:#999;align-self:center}.news-title{font-size:16px;margin-bottom:10px}.news-content{font-size:14px;color:#666;line-height:1.5;margin-bottom:15px}.news-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #e5e7eb;font-size:12px}.news-author{color:#666}.news-stats{display:flex;gap:15px;color:#999}.read-more-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;margin-top:10px}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.article-card{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #0000001a}.article-icon{font-size:40px;text-align:center;margin-bottom:10px}.article-title{font-size:16px;margin-bottom:10px}.article-excerpt{font-size:13px;color:#666;line-height:1.5;margin-bottom:15px}.article-meta{display:flex;justify-content:space-between;font-size:12px;color:#999;margin-bottom:10px}.article-stats{display:flex;gap:15px;font-size:12px;color:#999;margin-bottom:15px}.read-article-btn{width:100%;padding:10px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.publish-section{background:#fff;border-radius:12px;padding:20px}.publish-info{color:#666;margin-bottom:20px}.publish-form{display:flex;flex-direction:column;gap:15px}.char-counter{text-align:right;font-size:12px;color:#999;margin-top:5px}.publish-info-box{background:#f0f9ff;border-left:4px solid #3b82f6;border-radius:8px;padding:15px}.publish-info-box h4{margin-bottom:10px}.publish-info-box ul{margin-left:20px;font-size:13px;line-height:1.8}.publish-btn{padding:12px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.social-page{padding:20px 20px 80px}.social-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.social-tab{flex:1;padding:12px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;cursor:pointer;transition:all .2s}.social-tab.active{border-bottom-color:var(--tg-theme-button-color);color:var(--tg-theme-button-color);font-weight:600}.chat-section{background:#fff;border-radius:12px;padding:0;height:calc(100vh - 200px);display:flex;flex-direction:column}.chat-container{display:flex;flex-direction:column;height:100%}.chat-messages{flex:1;padding:15px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-message{display:flex;gap:12px}.message-avatar{font-size:32px;flex-shrink:0}.message-content{flex:1}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:5px}.message-user{font-weight:600;font-size:14px}.message-faction{font-size:11px;padding:2px 8px;background:#dbeafe;color:#2563eb;border-radius:8px}.message-time{font-size:11px;color:#999;margin-left:auto}.message-text{font-size:14px;line-height:1.4}.chat-input-container{display:flex;gap:10px;padding:15px;border-top:1px solid #e5e7eb}.chat-input{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.send-btn{padding:10px 20px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:20px;cursor:pointer}.players-section{display:flex;flex-direction:column;gap:15px}.players-filter{display:flex;gap:10px}.search-input{flex:1;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.filter-select{padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.players-list{display:flex;flex-direction:column;gap:15px}.player-card{display:flex;gap:15px;background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #0000001a}.player-card.online{border-left:4px solid #10b981}.player-card.offline{border-left:4px solid #9ca3af}.player-avatar-large{font-size:48px}.player-info{flex:1}.player-name{font-size:16px;font-weight:600;margin-bottom:5px;display:flex;align-items:center;gap:8px}.online-dot{width:10px;height:10px;background:#10b981;border-radius:50%}.player-stats-mini{display:flex;gap:10px;margin-bottom:8px;font-size:13px}.player-level{color:#666}.player-faction{padding:2px 8px;background:#dbeafe;color:#2563eb;border-radius:8px;font-size:11px}.player-details{display:flex;gap:15px;font-size:12px;color:#666}.player-actions{display:flex;flex-direction:column;gap:8px}.player-action-btn{width:40px;height:40px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:20px;cursor:pointer;transition:all .2s}.player-action-btn:hover{border-color:var(--tg-theme-button-color)}.friends-section{background:#fff;border-radius:12px;padding:20px}.friends-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.add-friend-btn{padding:8px 16px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.friends-list{display:flex;flex-direction:column;gap:15px}.friend-card{display:flex;gap:15px;padding:15px;background:#f9fafb;border-radius:12px;border-left:4px solid transparent}.friend-card.online{border-left-color:#10b981}.friend-card.offline{border-left-color:#9ca3af}.friend-avatar{font-size:40px}.friend-info{flex:1}.friend-details{display:flex;gap:15px;font-size:12px;color:#666;margin:5px 0}.friend-status{font-size:12px;font-weight:600}.friend-actions{display:flex;flex-direction:column;gap:8px}.friend-action-btn{padding:8px 12px;background:var(--tg-theme-button-color);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}.friend-action-btn.danger{background:#ef4444}.shops-page{display:flex;flex-direction:column;gap:20px}.shop-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:8px}.shop-category-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:var(--tg-theme-secondary-bg-color);color:var(--card-text-color)}@media (prefers-color-scheme: dark){.empty-state,.warning-card,.publish-info-box,.course-reward,.plan-benefits li,.event-effects li{background:#23272f;color:#e5e7eb}.shop-category-btn{border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s;font-size:13px;font-weight:500}}.shop-category-btn .icon{font-size:32px}.shop-category-btn.active{border-color:var(--tg-theme-button-color);background:#2481cc1a;color:var(--tg-theme-button-color)}.shop-items-grid{display:flex;flex-direction:column;gap:12px}.shop-item-card{display:flex;gap:12px;background:var(--tg-theme-secondary-bg-color);border-radius:14px;padding:16px;transition:all .2s;box-shadow:0 2px 6px #0000000f;cursor:pointer}.shop-item-card:active{transform:scale(.98);box-shadow:0 1px 3px #0000000f}.shop-item-icon{font-size:48px;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.shop-item-info{flex:1;display:flex;flex-direction:column;gap:4px}.shop-item-info h3{font-size:16px;font-weight:600;margin:0}.shop-item-description{font-size:13px;color:var(--tg-theme-hint-color);margin:0}.shop-item-price{font-size:18px;font-weight:700;color:#10b981;margin-top:4px}.shop-item-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-content:center;min-width:100px}.quantity-input{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;text-align:center}.buy-btn{padding:10px 16px;background:linear-gradient(135deg,var(--tg-theme-button-color),#38bdf8);color:var(--tg-theme-button-text-color);border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #2481cc4d;text-transform:uppercase;letter-spacing:.5px}.buy-btn:active{transform:scale(.95);box-shadow:0 1px 3px #2481cc4d}.notification{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:16px 24px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;z-index:10000;animation:slideDown .3s ease-out;max-width:90%}.notification.success{background:#10b981;color:#fff}.notification.error{background:#ef4444;color:#fff}.notification.info{background:#3b82f6;color:#fff}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.inventory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.inventory-item{background:var(--tg-theme-secondary-bg-color);border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;transition:all .2s;cursor:pointer;box-shadow:0 2px 6px #0000000f}.inventory-item:active{transform:scale(.95);box-shadow:0 1px 3px #0000000f}.inventory-item.equipped{border:2px solid #10b981}.inventory-item-icon{font-size:40px}.inventory-item-name{font-size:14px;font-weight:600;text-align:center}.inventory-item-quantity{position:absolute;top:8px;right:8px;background:var(--tg-theme-button-color);color:#fff;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:700}.inventory-item-category{font-size:11px;color:var(--tg-theme-hint-color);text-transform:uppercase}.inventory-stats{background:var(--tg-theme-secondary-bg-color);border-radius:12px;padding:16px;display:flex;justify-content:space-between}.inventory-stats .stat-item{display:flex;flex-direction:column;gap:4px;align-items:center}.inventory-stats .stat-item span:first-child{font-size:12px;color:var(--tg-theme-hint-color)}.inventory-stats .stat-item span:last-child{font-size:18px;font-weight:700}.districts-list{display:grid;grid-template-columns:1fr;gap:12px}.district-card{background:var(--tg-theme-secondary-bg-color);border-radius:14px;padding:18px;border-left:4px solid transparent;transition:all .2s;cursor:pointer;box-shadow:0 2px 6px #0000000f}.district-card:active{transform:scale(.98);box-shadow:0 1px 3px #0000000f}.district-card.safe{border-left-color:#10b981}.district-card.normal{border-left-color:#f59e0b}.district-card.dangerous{border-left-color:#ef4444}.district-card.war{border-left-color:#8b5cf6;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.district-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.district-name{font-size:18px;font-weight:600}.district-level{font-size:14px;padding:4px 12px;border-radius:12px;font-weight:600}.district-card.safe .district-level{background:#d1fae5;color:#065f46}.district-card.normal .district-level{background:#fef3c7;color:#92400e}.district-card.dangerous .district-level{background:#fee2e2;color:#991b1b}.district-card.war .district-level{background:#ede9fe;color:#5b21b6}.district-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.district-stat{display:flex;flex-direction:column;gap:4px}.district-stat-label{font-size:11px;color:var(--tg-theme-hint-color);text-transform:uppercase}.district-stat-value{font-size:16px;font-weight:700}.district-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.district-btn{padding:12px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #2481cc4d}.district-btn:active{transform:scale(.95);box-shadow:0 1px 3px #2481cc4d}.district-btn.secondary{background:#fff;color:var(--tg-theme-text-color);border:2px solid var(--tg-theme-secondary-bg-color);box-shadow:0 2px 6px #0000000f}.district-btn.secondary:active{box-shadow:0 1px 3px #0000000f}
