:root{--color-primary:#007bff;--color-primary-hover:#0056b3;--color-primary-light:#cce7ff;--color-secondary:#6c757d;--color-secondary-hover:#545b62;--color-success:#28a745;--color-success-hover:#218838;--color-success-light:#d4edda;--color-danger:#dc3545;--color-danger-hover:#c82333;--color-danger-light:#f8d7da;--color-warning:#ffc107;--color-warning-hover:#e0a800;--color-warning-light:#fff3cd;--color-info:#17a2b8;--color-info-hover:#138496;--color-info-light:#d1ecf1;--color-vote-yes:#ff6b6b;--color-vote-yes-hover:#ee5a52;--color-vote-no:#4ecdc4;--color-vote-no-hover:#45b7aa;--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--bg-accent:#f5f5f5;--bg-header:#282c34;--bg-header-light:#ffffff1a;--bg-card:#fff;--bg-card-hover:#f8f9fa;--bg-card-accent:#f0f0f0;--text-primary:#212529;--text-secondary:#6c757d;--text-muted:#888;--text-light:#fff;--text-accent:#333;--border-primary:#dee2e6;--border-secondary:#e9ecef;--border-accent:#ddd;--border-focus:#80bdff;--shadow-sm:#0000001a;--shadow-md:#00000026;--shadow-lg:#0003;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-success:linear-gradient(135deg,#2d5016,#1e3a8a);--gradient-warning:linear-gradient(135deg,#f97316,#dc2626);--gradient-info:linear-gradient(135deg,#0ea5e9,#1e40af);--gradient-accent:linear-gradient(135deg,#8b5cf6,#7c3aed);--hover-opacity:0.8;--active-scale:0.98;--focus-ring:0 0 0 3px #007bff40;--border-radius:8px;--border-radius-sm:4px;--border-radius-lg:12px;--border-radius-xl:16px;--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.5s ease}[data-theme=dark]{--color-primary:#74c0fc;--color-primary-hover:#4dabf7;--color-primary-light:#0c4a6e;--color-secondary:#adb5bd;--color-secondary-hover:#ced4da;--color-success:#69db7c;--color-success-hover:#51cf66;--color-success-light:#0f2e0f;--color-danger:#ff8787;--color-danger-hover:#ff6b6b;--color-danger-light:#2d1b1b;--color-warning:#ffe066;--color-warning-hover:#ffd43b;--color-warning-light:#2d2500;--color-info:#91d5ff;--color-info-hover:#74c0fc;--color-info-light:#0c2d48;--color-vote-yes:#ff7979;--color-vote-yes-hover:#fd6b6b;--color-vote-no:#55efc4;--color-vote-no-hover:#4ecdc4;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-accent:#475569;--bg-header:#0f172a;--bg-header-light:#ffffff0d;--bg-card:#1e293b;--bg-card-hover:#334155;--bg-card-accent:#2d3748;--text-primary:#fff;--text-secondary:#ced4da;--text-muted:#adb5bd;--text-light:#fff;--text-accent:#f8f9fa;--border-primary:#6c757d;--border-secondary:#495057;--border-accent:#6c757d;--border-focus:#74c0fc;--shadow-sm:#0000004d;--shadow-md:#0006;--shadow-lg:#00000080;--gradient-primary:linear-gradient(135deg,#495057,#343a40);--gradient-success:linear-gradient(135deg,#1a4a23,#0f2419);--gradient-warning:linear-gradient(135deg,#4a3b00,#3d2f00);--gradient-info:linear-gradient(135deg,#1a365d,#142942);--gradient-accent:linear-gradient(135deg,#44337a,#352560)}*{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}[data-theme=dark]{--bg-accent:#495057}@media (prefers-contrast:high){:root{--border-primary:#000;--text-secondary:#000}[data-theme=dark]{--border-primary:#fff;--text-secondary:#fff}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.clickable{color:var(--color-primary);cursor:pointer;transition:color var(--transition-base),transform var(--transition-fast)}.clickable:hover{color:var(--color-primary-hover);text-decoration:underline;transform:translateY(-1px)}[data-theme=dark] .clickable{color:#91d5ff;font-weight:500}[data-theme=dark] .clickable:hover{color:#bfdbfe;font-weight:600}[data-theme=dark] .auth-buttons .btn-primary{background-color:#0ea5e9;border:1px solid #0284c7}[data-theme=dark] .auth-buttons .btn-primary:hover{background-color:#0284c7;border-color:#0369a1}[data-theme=dark] .nav-button.active{background:#e5f3ff;border-color:#60a5fa;color:#1e3a8a;font-weight:700}[data-theme=dark] .person-card{background:var(--bg-card);border-color:var(--border-primary);box-shadow:0 2px 8px #0006}[data-theme=dark] .person-card:hover{background:var(--bg-card-hover);border-color:var(--color-primary);box-shadow:0 4px 16px #00000080}[data-theme=dark] .person-card h3{color:var(--text-primary)}[data-theme=dark] .vote-stats{background:var(--bg-card-accent);border:1px solid var(--border-primary)}[data-theme=dark] .vote-stats span{color:var(--text-primary)}[data-theme=dark] .search-result-item{background:var(--bg-card);border-color:var(--border-primary)}[data-theme=dark] .search-result-item h4{color:var(--text-primary)}[data-theme=dark] .search-result-item p{color:var(--text-secondary)}.App{background-color:var(--bg-primary);margin:0 auto;max-width:1200px;min-height:100vh;padding:0 20px;text-align:center}.App-header{background-color:var(--bg-header);border-radius:var(--border-radius-lg);box-shadow:0 4px 12px var(--shadow-md);color:var(--text-light);margin-bottom:30px;padding:30px;position:relative}.App-header h1{color:var(--text-light);font-size:2.5rem;margin:0}.App-header p{color:var(--text-light);font-size:1.2rem;margin:10px 0 20px;opacity:.8}.navigation{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.nav-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-header-light);border:1px solid #ffffff4d;border-radius:25px;color:var(--text-light);cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all var(--transition-base)}.nav-button:hover{background:#ffffff4d;transform:translateY(-2px)}.nav-button.active{background:#ffffffe6;color:var(--text-accent);font-weight:600}.nav-button.active:hover{background:#fff}.user-info-section{align-items:flex-end;display:flex;flex-direction:column;gap:10px;position:absolute;right:20px;top:20px}.user-stats{align-items:center;display:flex;font-size:.9rem;gap:15px;margin-bottom:5px}.user-level{background-color:var(--bg-header-light);border-radius:var(--border-radius-sm);font-size:1rem;font-weight:700;padding:4px 8px}.user-points{color:var(--color-warning);font-weight:600}.voting-streak{color:var(--color-vote-yes);font-size:.85rem}.header-controls{align-items:center;display:flex;gap:15px}@media (max-width:768px){.user-info-section{align-items:center;margin-top:15px;position:static;text-align:center}.user-stats{flex-wrap:wrap;justify-content:center}}.auth-buttons .btn-primary{background-color:var(--color-primary);border:none;border-radius:var(--border-radius-sm);color:var(--text-light);cursor:pointer;transition:background-color var(--transition-base)}.auth-buttons .btn-primary:hover{background-color:var(--color-primary-hover)}.login-prompt{margin:2rem auto;max-width:500px}.login-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0003;color:#fff;padding:2rem;text-align:center}.login-card h2{font-size:1.8rem;margin-top:0}.login-card p{font-size:1.1rem;margin-bottom:1.5rem;opacity:.9}.login-cta{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-size:1.1rem;font-weight:700;padding:.75rem 2rem;transition:all .3s ease}.login-cta:hover{background:#f8f9fa;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.App-main{display:flex;flex-direction:column;gap:30px}.add-person-section,.leaderboard-section,.search-section,.voting-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:20px}.add-person-section h2,.leaderboard-section h2,.search-section h2,.voting-section h2{color:var(--text-primary);margin-top:0}.search-bar{display:flex;flex-direction:column;gap:15px;margin:0 auto;max-width:500px}.search-input{background-color:var(--bg-card);border:2px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:16px;outline:none;padding:12px;transition:border-color var(--transition-base)}.search-input:focus{border-color:var(--color-success);box-shadow:var(--focus-ring)}.search-button{background-color:var(--color-success);border:none;border-radius:var(--border-radius);color:var(--text-light);cursor:pointer;font-size:16px;padding:12px 24px;transition:background-color var(--transition-base)}.search-button:hover{background-color:var(--color-success-hover)}.add-person-section form{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.add-person-section input{background-color:var(--bg-card);border:2px solid var(--border-primary);border-radius:var(--border-radius);color:var(--text-primary);font-size:16px;min-width:200px;padding:12px}.add-person-section button{background-color:var(--color-primary);border:none;border-radius:var(--border-radius);color:var(--text-light);cursor:pointer;font-size:16px;padding:12px 24px;transition:background-color var(--transition-base)}.add-person-section button:hover{background-color:var(--color-primary-hover)}.people-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.person-card{background:var(--bg-card);border:2px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:0 2px 5px var(--shadow-sm);padding:20px;transition:box-shadow var(--transition-base),transform var(--transition-base)}.person-card:hover{box-shadow:0 4px 12px var(--shadow-md);transform:translateY(-2px)}.person-card-header{align-items:flex-start;display:flex;gap:15px;margin-bottom:15px}.person-card-avatar{border-radius:8px;cursor:pointer;flex-shrink:0;height:60px;object-fit:cover;transition:transform .2s ease;width:60px}.person-card-avatar:hover{box-shadow:0 4px 8px var(--shadow-md);transform:scale(1.05)}.person-card h3{color:var(--text-primary);font-size:1.5rem;margin-top:0}.vote-stats{background:var(--bg-secondary);border-radius:var(--border-radius);justify-content:space-around;margin:15px 0;padding:10px}.vote-stats span{color:var(--text-secondary);font-weight:700}.person-card-actions{align-items:center;display:flex;flex-direction:column;gap:15px}.search-card-share,.vote-buttons{justify-content:center}.search-card-share{display:flex}.vote-no,.vote-yes{border:none;border-radius:5px;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:12px 16px;transition:background-color .3s}.vote-yes{background-color:var(--color-vote-yes);color:var(--text-light)}.vote-yes:hover{background-color:var(--color-vote-yes-hover)}.vote-no{background-color:var(--color-vote-no);color:var(--text-light)}.vote-no:hover{background-color:var(--color-vote-no-hover)}.vote-login{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 16px;transition:all .3s;width:100%}.vote-login:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.vote-restriction{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--border-radius);margin:15px 0;padding:15px;text-align:center}.vote-restriction p{color:var(--text-secondary);margin:5px 0}.vote-restriction strong{color:var(--color-danger)}.last-vote{border-radius:4px;font-weight:700;padding:3px 8px}.last-vote.yes{background-color:var(--color-danger-light);color:var(--color-danger)}.last-vote.no{background-color:var(--color-success-light);color:var(--color-success)}.vote-no.disabled,.vote-yes.disabled{background-color:#ccc!important;cursor:not-allowed;opacity:.5}.vote-no.disabled:hover,.vote-yes.disabled:hover{background-color:#ccc!important}.search-results{margin-top:15px}.search-result-item{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius);margin:10px 0;padding:15px}.search-result-item h4{color:var(--text-primary);margin:0 0 10px}.search-result-item p{color:var(--text-secondary);margin:0}.no-results-message{background:var(--color-warning-light);border:2px solid var(--color-warning);border-radius:var(--border-radius-lg);margin:15px 0;padding:20px;text-align:center}.no-results-message p{color:var(--text-secondary);font-size:16px;margin:5px 0}.no-results-message p:first-child{font-size:18px;margin-bottom:10px}.no-results-message strong{color:var(--color-danger)}.leaderboard-section{background:var(--gradient-primary);border:none;color:var(--text-light)}.leaderboard-section h2{color:var(--text-light);font-size:2rem;margin-bottom:20px}.period-selector{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:25px}.period-button{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:25px;color:var(--text-light);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all var(--transition-base)}.period-button:hover{background:#fff3;border-color:#ffffff80}.period-button.active{background:var(--text-light);border-color:var(--text-light);color:var(--color-primary);font-weight:700}.loading{color:var(--text-light);font-size:18px;opacity:.8}.error-message{background:#ff6b6b33;border:2px solid var(--color-danger);border-radius:var(--border-radius);color:var(--color-danger-light);margin:15px 0;padding:15px;text-align:center}.no-data{color:var(--text-light);opacity:.8}.no-data p{font-size:16px}.leaderboard-list{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.leaderboard-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:var(--border-radius-xl);display:flex;overflow:visible;padding:20px;position:relative;transition:all var(--transition-base)}.leaderboard-item:hover{background:#ffffff26;transform:translateY(-2px)}.leaderboard-item.rank-1{background:linear-gradient(135deg,#ffd7004d,#ffc10733);border-color:#ffd70080;box-shadow:0 4px 20px #ffd7004d}.leaderboard-item.rank-2{background:linear-gradient(135deg,#c0c0c04d,#a9a9a933);border-color:#c0c0c080;box-shadow:0 4px 20px #c0c0c04d}.leaderboard-item.rank-3{background:linear-gradient(135deg,#cd7f324d,#b8733333);border-color:#cd7f3280;box-shadow:0 4px 20px #cd7f324d}.rank{font-size:24px;font-weight:700;min-width:60px;text-align:center}.person-info{align-items:center;display:flex;flex:1 1;padding-left:20px;text-align:left}.person-leaderboard-avatar{border:2px solid #ffffff4d;border-radius:50%;cursor:pointer;flex-shrink:0;height:60px;margin-right:15px;object-fit:cover;transition:all .3s ease;width:60px}.person-leaderboard-avatar:hover{border-color:#fff9;transform:scale(1.05)}.person-details{flex:1 1;min-width:0}.person-name-row{align-items:center;display:flex;gap:10px;margin-bottom:5px}.person-info .name{color:var(--text-light);font-size:18px;font-weight:700;margin-bottom:0}.person-share-button{flex-shrink:0;margin-left:auto}.mobile-share-button{display:none}.person-info .description{color:var(--text-light);font-size:14px;font-style:italic;opacity:.8}.vote-stats{align-items:center;display:flex;gap:20px}.leaderboard-item .vote-stats>div{min-width:70px;text-align:center}.leaderboard-item .vote-count{display:block;font-size:20px;font-weight:700;margin-bottom:2px}.leaderboard-item .vote-label{display:block;font-size:12px;opacity:.8}.leaderboard-item .yes-votes .vote-count{color:#ff6b6b}.leaderboard-item .no-votes .vote-count{color:#4ecdc4}.leaderboard-item .score-votes .vote-count{color:#fff;font-size:22px;font-weight:900}.leaderboard-item .score-votes .vote-count.positive{color:#ff6b6b}.leaderboard-item .score-votes .vote-count.negative{color:#4ecdc4}.leaderboard-item .score-votes .vote-count.zero,.leaderboard-item .total-votes .vote-count{color:#ffd93d}.expand-button{background:#fff3;border:2px solid #ffffff4d;border-radius:25px;color:var(--text-light);cursor:pointer;display:block;font-size:14px;font-weight:500;margin:0 auto;padding:12px 24px;transition:all var(--transition-base)}.expand-button:hover{background:#ffffff4d;border-color:#ffffff80}.leaderboard-actions{align-items:center;display:flex;flex-direction:column;gap:8px;margin-left:20px;position:relative;z-index:10}.leaderboard-vote-buttons{align-items:stretch;display:flex;flex-direction:column;gap:10px;width:100%}.leaderboard-vote-no,.leaderboard-vote-yes{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:.85rem;font-weight:600;gap:4px;justify-content:center;min-height:40px;min-width:120px;padding:10px 14px;text-transform:none;transition:all .2s ease-out;width:auto}.leaderboard-vote-yes{background:#dc3545;border:2px solid #0000;color:#fff}.leaderboard-vote-no{background:#28a745;border:2px solid #0000;color:#fff}.leaderboard-vote-yes:hover:not(.disabled){background:#c82333;box-shadow:0 6px 20px #dc35454d;transform:translateY(-2px)}.leaderboard-vote-no:hover:not(.disabled){background:#218838;box-shadow:0 6px 20px #28a7454d;transform:translateY(-2px)}.leaderboard-vote-no.disabled,.leaderboard-vote-yes.disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.vote-cooldown{color:var(--text-light);font-size:11px;font-style:italic;margin-top:3px;opacity:.7}[data-theme=dark] .leaderboard-vote-yes{background:var(--bg-secondary);border:2px solid var(--color-vote-yes);color:var(--text-primary)}[data-theme=dark] .leaderboard-vote-no{background:var(--bg-secondary);border:2px solid var(--color-vote-no);color:var(--text-primary)}[data-theme=dark] .leaderboard-vote-yes:hover:not(.disabled){background:var(--bg-tertiary);border-color:var(--color-vote-yes-hover);box-shadow:0 6px 20px #ff797933;transform:translateY(-2px)}[data-theme=dark] .leaderboard-vote-no:hover:not(.disabled){background:var(--bg-tertiary);border-color:var(--color-vote-no-hover);box-shadow:0 6px 20px #55efc433;transform:translateY(-2px)}[data-theme=dark] .leaderboard-vote-no.disabled,[data-theme=dark] .leaderboard-vote-yes.disabled{background:var(--bg-primary)!important;border-color:var(--border-secondary)!important;color:var(--text-muted)!important}@media (max-width:768px){.App{padding:0 10px}.people-list{grid-template-columns:1fr}.add-person-section form{flex-direction:column}.add-person-section input{min-width:0;min-width:auto;width:100%}.vote-buttons{flex-direction:column}.period-selector{gap:8px}.period-button{font-size:12px;padding:6px 12px}.leaderboard-item{gap:15px}.leaderboard-item,.person-info{flex-direction:column;text-align:center}.person-info{gap:10px;padding-left:0}.person-leaderboard-avatar{height:50px;margin-bottom:5px;margin-right:0;width:50px}.person-details{text-align:center}.person-name-row{align-items:center;flex-direction:row;gap:10px}.person-share-button{display:none}.mobile-share-button{display:block;position:absolute;right:10px;top:10px;z-index:15}.vote-stats{gap:15px;justify-content:center}.leaderboard-item .vote-stats>div{min-width:50px}.leaderboard-vote-buttons{flex-direction:row-reverse;gap:8px;justify-content:center;margin-left:0;margin-top:10px}.leaderboard-vote-no,.leaderboard-vote-yes{font-size:.8rem;min-height:36px;min-width:110px;padding:10px 12px}}.leaderboard-tabs{border:2px solid #ffffff4d;border-radius:8px;display:flex;gap:0;justify-content:center;margin-bottom:25px;overflow:hidden}.tab-button{background:#0000;border:none;border-right:1px solid #fff3;color:var(--text-light);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;opacity:.7;padding:12px 20px;transition:all var(--transition-base)}.tab-button:last-child{border-right:none}.tab-button:hover{background-color:#ffffff1a;opacity:.9}.tab-button.active{background-color:#fff3;color:var(--text-light);font-weight:700;opacity:1}@media (max-width:768px){.leaderboard-tabs{margin-bottom:20px}.tab-button{font-size:12px;padding:10px 15px}}.App.mobile-mode.vote-fullscreen{height:100%;overflow:hidden;position:fixed;width:100%}.App.mobile-mode .header{left:0;position:fixed;right:0;top:0;transition:transform .3s;z-index:100}.App.mobile-mode.vote-active .header{transform:translateY(-100%)}.App.mobile-mode .main-content{height:100vh;height:100dvh;padding-top:0}.App.ios{-webkit-touch-callout:none;-webkit-user-select:none}.App.android{-webkit-tap-highlight-color:transparent}.App.mobile-mode{overscroll-behavior-y:contain}body.vote-fullscreen{height:100%;left:0!important;margin:0!important;overflow:hidden;padding:0!important;position:fixed;top:0!important;width:100%}html.vote-fullscreen{height:100%;margin:0;overflow:hidden;padding:0}body.vote-fullscreen .App{height:100%;left:0;margin:0!important;padding:0!important;position:fixed;top:0!important;width:100%}.app-mobile{background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.mobile-header{background-color:var(--bg-header);box-shadow:0 2px 8px var(--shadow-sm);color:var(--text-light);padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));position:-webkit-sticky;position:sticky;top:0;z-index:100}.mobile-header-content{align-items:center;display:flex;justify-content:space-between;min-height:44px}.mobile-title{color:var(--text-light);font-size:1.4rem;font-weight:700;margin:0}.mobile-header-controls{align-items:center;display:flex;gap:8px}.btn-auth-mobile{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:16px;color:var(--text-light);cursor:pointer;font-size:.9rem;font-weight:500;padding:6px 12px;transition:all var(--transition-base)}.btn-auth-mobile:hover{background:#ffffff4d;transform:translateY(-1px)}.mobile-user-stats{align-items:center;display:flex;font-size:.85rem;font-weight:500;gap:16px;justify-content:center;opacity:.9;padding:8px 0 12px}.mobile-user-stats .user-level{font-size:.9rem;font-weight:600}.mobile-user-stats .user-points,.mobile-user-stats .voting-streak{color:var(--text-light)}.mobile-main{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;min-height:0;outline:none;overflow-x:hidden;overflow-y:auto;padding-bottom:60px;padding-bottom:var(--bottom-nav-height,60px);position:relative}.mobile-main.fullscreen-mode{height:100vh;height:100dvh;margin:0;overflow:hidden;padding-bottom:0;padding-top:0}.mobile-main.transitioning{opacity:.7;pointer-events:none;transform:scale(.98);transition:all .15s cubic-bezier(.4,0,.2,1)}.mobile-main.transition-left{transform:translateX(-10px) scale(.98)}.mobile-main.transition-right{transform:translateX(10px) scale(.98)}.mobile-main.swiping{transition:none}.mobile-main:not(.transitioning):not(.swiping){opacity:1;transform:scale(1) translateX(0);transition:all .2s cubic-bezier(.4,0,.2,1)}.app-desktop{background-color:var(--bg-primary);min-height:100vh}.mobile-mode{max-width:100%;padding:0}.mobile-mode .App-header{display:none}.mobile-mode .App-main{margin-bottom:0;padding:0}@media (max-width:767px){.app-desktop{display:none}.app-mobile{display:flex}.mobile-main.transitioning{opacity:1;transform:none}}@media (min-width:768px){.app-mobile{display:none}.app-desktop{display:block}.mobile-main.swiping,.mobile-main.transition-left,.mobile-main.transition-right,.mobile-main.transitioning{opacity:1;transform:none;transition:none}}@media (max-width:480px){.mobile-title{font-size:1.2rem}.mobile-header-content{min-height:40px}.mobile-user-stats{font-size:.8rem;gap:12px}}[data-theme=dark] .mobile-header{background-color:var(--bg-header);box-shadow:0 2px 8px #0000004d}[data-theme=dark] .btn-auth-mobile{background:#ffffff1a;border-color:#fff3}[data-theme=dark] .btn-auth-mobile:hover{background:#fff3}.mobile-mode .vote-interface{height:100vh;height:100dvh}.mobile-mode .vote-interface:not(.fullscreen){height:calc(100vh - 60px);height:calc(100vh - var(--bottom-nav-height, 60px));height:calc(100dvh - 60px);height:calc(100dvh - var(--bottom-nav-height, 60px))}.mobile-mode .person-card{border-radius:12px;margin:8px 16px}.mobile-mode .person-card-header img{height:50px;width:50px}.mobile-mode .vote-buttons{flex-direction:column;gap:8px}.mobile-mode .vote-buttons button{font-size:.9rem;padding:12px}.mobile-mode .leaderboard{padding:16px}.mobile-mode .leaderboard-item{margin-bottom:8px;padding:12px}@media (prefers-contrast:high){.mobile-header{border-bottom:2px solid}.btn-auth-mobile{border-width:2px}}@media (prefers-reduced-motion:reduce){.mobile-main{-webkit-overflow-scrolling:auto}.btn-auth-mobile{transition:none}.mobile-main.transition-left,.mobile-main.transition-right,.mobile-main.transitioning,.mobile-main:not(.transitioning):not(.swiping){opacity:1;transform:none;transition:none}}.image-cropper-overlay{align-items:center;background:#000000e6;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.image-cropper-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;width:600px}.cropper-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px 16px}.cropper-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.close-button{border-radius:4px;color:#666;font-size:20px;line-height:1;padding:4px;transition:background-color .2s ease}.close-button:hover:not(:disabled){background:#0000001a;color:#333}.close-button:disabled{cursor:not-allowed;opacity:.5}.cropper-content{display:flex;flex:1 1;flex-direction:column;gap:20px;padding:20px 24px}.crop-area{background:#f0f0f0;border-radius:8px;height:300px;overflow:hidden;position:relative}.cropper-controls{display:flex;flex-wrap:wrap;gap:24px}.control-group{flex:1 1;min-width:120px}.control-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.slider{-webkit-appearance:none;appearance:none;background:#e0e0e0;border-radius:3px;height:6px;outline:none;width:100%}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4caf50;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:18px;width:18px}.slider::-moz-range-thumb{background:#4caf50;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:18px;width:18px}.slider::-webkit-slider-track{background:#e0e0e0;border-radius:3px;height:6px}.slider::-moz-range-track{background:#e0e0e0;border-radius:3px;height:6px}.cropper-error{background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;color:#c62828;font-size:14px;margin-top:10px;padding:12px 16px}.cropper-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;padding:16px 24px 20px}.cropper-actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;min-height:40px;padding:10px 20px;transition:all .2s ease}.btn-primary{background:#4caf50;flex:1 1}.btn-primary:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-1px)}.btn-primary:disabled{background:#ccc;box-shadow:none;transform:none}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;color:#666}.btn-secondary:hover:not(:disabled){background:#eee;color:#333}.btn-cancel{background:#fff;border:1px solid #ddd;color:#666}.btn-cancel:hover:not(:disabled){background:#f8f9fa;color:#333}.processing-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.cropper-instructions{color:#666;padding:0 24px 20px;text-align:center}@media (max-width:768px){.image-cropper-overlay{padding:10px}.image-cropper-modal{border-radius:0;height:100%;max-height:100vh;max-width:100vw;width:100%}.cropper-header{padding:16px 20px 12px}.cropper-header h3{font-size:16px}.cropper-content{gap:16px;padding:16px 20px}.crop-area{height:250px}.cropper-controls{flex-direction:column;gap:16px}.control-group{min-width:0;min-width:auto}.cropper-actions{flex-wrap:wrap;padding:12px 20px 16px}.cropper-actions button{flex:1 1;min-width:0;padding:12px 16px}.cropper-instructions{font-size:12px;padding:0 20px 16px}}@media (max-width:480px){.crop-area{height:200px}.cropper-actions{flex-direction:column}.cropper-actions button{width:100%}}@media (hover:none) and (pointer:coarse){.slider{height:8px}.slider::-webkit-slider-thumb{height:24px;width:24px}.slider::-moz-range-thumb{height:24px;width:24px}.cropper-actions button{font-size:16px;min-height:48px}}.profile-picture-upload{align-items:center;display:flex;flex-direction:column;gap:8px}.upload-button{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:8px 16px;text-decoration:none;transition:all .2s ease}.upload-button:hover:not(.uploading){background:#2563eb;transform:translateY(-1px)}.upload-button.uploading{background:#6b7280;cursor:not-allowed;opacity:.7}.upload-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;display:inline-block;height:16px;width:16px}.upload-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;font-size:14px;padding:8px 12px}.upload-error,.upload-guidelines{text-align:center}.upload-guidelines small{color:#6b7280;font-size:12px}@media (max-width:768px){.upload-button{font-size:16px;padding:10px 20px}.upload-guidelines small{font-size:14px}}.share-button-container{display:inline-block;position:relative}.share-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:4px;padding:8px 12px;transition:all .2s ease}.share-button:hover{box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.share-button.compact{font-size:.8rem;padding:6px 8px}.share-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999999}.share-modal{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:90vw;min-width:320px;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px 16px}.share-modal-header h3{color:#333;font-size:1.2rem;font-weight:600;margin:0}.share-modal-close{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;padding:4px;transition:background-color .2s ease}.share-modal-close:hover{background-color:#e9ecef;color:#333}.share-modal-content{padding:24px}.share-modal-subtitle{color:#666;font-size:.95rem;margin:0 0 20px;text-align:center}.share-options-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.share-option-large{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;gap:8px;padding:20px 16px;transition:all .2s ease}.share-option-large:hover{background:#f8fbff;border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.share-icon{font-size:2rem;height:2rem;margin-bottom:4px;width:2rem}.share-label{font-weight:500;text-align:center}.share-option-large.x:hover{background:#f5f5f5;border-color:#000}.share-option-large.x .share-icon{color:#000}.share-option-large.facebook:hover{background:#f8fbff;border-color:#1877f2}.share-option-large.facebook .share-icon{color:#1877f2}.share-option-large.reddit:hover{background:#fff8f5;border-color:#ff4500}.share-option-large.reddit .share-icon{color:#ff4500}.share-option-large.whatsapp:hover{background:#f7fff8;border-color:#25d366}.share-option-large.whatsapp .share-icon{color:#25d366}.share-option-large.copy:hover{background:#faf8ff;border-color:#6f42c1}.share-option-large.copy .share-icon{color:#6f42c1}.dark-theme .share-modal{background:#2d3748;color:#fff}.dark-theme .share-modal-header{background:#4a5568;border-bottom-color:#718096}.dark-theme .share-modal-header h3{color:#fff}.dark-theme .share-modal-close{color:#a0aec0}.dark-theme .share-modal-close:hover{background-color:#718096;color:#fff}.dark-theme .share-modal-subtitle{color:#a0aec0}.dark-theme .share-option-large{background:#4a5568;border-color:#718096;color:#fff}.dark-theme .share-option-large:hover{background:#718096;border-color:#a0aec0}@media (max-width:768px){.share-modal{margin:20px;min-width:280px}.share-button.compact{font-size:.7rem;padding:4px 6px}.share-options-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.share-option-large{padding:16px 12px}.share-icon{font-size:1.8rem}}.vote-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:1000000}.vote-modal{animation:voteModalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;cursor:default;max-height:90vh;max-width:90vw;min-width:400px;overflow:hidden;pointer-events:auto;position:relative}@keyframes voteModalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.vote-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e9ecef;color:#fff;display:flex;justify-content:space-between;padding:20px 24px 16px;position:relative}.vote-result-icon{font-size:2rem;left:20px;position:absolute}.vote-modal-header h3{flex:1 1;font-size:1.3rem;font-weight:600;margin:0 0 0 2rem;text-align:center}.vote-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#fffc;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;min-height:32px;min-width:32px;padding:8px;pointer-events:auto;position:relative;transition:all .2s ease;z-index:10}.vote-modal-close:hover{background-color:#fff3;color:#fff}.vote-modal-content{padding:24px}.vote-modal-confirmation{margin-bottom:24px;text-align:center}.vote-modal-confirmation-text{color:#333;font-size:1.1rem;line-height:1.4;margin:0}.vote-modal-confirmation-text strong{color:#2c3e50}.vote-rewards{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:20px;padding:16px}.reward-item{align-items:center;display:flex;gap:12px;margin-bottom:12px}.reward-item:last-child{margin-bottom:0}.reward-icon{font-size:1.2rem;min-width:20px}.reward-text{color:#495057;font-weight:500}.reward-item.points .reward-text{color:#007bff}.reward-item.streak .reward-text{color:#fd7e14}.reward-item.bonus .reward-text{color:#28a745}.vote-cooldown{border-radius:6px;margin-bottom:20px;padding:12px}.vote-cooldown p{color:#856404;font-size:.95rem;margin:0}.vote-modal-actions{align-items:center;display:flex;flex-direction:column;gap:8px}.auto-close-notice{color:#666;font-size:.8rem;line-height:1.3;opacity:.7;text-align:center}.vote-modal-ok{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:120px;padding:12px 24px;pointer-events:auto;position:relative;transition:all .2s ease;z-index:10}.vote-modal-ok:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.dark-theme .vote-modal{background:#2d3748;color:#fff}.dark-theme .vote-modal-header{border-bottom-color:#4a5568}.dark-theme .vote-modal-confirmation-text{color:#e2e8f0}.dark-theme .vote-modal-confirmation-text strong{color:#cbd5e0}.dark-theme .vote-rewards{background:#4a5568;border-left-color:#667eea}.dark-theme .reward-text{color:#a0aec0}.dark-theme .vote-cooldown{background:#744210;border-color:#d69e2e}.dark-theme .vote-cooldown p{color:#faf089}@media (max-width:768px){.vote-modal{margin:20px;min-width:320px}.vote-modal-header{padding:16px 20px 12px}.vote-modal-header h3{font-size:1.2rem;margin-left:1.5rem}.vote-result-icon{font-size:1.5rem;left:16px}.vote-modal-content{padding:20px}.vote-modal-confirmation-text{font-size:1rem}.vote-rewards{padding:14px}.reward-item{gap:10px;margin-bottom:10px}.reward-icon{font-size:1.1rem}.reward-text{font-size:.9rem}}.category-filter{align-items:center;display:flex;margin-bottom:20px;position:relative;width:100%}.category-pills-container{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;flex:1 1;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px 0;scroll-behavior:smooth;scrollbar-width:none}.category-pills-container::-webkit-scrollbar{display:none}@media (min-width:769px){.category-pills-container{scrollbar-color:#007bff4d #0000;scrollbar-width:thin}.category-pills-container::-webkit-scrollbar{display:block;height:4px}.category-pills-container::-webkit-scrollbar-track{background:#0000000d;border-radius:2px}.category-pills-container::-webkit-scrollbar-thumb{background:#007bff4d;border-radius:2px}.category-pills-container::-webkit-scrollbar-thumb:hover{background:#007bff80}}.scroll-arrow{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;color:#007bff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;user-select:none;-webkit-user-select:none;width:32px;z-index:10}.scroll-arrow:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.1)}.scroll-arrow:active{transform:translateY(-50%) scale(.95)}.scroll-arrow-left{left:-16px}.scroll-arrow-right{right:-16px}[data-theme=dark] .scroll-arrow{background:#1e293be6;color:#74c0fc}[data-theme=dark] .scroll-arrow:hover{background:#1e293b;color:#4dabf7}[data-theme=dark] .leaderboard-section .scroll-arrow,[data-theme=dark].leaderboard-section .scroll-arrow{background:#1e293b33;color:#f1f5f9}[data-theme=dark] .leaderboard-section .scroll-arrow:hover,[data-theme=dark].leaderboard-section .scroll-arrow:hover{background:#1e293b4d;color:#f1f5f9}.category-pill{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #ddd;border-radius:20px;color:#333;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .3s ease;user-select:none;-webkit-user-select:none;white-space:nowrap}.category-pill:hover{background:#fff;border-color:#007bff;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.category-pill:active{transform:translateY(0);transform:scale(.98)}.category-pill.selected{background:#007bff;border-color:#0056b3;box-shadow:0 2px 12px #007bff4d;color:#fff;font-weight:600}.category-pill.selected:hover{background:#0056b3;border-color:#004085}.category-icon{font-size:16px;line-height:1}.category-label{font-size:13px;line-height:1}[data-theme=dark] .category-pill{background:#1e293be6;border-color:#475569;color:#f1f5f9}[data-theme=dark] .category-pill:hover{background:#1e293b;border-color:#74c0fc}[data-theme=dark] .category-pill.selected{background:#74c0fc;border-color:#4dabf7;color:#0f172a}[data-theme=dark] .category-pill.selected:hover{background:#4dabf7;border-color:#339af0}@media (max-width:768px){.category-pills-container{gap:6px;padding:6px 0}.category-pill{font-size:13px;padding:6px 12px}.category-icon{font-size:14px}.category-label{font-size:12px}}@media (min-width:769px) and (max-width:1024px){.category-pill{padding:7px 14px}}.leaderboard-section .category-filter{margin-bottom:25px}.leaderboard-section .category-pill{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fff3;border-color:#ffffff4d;color:#fff}.leaderboard-section .category-pill:hover{background:#ffffff4d;border-color:#fff9}.leaderboard-section .category-pill.selected{background:#ffffffe6;border-color:#fff;color:#007bff}.leaderboard-section .category-pill.selected:hover{background:#fff;border-color:#fff;color:#0056b3}.leaderboard-section .scroll-arrow{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fff3;color:#fff}.leaderboard-section .scroll-arrow:hover{background:#ffffff4d;color:#fff}@media (max-width:768px){.category-filter:after,.category-filter:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:20px;z-index:1}.category-filter:before{background:linear-gradient(90deg,#f8f9fa,#0000);background:linear-gradient(to right,var(--bg-secondary,#f8f9fa),#0000);left:0}.category-filter:after{background:linear-gradient(270deg,#f8f9fa,#0000);background:linear-gradient(to left,var(--bg-secondary,#f8f9fa),#0000);right:0}.leaderboard-section .category-filter:before{background:linear-gradient(90deg,#667eea,#0000)}.leaderboard-section .category-filter:after{background:linear-gradient(270deg,#667eea,#0000)}[data-theme=dark] .category-filter:before{background:linear-gradient(90deg,#1e293b,#0000);background:linear-gradient(to right,var(--bg-secondary,#1e293b),#0000)}[data-theme=dark] .category-filter:after{background:linear-gradient(270deg,#1e293b,#0000);background:linear-gradient(to left,var(--bg-secondary,#1e293b),#0000)}}.vote-card{background:#fff;background:var(--bg-card,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-primary,#e0e0e0);border-radius:16px;box-shadow:0 8px 24px #0000001f;margin:0 auto;max-width:400px;opacity:1;overflow:hidden;position:relative;transition:box-shadow .2s ease-out;-webkit-user-select:none;user-select:none;width:100%;z-index:auto}.vote-card.disabled{opacity:.7;pointer-events:none}.vote-card.mobile-optimized{border-radius:12px;margin:0 10px;max-width:100%;width:calc(100vw - 20px)}[data-theme=dark] .vote-card{background:var(--bg-card);border-color:var(--border-primary);box-shadow:0 8px 24px #0000004d}.vote-confirmation{align-items:center;animation:confirmationFadeIn .3s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:100}.vote-confirmation.yes{background:#e74c3ce6}.vote-confirmation.no{background:#2ecc71e6}.confirmation-content{color:#fff;text-align:center}.confirmation-icon{font-size:3rem;margin-bottom:.5rem}.confirmation-name{font-size:1.2rem;font-weight:700;margin-bottom:.25rem}.confirmation-verdict{font-size:1rem;font-weight:600;text-transform:uppercase}@keyframes confirmationFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.card-content{display:flex;flex-direction:column;position:relative}.card-image-section{background:#f8f9fa;height:350px;overflow:hidden;position:relative;width:100%}.card-hero-image{cursor:pointer;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease;width:100%}.card-hero-image:hover{filter:brightness(1.05);transform:scale(1.02)}.card-info-section{background:#fff;background:var(--bg-card,#fff);padding:20px}.card-info{text-align:center}.card-name{color:#333;color:var(--text-primary,#333);cursor:pointer;font-size:1.5rem;font-weight:700;line-height:1.2;margin:0 0 10px;transition:color .2s ease}.card-name:hover{color:#3498db;color:var(--color-primary,#3498db)}.card-description{color:#666;color:var(--text-secondary,#666);font-size:.9rem;line-height:1.4;margin:0}[data-theme=dark] .card-name{color:var(--text-primary)}[data-theme=dark] .card-description{color:var(--text-secondary)}[data-theme=dark] .card-name:hover{color:var(--color-primary)}[data-theme=dark] .card-info-section{background:var(--bg-card)}.card-stats{align-items:center;background:#00000005;background:var(--bg-card-accent,#00000005);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-primary,#e0e0e0);display:flex;gap:10px;justify-content:space-around;padding:15px 20px}[data-theme=dark] .card-stats{background:var(--bg-card-accent);border-color:var(--border-primary)}.stat-item{color:#666;color:var(--text-secondary,#666);font-size:.85rem;font-weight:600;gap:4px}[data-theme=dark] .stat-item{color:var(--text-secondary)}.share-section{margin-left:auto}.vote-restriction-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:50}.vote-restriction-overlay p{background:#000000e6;border:2px solid #fff3;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:600;margin:0;padding:1rem;text-align:center}.card-actions{background:#fff;background:var(--bg-card,#fff);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-primary,#e0e0e0);padding:15px 20px}[data-theme=dark] .card-actions{background:var(--bg-card);border-color:var(--border-primary)}.vote-buttons{align-items:stretch;display:flex!important;flex-direction:row!important;gap:12px;justify-content:space-between;width:100%}.vote-button{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:6px;justify-content:center;min-height:48px;padding:14px 18px;text-transform:none;transition:all .2s ease-out;width:auto}.vote-no-button{background:#28a745;border:2px solid #0000;color:#fff}.vote-no-button:hover:not(.disabled){background:#218838;box-shadow:0 6px 20px #28a7454d;transform:translateY(-2px)}.vote-yes-button{background:#dc3545;border:2px solid #0000;color:#fff}.vote-yes-button:hover:not(.disabled){background:#c82333;box-shadow:0 6px 20px #dc35454d;transform:translateY(-2px)}.vote-button.disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}@media (max-width:768px){.vote-card{border-radius:12px;margin:0;max-width:100%}.vote-card.mobile-optimized{margin:0;width:100%}.card-image-section{height:280px}.card-info-section{padding:15px}.card-name{font-size:1.3rem}.card-description{font-size:.85rem}.card-stats{padding:12px 15px}.vote-buttons{flex-direction:row!important;gap:10px}.vote-button{border-radius:8px;font-size:.9rem;min-height:44px;padding:12px 14px}.card-actions{padding:12px 15px}}@media (max-width:400px){.card-image-section{height:220px}.card-info-section{padding:12px}.card-name{font-size:1.2rem}.card-description{font-size:.8rem}.card-stats{padding:10px 12px}.stat-item{font-size:.8rem}.vote-button{font-size:.85rem;min-height:40px}.card-actions,.vote-button{padding:10px 12px}}.clickable-profile{cursor:pointer;pointer-events:auto;position:relative;touch-action:manipulation;transition:transform .2s ease-out,filter .2s ease-out;z-index:4}.clickable-profile:hover{filter:brightness(1.1);transform:scale(1.02)}.clickable-profile:active{transform:scale(.98)}.clickable-profile:after{background:#3498db;background:var(--color-primary,#3498db);border-radius:50%;content:"";height:20px;opacity:0;pointer-events:none;position:absolute;right:-5px;top:-5px;transform:scale(0);transition:all .3s ease-out;width:20px;z-index:1}.clickable-profile:hover:after{opacity:.8;transform:scale(1)}@media (hover:none){.clickable-profile:after{align-items:center;animation:profilePulse 2s infinite;background:#3498dbcc;border:2px solid #fffc;box-shadow:0 2px 8px #0000004d;color:#fff;content:"👤";display:flex;font-size:12px;justify-content:center;opacity:.9;transform:scale(1)}}@keyframes profilePulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:15px;justify-content:center;padding:20px}.loading-spinner.inline{display:inline-flex;flex-direction:row;gap:8px;padding:5px}.loading-spinner.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe6;bottom:0;left:0;position:absolute;right:0;top:0;z-index:100}.spinner{display:inline-block;position:relative}.spinner-ring{animation:spinner-ring 1.2s linear infinite;border-radius:50%;border-style:solid;box-sizing:border-box;display:inline-block}.spinner-small .spinner-ring{border-width:2px;height:20px;width:20px}.spinner-medium .spinner-ring{border-width:3px;height:32px;width:32px}.spinner-large .spinner-ring{border-width:4px;height:48px;width:48px}.spinner-primary .spinner-ring{border-color:#3b82f6 #0000 #0000}.spinner-secondary .spinner-ring{border-color:#6b7280 #0000 #0000}.spinner-success .spinner-ring{border-color:#10b981 #0000 #0000}.spinner-warning .spinner-ring{border-color:#f59e0b #0000 #0000}.spinner-danger .spinner-ring{border-color:#ef4444 #0000 #0000}.spinner-white .spinner-ring{border-color:#fff #0000 #0000}.loading-text{color:#6b7280;font-size:.875rem;font-weight:500;text-align:center}.loading-spinner.inline .loading-text{font-size:.75rem;margin-top:0}@keyframes spinner-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.spinner-large .spinner-ring{border-width:3px;height:40px;width:40px}.spinner-medium .spinner-ring{border-width:2px;height:28px;width:28px}}.vote-interface{margin:0 auto;max-width:500px;min-height:80vh;padding:20px;position:relative}.vote-interface.mobile-mode{margin:0;max-width:100%;padding:10px}.vote-header{margin-bottom:20px;padding:0 10px;text-align:center}.vote-header h2{color:#333;color:var(--text-primary,#333);font-size:1.5rem;margin:0 0 10px}.vote-header p{color:#666;color:var(--text-secondary,#666);font-size:.9rem;margin:0 0 20px}.vote-progress{align-items:center;display:flex;flex-direction:column;gap:5px;margin-top:15px}.vote-progress span{color:#666;color:var(--text-secondary,#666);font-size:.8rem;font-weight:500}.progress-bar{background:#e0e0e0;background:var(--border-primary,#e0e0e0);border-radius:2px;height:4px;max-width:200px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:2px;height:100%;transition:width .3s ease}.vote-container{flex-direction:column;min-height:500px}.card-stack,.vote-container{align-items:center;display:flex;justify-content:center;position:relative}.card-stack{height:auto;max-width:400px;width:100%}.background-card{left:5px;opacity:.3;pointer-events:none;position:absolute;right:5px;top:5px;transform:scale(.95);z-index:1}.current-card{position:relative;width:100%;z-index:2}.skip-section{background:#0000000d;background:var(--bg-card-accent,#0000000d);border:1px solid #e0e0e0;border:1px solid var(--border-primary,#e0e0e0);border-radius:10px;margin-top:20px;padding:15px;text-align:center}.skip-section p{color:#666;color:var(--text-secondary,#666);font-size:.9rem;margin:0 0 10px}.skip-button{background:#3498db;background:var(--color-primary,#3498db);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .2s ease}.skip-button:hover{background:#2980b9;background:var(--color-primary-dark,#2980b9)}.completion-state,.error-state{max-width:400px;padding:40px 20px;text-align:center}.completion-state h3,.error-state h3{color:#333;color:var(--text-primary,#333);font-size:1.5rem;margin:0 0 15px}.completion-state p,.error-state p{color:#666;color:var(--text-secondary,#666);line-height:1.5;margin:0 0 20px}.reload-button,.retry-button{background:#3498db;background:var(--color-primary,#3498db);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.reload-button:hover,.retry-button:hover{background:#2980b9;background:var(--color-primary-dark,#2980b9);transform:translateY(-1px)}.completion-stats{background:#0000000d;background:var(--bg-card-accent,#0000000d);border-radius:8px;margin:20px 0;padding:15px}@media (max-width:768px){.vote-interface{min-height:calc(100vh - 100px);padding:15px 10px}.vote-header{margin-bottom:15px}.vote-header h2{font-size:1.3rem}.vote-header p{font-size:.85rem}.vote-container{min-height:400px}.card-stack{max-width:100%}.background-card{left:3px;right:3px;top:3px}.skip-section{margin-top:15px;padding:12px}.completion-state,.error-state{padding:30px 15px}}@media (max-width:400px){.vote-interface{padding:10px 5px}.vote-header h2{font-size:1.2rem}.vote-container{min-height:350px}.progress-bar{max-width:150px}}[data-theme=dark] .vote-header h2{color:var(--text-primary)}[data-theme=dark] .vote-header p{color:var(--text-secondary)}[data-theme=dark] .progress-bar{background:var(--border-primary)}[data-theme=dark] .skip-section{background:var(--bg-card-accent);border-color:var(--border-primary)}[data-theme=dark] .skip-section p{color:var(--text-secondary)}[data-theme=dark] .completion-stats{background:var(--bg-card-accent)}[data-theme=dark] .completion-state h3,[data-theme=dark] .error-state h3{color:var(--text-primary)}[data-theme=dark] .completion-state p,[data-theme=dark] .error-state p{color:var(--text-secondary)}.auth-modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.auth-modal-content{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 6px var(--shadow-md);max-width:400px;padding:2rem;position:relative;width:90%}.auth-close-button{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;position:absolute;right:1rem;top:1rem;width:30px}.auth-close-button:hover,.auth-form h2{color:var(--text-primary)}.auth-form h2{margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-primary);font-weight:500;margin-bottom:.5rem}.form-group input{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:border-color .3s;width:100%}.form-group input:focus{border-color:var(--color-primary);outline:none}.btn-primary{background-color:var(--color-primary);border-radius:4px;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .3s}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-google{background-color:var(--bg-card);border:2px solid var(--border-primary);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s}.btn-google:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--color-primary)}.btn-google:disabled{cursor:not-allowed;opacity:.6}.w-100{width:100%}.auth-divider{margin:1.5rem 0;position:relative;text-align:center}.auth-divider:before{background-color:var(--border-primary);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.auth-divider span{background:var(--bg-card);color:var(--text-secondary);font-size:.9rem;padding:0 1rem}.auth-switch{color:var(--text-secondary);margin-top:1.5rem;text-align:center}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.link-button:hover{color:var(--color-primary-hover)}.error-message{background-color:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:4px;color:var(--color-danger);margin-bottom:1rem;opacity:.9;padding:.75rem}.user-menu{display:inline-block;position:relative}.user-menu-trigger{align-items:center;background:none;border:2px solid var(--color-primary);border-radius:8px;color:var(--color-primary);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;min-width:0;padding:.5rem 1rem;transition:all .3s}.user-menu-trigger:hover{background-color:var(--color-primary);color:#fff}.user-avatar{flex-shrink:0}.user-info{align-items:flex-start;display:flex;flex-direction:column;min-width:0}.user-name{font-weight:600}.user-level,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-level{font-size:.75rem;opacity:.8}.user-menu-dropdown{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 12px var(--shadow-md);margin-top:.5rem;min-width:280px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.user-menu-header{background:var(--gradient-primary);color:#fff;padding:1rem}.user-menu-name{font-size:1rem;font-weight:600;margin-bottom:.5rem}.user-menu-level{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.level-badge{background:#fff3;border-radius:4px;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.points-display{font-size:.9rem;opacity:.9}.level-progress{margin-top:.75rem}.progress-bar-container{background:#fff3;border-radius:10px;height:6px;margin-bottom:.25rem}.progress-bar{background:#fff;border-radius:10px;transition:width .3s ease}.progress-text{font-size:.75rem;opacity:.9}.user-menu-divider{background:var(--border-primary);height:1px;margin:0}.user-menu-item{background:none;border:none;color:var(--text-primary);cursor:pointer;display:block;padding:.75rem 1rem;text-align:left;transition:background-color .3s;width:100%}.user-menu-item:hover{background-color:var(--bg-secondary)}.user-menu-item.danger{color:var(--color-danger)}.user-menu-item.danger:hover{background-color:var(--bg-secondary)}.auth-buttons{display:flex;gap:.5rem}.auth-buttons .btn-primary{font-size:.9rem;padding:.5rem 1rem}.profile-stats{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:25px}.profile-stats h3{color:#fff;font-size:1.3rem;margin:0 0 20px;text-align:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card{background:#ffffff1a;border:1px solid #fff3;transition:transform .2s ease,background .2s ease}.stat-card:hover{background:#ffffff26;transform:translateY(-2px)}.stat-icon{display:block;font-size:2rem;margin-bottom:10px}.stat-content{color:#fff}.stat-value{display:block;font-size:1.5rem;font-weight:700;line-height:1.2;margin-bottom:5px}.stat-label{font-size:.85rem;letter-spacing:.5px;opacity:.9}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:15px}.stat-icon{font-size:1.5rem}.stat-value{font-size:1.2rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.level-progress{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;box-sizing:border-box;max-width:100%;overflow:hidden;padding:0;width:100%}.level-status{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;padding:25px}.current-level,.next-level{align-items:center;display:flex;flex-direction:column;gap:8px}.level-badge{animation:pulseGlow 3s ease-in-out infinite;border-radius:25px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:1rem;font-weight:700;padding:10px 20px;text-align:center;transition:all .3s ease}@keyframes pulseGlow{0%,to{box-shadow:0 2px 4px #0000001a}50%{box-shadow:0 4px 12px #0003;transform:translateY(-1px)}}.level-badge.next{border:2px dashed #ffffff80;opacity:.7}.level-points,.points-needed{color:var(--text-secondary);font-size:.9rem;text-align:center}.progress-arrow{color:var(--color-primary);font-size:2rem;margin:0 20px}.progress-section{background:var(--bg-card);padding:20px 25px}.progress-bar-container{background:var(--bg-tertiary);border-radius:6px;box-shadow:inset 0 2px 4px var(--shadow-sm);height:12px;margin-bottom:10px;overflow:hidden;width:100%}.progress-bar{border-radius:6px;height:100%;position:relative;width:0}.progress-bar.animated{transition:width 1.2s cubic-bezier(.25,.46,.45,.94)}.progress-bar:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#fff0,#ffffff4d 50%,#fff0);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-text{color:var(--color-primary);font-size:.95rem;font-weight:600;text-align:center}.max-level{background:var(--color-success-light);color:var(--color-success);font-size:1.2rem;padding:30px;text-align:center}.level-benefits{background:var(--bg-secondary);padding:25px}.current-benefits,.next-benefits{margin-bottom:25px}.current-benefits:last-child,.next-benefits:last-child{margin-bottom:0}.level-benefits h4{align-items:center;color:var(--text-primary);display:flex;font-size:1.1rem;gap:8px;margin:0 0 15px}.current-benefits h4:before{content:"✨"}.next-benefits h4:before{content:"🎯"}.level-benefits ul{list-style:none;margin:0;padding:0}.benefit-item{align-items:center;border-bottom:1px solid var(--border-secondary);display:flex;gap:10px;padding:8px 0}.benefit-item:last-child{border-bottom:none}.benefit-item.enabled{color:var(--color-success)}.benefit-item.disabled{color:var(--text-secondary);opacity:.7}.benefit-icon{font-size:1.1rem}.error-placeholder,.loading-placeholder{padding:40px}@media (max-width:768px){.level-progress{border-radius:8px;margin:0!important;max-width:100%!important;width:100%!important}.level-benefits *,.level-progress *,.level-status *,.progress-section *{box-sizing:border-box!important;max-width:100%!important}.level-status{flex-direction:column;gap:15px;padding:20px 15px;text-align:center}.current-level,.next-level{max-width:100%;width:100%}.progress-arrow{font-size:1.5rem;margin:8px 0;transform:rotate(90deg)}.level-badge{font-size:.9rem;max-width:200px;padding:8px 16px}.level-badge,.level-points,.points-needed{overflow-wrap:break-word;word-break:break-word}.level-points,.points-needed{font-size:.85rem}.level-benefits,.progress-section{padding:15px 10px}.benefit-item{flex-wrap:wrap;gap:8px;overflow-wrap:break-word;padding:8px 0;word-break:break-word}}@media (max-width:480px){.level-progress{border-radius:6px}.level-status{gap:12px;padding:15px 10px}.level-badge{max-width:180px;padding:6px 10px}.level-badge,.level-points,.points-needed{font-size:.8rem}.progress-arrow{font-size:1.2rem;margin:5px 0}.level-benefits{padding:12px 8px}.level-benefits h4{font-size:1rem;margin-bottom:12px}.progress-section{padding:12px 8px}.progress-text{font-size:.85rem}.benefit-item{font-size:.9rem;gap:6px;padding:6px 0}.benefit-icon{flex-shrink:0;font-size:.9rem}.max-level{font-size:1rem;padding:20px 10px}}.points-breakdown{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;box-sizing:border-box;max-width:100%;overflow:hidden;width:100%}.breakdown-summary{border-bottom:1px solid var(--border-primary);padding:25px}.breakdown-summary h4{align-items:center;color:var(--text-primary);display:flex;font-size:1.2rem;gap:8px;margin:0 0 20px}.breakdown-summary h4:before{content:"📊"}.breakdown-grid{grid-gap:15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.breakdown-grid,.breakdown-item{box-sizing:border-box;gap:15px;width:100%}.breakdown-item{align-items:center;background:var(--bg-secondary);border-left:4px solid var(--color-primary);border-radius:8px;display:flex;max-width:100%;overflow:hidden;padding:15px}.breakdown-icon{flex-shrink:0;font-size:1.5rem}.breakdown-content{flex-grow:1}.breakdown-title{color:var(--text-primary);font-weight:600;margin-bottom:4px;overflow-wrap:break-word;word-break:break-word}.breakdown-stats{align-items:center;display:flex;gap:10px}.breakdown-points{color:var(--color-success);font-weight:600}.breakdown-count{color:var(--text-secondary);font-size:.9rem}.recent-activity{padding:25px}.recent-activity h4{align-items:center;color:var(--text-primary);display:flex;font-size:1.2rem;gap:8px;margin:0 0 20px}.recent-activity h4:before{content:"⏰"}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:flex-start;background:var(--bg-secondary);border-radius:8px;display:flex;gap:15px;padding:15px;transition:background .2s ease}.activity-item:hover{background:var(--bg-tertiary)}.activity-icon{flex-shrink:0;font-size:1.3rem;margin-top:2px}.activity-content{flex-grow:1}.activity-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.activity-title{color:var(--text-primary);font-weight:600;overflow-wrap:break-word;word-break:break-word}.activity-points{color:var(--color-success);font-size:.95rem;font-weight:600}.activity-details{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:8px}.activity-time{font-weight:500}.activity-context{opacity:.8;overflow-wrap:break-word;word-break:break-word}.no-activity{color:var(--text-secondary);padding:60px 25px;text-align:center}.no-activity-icon{font-size:3rem;margin-bottom:20px;opacity:.5}.no-activity p{font-size:1.1rem;margin:0 0 10px}.no-activity p:last-child{opacity:.8}.error-placeholder,.loading-placeholder{color:var(--text-secondary);padding:40px 25px;text-align:center}.loading-placeholder:before{content:"⏳";display:block;font-size:2rem;margin-bottom:15px}.error-placeholder:before{content:"⚠️";display:block;font-size:2rem;margin-bottom:15px}@media (max-width:768px){.points-breakdown{border-radius:8px;max-width:100%!important;width:100%!important}.activity-list *,.breakdown-grid *,.breakdown-summary *,.points-breakdown *,.recent-activity *{box-sizing:border-box!important;max-width:100%!important}.breakdown-summary,.recent-activity{padding:20px 15px}.breakdown-grid{gap:12px;grid-template-columns:1fr}.breakdown-item{flex-wrap:wrap;gap:12px;padding:12px}.breakdown-content{flex:1 1;min-width:0}.activity-item{flex-wrap:wrap;gap:12px;padding:12px}.activity-content{flex:1 1;min-width:0}.activity-main{align-items:flex-start;flex-direction:column;gap:5px}.activity-details{flex-wrap:wrap;gap:8px}}@media (max-width:480px){.points-breakdown{border-radius:6px}.breakdown-summary,.recent-activity{padding:12px 8px}.breakdown-summary h4,.recent-activity h4{font-size:1.1rem;margin-bottom:12px}.breakdown-grid{gap:8px;grid-template-columns:1fr}.breakdown-item{flex-direction:column;gap:8px;padding:10px 8px;text-align:center}.breakdown-icon{margin-bottom:5px}.breakdown-content{text-align:center;width:100%}.breakdown-title{font-size:.9rem;margin-bottom:5px}.breakdown-stats{gap:8px;justify-content:center}.activity-item{flex-direction:column;gap:8px;padding:8px;text-align:center}.activity-icon{margin-bottom:5px}.activity-content{text-align:center;width:100%}.activity-main{justify-content:center;text-align:center}.activity-title{font-size:.9rem}.activity-points{font-size:.85rem}.activity-details{font-size:.8rem;justify-content:center}.no-activity{padding:40px 15px}.no-activity p{font-size:.95rem}}.achievement-badge{align-items:center;border:2px solid;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:help;display:inline-flex;font-weight:600;transition:transform .2s,box-shadow .2s}.achievement-badge:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.achievement-badge.small{font-size:14px;gap:4px;padding:4px 8px}.achievement-badge.medium{font-size:16px;gap:6px;padding:6px 12px}.achievement-badge.large{background:linear-gradient(135deg,var(--bg-color),var(--bg-color-light));flex-direction:column;font-size:18px;gap:12px;min-width:150px;padding:12px 16px;text-align:center}.achievement-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:1.2em}.achievement-info{display:flex;flex-direction:column;gap:4px}.achievement-name{font-size:16px;font-weight:700;text-shadow:0 1px 2px #0000004d}.achievement-description{font-size:12px;line-height:1.3;opacity:.9}.achievement-date{font-size:10px;font-weight:400;opacity:.8}[data-theme=dark] .achievement-badge{background:var(--bg-card-accent);border-color:var(--border-primary);box-shadow:0 2px 8px #0006;color:var(--text-primary)}[data-theme=dark] .achievement-badge:hover{background:var(--bg-card-hover);box-shadow:0 4px 12px #00000080}[data-theme=dark] .achievement-badge.large{background:var(--bg-card-accent);border-color:var(--color-primary)}[data-theme=dark] .achievement-name{color:var(--text-primary);text-shadow:0 1px 2px #00000080}[data-theme=dark] .achievement-description{color:var(--text-secondary)}[data-theme=dark] .achievement-date{color:var(--text-muted)}@media (max-width:768px){.achievement-badge.large{font-size:16px;min-width:120px;padding:10px 12px}.achievement-badge.large .achievement-name{font-size:14px}.achievement-badge.large .achievement-description{font-size:11px}}.achievement-gallery{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-sizing:border-box;margin:20px 0;max-width:100%;overflow:hidden;padding:20px;width:100%}.achievement-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.achievement-header h3{color:#1e293b;font-size:1.25rem;margin:0}.achievement-count-note{color:#64748b;font-size:.875rem;font-style:italic}.achievement-grid{grid-gap:16px;box-sizing:border-box;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:16px;width:100%}.achievement-error,.achievement-loading{color:#64748b;font-style:italic;padding:40px 20px;text-align:center}.achievement-error{color:#dc2626}.no-achievements{color:#64748b;padding:40px 20px;text-align:center}.no-achievements-icon{display:block;font-size:48px;margin-bottom:12px;opacity:.6}.no-achievements p{margin:8px 0}.achievement-hint{color:#94a3b8;font-size:.875rem;font-style:italic}.achievement-stats{border-top:1px solid #e2e8f0;display:flex;gap:24px;justify-content:center;margin-top:16px;padding-top:16px}.stat-item{color:#475569;font-size:.875rem;gap:6px}.stat-icon{font-size:1rem}@media (max-width:768px){.achievement-gallery{border-radius:8px;margin:15px 0;max-width:100%!important;padding:15px 10px;width:100%!important}.achievement-gallery *,.achievement-grid *,.achievement-header *,.achievement-stats *{box-sizing:border-box!important;max-width:100%!important}.achievement-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.achievement-header{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:12px}.achievement-header h3{font-size:1.1rem;overflow-wrap:break-word;word-break:break-word}.achievement-count-note{font-size:.8rem}.achievement-stats{flex-direction:column;gap:8px;padding-top:12px}.stat-item{font-size:.8rem;justify-content:center}}@media (max-width:480px){.achievement-gallery{border-radius:6px;margin:12px 0;padding:12px 8px}.achievement-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.achievement-header{margin-bottom:10px}.achievement-header h3{font-size:1rem}.achievement-count-note{font-size:.75rem}.achievement-stats{gap:6px;margin-top:10px;padding-top:10px}.stat-item{font-size:.75rem}.no-achievements{padding:25px 10px}.no-achievements-icon{font-size:32px}.no-achievements p{font-size:.9rem;margin:6px 0}.achievement-hint{font-size:.8rem}}.profile-page{background-color:var(--bg-secondary);box-sizing:border-box;margin:0 auto;max-width:1400px;min-height:100vh;overflow-x:hidden;padding:20px 40px}:root{--profile-header-gradient:linear-gradient(135deg,#667eea,#764ba2)}.profile-header{background:var(--gradient-primary);border-radius:var(--border-radius-xl);box-shadow:0 4px 6px var(--shadow-sm);color:var(--text-light);margin-bottom:30px;padding:30px}.profile-main-info{align-items:flex-start;display:flex;gap:30px;margin-bottom:30px}.profile-avatar{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:15px;position:relative}.profile-avatar img{object-fit:cover}.default-avatar,.profile-avatar img{border:4px solid #fff3;border-radius:50%;height:120px;width:120px}.default-avatar{align-items:center;background:#fff3;display:flex;font-size:48px;font-weight:700;justify-content:center}.profile-details{flex-grow:1}.profile-info h1{font-size:2.2rem;font-weight:700;margin:0 0 10px}.profile-bio{font-size:1.1rem;line-height:1.5;margin:10px 0 20px;opacity:.9}.btn-edit{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.btn-edit:hover{background:#ffffff4d}.edit-form{background:#ffffff1a;border-radius:8px;padding:20px}.profile-input,.profile-textarea{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;font-size:1rem;margin-bottom:15px;padding:12px;width:100%}.profile-input::placeholder,.profile-textarea::placeholder{color:#ffffffb3}.edit-buttons{display:flex;gap:10px}.btn-primary{background:#28a745;border:none;border-radius:6px;font-weight:600}.btn-primary,.btn-secondary{color:#fff;cursor:pointer;padding:10px 20px}.btn-secondary{background:#0000;border:1px solid #ffffff80;border-radius:6px}.profile-content{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:1fr 1fr}.profile-section.achievements,.profile-section.full-width{grid-column:1/-1}.profile-section{background:var(--bg-card);border-radius:var(--border-radius-xl);box-shadow:0 2px 4px var(--shadow-sm);padding:25px}.profile-section h2{border-bottom:2px solid var(--border-secondary);color:var(--text-primary);font-size:1.5rem;margin:0 0 20px;padding-bottom:10px}.user-info-grid{grid-gap:20px;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));width:100%}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{color:var(--text-secondary);font-size:.9rem;font-weight:600;text-transform:uppercase}.info-item span{color:var(--text-primary);font-size:1.1rem;overflow-wrap:break-word;word-break:break-word}.permissions-grid{grid-gap:15px;box-sizing:border-box;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));width:100%}.permission-item{align-items:center;border-radius:8px;box-sizing:border-box;display:flex;gap:12px;max-width:100%;overflow-wrap:break-word;padding:15px;transition:all .2s ease;width:100%;word-break:break-word}.permission-item.enabled{background:var(--color-success-light);border:1px solid var(--color-success)}.permission-item.disabled{background:var(--bg-secondary);border:1px solid var(--border-primary);opacity:.7}.permission-icon{font-size:1.5rem}.unlock-level{color:var(--text-secondary);font-size:.8rem;font-style:italic;margin-left:auto}.profile-error,.profile-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-secondary);border:4px solid var(--border-secondary);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin-bottom:20px;width:40px}@media (max-width:1024px){.profile-content{grid-template-columns:1fr}.profile-section.achievements,.profile-section.full-width{grid-column:1}}[data-theme=dark] .profile-section{background:var(--bg-card);border:1px solid var(--border-primary)}[data-theme=dark] .profile-section h2{border-bottom-color:var(--border-secondary);color:var(--text-primary)}[data-theme=dark] .info-item{background:var(--bg-card-accent);border:1px solid var(--border-secondary);border-radius:var(--border-radius);padding:12px}[data-theme=dark] .info-item label{color:var(--color-primary);font-weight:700}[data-theme=dark] .info-item span{color:var(--text-primary);font-weight:600}[data-theme=dark] .permission-item{background:var(--bg-card-accent);border:1px solid var(--border-primary)}[data-theme=dark] .permission-item.enabled{background:var(--bg-card-accent);border-color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success);color:var(--text-primary)}[data-theme=dark] .permission-item.disabled{background:var(--bg-secondary);border-color:var(--border-secondary);color:var(--text-muted);opacity:.8}[data-theme=dark] .permission-icon{filter:brightness(1.4)}[data-theme=dark] .user-info-grid{gap:15px}[data-theme=dark] .user-info-grid .info-item{background:var(--bg-card-accent);border:1px solid var(--border-primary)}@media (max-width:768px){.profile-page{max-width:100vw!important;padding:10px 15px!important;width:100%!important}.profile-content *,.profile-page *,.profile-section,.profile-section *{box-sizing:border-box!important;max-width:100%!important;overflow-wrap:break-word!important;word-break:break-word!important}.profile-section,.profile-section :not(img):not(svg){min-width:0!important;width:auto!important}.profile-content{gap:20px;grid-template-columns:1fr}.profile-section{box-sizing:border-box;margin:0;padding:20px 15px}.profile-main-info{flex-direction:column;gap:20px;text-align:center}.default-avatar,.profile-avatar img{height:100px;width:100px}.default-avatar{font-size:36px}.profile-info h1{font-size:1.8rem}.profile-bio,.profile-info h1{overflow-wrap:break-word;word-break:break-word}.profile-bio{font-size:1rem}.user-info-grid{gap:12px;grid-template-columns:1fr}.permissions-grid{gap:10px;grid-template-columns:1fr}.permission-item{align-items:flex-start;flex-wrap:wrap;gap:10px;padding:12px}.permission-icon{flex-shrink:0}.unlock-level{margin-left:0;margin-top:8px;text-align:center;width:100%}.info-item{min-width:0;padding:12px 10px}.info-item label{font-size:.85rem}.info-item span{font-size:1rem;line-height:1.4}}@media (max-width:480px){.profile-page{padding:8px 12px}.profile-header{margin-bottom:20px;padding:20px 15px}.profile-section{padding:15px 10px}.profile-section h2{font-size:1.3rem;margin-bottom:15px}.permissions-grid,.user-info-grid{gap:8px}.permission-item{align-items:center;flex-direction:column;gap:8px;padding:8px;text-align:center}.permission-icon{font-size:1.2rem;margin-bottom:5px}.unlock-level{font-size:.7rem;margin-top:5px;width:100%}.info-item{padding:10px 8px;text-align:center}.info-item label{font-size:.8rem;margin-bottom:5px}.info-item span{font-size:.9rem;line-height:1.3}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.edit-person-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 30px}.modal-header h2{color:#495057;font-size:1.5rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;transition:all .2s ease;width:30px}.close-button:hover{background:#dee2e6;color:#495057}.modal-body{padding:30px}.form-row{display:flex;gap:20px;margin-bottom:20px}.form-group{flex:1 1}.form-group input,.form-group textarea{border:2px solid #dee2e6;border-radius:6px;font-size:16px;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group input:disabled,.form-group textarea:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.person-stats{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:20px 0;padding:20px}.person-stats h3{color:#495057;font-size:1.1rem;margin-bottom:15px;margin-top:0}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.stat-label{font-weight:500}.stat-value{color:#495057;font-weight:600}.modal-actions{align-items:center;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;margin-top:30px;padding-top:20px}.primary-actions{display:flex;gap:15px}.delete-button{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:background .3s ease}.delete-button:hover:not(:disabled){background:#c82333}.cancel-button{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:background .3s ease}.cancel-button:hover:not(:disabled){background:#545b62}.save-button{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .3s ease}.save-button:hover:not(:disabled){background:#218838}.cancel-button:disabled,.delete-button:disabled,.save-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}@media (max-width:768px){.modal-overlay{padding:10px}.edit-person-modal{max-height:95vh}.modal-header{padding:15px 20px}.modal-body{padding:20px}.form-row{flex-direction:column;gap:0}.stats-grid{gap:10px;grid-template-columns:1fr}.modal-actions{align-items:stretch;flex-direction:column;gap:15px}.primary-actions{gap:10px}.cancel-button,.delete-button,.save-button{flex:1 1;text-align:center}}.flag-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.flag-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.flag-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px 24px}.flag-modal-header h3{color:#d32f2f;font-size:1.25rem;font-weight:600;margin:0}.flag-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.flag-modal-close:hover{background-color:#f5f5f5}.flag-modal-content{padding:24px}.flag-modal-description{color:#666;font-size:.95rem;margin:0 0 20px}.flag-form-group{margin-bottom:20px}.flag-form-group label{color:#333;display:block;font-size:.95rem;font-weight:500;margin-bottom:8px}.flag-select{background-color:#fff;border:2px solid #ddd;border-radius:8px;font-size:.95rem;padding:12px;transition:border-color .2s;width:100%}.flag-select:focus{border-color:#d32f2f;outline:none}.flag-textarea{border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem;min-height:100px;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.flag-textarea:focus{border-color:#d32f2f;outline:none}.flag-char-count{color:#999;font-size:.8rem;margin-top:4px;text-align:right}.flag-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.flag-button-cancel{background:#fff;border:2px solid #ddd;border-radius:8px;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:all .2s}.flag-button-cancel:hover:not(:disabled){border-color:#999;color:#333}.flag-button-submit{background:#d32f2f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:12px 24px;transition:background-color .2s}.flag-button-submit:hover:not(:disabled){background:#b71c1c}.flag-button-submit:disabled{background:#ccc;cursor:not-allowed}.flag-modal-footer{background-color:#f9f9f9;border-radius:0 0 12px 12px;border-top:1px solid #eee;padding:16px 24px}.flag-disclaimer{color:#666;font-size:.8rem;line-height:1.4;margin:0;text-align:center}.flag-success{padding:40px 24px;text-align:center}.flag-success-icon{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:24px;font-weight:700;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.flag-success h3{color:#4caf50;font-size:1.25rem;margin:0 0 12px}.flag-success p{color:#666;line-height:1.4;margin:0}@media (max-width:768px){.flag-modal-overlay{padding:10px}.flag-modal{max-height:95vh}.flag-modal-content,.flag-modal-header{padding:16px 20px}.flag-modal-footer{padding:12px 20px}.flag-modal-actions{flex-direction:column}.flag-button-cancel,.flag-button-submit{width:100%}}@media (prefers-color-scheme:dark){.flag-modal{background:#1a1a1a;color:#fff}.flag-modal-header{border-bottom-color:#333}.flag-modal-close{color:#ccc}.flag-modal-close:hover{background-color:#333}.flag-select,.flag-textarea{background:#2a2a2a;border-color:#444;color:#fff}.flag-select:focus,.flag-textarea:focus{border-color:#d32f2f}.flag-button-cancel{background:#2a2a2a;border-color:#444;color:#ccc}.flag-button-cancel:hover:not(:disabled){border-color:#666;color:#fff}.flag-modal-footer{background-color:#2a2a2a;border-top-color:#333}}.flag-button{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;font-family:inherit;justify-content:center;transition:all .2s ease}.flag-button:hover{opacity:.7}.flag-button:active{transform:scale(.95)}.flag-button-icon{border-radius:50%;color:#666;font-size:14px;min-height:32px;min-width:32px;padding:6px}.flag-button-icon:hover{background-color:#d32f2f1a;color:#d32f2f}.flag-button-text{border-radius:6px;color:#666;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none}.flag-button-text:hover{background-color:#d32f2f1a;color:#d32f2f}.flag-button-menu-item{background:#0000;border-radius:4px;color:#666;font-size:14px;font-weight:400;gap:8px;padding:10px 16px;text-align:left;width:100%}.flag-button-menu-item:hover{background-color:#d32f2f1a;color:#d32f2f}.flag-icon{font-size:inherit;line-height:1}.flag-button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}@media (max-width:768px){.flag-button-icon{font-size:16px;min-height:36px;min-width:36px}.flag-button-text{font-size:14px;padding:8px 12px}.flag-button-menu-item{font-size:15px;padding:12px 16px}}@media (prefers-color-scheme:dark){.flag-button-icon,.flag-button-menu-item,.flag-button-text{color:#ccc}.flag-button-icon:hover,.flag-button-menu-item:hover,.flag-button-text:hover{background-color:#d32f2f33;color:#ff6b6b}}.flag-button:hover .flag-icon{animation:flag-wave .5s ease-in-out}@keyframes flag-wave{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.flag-button:focus{outline:2px solid #d32f2f;outline-offset:2px}.flag-button:focus:not(:focus-visible){outline:none}@media (prefers-contrast:high){.flag-button-icon,.flag-button-menu-item,.flag-button-text{border:1px solid}.flag-button:hover{background-color:#d32f2f;color:#fff}}.evidence-section{margin:24px 0}.submit-evidence-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.submit-evidence-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.evidence-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.evidence-form{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:100%}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.form-header h4{color:#333;margin:0}.close-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-btn:hover{background:#f5f5f5;border-radius:50%;color:#333}.form-group{margin-bottom:16px}.form-group label{color:#333;margin-bottom:6px}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-actions{gap:12px;justify-content:flex-end;margin-top:24px}.cancel-btn{font-weight:600}.cancel-btn,.submit-btn{border-radius:8px;padding:12px 20px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d}.evidence-list{display:flex;flex-direction:column;gap:16px}.no-evidence{background:#f9f9f9;border-radius:8px;color:#666;padding:40px 20px;text-align:center}.evidence-item{background:#fff;border:2px solid #f0f0f0;border-radius:8px;padding:16px;transition:border-color .2s ease,box-shadow .2s ease}.evidence-item:hover{border-color:#e0e0e0;box-shadow:0 2px 8px #0000001a}.evidence-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.evidence-header h4{flex:1 1;margin:0 16px 0 0}.evidence-link{color:#667eea;font-weight:600;text-decoration:none}.evidence-link:hover{text-decoration:underline}.evidence-actions{display:flex;gap:8px}.upvote-btn{font-size:14px;min-width:60px;padding:6px 12px}.upvote-btn.upvoted,.upvote-btn:hover:not(:disabled){background:#667eea;border-color:#667eea}.evidence-description{color:#666;font-size:14px;line-height:1.4;margin:8px 0}.evidence-meta{border-top:1px solid #f0f0f0;color:#888;display:flex;font-size:12px;justify-content:space-between;margin-top:12px;padding-top:12px}@media (max-width:768px){.evidence-form-overlay{padding:10px}.evidence-form{padding:16px}.evidence-header{align-items:flex-start;flex-direction:column}.evidence-header h4{margin-bottom:8px;margin-right:0}.evidence-meta{flex-direction:column;gap:4px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}}.comment-thread{position:relative}.comment-thread.is-reply{border-left:2px solid #e0e0e0;margin-left:calc(20px*var(--depth));margin-top:12px;padding-left:16px}.comment-thread.is-reply:before{background:linear-gradient(135deg,#56ab2f,#a8e6cf);content:"";height:40px;left:-2px;position:absolute;top:0;width:2px}.comment-thread.is-root{margin-bottom:16px}.comment-item{background:#fff;border:2px solid #f0f0f0;border-radius:8px;padding:16px;transition:border-color .2s ease,box-shadow .2s ease}.comment-thread.is-reply .comment-item{background:#fafafa;border-color:#e8e8e8}.comment-item:hover{border-color:#e0e0e0;box-shadow:0 2px 8px #0000001a}.comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.comment-author{align-items:center;display:flex;gap:12px}.author-name{color:#333;font-weight:600}.comment-date{color:#888;font-size:12px}.reply-indicator{color:#56ab2f;font-size:12px;font-weight:500}.comment-actions{align-items:center;display:flex;gap:8px}.upvote-btn{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:20px;color:#666;cursor:pointer;font-size:12px;min-width:50px;padding:4px 10px;transition:all .2s ease}.upvote-btn:hover:not(:disabled){transform:translateY(-1px)}.upvote-btn.upvoted,.upvote-btn:hover:not(:disabled){background:#56ab2f;border-color:#56ab2f;color:#fff}.upvote-btn:disabled{cursor:not-allowed;opacity:.6}.hide-btn{background:#ff6b6b;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}.hide-btn:hover{background:#ff5252;transform:translateY(-1px)}.collapse-btn{background:#f0f0f0;border:1px solid #d0d0d0;border-radius:16px;color:#666;cursor:pointer;font-size:11px;font-weight:500;padding:4px 8px;transition:all .2s ease}.collapse-btn:hover{background:#e0e0e0;transform:translateY(-1px)}.comment-content{word-wrap:break-word;color:#333;font-size:14px;line-height:1.5;margin-bottom:12px;white-space:pre-wrap}.comment-footer{display:flex;gap:8px;justify-content:flex-start}.reply-btn{background:#0000;border:none;border-radius:4px;color:#56ab2f;cursor:pointer;font-size:12px;font-weight:600;padding:4px 8px;transition:all .2s ease}.reply-btn:hover{background:#f0fff0;text-decoration:underline}.reply-form{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-top:12px;padding:12px}.reply-form textarea{border:1px solid #d0d0d0;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:13px;min-height:60px;padding:8px;resize:vertical;transition:border-color .2s ease;width:100%}.reply-form textarea:focus{border-color:#56ab2f;box-shadow:0 0 0 2px #56ab2f1a;outline:none}.form-actions{margin-top:8px}.character-count{font-size:11px}.action-buttons{gap:6px}.cancel-btn,.submit-btn{border-radius:4px;font-size:12px;padding:6px 12px}.submit-btn:hover:not(:disabled){box-shadow:0 3px 8px #56ab2f4d;transform:translateY(-1px)}.comment-replies{margin-top:8px}.comment-thread[style*="--depth: 1"] .comment-item{background:#f9f9f9}.comment-thread[style*="--depth: 2"] .comment-item{background:#f5f5f5}.comment-thread[style*="--depth: 3"] .comment-item{background:#f0f0f0}.comment-thread[style*="--depth: 4"] .comment-item{background:#eee}.comment-thread[style*="--depth: 5"] .comment-item{background:#ebebeb}.comment-item:has(.upvote-btn.upvoted){border-left:4px solid #56ab2f}@media (max-width:768px){.comment-thread.is-reply{margin-left:calc(12px*var(--depth));padding-left:12px}.comment-header{align-items:flex-start;flex-direction:column;gap:8px}.comment-author{justify-content:space-between;width:100%}.comment-actions{align-self:flex-end;gap:6px}.action-buttons{flex-direction:column;gap:4px}.action-buttons .cancel-btn,.action-buttons .submit-btn{padding:8px 12px}.form-actions{align-items:flex-end;flex-direction:column;gap:8px}.collapse-btn{font-size:10px;padding:3px 6px}.reply-btn{font-size:11px}}.comment-replies{animation:expandReplies .3s ease-out}@keyframes expandReplies{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.comment-section{margin:24px 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h3{color:#333;margin:0}.add-comment-btn{background:linear-gradient(135deg,#56ab2f,#a8e6cf);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.add-comment-btn:hover{box-shadow:0 4px 12px #56ab2f4d;transform:translateY(-2px)}.comment-form{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:16px}.comment-form textarea{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;min-height:100px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.comment-form textarea:focus{border-color:#56ab2f;box-shadow:0 0 0 3px #56ab2f1a;outline:none}.form-actions{align-items:center;display:flex;justify-content:space-between;margin-top:12px}.character-count{color:#888;font-size:12px}.action-buttons{display:flex;gap:8px}.cancel-btn{background:#f5f5f5;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s ease}.cancel-btn:hover{background:#e0e0e0}.submit-btn{background:linear-gradient(135deg,#56ab2f,#a8e6cf);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #56ab2f4d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.comments-list{display:flex;flex-direction:column;gap:20px}.no-comments{background:#f9f9f9;border-radius:8px;color:#666;padding:40px 20px;text-align:center}.permission-hint{color:#888;font-size:14px;margin-top:8px}@media (max-width:768px){.section-header{align-items:flex-start;flex-direction:column;gap:12px}.action-buttons{flex-direction:column;gap:4px}.action-buttons .cancel-btn,.action-buttons .submit-btn{padding:10px 16px}.form-actions{align-items:flex-end;flex-direction:column;gap:12px}}.confetti-container{height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100vw;z-index:1000}.confetti-particle{pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none}.confetti-particle.emoji{filter:drop-shadow(0 0 3px rgba(255,255,255,.5));font-size:20px;line-height:1;text-shadow:2px 2px 4px #0000004d}.confetti-shape{animation:spin 2s linear infinite;border-radius:50%;box-shadow:0 0 10px #ffffff80}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100vh) rotate(0deg)}10%{opacity:1}80%{opacity:.8}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.confetti-particle:nth-child(odd){animation-duration:2.5s}.confetti-particle:nth-child(2n){animation-duration:3s}.confetti-particle:nth-child(3n){animation-duration:2.2s}.confetti-particle:nth-child(5n){animation-duration:2.8s}.confetti-particle:nth-child(2n){animation-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.confetti-particle:nth-child(3n){animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.confetti-particle:nth-child(5n){animation-timing-function:cubic-bezier(.25,.46,.45,.94)}@media (max-width:768px){.confetti-particle.emoji{font-size:16px}.confetti-shape{height:10px!important;width:10px!important}}.points-animation-container{left:50%;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.points-animation{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;border:2px solid gold;border-radius:20px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;justify-content:center;min-width:300px;overflow:hidden;padding:30px;position:relative;text-align:center}.points-animation.animate-in{animation:popIn .6s cubic-bezier(.68,-.55,.265,1.55)}.points-animation.animate-out{animation:fadeOut .5s ease-in forwards}.animation-icon{animation:bounceIcon 2s ease-in-out infinite;font-size:4rem;margin-bottom:15px}.animation-text{color:#fff;font-family:Arial,sans-serif}.main-text{font-size:2rem;font-weight:700;margin-bottom:8px;text-shadow:2px 2px 4px #00000080}.sub-text{font-size:1.2rem;font-weight:500;opacity:.9}.level-animation{background:linear-gradient(135deg,#9333ea,#7c3aed);border-color:#fbbf24}.level-animation .main-text{-webkit-text-fill-color:#0000;animation:shimmer 2s ease-in-out infinite;background:linear-gradient(45deg,#fbbf24,#f59e0b);-webkit-background-clip:text;background-clip:text}.achievement-animation{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#f59e0b}.achievement-animation .main-text{-webkit-text-fill-color:#0000;animation:shimmer 2s ease-in-out infinite;background:linear-gradient(45deg,#f59e0b,#fbbf24);-webkit-background-clip:text;background-clip:text}.points-gain{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#60a5fa}.celebration-particles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.particle{animation:particleFloat 3s ease-out forwards;font-size:1.5rem;position:absolute}.particle-0{animation-delay:.1s;left:10%;top:20%}.particle-1{animation-delay:.3s;right:15%;top:30%}.particle-2{animation-delay:.5s;bottom:25%;left:20%}.particle-3{animation-delay:.7s;bottom:35%;right:10%}.particle-4{animation-delay:.9s;left:50%;top:15%}.particle-5{animation-delay:1.1s;bottom:20%;left:50%}.particle-6{animation-delay:.2s;left:5%;top:40%}.particle-7{animation-delay:.6s;right:5%;top:45%}@keyframes popIn{0%{opacity:0;transform:scale(0) rotate(180deg)}50%{opacity:.8;transform:scale(1.1) rotate(90deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes bounceIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes particleFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-80px) scale(.5)}}@media (max-width:768px){.points-animation{min-width:250px;padding:20px}.animation-icon{font-size:3rem}.main-text{font-size:1.5rem}.sub-text{font-size:1rem}.particle{font-size:1.2rem}}.person-profile{box-sizing:border-box;font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px;width:100%}.back-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:20px;padding:10px 20px;transition:background .3s}.back-button:hover{background:#0056b3}.error-message,.loading{font-size:18px;padding:40px;text-align:center}.error-message{border-radius:5px;color:#dc3545}.person-header-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;box-shadow:0 4px 12px #0000001a;margin-bottom:30px;padding:30px;position:relative}.profile-controls{align-items:center;display:flex;gap:10px;position:absolute;right:20px;top:20px;z-index:10}.admin-controls,.share-controls{display:flex}.admin-edit-btn{background:#17a2b8;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;transition:all .3s ease}.admin-edit-btn:hover{background:#138496;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.person-header-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:30px}.person-basic-info{align-items:flex-start;display:flex;flex:1 1;gap:20px;min-width:0;width:100%}.person-avatar{border:4px solid #fff;border-radius:50%;box-shadow:0 4px 8px #0000001a;height:120px;object-fit:cover;width:120px}.person-details h1{color:#333;font-size:2.2em;font-weight:700;margin:0 0 10px}.person-description{color:#666;font-size:1.1em;line-height:1.4;margin:10px 0}.person-voting-section{display:flex;flex-direction:column;gap:20px;min-width:0;width:100%}.vote-summary{display:flex;flex-direction:column;gap:15px}.score-display{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d;padding:15px;text-align:center}.score-number{display:block;font-size:2.5em;font-weight:700;margin-bottom:5px}.score-label{color:#666;font-size:.9em;letter-spacing:1px;text-transform:uppercase}.vote-breakdown{display:flex;gap:10px}.vote-stat{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;flex:1 1;padding:12px;text-align:center}.vote-stat .vote-count{display:block;font-size:1.4em;font-weight:700;margin-bottom:5px}.vote-stat .vote-label{color:#666;font-size:.8em}.vote-buttons-section{display:flex;flex-direction:column;gap:10px}.vote-cooldown{background:#fff3cd;border:1px solid #ffeaa7;border-radius:5px;color:#856404;font-size:.9em;padding:8px;text-align:center}.vote-buttons{display:flex;gap:10px}.vote-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1em;font-weight:700;letter-spacing:.5px;padding:15px;text-transform:uppercase;transition:all .3s}.vote-yes{background:#dc3545;color:#fff}.vote-yes:hover:not(.disabled){background:#c82333;box-shadow:0 4px 8px #dc35454d;transform:translateY(-2px)}.vote-no{background:#28a745;color:#fff}.vote-no:hover:not(.disabled){background:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.vote-btn.disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.person-chart-section,.person-stats-section,.profile-section{background:#fff;border-radius:15px;box-shadow:0 4px 12px #00000014;margin-bottom:30px;padding:30px}.person-chart-section h3,.person-stats-section h3,.profile-section h3{border-bottom:2px solid #e9ecef;color:#333;font-size:1.5em;margin:0 0 25px;padding-bottom:10px}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat-card{border:1px solid #e9ecef;border-radius:10px}.stat-card h4{color:#495057;font-size:1.1em;margin:0 0 15px}.vote-bars{gap:15px}.vote-bar-item,.vote-bars{display:flex;flex-direction:column}.vote-bar-item{gap:5px}.vote-bar-info{align-items:center;display:flex;font-size:.9em;justify-content:space-between}.vote-bar{background:#e9ecef;border-radius:10px;height:20px;overflow:hidden}.vote-bar-fill{height:100%;transition:width .3s ease}.vote-bar-fill.retarded{background:linear-gradient(90deg,#dc3545,#c82333)}.vote-bar-fill.smart{background:linear-gradient(90deg,#28a745,#218838)}.activity-info,.profile-info{display:flex;flex-direction:column;gap:12px}.activity-item,.profile-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.activity-item:last-child,.profile-item:last-child{border-bottom:none}.activity-label,.profile-label{color:#495057;font-weight:500}.activity-value,.profile-value{color:#212529;font-weight:700}.activity-value.score.positive{color:#28a745}.activity-value.score.negative{color:#dc3545}.activity-value.score.neutral{color:#6c757d}.trend{font-size:.9em;font-weight:700}.trend.up{color:#28a745}.trend.down{color:#dc3545}.trend.stable{color:#6c757d}.chart-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px}.chart-title-section h3{border:none;margin:0 0 5px;padding:0}.chart-description{color:#666;font-size:.9em;margin:0}.chart-controls{display:flex;gap:5px}.chart-btn{background:#fff;border:1px solid #dee2e6;border-radius:5px;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .3s}.chart-btn:hover{background:#e9ecef}.chart-btn.active{background:#007bff;border-color:#007bff;color:#fff}.chart-content h4{color:#495057;font-size:1.1em;margin:0 0 20px}.simple-chart{margin:20px 0}.chart-container{align-items:flex-end;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;gap:10px;height:200px;overflow-x:auto;padding:20px}.chart-point{align-items:center;display:flex;flex-direction:column;flex-shrink:0;min-width:60px}.chart-bar-container{align-items:flex-end;display:flex;height:140px;width:100%}.chart-bar{border-radius:3px;min-height:2px;transition:all .3s ease;width:100%}.chart-bar:hover{opacity:.8;transform:scaleY(1.05)}.chart-label{color:#666;margin-top:8px}.chart-label,.chart-value{font-size:.8em;text-align:center}.chart-value{color:#333;font-weight:700;margin-top:4px}.no-data{color:#666;padding:40px;text-align:center}.no-data p{margin:10px 0}.chart-legend{display:flex;gap:20px;justify-content:center;margin-top:15px}.legend-item{align-items:center;display:flex;font-size:.9em;gap:8px}.legend-color{border-radius:3px;height:16px;width:16px}.chart-summary{border-top:1px solid #e9ecef;margin-top:20px;padding-top:20px}.summary-stats{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-around}.summary-item{align-items:center;display:flex;flex-direction:column;text-align:center}.summary-label{color:#666;font-size:.8em;margin-bottom:5px}.summary-value{color:#333;font-size:1.2em;font-weight:700}.coming-soon{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:10px;padding:30px;text-align:center}.coming-soon p{color:#666;margin:15px 0}.coming-soon ul{display:inline-block;margin:20px 0;text-align:left}.coming-soon li{color:#666;margin:8px 0}[data-theme=dark] .person-header-section{background:var(--bg-card);color:var(--text-primary)}[data-theme=dark] .person-details h1{color:var(--text-primary)}[data-theme=dark] .person-description{color:var(--text-secondary)}[data-theme=dark] .score-display,[data-theme=dark] .vote-stat{background:var(--bg-card-accent);border:1px solid var(--border-primary);box-shadow:0 2px 8px #0006}[data-theme=dark] .vote-stat .vote-count{color:var(--text-primary)}[data-theme=dark] .vote-stat .vote-label{color:var(--text-secondary)}[data-theme=dark] .stat-card{background:var(--bg-card-accent);border:1px solid var(--border-primary)}[data-theme=dark] .stat-card h4{color:var(--text-primary)}[data-theme=dark] .activity-item,[data-theme=dark] .profile-item{border-bottom-color:var(--border-secondary)}[data-theme=dark] .activity-label,[data-theme=dark] .profile-label{color:var(--text-secondary)}[data-theme=dark] .activity-value,[data-theme=dark] .profile-value{color:var(--text-primary)}[data-theme=dark] .person-chart-section,[data-theme=dark] .person-stats-section,[data-theme=dark] .profile-section{background:var(--bg-card);border:1px solid var(--border-primary)}[data-theme=dark] .person-chart-section h3,[data-theme=dark] .person-stats-section h3,[data-theme=dark] .profile-section h3{border-bottom-color:var(--border-secondary);color:var(--text-primary)}[data-theme=dark] .back-button{background:var(--color-primary);border:1px solid var(--color-primary-hover)}[data-theme=dark] .back-button:hover{background:var(--color-primary-hover)}@media (max-width:480px){.person-profile{max-width:100%;padding:10px}.person-header-section{margin-bottom:20px;padding:20px 15px}.person-basic-info,.person-header-content{flex-direction:column;gap:15px}.person-basic-info{min-width:0;text-align:center}.person-avatar{height:80px;margin:0 auto;width:80px}.person-details h1{font-size:1.5em;margin:0 0 8px}.person-description{font-size:1em;margin:8px 0}.person-voting-section{min-width:0;width:100%}.vote-breakdown{flex-direction:column;gap:8px}.vote-stat{padding:10px}.vote-btn{font-size:.9em;padding:12px}.profile-controls{justify-content:center;margin-bottom:15px;position:static}.admin-edit-btn{font-size:12px;padding:6px 10px}.stats-grid{gap:15px;grid-template-columns:1fr}.stat-card{padding:15px}.chart-container{height:150px;padding:15px}.chart-point{min-width:50px}}@media (min-width:481px) and (max-width:768px){.person-profile{max-width:100%;padding:15px}.person-header-section{margin-bottom:25px;padding:25px 20px}.person-header-content{flex-direction:column;gap:20px}.person-basic-info{flex-direction:row;gap:20px;min-width:0;text-align:left}.person-avatar{height:100px;width:100px}.person-details h1{font-size:1.8em}.person-voting-section{min-width:0}.vote-breakdown{flex-direction:row;gap:10px}.vote-stat{flex:1 1}.profile-controls{right:15px;top:15px}.stats-grid{gap:20px;grid-template-columns:1fr}.chart-header{align-items:flex-start;flex-direction:column}.chart-controls{justify-content:center;width:100%}.summary-stats{gap:20px;justify-content:center}}@media (min-width:769px) and (max-width:1024px){.person-profile{padding:20px 15px}.person-header-content{gap:25px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.back-button,.vote-btn{-webkit-tap-highlight-color:rgba(0,0,0,.1);min-height:44px;touch-action:manipulation}.back-button{padding:12px 20px}.admin-edit-btn{-webkit-tap-highlight-color:rgba(0,0,0,.1);min-height:40px;touch-action:manipulation}.person-chart-section,.person-header-section,.person-profile,.person-stats-section,.profile-section{box-sizing:border-box;overflow-x:hidden;width:100%}.person-description{line-height:1.5}.chart-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.profile-section{margin-bottom:20px;padding:20px 15px}}.person-profile.mobile-view{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.person-profile.mobile-view .profile-header{padding-top:env(safe-area-inset-top)}.person-profile.ios{-webkit-overflow-scrolling:touch}.person-profile.android{overscroll-behavior:contain}.person-profile.mobile-view .person-header-section,.person-profile.mobile-view .profile-section{border-radius:10px}.person-profile.mobile-view .vote-btn{border-radius:8px;font-weight:600;letter-spacing:.3px}.person-profile.mobile-view .back-button:active,.person-profile.mobile-view .vote-btn:active{transform:scale(.98);transition:transform .1s ease}@media (max-width:768px){.chart-btn{min-height:44px;padding:10px 16px;touch-action:manipulation}.vote-stat{display:flex;flex-direction:column;justify-content:center;min-height:44px}.person-profile{scroll-behavior:smooth}.back-button:focus,.vote-btn:focus{outline:2px solid #007bff;outline-offset:2px}}@media (max-width:768px) and (orientation:landscape){.person-profile{padding:10px 15px}.person-header-section{padding:15px 20px}.person-basic-info{flex-direction:row;text-align:left}.person-avatar{height:70px;width:70px}.person-details h1{font-size:1.4em}}.admin-panel{margin:0 auto;max-width:1200px;padding:20px}.admin-panel h1{color:#333;margin-bottom:30px;text-align:center}.access-denied{background:#f8f9fa;border:1px solid #dee2e6;border-radius:10px;padding:60px 20px;text-align:center}.access-denied h2{color:#dc3545;margin-bottom:15px}.admin-tabs{border-bottom:2px solid #dee2e6;display:flex;gap:10px;margin-bottom:30px}.admin-tabs button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:16px;padding:12px 24px;transition:all .3s ease}.admin-tabs button:hover{background:#f8f9fa;color:#495057}.admin-tabs button.active{border-bottom-color:#007bff;color:#007bff;font-weight:600}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-bottom:20px;padding:12px}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;margin-bottom:20px;padding:12px}.loading{color:#6c757d;font-style:italic;padding:40px;text-align:center}.users-section h2{color:#495057;margin-bottom:20px}.users-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.users-table table{border-collapse:collapse;min-width:800px;width:100%}.users-table td,.users-table th{border-bottom:1px solid #dee2e6;padding:12px;text-align:left}.users-table th{color:#495057;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.users-table th,.users-table tr:hover{background:#f8f9fa}.level-super-admin{background:#dc3545}.level-grand-arbiter,.level-super-admin{border-radius:4px;color:#fff;font-size:12px;font-weight:700;padding:4px 8px}.level-grand-arbiter{background:#6f42c1}.level-pundit{background:#007bff}.level-commentator,.level-pundit{border-radius:4px;color:#fff;font-size:12px;font-weight:700;padding:4px 8px}.level-commentator{background:#28a745}.level-observer{background:#ffc107;color:#212529}.level-newcomer,.level-observer{border-radius:4px;font-size:12px;font-weight:700;padding:4px 8px}.level-newcomer{background:#6c757d;color:#fff}.verified{color:#28a745;font-weight:700}.unverified{color:#dc3545;font-weight:700}.promote-section h2{color:#495057;margin-bottom:20px}.promote-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;max-width:500px;padding:30px}.form-group{margin-bottom:20px}.form-group label{color:#495057;display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:2px solid #dee2e6;border-radius:6px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.promote-button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:background .3s ease;width:100%}.promote-button:hover:not(:disabled){background:#0056b3}.promote-button:disabled{background:#6c757d;cursor:not-allowed}.level-descriptions{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px}.level-descriptions h3{color:#495057;margin-bottom:15px;margin-top:0}.level-descriptions ul{margin:0;padding-left:20px}.level-descriptions li{line-height:1.5;margin-bottom:8px}.level-descriptions strong{color:#495057}@media (max-width:768px){.admin-panel{padding:15px}.admin-tabs{flex-direction:column}.admin-tabs button{margin-bottom:5px}.promote-form{padding:20px}.users-table{font-size:14px}}.moderation-section h2{color:#495057;margin-bottom:20px}.moderation-stats{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:25px}.moderation-stats h3{color:#495057;margin-bottom:20px;margin-top:0}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-card{background:#f8f9fa;border:2px solid #0000;border-radius:8px;padding:20px;text-align:center;transition:all .3s ease}.stat-card.pending{background:#fff3cd;border-color:#ffc107}.stat-card.reviewed{background:#d1ecf1;border-color:#17a2b8}.stat-card.upheld{background:#f8d7da;border-color:#dc3545}.stat-card.dismissed{background:#d4edda;border-color:#28a745}.stat-number{color:#495057;display:block;font-size:24px;font-weight:700;margin-bottom:5px}.stat-label{color:#6c757d;display:block;font-size:12px;font-weight:600;text-transform:uppercase}.flags-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.flags-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px 25px}.flags-header h3{color:#495057;margin:0}.status-filter{background:#fff;border:2px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:14px;padding:8px 12px}.status-filter:focus{border-color:#007bff;outline:none}.flags-list{max-height:600px;overflow-y:auto}.flag-item{border-bottom:1px solid #dee2e6;padding:25px;transition:background .2s ease}.flag-item:hover{background:#f8f9fa}.flag-item:last-child{border-bottom:none}.flag-item.pending{border-left:4px solid #ffc107}.flag-item.dismissed{border-left:4px solid #28a745;opacity:.7}.flag-item.upheld{border-left:4px solid #dc3545}.flag-header{justify-content:space-between;margin-bottom:15px}.flag-header,.flag-info{align-items:center;display:flex}.flag-info{gap:12px}.flag-type{background:#007bff;font-weight:600;text-transform:uppercase}.flag-category,.flag-type{border-radius:4px;color:#fff;font-size:12px;padding:4px 8px}.flag-category{background:#6c757d;font-weight:500}.flag-date{color:#6c757d;font-size:13px}.status-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px;text-transform:uppercase}.status-badge.pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-badge.dismissed{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-badge.upheld{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.flag-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.flag-details,.reported-content{background:#f8f9fa;border-radius:6px;padding:15px}.flag-details h4,.reported-content h4{color:#495057;font-size:14px;font-weight:600;margin-bottom:10px;margin-top:0}.content-preview{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:12px}.content-preview strong{color:#495057;display:block;margin-bottom:5px}.content-preview p{color:#6c757d;font-size:14px;line-height:1.4;margin:5px 0}.content-preview small{color:#adb5bd;font-size:12px}.content-preview a{color:#007bff;font-size:14px;text-decoration:none}.content-preview a:hover{text-decoration:underline}.flag-details p{font-size:14px;line-height:1.4;margin:8px 0}.flag-actions{display:flex;gap:12px;justify-content:flex-end}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.action-btn.dismiss{background:#28a745;color:#fff}.action-btn.dismiss:hover:not(:disabled){background:#218838}.action-btn.uphold{background:#dc3545;color:#fff}.action-btn.uphold:hover:not(:disabled){background:#c82333}.action-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.no-flags{color:#6c757d;font-style:italic;padding:40px;text-align:center}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.flags-header{align-items:stretch;flex-direction:column;gap:15px}.flag-content{grid-template-columns:1fr}.flag-actions{flex-direction:column}.action-btn{width:100%}.flag-info{align-items:flex-start;flex-direction:column;gap:8px}}.theme-toggle{align-items:center;display:flex;gap:8px;position:relative}.theme-toggle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-header-light);border:1px solid #ffffff4d;border-radius:20px;color:var(--text-light);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:6px 12px;transition:all var(--transition-base)}.theme-toggle-btn:hover{background:#fff3;transform:translateY(-1px)}.theme-icon{font-size:1.1em;transition:transform var(--transition-fast)}.theme-toggle-btn:hover .theme-icon{transform:rotate(15deg)}.theme-label{font-size:.85rem;min-width:45px;text-align:center}.theme-dropdown{position:relative}.theme-dropdown-trigger{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-header-light);border:1px solid #ffffff4d;border-radius:50%;color:var(--text-light);cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;padding:6px;transition:all var(--transition-base);width:32px}.theme-dropdown-trigger:hover{background:#fff3;transform:rotate(90deg)}.theme-dropdown-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius);box-shadow:0 4px 12px var(--shadow-md);margin-top:8px;min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.theme-option{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 16px;text-align:left;transition:background-color var(--transition-fast);width:100%}.theme-option:hover{background:var(--bg-card-hover)}.theme-option.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}[data-theme=dark] .theme-dropdown-trigger,[data-theme=dark] .theme-toggle-btn{background:#ffffff1a;border-color:#fff3}[data-theme=dark] .theme-dropdown-trigger:hover,[data-theme=dark] .theme-toggle-btn:hover{background:#fff3}[data-theme=dark] .theme-option.active{background:var(--color-primary);color:var(--text-light)}@media (max-width:768px){.theme-toggle{gap:6px}.theme-toggle-btn{font-size:.8rem;padding:5px 10px}.theme-label{font-size:.75rem;min-width:35px}.theme-dropdown-trigger{font-size:.8rem;height:28px;width:28px}.theme-dropdown-menu{min-width:100px}.theme-option{font-size:.8rem;padding:8px 12px}}.theme-switching{transition:all .3s ease}.theme-dropdown-trigger:focus,.theme-option:focus,.theme-toggle-btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast:high){.theme-dropdown-trigger,.theme-toggle-btn{border-width:2px}.theme-option{border-bottom:1px solid var(--border-primary)}.theme-option:last-child{border-bottom:none}}.bottom-nav{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-top:1px solid #0000001a;bottom:0;height:60px;height:var(--bottom-nav-height,60px);left:0;padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);position:fixed;right:0;transform:translateY(0);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:10000}.bottom-nav.hidden{transform:translateY(calc(100% + env(safe-area-inset-bottom, 0px)))}.bottom-nav.visible{transform:translateY(0)}.bottom-nav-content{align-items:center;display:flex;height:100%;justify-content:space-around;max-width:100%;padding:0 8px}.bottom-nav-tab{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;border-radius:12px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;max-width:80px;min-height:44px;min-width:60px;padding:6px 8px;touch-action:manipulation;transition:all .2s cubic-bezier(.4,0,.2,1)}@media (hover:hover) and (pointer:fine){.bottom-nav-tab:hover{background:#0000000d;transform:translateY(-1px)}}.bottom-nav-tab.active{background:#007aff1a;background:rgba(var(--primary-color-rgb,0,122,255),.1)}.bottom-nav-tab.active .tab-icon{transform:scale(1.1)}.bottom-nav-tab.active .tab-label{color:#007aff;color:var(--primary-color,#007aff);font-weight:600}.tab-icon-container{align-items:center;display:flex;justify-content:center;margin-bottom:2px;position:relative}.tab-icon{display:block;font-size:20px;line-height:1;transition:transform .2s cubic-bezier(.4,0,.2,1)}.tab-label{color:#8e8e93;color:var(--tab-inactive,#8e8e93);font-size:10px;font-weight:500;line-height:1;margin-top:1px;text-align:center;transition:color .2s ease,font-weight .2s ease}.tab-notification-badge{align-items:center;background:#ff3b30;border:2px solid #fff;border-radius:10px;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:10px;font-weight:600;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 4px;position:absolute;right:-6px;top:-4px}[data-theme=dark] .bottom-nav{background:#1c1c1ef2;border-top-color:#ffffff1a}[data-theme=dark] .bottom-nav-tab:hover{background:#ffffff1a}[data-theme=dark] .bottom-nav-tab.active{background:#007aff33;background:rgba(var(--primary-color-rgb,0,122,255),.2)}[data-theme=dark] .tab-label{color:#fff9}[data-theme=dark] .bottom-nav-tab.active .tab-label{color:#007aff;color:var(--primary-color,#007aff)}[data-theme=dark] .tab-notification-badge{border-color:#1c1c1e}@media (min-width:768px){.bottom-nav{display:none}}@media (min-width:768px) and (max-width:1024px) and (orientation:portrait){.bottom-nav{display:flex}.bottom-nav-content{margin:0 auto;max-width:400px}}@media (prefers-reduced-motion:reduce){.bottom-nav,.bottom-nav-tab,.tab-icon,.tab-label{transition:none}.bottom-nav-tab.active .tab-icon{transform:none}}@media (prefers-contrast:high){.bottom-nav{border-top-color:initial;border-top-width:2px}.bottom-nav-tab.active{background:#0003}.tab-notification-badge{border-color:currentColor;border-width:1px}}.bottom-nav-tab:focus{outline:2px solid #007aff;outline:2px solid var(--primary-color,#007aff);outline-offset:2px}.bottom-nav-tab:focus:not(:focus-visible){outline:none}.bottom-nav-tab:active{background:#0000001a;transform:scale(.95)}[data-theme=dark] .bottom-nav-tab:active{background:#ffffff26}:root{--bottom-nav-height:60px;--primary-color:#007aff;--primary-color-rgb:0,122,255;--tab-inactive:#8e8e93;--tab-active:var(--primary-color)}.disclaimer-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172abf;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1400}.disclaimer-modal{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:0 24px 60px #0f172a66;color:var(--text-primary);display:flex;flex-direction:column;gap:20px;max-height:min(80vh,640px);padding:24px;width:min(520px,100%)}.disclaimer-modal-header h2{color:var(--text-accent);font-size:1.5rem;margin:0;text-align:left}.disclaimer-modal-body{font-size:.95rem;line-height:1.6;overflow-y:auto;padding-right:4px;text-align:left}.disclaimer-modal-body p{margin:0 0 16px}.disclaimer-link{color:var(--color-primary);font-weight:600;text-decoration:none}.disclaimer-link:focus,.disclaimer-link:hover{color:var(--color-primary-hover);text-decoration:underline}.disclaimer-modal-footer{display:flex;justify-content:flex-end}.disclaimer-button{background:var(--color-primary);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:10px 18px;transition:transform var(--transition-fast),background var(--transition-fast)}.disclaimer-button:focus,.disclaimer-button:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.disclaimer-button:active{transform:translateY(0)}@media (max-width:600px){.disclaimer-modal-overlay{padding:16px}.disclaimer-modal{max-height:90vh;padding:20px;width:100%}.disclaimer-modal-header h2{font-size:1.35rem;text-align:center}.disclaimer-modal-footer{justify-content:center}.disclaimer-button{width:100%}}[data-theme=dark] .disclaimer-modal{box-shadow:0 24px 60px #000000a6}[data-theme=dark] .disclaimer-modal-header h2{color:#f1f5f9}
/*# sourceMappingURL=main.81fb21d2.css.map*/