:root{--color-accent:#ff6b35;--color-accent-alt:#4fd1c7;--color-success:#2dd4bf;--color-purple:#a78bfa;--color-warm-yellow:#fbbf24;--color-forest:#059669;--color-coral:#fb7185;--color-danger:#dc2626;--color-danger-light:#b91c1c;--color-danger-bg:#ef44441a;--color-danger-border:#ef44444d;--color-success-bg:#4ade801a;--color-success-border:#4ade8033;--color-accent-bg:#ff6b351a;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 16px #00000026;--shadow-card:0 2px 8px #0000001a;--bg-primary:#0f1419;--bg-secondary:#1a1f25;--bg-tertiary:#252b33;--bg-fade:#13181e;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-quaternary:#64748b;--border-subtle:#334155;--border-radius:6px;--border-radius-lg:10px;--badge-upcoming:#0891b2;--badge-complete:#16a34a;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--transition:150ms ease;--shadow-subtle:0 1px 2px #0000000a;--shadow-soft:0 4px 6px -1px #00000014}[data-theme=light]{--bg-primary:#f9fafb;--bg-secondary:#f5f6f8;--bg-tertiary:#ebeef2;--bg-fade:#f7f8fa;--text-primary:#1a1f2e;--text-secondary:#3d4558;--text-tertiary:#596176;--text-quaternary:#7b8496;--border-subtle:#d5d8de;--badge-upcoming:#3b82f6;--badge-complete:#22c55e;--shadow-subtle:none;--shadow-soft:none;--color-accent:#ea580c;--color-accent-alt:#0ea5e9;--color-success:#22c55e;--color-purple:#a855f7;--color-warm-yellow:#eab308;--color-forest:#059669;--color-coral:#ef4444;--color-accent-bg:#f9731614;--shadow-card:none}[data-theme=light] .container,[data-theme=light] .page-content,[data-theme=light] body,[data-theme=light] main{background-color:#f9fafb}[data-theme=light] .navbar{background:#fff;border-bottom:1px solid #e2e5eb}[data-theme=light] .home-page{background:#f9fafb}[data-theme=light] .home-hero{background:linear-gradient(180deg,#fff,#f9fafb)}[data-theme=light] .current-jam-banner,[data-theme=light] .featured-game{background:#fff;border:1px solid #334155;border:1px solid var(--border-subtle)}[data-theme=light] .featured-game:hover{border-color:#ff6b35;border-color:var(--color-accent)}[data-theme=light] .nav-card{background:#f5f6f8;border:1px solid #334155;border:1px solid var(--border-subtle)}[data-theme=light] .nav-card:hover{background:#fff;border-color:#ff6b35;border-color:var(--color-accent)}[data-theme=light] .footer{background:#ebeef2;border-top:1px solid #334155;border-top:1px solid var(--border-subtle);margin-top:0}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f1419;background-color:var(--bg-primary);color:#cbd5e1;color:var(--text-secondary);font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:#f8fafc;color:var(--text-primary);font-weight:600;letter-spacing:-.025em;line-height:1.2;margin-bottom:1rem;margin-bottom:var(--space-4)}h1{font-size:2.25rem;font-size:var(--text-4xl)}h2{font-size:1.875rem;font-size:var(--text-3xl)}h3{font-size:1.5rem;font-size:var(--text-2xl)}h4{font-size:1.25rem;font-size:var(--text-xl)}p{color:#cbd5e1;color:var(--text-secondary);line-height:1.7;margin-bottom:1rem;margin-bottom:var(--space-4)}a{color:inherit;text-decoration:none;transition:color .15s ease;transition:color var(--transition)}a:hover{color:#ff6b35;color:var(--color-accent)}:focus-visible{border-radius:6px;border-radius:var(--border-radius);outline:2px solid #ff6b35;outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:#ff6b35;background-color:var(--color-accent);color:#0f1419;color:var(--bg-primary)}button,input,select,textarea{font-family:inherit;font-size:inherit}ol,ul{list-style:none}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}.container{max-width:68rem}.container,.container-narrow{margin:0 auto;padding:0 1.5rem;padding:0 var(--space-6)}.container-narrow{max-width:42rem}.text-center{text-align:center}.text-primary{color:#f8fafc;color:var(--text-primary)}.text-secondary{color:#cbd5e1;color:var(--text-secondary)}.text-tertiary{color:#94a3b8;color:var(--text-tertiary)}.hidden{display:none}.grid{grid-gap:1.5rem;grid-gap:var(--space-6);display:grid;gap:1.5rem;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.section{padding:4rem 0}.section-sm{padding:3rem 0}[data-fade]{opacity:0;transform:translateY(8px);transition:opacity .25s ease-out,transform .25s cubic-bezier(.22,1,.36,1)}[data-fade].visible{opacity:1;transform:translateY(0)}[data-fade][data-delay="1"]{transition-delay:20ms}[data-fade][data-delay="2"]{transition-delay:40ms}[data-fade][data-delay="3"]{transition-delay:60ms}[data-fade][data-delay="4"]{transition-delay:80ms}[data-fade][data-delay="5"]{transition-delay:.1s}[data-fade][data-delay="6"]{transition-delay:.12s}[data-fade][data-delay="7"]{transition-delay:.14s}@media (max-width:768px){.container,.container-narrow{padding:0 1rem;padding:0 var(--space-4)}h1{font-size:1.875rem;font-size:var(--text-3xl)}h2{font-size:1.5rem;font-size:var(--text-2xl)}h3{font-size:1.25rem;font-size:var(--text-xl)}.grid-2,.grid-3{gap:1rem;gap:var(--space-4);grid-template-columns:1fr}.section{padding:3rem 0;padding:var(--space-12) 0}.section-sm{padding:2rem 0;padding:var(--space-8) 0}}.app{background:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.app:before{background-image:repeating-conic-gradient(#ffffff0a 0 25%,#0000 0 50%);background-size:4px 4px;content:"";inset:0;opacity:.3;pointer-events:none;position:absolute;z-index:0}.main-content{flex:1 1}.page-header{background:var(--bg-primary);margin-top:var(--space-8);padding:var(--space-12) 0 var(--space-4);position:relative}.page-title{color:var(--text-primary);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.025em;margin-bottom:var(--space-4)}.page-subtitle{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.6;margin:0 auto;max-width:36rem}.hero{background:var(--bg-primary);padding:var(--space-16) 0;text-align:center}.hero-content{margin:0 auto;max-width:42rem;padding:0 var(--space-4)}.hero-title{font-size:var(--text-4xl);letter-spacing:-.025em;line-height:1.1;margin-bottom:var(--space-4)}.hero-subtitle{font-size:var(--text-lg);margin-bottom:var(--space-8)}.section{padding:var(--space-16) 0}.section-sm{padding:var(--space-12) 0}.section-title{padding-bottom:var(--space-2);position:relative}.section-subtitle{margin-bottom:var(--space-6)}.content-area{margin:0 auto;max-width:46rem;padding:0 var(--space-6)}.content-wide{margin:0 auto;max-width:72rem;padding:0 var(--space-8)}.divider{margin:var(--space-8) 0}.divider,.divider-section{background:var(--border-subtle);border:none;height:1px}.divider-section{margin:var(--space-16) 0}@media (max-width:768px){.page-header{padding:var(--space-8) 0 var(--space-6)}.page-title{font-size:var(--text-3xl)}.hero{padding:var(--space-12) 0}.hero-title{font-size:var(--text-3xl)}.section{padding:var(--space-12) 0}.section-sm{padding:var(--space-8) 0}.section-header{align-items:flex-start;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.content-wide{padding:0 var(--space-4)}}@media (max-width:480px){.page-header{padding:var(--space-6) 0 var(--space-4)}.hero-title,.page-title{font-size:var(--text-2xl)}}.btn{align-items:center;border:none;border-radius:var(--border-radius-lg);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:600;justify-content:center;padding:var(--space-4) var(--space-8);position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn-primary{background:var(--color-accent);color:var(--bg-primary)}.btn-primary:hover{background:var(--color-coral);color:var(--bg-primary);transform:translateY(-4px) scale(1.05)}.btn-primary:active{transform:translateY(-1px) scale(.98)}.btn-secondary{color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--color-accent);transform:translateY(-3px) scale(1.03)}.btn-secondary:active{transform:translateY(-1px) scale(.98)}.btn-ghost{background:#0000;color:var(--text-secondary);padding:var(--space-2) var(--space-4)}.btn-ghost:hover{color:var(--text-primary);transform:translateY(-2px)}.btn-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}.jam-status.upcoming .status-dot{background:var(--badge-upcoming)}.jam-status.active .status-dot{background:var(--color-success)}.jam-status.ended .status-dot{background:var(--text-tertiary)}.jam-status.upcoming .status-text{color:var(--badge-upcoming)}.jam-status.active .status-text{color:var(--color-success)}.jam-status.ended .status-text{color:var(--text-tertiary)}.card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-6);transition:all var(--transition)}.card:hover{border-color:var(--text-tertiary);transform:translateY(-6px) scale(1.02)}.card-simple{background:#0000;border:none;padding:var(--space-4)}.form-group{margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);margin-bottom:var(--space-2)}.form-input{font-size:var(--text-base);padding:var(--space-3)}.nav{align-items:center;display:flex;gap:var(--space-8)}.nav-link{transition:color var(--transition)}.nav-link.active,.nav-link:hover{color:var(--text-primary)}.badge{align-items:center;background:var(--bg-tertiary);border-radius:9999px;color:var(--text-secondary);display:inline-flex;font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-3)}.badge-accent{background:var(--color-accent-bg);color:var(--color-accent)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.game-card{border-radius:var(--border-radius);cursor:pointer;padding:var(--space-4);transition:all var(--transition)}.game-card:hover{border-color:var(--text-tertiary);transform:translateY(-1px)}.game-thumbnail{align-items:center;background:var(--bg-tertiary);border-radius:var(--border-radius);color:var(--text-tertiary);display:flex;font-size:var(--text-2xl);font-weight:600;height:120px;justify-content:center;margin-bottom:var(--space-3)}.game-title{font-size:var(--text-base);margin-bottom:var(--space-1)}.game-author{font-size:var(--text-sm);margin-bottom:var(--space-2)}.game-author,.game-stats{color:var(--text-tertiary)}.game-stats{display:flex;font-size:var(--text-xs);gap:var(--space-4)}.activity-item{align-items:center;border-radius:var(--border-radius);display:flex;gap:var(--space-3);padding:var(--space-3);transition:background-color var(--transition)}.activity-item:hover{background:var(--bg-secondary)}.activity-avatar{align-items:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:var(--text-sm);font-weight:600;height:32px;justify-content:center;width:32px}.activity-content{flex:1 1;min-width:0}.activity-text{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-1)}.activity-time{color:var(--text-tertiary);font-size:var(--text-xs)}.activity-highlight{color:var(--color-accent);font-weight:500}.section-title{margin-bottom:var(--space-2)}.section-subtitle{color:var(--text-secondary);font-size:var(--text-base);max-width:36rem}.status-active{color:var(--color-success)}@media (max-width:768px){.nav{gap:var(--space-4)}.game-thumbnail{height:100px}.activity-avatar{height:28px;width:28px}.section-header{margin-bottom:var(--space-6)}}.home-page{background:var(--bg-primary)}.home-hero{padding:4rem 0 3rem;text-align:center}.hero-title{color:var(--text-primary);font-size:2rem;font-weight:600;line-height:1.3;margin-bottom:1rem}@media (min-width:768px){.hero-title{font-size:2.25rem}}.hero-subtitle{color:var(--text-secondary);font-size:1.125rem;font-weight:400;line-height:1.6;margin:0 auto;max-width:38rem}.hero-accent{color:var(--text-primary);font-weight:600}.home-buttons{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:2rem}.home-buttons .btn{border-radius:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:.875rem;font-weight:500;min-width:120px;padding:.625rem 1.5rem;text-align:center;transition:all .2s ease}.home-buttons .btn-primary{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--bg-primary)}.home-buttons .btn-primary:hover{background:var(--color-coral);border-color:var(--color-coral);transform:translateY(-1px)}.home-buttons .btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary)}.home-buttons .btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary);transform:translateY(-1px)}[data-theme=light] .home-buttons .btn-secondary{border-color:var(--text-tertiary);color:var(--text-secondary)}[data-theme=light] .home-buttons .btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-primary);color:var(--text-primary)}.current-jam-section{padding:2rem 0 3rem}.current-jam-banner{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);display:flex;gap:var(--space-8);justify-content:space-between;overflow:hidden;padding:var(--space-8);position:relative}.jam-info{text-align:left}.jam-meta{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.jam-badge{background:var(--text-tertiary);border-radius:var(--border-radius);color:var(--bg-primary);display:inline-block;font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-2)}.jam-badge.upcoming{background:var(--badge-upcoming);color:#fff}.jam-badge.active{background:var(--color-success);color:var(--bg-primary)}.jam-badge.ended{background:var(--text-tertiary);color:var(--bg-primary)}.voting-indicator{color:var(--color-accent);font-size:var(--text-sm);font-weight:500}.jam-title{font-size:var(--text-lg);line-height:1.3;margin-bottom:var(--space-2)}.jam-description{line-height:1.5;margin:0}.jam-cta{align-items:center;display:flex;flex-direction:column;gap:var(--space-2)}.jam-stats{color:var(--text-tertiary);font-size:var(--text-sm)}.featured-section{padding:var(--space-8) 0}.section-header-inline{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-6)}.section-actions{align-items:center;display:flex;gap:var(--space-3)}.shuffle-btn{color:var(--text-tertiary);font-size:var(--text-sm);transition:color var(--transition)}.shuffle-btn:hover{color:var(--color-accent)}.featured-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr;transition:opacity .2s ease}.featured-grid.shuffling{opacity:.3}.featured-game{align-items:center;animation:fadeInUp .4s ease forwards;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);display:flex;gap:var(--space-6);min-height:160px;padding:var(--space-8);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.featured-game:hover{border-color:var(--text-tertiary);color:inherit}.featured-game:hover .game-info-clean .game-title-clean{color:var(--color-accent)}.featured-game:hover .game-info-clean .game-jam-clean{color:var(--text-quaternary)!important}.featured-game:hover .game-info-clean .game-author-clean{color:var(--text-tertiary)!important}.game-thumb-large{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);color:var(--text-secondary);display:flex;flex-shrink:0;font-size:var(--text-2xl);font-weight:700;height:160px;justify-content:center;overflow:hidden;width:160px}.game-thumb-large img{height:100%;object-fit:cover;width:100%}.game-thumb-large.no-image{background:var(--bg-tertiary)}.game-info-clean{flex:1 1;min-width:0}.game-title-clean{color:var(--text-primary);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-1);transition:color var(--transition)}.game-author-clean{color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-4)}.game-jam-clean{color:var(--text-quaternary);font-size:var(--text-xs);font-style:italic;opacity:.8;transition:none}.mini-explore-section{padding:var(--space-6) 0 var(--space-2)}.section-label{color:var(--text-tertiary);font-size:var(--text-lg);font-weight:400;letter-spacing:.02em;margin-bottom:var(--space-4);opacity:.8}.navigation-section{padding:var(--space-8) 0}.nav-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.nav-link-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);box-shadow:var(--shadow-card);padding:var(--space-6);text-decoration:none;transition:border-color var(--transition),box-shadow var(--transition)}.nav-link-card:hover{border-color:var(--text-tertiary)}.nav-link-card h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.nav-link-card p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0}@media (max-width:768px){.home-hero{padding:3rem 0 2rem}.hero-title{font-size:1.75rem}.hero-subtitle{font-size:1rem}.current-jam-banner{flex-direction:column}.current-jam-banner,.jam-cta{align-items:flex-start;gap:var(--space-4)}.jam-cta{flex-direction:row}.featured-grid{grid-template-columns:1fr}.featured-game{padding:var(--space-3)}.nav-grid{grid-template-columns:1fr}}@media (max-width:480px){.home-buttons{align-items:center;flex-direction:column}.current-jam-banner{flex-direction:column;padding:var(--space-4)}.jam-cta{margin-top:var(--space-3)}}[data-theme=light] .nav-link-card{background:#f5f6f8;border:1px solid var(--border-subtle)}[data-theme=light] .nav-link-card:hover{background:#fff;border-color:var(--color-accent)}.auth-page{min-height:100vh}.auth-container,.auth-page{background:var(--bg-primary)}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 64px);padding:var(--space-6)}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);box-shadow:var(--shadow-soft);max-width:28rem;padding:var(--space-12);width:100%}.auth-card.loading-card{padding:var(--space-8)}.auth-header{margin-bottom:var(--space-12);text-align:center}.auth-header.loading-only{margin:var(--space-4) 0}.auth-header h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:600;margin-bottom:var(--space-3)}.auth-header.loading-only h1{font-size:var(--text-lg);margin-bottom:0}.auth-header p{color:var(--text-secondary);font-size:var(--text-lg);margin:0}.auth-form{margin-bottom:var(--space-8)}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--text-base);font-weight:500;margin-bottom:var(--space-3)}.form-input,.form-label{color:var(--text-primary)}.form-input{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);box-sizing:border-box;font-size:var(--text-lg);padding:var(--space-4);transition:border-color var(--transition);width:100%}.form-input:focus{border-color:var(--color-accent);outline:none}.form-input::placeholder{color:var(--text-tertiary)}.btn-block{font-size:var(--text-lg);font-weight:600;padding:var(--space-4) var(--space-6);width:100%}.auth-message{border-radius:var(--border-radius);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3);text-align:center}.auth-message.success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.auth-message.error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-accent)}.auth-toggle{border-top:1px solid var(--border-subtle);padding-top:var(--space-6);text-align:center}.auth-toggle p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.auth-toggle-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:var(--text-sm);font-weight:500;text-decoration:underline;transition:opacity var(--transition)}.auth-toggle-link:hover{opacity:.8}.auth-footer{border-top:1px solid var(--border-subtle);margin-top:var(--space-6);padding-top:var(--space-6);text-align:center}.auth-footer p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.auth-footer a{color:var(--color-accent);font-weight:500;text-decoration:none;transition:opacity var(--transition)}.auth-footer a:hover{opacity:.8;text-decoration:underline}.forgot-password-link{margin-top:var(--space-2);text-align:right}.forgot-password-link a{color:var(--color-accent);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:opacity var(--transition)}.forgot-password-link a:hover{opacity:.8;text-decoration:underline}.success-message{text-align:center}.error-message,.success-message{border-radius:var(--border-radius);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-4)}@media (max-width:480px){.auth-container{padding:var(--space-4)}.auth-card{padding:var(--space-6)}.auth-header h1{font-size:var(--text-xl)}}.oauth-divider{align-items:center;display:flex;margin:var(--space-8) 0;text-align:center}.oauth-divider:after,.oauth-divider:before{background:var(--border-subtle);content:"";flex:1 1;height:1px}.oauth-divider span{background:var(--bg-secondary);color:var(--text-tertiary);font-size:var(--text-sm);font-weight:500;padding:0 var(--space-4)}.oauth-buttons{flex-direction:column;margin-bottom:var(--space-6)}.btn-oauth,.oauth-buttons{display:flex;gap:var(--space-3)}.btn-oauth{align-items:center;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);cursor:pointer;font-size:var(--text-base);font-weight:500;justify-content:center;padding:var(--space-4) var(--space-6);transition:all var(--transition);width:100%}.btn-oauth,.btn-oauth:hover{color:var(--text-primary);text-decoration:none}.btn-oauth:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.btn-oauth:active{transform:translateY(1px)}.btn-google svg{flex-shrink:0}.btn-discord{color:var(--text-primary)}.btn-discord svg{fill:#5865f2;flex-shrink:0}.btn-discord:hover svg{fill:#4752c4}@media (max-width:480px){.oauth-buttons{gap:var(--space-2)}.btn-oauth{font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}}.oauth-user-info{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);margin-bottom:var(--space-6);padding:var(--space-4)}.oauth-user-info p{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--space-1) 0}.oauth-user-info strong{color:var(--text-primary)}.username-input-container{align-items:center;display:flex;position:relative}.username-input-container .form-input{padding-right:var(--space-10)}.username-input-container .form-input.valid{border-color:var(--color-success)}.username-input-container .form-input.invalid{border-color:var(--color-accent)}.status-icon{font-size:var(--text-lg);font-weight:700;position:absolute;right:var(--space-3)}.status-icon.available{color:var(--color-success)}.status-icon.unavailable{color:var(--color-accent)}.status-icon.checking{opacity:.6}.username-status{font-size:var(--text-sm);font-weight:500;margin-top:var(--space-2)}.username-status.available{color:var(--color-success)}.username-status.invalid,.username-status.taken{color:var(--color-accent)}.username-help{background:var(--bg-tertiary);border-radius:var(--border-radius);margin-top:var(--space-3);padding:var(--space-3)}.username-help p{color:var(--text-tertiary);font-size:var(--text-xs);margin:var(--space-1) 0}.btn-small{font-size:var(--text-sm);margin-top:var(--space-3);padding:var(--space-2) var(--space-3)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn-secondary:hover{border-color:var(--border-hover);color:var(--text-primary)}.btn-secondary:hover,.jams-page{background:var(--bg-primary)}.jam-featured{margin-bottom:var(--space-4);padding:var(--space-2) 0}.jam-featured-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);margin:0 auto;max-width:48rem;overflow:hidden;padding:var(--space-12);position:relative}.jam-status{align-items:center;display:flex;font-size:var(--text-sm);gap:var(--space-3);justify-content:center}.status-dot{animation:pulse 2s infinite;background:var(--color-success);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status-text{font-weight:600}.jam-participants{color:var(--text-tertiary)}.jam-title{color:var(--text-primary);font-size:var(--text-3xl);font-weight:600;letter-spacing:-.025em;margin-bottom:var(--space-3)}.jam-theme{color:var(--color-accent);font-size:var(--text-lg);font-style:italic;font-weight:500;margin-bottom:var(--space-4)}.jam-description{font-size:var(--text-lg);line-height:1.6;margin-bottom:var(--space-8);margin-left:auto;margin-right:auto;max-width:32rem}.jam-timer{display:flex;gap:var(--space-4);justify-content:center}.timer-unit{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);min-width:100px;padding:var(--space-6);position:relative;text-align:center}.timer-number{color:var(--text-primary);font-size:var(--text-3xl);font-weight:600;line-height:1;margin-bottom:var(--space-1)}.timer-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500}.jam-actions{gap:var(--space-4);justify-content:center}.section-info{background:var(--bg-primary);padding:var(--space-6) 0}.section-info h2{color:var(--text-primary);font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--space-6)}.section-info p{color:var(--text-secondary);font-size:var(--text-base);line-height:1.7;margin-bottom:var(--space-4)}.section-info ul{margin-bottom:var(--space-4);padding-left:var(--space-6)}.section-info li{color:var(--text-secondary);font-size:var(--text-base);line-height:1.7;list-style:disc;margin-bottom:var(--space-3)}.section-info strong{color:var(--text-primary);font-weight:600}.section-past-jams{padding:var(--space-8) 0}.section-header{margin-bottom:var(--space-8)}.section-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:600;margin:0}.accordion-toggle,.jam-group{margin-bottom:var(--space-4)}.accordion-toggle{background:none;border:none;cursor:pointer;font-size:var(--text-lg);font-weight:600;padding:0;text-align:left;transition:color var(--transition)}.accordion-toggle,.accordion-toggle:hover{color:var(--text-primary)}.jam-list{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;margin:0;padding:0;padding-left:var(--space-4)}.jam-list li{margin:0;padding:0}.jam-title-link{color:var(--text-secondary);font-size:var(--text-base);font-weight:500;text-decoration:none;transition:color var(--transition)}.jam-title-link:hover{color:var(--color-accent)}.jam-note{color:var(--text-tertiary);display:inline-block;font-size:var(--text-sm);font-style:italic;margin-left:var(--space-2)}.jam-featured-card{text-align:center}.jam-featured-card .jam-title{font-size:var(--text-3xl);font-weight:600;line-height:1.1;margin-bottom:var(--space-2)}.jam-featured-card .jam-theme{color:var(--color-accent);font-size:var(--text-xl);font-style:italic;font-weight:500;margin-bottom:var(--space-3)}.jam-featured-card .jam-description{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-8);margin-left:auto;margin-right:auto;max-width:42rem}.jam-timer{margin-bottom:var(--space-8)}.jam-status{margin-bottom:var(--space-6)}.jam-participants{color:var(--text-secondary);font-size:var(--text-sm)}@media (max-width:768px){.page-header{padding:var(--space-6) 0 var(--space-4)}.page-header h1{font-size:var(--text-2xl)}.jam-featured{padding:var(--space-6) 0}.jam-featured-card{margin:0 var(--space-4);padding:var(--space-6)}.jam-title{font-size:var(--text-2xl)}.jam-timer{gap:var(--space-3)}.timer-unit{min-width:70px;padding:var(--space-3)}.timer-number{font-size:var(--text-2xl)}.jam-actions{align-items:center;flex-direction:column}.section-header{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.section-info,.section-past-jams{padding:var(--space-6) 0}}@media (max-width:480px){.jam-timer{gap:var(--space-2)}.timer-unit{min-width:60px;padding:var(--space-2)}.timer-number{font-size:var(--text-xl)}.timer-label{font-size:var(--text-xs)}.jam-featured-card{margin:0 var(--space-3);padding:var(--space-4)}}.theme-voting-section{padding:var(--space-4) 0}.theme-voting{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);margin:var(--space-4) 0;padding:var(--space-4)}.theme-voting.loading{color:var(--text-tertiary);padding:var(--space-8);text-align:center}.voting-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.voting-header h3{color:var(--text-secondary);font-family:monospace;font-size:var(--text-lg);font-weight:500;margin:0}.voting-deadline{color:var(--text-tertiary);font-family:monospace;font-size:var(--text-sm)}.verify-prompt{align-items:center;background:var(--bg-tertiary);border-radius:var(--border-radius);color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-3);padding:var(--space-4)}.verify-icon{color:var(--color-accent);font-weight:600}.verify-link{color:var(--color-accent);font-weight:500;margin-left:auto;text-decoration:none;transition:opacity var(--transition)}.verify-link:hover{opacity:.8}.voting-closed{color:var(--text-tertiary);font-style:italic;padding:var(--space-6);text-align:center}.themes-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.theme-row{align-items:center;border-radius:var(--border-radius);cursor:default;display:flex;gap:var(--space-3);padding:var(--space-2);transition:background var(--transition)}.theme-row:hover{background:var(--bg-tertiary)}.theme-row:focus{outline:none}.vote-buttons{gap:var(--space-1)}.vote-btn,.vote-buttons{align-items:center;display:flex}.vote-btn{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);color:var(--text-tertiary);cursor:pointer;font-family:monospace;font-size:var(--text-sm);font-weight:400;height:24px;justify-content:center;line-height:1;transition:all var(--transition);width:24px}.vote-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-tertiary)}.vote-btn.active{background:var(--bg-tertiary);border-color:var(--text-secondary);font-weight:600}.vote-btn.vote-up.active{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.vote-btn.vote-down.active{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.vote-btn:disabled{cursor:not-allowed;opacity:.5}.theme-name{color:var(--text-primary);flex:1 1;font-size:var(--text-base)}.theme-row.voted-up .theme-name{color:var(--color-success)}.theme-row.voted-down .theme-name{color:var(--color-danger)}.voting-stats{align-items:center;border-top:1px solid var(--border-subtle);color:var(--text-tertiary);display:flex;font-family:monospace;font-size:var(--text-sm);gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3)}.save-indicator{animation:fadeIn .2s ease;color:var(--color-success)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.voting-help{color:var(--text-quaternary);font-family:monospace;font-size:var(--text-xs);margin-top:var(--space-2)}[data-theme=light] .theme-voting{background:#fff;border-color:var(--border-subtle)}[data-theme=light] .theme-row:hover,[data-theme=light] .verify-prompt{background:var(--bg-secondary)}@media (max-width:1024px){.themes-list{grid-template-columns:1fr}}@media (max-width:768px){.theme-voting{margin:var(--space-4) 0;padding:var(--space-4)}.voting-header{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.themes-list{gap:4px;grid-template-columns:1fr}.theme-row{gap:var(--space-3);padding:var(--space-2)}.vote-buttons{gap:2px}.vote-btn{font-size:var(--text-sm);height:24px;width:24px}.voting-help{display:none}}.showcase-page{background:var(--bg-primary)}.section-compact{padding:var(--space-4) 0}.showcase-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-6)}.showcase-tabs{background:var(--bg-secondary);border-radius:var(--border-radius);display:flex;gap:var(--space-1);padding:var(--space-1)}.tab{background:none;border:none;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-3);transition:all var(--transition)}.tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab.active{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--bg-primary)}.search-bar{flex:1 1;max-width:200px}.search-input{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-2);transition:border-color var(--transition);width:100%}.search-input:focus{border-color:var(--color-accent);outline:none}.search-input::placeholder{color:var(--text-tertiary)}.winners-chronological{column-count:2;column-fill:balance;column-gap:var(--space-6)}.jam-winner-section{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);break-inside:avoid;display:inline-block;margin-bottom:var(--space-8);padding:var(--space-8);page-break-inside:avoid;position:relative;vertical-align:top;width:100%}.jam-winner-section h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-3);position:relative}.jam-description{color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;margin-bottom:var(--space-4)}.jam-description a{color:var(--color-accent);text-decoration:none}.jam-description a:hover{text-decoration:underline}.winner-list{display:flex;flex-direction:column;gap:var(--space-4)}.winner-featured{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);color:inherit;cursor:pointer;display:flex;gap:var(--space-6);margin-bottom:var(--space-4);opacity:.95;padding:var(--space-6);position:relative;text-decoration:none;transition:all .15s ease}.winner-featured:hover{border-color:var(--border-subtle);opacity:1;transform:translateY(-1px)}.winner-featured:hover .winner-title{color:var(--text-primary)}.winner-secondary{display:flex;flex-direction:row;gap:var(--space-4);justify-content:space-between}.winner-item{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:inherit;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);opacity:.95;padding:var(--space-4);position:relative;text-align:center;text-decoration:none;transition:all .15s ease}.winner-item:hover{border-color:var(--border-subtle);opacity:1;transform:translateY(-1px)}.winner-item:hover .winner-title{color:var(--text-primary)}.showcase-thumb{align-items:center;background:var(--bg-tertiary);color:var(--text-tertiary);display:flex;flex-shrink:0;font-weight:600;justify-content:center;overflow:hidden}.winner-featured .showcase-thumb{border-radius:var(--border-radius-lg);flex-shrink:0;font-size:var(--text-2xl);height:160px;width:160px}.winner-item .showcase-thumb{border-radius:var(--border-radius);font-size:var(--text-xl);height:120px;width:120px}.showcase-thumb img{height:100%;object-fit:cover;width:100%}.winner-featured .showcase-thumb img,.winner-item .showcase-thumb img{border-radius:var(--border-radius)}.showcase-thumb.no-image{background:var(--bg-secondary);color:var(--text-secondary)}.winner-info{display:flex;flex-direction:column;gap:var(--space-2);justify-content:center;padding:var(--space-4)}.winner-item .winner-info{align-items:center;gap:var(--space-1);padding:0;text-align:center}.winner-title{color:var(--text-primary);font-weight:600;line-height:1.3;transition:color var(--transition)}.winner-featured .winner-title{font-size:var(--text-lg)}.winner-item .winner-title{font-size:var(--text-sm)}.winner-author{color:var(--text-tertiary)}.winner-featured .winner-author{font-size:var(--text-base)}.winner-item .winner-author{font-size:var(--text-xs)}.placement-corner{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;bottom:var(--space-2);color:var(--text-tertiary);font-size:10px;font-weight:400;letter-spacing:.01em;line-height:1;opacity:.5;padding:2px 6px;position:absolute;right:var(--space-2);text-transform:lowercase;z-index:2}@media (max-width:1200px){.winners-chronological{column-gap:var(--space-4)}}@media (max-width:768px){.winners-chronological{column-count:1}.showcase-controls{align-items:stretch;flex-direction:column}.search-bar{max-width:100%}.winner-featured{gap:var(--space-3);padding:var(--space-3)}.winner-featured .showcase-thumb{height:120px;width:120px}.winner-featured .winner-info{padding:var(--space-3)}.winner-item{gap:var(--space-2);padding:var(--space-2)}.winner-secondary{flex-direction:column;gap:var(--space-3)}.winner-item{align-items:center;flex-direction:row;text-align:left}.winner-item .winner-info{align-items:flex-start;text-align:left}.winner-item .showcase-thumb{font-size:var(--text-base);height:50px;width:50px}}.resources-page{background:var(--bg-primary);padding-bottom:var(--space-16)}.page-header{margin-bottom:var(--space-8);padding:var(--space-8) 0;text-align:center}.page-header h1{color:var(--text-primary);font-size:var(--text-3xl);font-weight:600;margin-bottom:var(--space-2)}.page-header p{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0 auto;max-width:600px}.toc-block{background-color:initial;border:1px solid var(--border-subtle);border-radius:var(--border-radius);margin:var(--space-8) 0 var(--space-12);max-width:320px;padding:var(--space-4)}.toc-block h2{color:var(--text-secondary);font-size:var(--text-base);font-weight:600;letter-spacing:.03em;margin-bottom:var(--space-2);text-align:left;text-transform:uppercase}.toc-block ul{font-size:var(--text-sm);list-style:none;margin:0;padding-bottom:var(--space-2);padding-left:0}.toc-block>ul>li{margin-bottom:var(--space-3)}.toc-section{color:var(--text-tertiary);display:block;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;margin-bottom:var(--space-1);text-transform:uppercase}.toc-block li ul{display:flex;flex-direction:column;gap:var(--space-1);padding-left:var(--space-4)}.toc-block a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition)}.toc-block a:hover{color:var(--text-primary);text-decoration:underline}.resources-flow{gap:var(--space-16);margin-bottom:var(--space-12)}.main-section,.resources-flow{display:flex;flex-direction:column}.main-section{gap:var(--space-8)}.main-section h2{border-bottom:2px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-3xl);font-weight:600;margin:0;padding-bottom:var(--space-4);text-align:left}.subsections{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.subsection{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-4);transition:transform var(--transition)}.subsection:hover{transform:translateY(-1px)}.subsection h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.subsection p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-3)}.tool-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));list-style:none;margin:0;padding:0}.tool-item{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-3);transition:border-color var(--transition)}.tool-item:hover{border-color:var(--text-tertiary)}.tool-name{color:var(--text-primary);display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-1)}.tool-desc{color:var(--text-tertiary);font-size:var(--text-xs);line-height:1.4;margin:0}.resource-links{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.resource-link{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-3);transition:border-color var(--transition)}.resource-link:hover{border-color:var(--color-accent)}.resource-link a{color:var(--color-accent);font-size:var(--text-sm);font-weight:500;text-decoration:none}.resource-link a:hover{color:var(--text-primary)}.resource-desc{color:var(--text-tertiary);font-size:var(--text-xs);line-height:1.4;margin-top:var(--space-1)}.tips-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.tip-item{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-3)}.tip-title{color:var(--text-primary);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-1)}.tip-desc{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.4;margin:0}@media (max-width:768px){.subsections{gap:var(--space-4)}.subsections,.tool-grid{grid-template-columns:1fr}.page-header{padding:var(--space-6) 0}.page-header h1{font-size:var(--text-2xl)}.main-section{gap:var(--space-6)}.toc-block{max-width:100%}}.support-page{color:var(--text-secondary);margin:0 auto;max-width:720px;padding:4rem 1.5rem}.support-page h1{color:var(--text-primary);font-size:var(--text-4xl);font-weight:600;margin-bottom:.5rem;text-align:center}.support-page>p:first-of-type{font-size:var(--text-lg);margin-bottom:3rem;text-align:center}.support-section{margin-bottom:4rem}.support-section h2{border-bottom:2px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-2xl);font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.contact-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:2rem;padding:2rem}.contact-note{color:var(--text-secondary);font-size:var(--text-base);line-height:1.7;max-width:none}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:var(--text-sm)}.form-group input,.form-group textarea{background:var(--bg-tertiary);font-size:var(--text-base);padding:1rem;resize:vertical}.contact-form button{padding:.5rem 1.25rem;width:fit-content}.contact-form button:disabled{cursor:not-allowed;opacity:.6}.error-message,.success-message{border-radius:var(--border-radius);font-size:var(--text-sm);margin-bottom:1.5rem}.error-message{color:var(--color-accent)}.char-count{display:block}@media (max-width:480px){.support-page{padding:2rem 1rem}.support-page h1{font-size:var(--text-2xl)}.support-section h2{font-size:var(--text-xl)}}.privacy-page{background:var(--bg-primary);color:var(--text-secondary);margin:0 auto;max-width:720px;padding:4rem 1.5rem}.page-header-compact{margin-bottom:2rem}.page-header-compact h1{color:var(--text-primary);font-size:var(--text-4xl);font-weight:600;margin-bottom:.5rem}.page-header-compact p{color:var(--text-tertiary);font-size:var(--text-base);margin:0}.section-balanced{padding-top:0}.section-balanced .container{color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--text-base);gap:1rem;line-height:1.7;max-width:60ch}.privacy-meta{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:1rem}.profile-page{background:var(--bg-primary);min-height:calc(100vh - 64px);padding:var(--space-12) 0 var(--space-8) 0}.profile-container{margin:0 auto;max-width:36rem;padding:0 var(--space-4)}.profile-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-6)}.profile-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-6)}.profile-info{flex:1 1}.name-edit{margin-bottom:var(--space-2)}.display-name-input{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-xl);font-weight:600;max-width:300px;padding:var(--space-2) var(--space-3);transition:border-color var(--transition);width:100%}.display-name-input:focus{border-color:var(--color-accent);outline:none}.profile-name{color:var(--text-primary);font-size:var(--text-xl);font-weight:600;margin:0}.profile-username{color:var(--text-tertiary);font-size:var(--text-base);margin:var(--space-1) 0 0 0}.joined-date{margin-top:var(--space-2);opacity:.7}.profile-error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--border-radius);color:var(--color-accent);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3);text-align:center}.profile-section{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);margin-bottom:var(--space-6);padding:var(--space-4)}.profile-section h3{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-3) 0;padding-bottom:var(--space-2)}.bio-edit{position:relative}.profile-textarea{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);-webkit-hyphens:auto;hyphens:auto;line-height:1.5;min-height:80px;overflow-wrap:break-word;padding:var(--space-3);resize:vertical;transition:border-color var(--transition);width:100%;word-break:break-word}.profile-textarea:focus{border-color:var(--color-accent);outline:none}.profile-textarea::placeholder{color:var(--text-tertiary)}.char-count{background:var(--bg-primary);bottom:var(--space-1);font-size:var(--text-xs);padding:0 var(--space-1);position:absolute;right:var(--space-2)}.profile-bio{color:var(--text-secondary);font-size:var(--text-base);-webkit-hyphens:auto;hyphens:auto;line-height:1.6;margin:0;min-height:24px;overflow-wrap:break-word;word-break:break-word}.empty-bio{color:var(--text-tertiary);font-style:italic}.links-edit{display:flex;flex-direction:column;gap:var(--space-2)}.links-edit h3{margin-bottom:var(--space-3)}.link-input{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);transition:border-color var(--transition)}.link-input:focus{border-color:var(--color-accent);outline:none}.link-input::placeholder,.links-help{color:var(--text-tertiary)}.links-help{font-size:var(--text-xs);font-style:italic;margin:var(--space-2) 0 0 0}.link-input-wrapper{display:flex;flex-direction:column;gap:var(--space-1)}.link-input-error{border-color:#ef4444;border-color:var(--color-error,#ef4444)}.link-error-message{color:#ef4444;color:var(--color-error,#ef4444);font-size:var(--text-xs);margin-left:var(--space-2)}.links-display{display:flex;flex-wrap:wrap;gap:0;min-height:24px}.link-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-secondary);display:inline-flex;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-2);margin-right:var(--space-2);padding:var(--space-2) var(--space-3);text-decoration:none;transition:all var(--transition)}.link-item:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px)}.empty-links{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic}.privacy-dropdown-container{margin-top:var(--space-2)}.privacy-dropdown{background:var(--bg-primary);border:2px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;font-size:var(--text-base);padding:var(--space-3);transition:border-color var(--transition);width:100%}.privacy-dropdown:focus,.privacy-dropdown:hover{border-color:var(--color-accent);outline:none}.privacy-note{background:var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4;margin-top:var(--space-2);padding:var(--space-3)}.profile-actions{border-top:1px solid var(--border-subtle);display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-6);padding-top:var(--space-4)}.profile-footer{margin-top:var(--space-4);text-align:right}.joined-date{font-size:var(--text-xs);opacity:.6}@media (max-width:768px){.profile-page{padding:var(--space-6) 0}.profile-card{padding:var(--space-4)}.profile-section{padding:var(--space-3)}.profile-actions{align-items:center;flex-direction:column}.display-name-input{font-size:var(--text-lg)}}@media (max-width:480px){.profile-container{padding:0 var(--space-3)}.profile-card{padding:var(--space-3)}}.page-container{margin:0 auto;max-width:800px;min-height:calc(100vh - 200px);padding:2rem 1rem}.page-content{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;padding:2rem}.page-content h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin-bottom:1.5rem}.page-section{margin-bottom:2rem}.page-section:last-child{margin-bottom:0}.page-section h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.page-section h3{color:var(--text-primary);font-size:1.2rem;font-weight:500;margin-bottom:.5rem}.page-section p{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.page-section p:last-child{margin-bottom:0}.feature-list{margin:1.5rem 0}.feature-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;margin-bottom:1rem;padding:1.5rem}.feature-item:last-child{margin-bottom:0}.feature-item h3{color:var(--accent-primary);margin-bottom:.5rem}.feature-item p{margin-bottom:0}.game-dashboard{background:var(--bg-color);min-height:100vh;padding:4rem 0 2rem}.dashboard-header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-content h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:0}.header-content p{color:var(--text-secondary);font-size:1.1rem;margin:.5rem 0 0}.header-actions{flex-shrink:0}.error-message{margin-bottom:1rem}.dashboard-content{min-height:400px}.empty-state{color:var(--text-secondary);padding:4rem 2rem;text-align:center}.empty-icon{color:var(--text-tertiary);font-size:1.5rem;font-weight:600;letter-spacing:1px;margin-bottom:1rem;opacity:.7;text-transform:uppercase}.empty-state h2{color:var(--text-primary);margin-bottom:.5rem}.empty-state p{font-size:1.1rem;margin-bottom:2rem}.games-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:2rem}.game-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .2s ease}.game-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.game-thumbnail{background:var(--bg-secondary);height:180px;overflow:hidden;position:relative;width:100%}.game-thumbnail img{height:100%;object-fit:cover;width:100%}.placeholder-thumbnail{align-items:center;background:var(--bg-tertiary);color:var(--text-tertiary);display:flex;font-size:.9rem;font-weight:500;height:100%;justify-content:center;opacity:.8;width:100%}.placeholder-thumbnail,.visibility-badge{letter-spacing:.5px;text-transform:uppercase}.visibility-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;position:absolute;right:8px;top:8px}.badge-success{background:var(--badge-complete);color:var(--bg-primary)}.badge-warning{background:var(--color-warm-yellow);color:var(--bg-primary)}.badge-secondary{background:var(--text-tertiary);color:var(--bg-primary)}.badge-info{background:var(--color-accent-alt);color:var(--bg-primary)}.game-info{display:flex;flex:1 1;flex-direction:column;padding:1.25rem}.game-title{-webkit-line-clamp:2;color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.game-description,.game-title{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.game-description{-webkit-line-clamp:3;color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0 0 1rem}.game-meta{align-items:center;color:var(--text-tertiary);display:flex;font-size:.7rem;justify-content:space-between;margin-bottom:1rem;opacity:.4}.game-views{font-weight:500}.game-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{background:var(--bg-tertiary);border:1px solid var(--color-accent-alt);border-radius:12px;color:var(--color-accent-alt);font-size:.75rem;font-weight:500}.tag,.tag-more{padding:.25rem .5rem}.tag-more{background:#0000;border:none;border-radius:12px;color:var(--text-tertiary);cursor:pointer;font-size:.7rem;font-weight:400;text-decoration:underline;text-decoration-color:#0000;transition:all .2s ease}.tag-more:hover{color:var(--text-secondary);text-decoration-color:var(--text-secondary)}.game-actions{align-items:center;display:flex;gap:.5rem;margin-top:auto}.game-actions .btn{flex:1 1;text-align:center;text-decoration:none}.game-dashboard .btn-danger{background:var(--color-danger);border:2px solid var(--color-danger);color:var(--bg-primary)}.game-dashboard .btn-danger:hover{background:var(--color-danger-light);border-color:var(--color-danger-light)}.dashboard-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);padding:2rem;text-align:center}.dashboard-card h1{color:var(--text-primary);margin-bottom:1rem}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-content h1{font-size:2rem}.games-grid{grid-template-columns:1fr}.game-actions{flex-direction:column}.game-dashboard .game-actions .btn{flex:none;width:100%}.pagination{flex-direction:column;gap:.5rem}}@media (max-width:480px){.container{padding:0 .5rem}.game-dashboard{padding:1rem 0}.header-content h1{font-size:1.75rem}.game-card{margin-bottom:1rem}}.game-form-page{background:var(--bg-color);min-height:100vh;padding:2rem 0}.form-header{margin-bottom:2rem;text-align:center}.form-header h1{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.form-header p{color:var(--text-secondary);font-size:.95rem}.error-message,.success-message{border-radius:8px;font-weight:500;margin-bottom:1rem;padding:1rem}.error-message{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.success-message{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.game-form{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;margin:0 auto;max-width:600px;padding:2rem}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.form-section h2{border-bottom:2px solid var(--accent-color);color:var(--text-primary);display:inline-block;font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{margin-bottom:0}.toggle-advanced{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:.85rem;font-weight:400;padding:.5rem 0;text-decoration:underline;text-decoration-style:dotted}.toggle-advanced:hover{color:var(--text-secondary)}.advanced-section{margin-top:.75rem;padding-top:.75rem}.form-group{margin-bottom:1.25rem}.form-row{grid-gap:1rem;gap:1rem}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.4rem}.required{color:var(--color-danger);font-weight:600}.optional{color:var(--text-tertiary);font-size:.9rem;font-weight:400}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:2px solid var(--border-subtle);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:.95rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--bg-primary);border-color:var(--color-accent);outline:none}.form-group textarea{line-height:1.4;min-height:80px}.form-group small{display:block}.char-count,.form-group small{color:var(--text-tertiary);font-size:.85rem;margin-top:.25rem}.char-count{text-align:right}.screenshot-input{margin-bottom:.5rem}.screenshot-input:last-child{margin-bottom:0}.platform-grid,.tag-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:.5rem}.platform-option,.tag-option{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;padding:.5rem;transition:all .2s ease}.platform-option:hover,.tag-option:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.platform-option input,.tag-option input{cursor:pointer;margin-right:.5rem;width:auto}.platform-option input:checked+span,.tag-option input:checked+span{font-weight:600}.platform-option:has(input:checked),.tag-option:has(input:checked){background:var(--accent-color);border-color:var(--accent-color);color:#fff}.platform-option:has(input:disabled),.tag-option:has(input:disabled){cursor:not-allowed;opacity:.5}.checkbox-label{align-items:center;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-weight:400;padding:.5rem;transition:background-color .2s ease}.checkbox-label:hover{background:var(--bg-secondary)}.checkbox-label input[type=checkbox]{cursor:pointer;margin-right:.5rem;width:auto}.jam-details{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin-top:1rem;padding:1rem}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:2rem}.game-form .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;min-width:120px;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.game-form .btn-primary{background:var(--accent-color);border:2px solid var(--accent-color);color:#fff}.game-form .btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.game-form .btn-secondary{background:#0000;border:2px solid var(--border-color);color:var(--text-primary)}.game-form .btn-secondary:hover:not(:disabled){background:var(--border-color)}.game-form .btn:disabled{cursor:not-allowed;opacity:.5}.form-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:2rem;text-align:center}.form-card h1{color:var(--text-primary);margin-bottom:1rem}@media (max-width:768px){.container{padding:0 .5rem}.game-form{padding:1.5rem}.form-header h1{font-size:2rem}.form-section h2{font-size:1.25rem}.form-row{grid-template-columns:1fr}.platform-grid,.tag-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.section-header h2{margin-bottom:0}.form-actions{flex-direction:column-reverse}.game-form .btn{width:100%}}@media (max-width:480px){.game-form-page{padding:1rem 0}.form-header h1{font-size:1.75rem}.game-form{padding:1rem}.form-section{margin-bottom:1.5rem}.platform-grid,.tag-grid{grid-template-columns:1fr}}.form-actions{gap:1rem;justify-content:center;margin-top:2rem}.form-actions .btn{min-width:120px}.platforms-grid,.tags-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-quaternary);opacity:.8}.form-header{margin-bottom:1.5rem}.form-header h1{margin-bottom:.25rem}.form-header p{margin:0}.form-group input.coming-soon{background:var(--bg-tertiary);border-style:dashed;color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.form-group input.coming-soon::placeholder{color:var(--text-tertiary);font-style:italic}.community-page{background:var(--bg-primary)}.search-section{margin-bottom:3rem}.search-form{margin:0 auto;max-width:600px}.search-input-group{background:var(--bg-secondary);border:2px solid var(--border-subtle);border-radius:12px;display:flex;gap:.5rem;padding:.5rem;transition:border-color .2s ease}.search-input-group:focus-within{border-color:var(--color-accent)}.search-input-group .search-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:1rem;outline:none;padding:.75rem}.search-button,.search-input-group .search-input::placeholder{color:var(--text-tertiary)}.search-button{background:#0000;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;font-weight:400;opacity:.8;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.search-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-subtle);color:var(--text-secondary);opacity:1}.search-button:disabled{cursor:not-allowed;opacity:.5}.error-message{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--color-coral);margin-bottom:2rem;padding:1rem;text-align:center}.community-content h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin-bottom:1rem}.featured-section p,.search-results p{color:var(--text-secondary);margin-bottom:2.5rem}.community-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:1200px}.community-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;padding:1.25rem}.community-info{flex:1 1;margin-bottom:1rem}.community-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.25rem}.community-name{color:var(--text-primary);flex:1 1;font-size:1.25rem;font-weight:600;margin:0;min-width:0}.game-badge{background:var(--color-accent-alt);border-radius:6px;color:var(--bg-primary);cursor:help;font-size:.7rem;font-weight:600;padding:.2rem .4rem;white-space:nowrap}.community-username{color:var(--text-tertiary);font-size:.9rem;margin:0 0 1rem}.community-bio{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.9rem;line-height:1.4;margin:0 0 1rem;overflow:hidden}.community-actions{margin-top:auto;padding-top:1rem}.community-page .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .2s ease;white-space:nowrap;width:100%}.community-page .btn-sm{font-size:.8rem;padding:.4rem .8rem}.community-page .btn-primary{background:var(--color-accent);border:2px solid var(--color-accent);color:#fff}.community-page .btn-primary:hover{background:var(--color-coral);border-color:var(--color-coral)}.community-page .btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-primary)}.community-page .btn-secondary:hover:not(:disabled){background:var(--bg-primary);border-color:var(--color-accent)}.community-page .btn:disabled{cursor:not-allowed;opacity:.5}.empty-state,.no-results{color:var(--text-secondary);padding:3rem 2rem;text-align:center}.empty-state p,.no-results p{margin-bottom:.5rem}.loading-state{color:var(--text-tertiary);padding:2rem 1rem;text-align:center}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:2rem}.pagination-info{color:var(--text-secondary);font-size:.9rem}@media (max-width:768px){.page-header h1{font-size:2rem}.search-section{margin-bottom:2rem}.search-form{max-width:100%}.search-input-group{flex-direction:row;gap:.25rem;padding:.25rem}.search-input-group .search-input{font-size:16px;padding:.75rem .5rem}.search-button{font-size:.9rem;padding:.75rem 1rem}.community-grid{gap:1rem;grid-template-columns:1fr}.community-card{padding:1.25rem}.community-stats{flex-direction:column;gap:.5rem}.pagination{flex-wrap:wrap;gap:.75rem}.pagination .btn{min-width:100px}}@media (max-width:480px){.container{padding:0 1rem}.community-page{padding:1rem 0}.page-header{padding:2rem 0 1.5rem}.page-header h1{font-size:1.75rem;margin-bottom:.5rem}.page-header p{font-size:.9rem}.search-input-group{background:#0000;border:none;flex-direction:column;gap:.75rem;padding:0}.search-button,.search-input-group .search-input{background:var(--bg-secondary);border:2px solid var(--border-subtle);border-radius:12px;padding:1rem;width:100%}.search-button:active{background:var(--bg-tertiary)}.community-card{padding:1rem}.community-content h2{font-size:1.5rem}.community-grid{grid-template-columns:1fr}.pagination{flex-direction:column;width:100%}.pagination .btn{width:100%}.pagination-info{margin:.5rem 0}}.user-profile-page{background:var(--bg-primary);min-height:100vh;padding:4rem 0 2rem}.user-profile-page .profile-container{margin:0 auto;max-width:68rem;padding:0 var(--space-6)}.profile-hero{margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:700px;padding:0;text-align:center}.user-profile-page .profile-name{color:var(--text-primary);font-size:2.5rem;font-weight:600;line-height:1.2;margin:0 0 .5rem}.user-profile-page .profile-username{color:var(--text-tertiary);font-size:1rem;font-weight:400;margin:0 0 1.5rem}.user-profile-page .profile-bio{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 auto 1rem;max-width:500px}.user-profile-page .profile-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin:.75rem 0 2rem}.user-profile-page .profile-links:empty{display:none}.user-profile-page .profile-link{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--color-accent);display:inline-flex;font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.user-profile-page .profile-link:hover{border-color:var(--color-accent);color:var(--text-primary)}.private-profile{padding:3rem 2rem;text-align:center}.private-notice{background:var(--bg-secondary);border:none;border-radius:8px;padding:2rem}.private-notice h3{color:var(--text-primary);margin:0 0 1rem}.private-notice p{color:var(--text-secondary);margin:0}.stats-section{display:flex;gap:2rem;justify-content:center;margin-bottom:3rem}.stat-card{background:var(--bg-secondary);border:none;border-radius:8px;min-width:120px;padding:1.5rem;text-align:center}.stat-number{color:var(--color-accent);display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.user-profile-page .portfolio-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:1.5rem}.user-profile-page .portfolio-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;transition:all .3s ease}.user-profile-page .portfolio-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-profile-page .portfolio-item:hover .portfolio-thumbnail{box-shadow:var(--shadow-md)}.user-profile-page .portfolio-thumbnail{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-sm);height:250px;margin-bottom:1.5rem;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.user-profile-page .portfolio-thumbnail img{height:100%;object-fit:cover;width:100%}.user-profile-page .portfolio-placeholder{align-items:center;background:var(--bg-tertiary);color:var(--text-tertiary);display:flex;font-size:.9rem;font-weight:500;height:100%;justify-content:center;letter-spacing:.5px;opacity:.8;text-transform:uppercase;width:100%}.user-profile-page .portfolio-info{padding:1.25rem}.user-profile-page .portfolio-title{color:var(--text-primary);font-size:1.3rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.user-profile-page .portfolio-description,.user-profile-page .portfolio-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.user-profile-page .portfolio-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.user-profile-page .portfolio-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:0}.user-profile-page .portfolio-tag{background:var(--bg-tertiary);border:1px solid var(--color-accent-alt);border-radius:12px;color:var(--color-accent-alt);font-size:.75rem;font-weight:500;padding:.25rem .5rem}.user-profile-page .portfolio-tag-more{background:#0000;border:none;border-radius:12px;color:var(--text-tertiary);cursor:pointer;font-size:.7rem;font-weight:400;padding:.25rem .5rem;text-decoration:underline;text-decoration-color:#0000;transition:all .2s ease}.user-profile-page .portfolio-tag-more:hover{color:var(--text-secondary);text-decoration-color:var(--text-secondary)}.user-profile-page .portfolio-actions{margin-top:auto;padding-top:1rem}.user-profile-page .btn-placeholder{color:var(--text-tertiary);font-size:.85rem;font-style:italic}.profile-footer{border-top:1px solid var(--border-subtle);margin-top:3rem;padding-top:2rem;text-align:center}.joined-date{color:var(--text-tertiary);font-size:.9rem;font-style:italic}.error-state,.loading-state{padding:4rem 2rem;text-align:center}.loading-state{color:var(--text-secondary);font-size:1.1rem}.error-state h1{color:var(--text-primary);margin-bottom:1rem}.error-state p{color:var(--text-secondary);font-size:1.1rem}@media (max-width:1024px){.user-profile-page .profile-container{padding:0 1.5rem}.user-profile-page .portfolio-grid{gap:2.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width:768px){.user-profile-page .profile-container{padding:0 1rem}.profile-hero{margin-bottom:3rem}.user-profile-page .profile-name{font-size:2.5rem}.user-profile-page .profile-bio,.user-profile-page .profile-username{font-size:1.1rem;margin-bottom:1.5rem}.user-profile-page .portfolio-grid{gap:2rem;grid-template-columns:1fr;margin-top:1.5rem}.user-profile-page .portfolio-thumbnail{height:220px;margin-bottom:1rem}.user-profile-page .profile-links{flex-direction:row;flex-wrap:wrap;gap:.75rem}}@media (max-width:480px){.user-profile-page{padding:1rem 0}.user-profile-page .profile-container{padding:0 .75rem}.profile-hero{margin-bottom:2rem}.user-profile-page .profile-name{font-size:2rem}.user-profile-page .profile-bio,.user-profile-page .profile-username{font-size:1rem}.user-profile-page .portfolio-grid{gap:1.5rem}.user-profile-page .portfolio-thumbnail{height:200px}.user-profile-page .portfolio-title{font-size:1.1rem}.user-profile-page .profile-links{align-items:center;flex-direction:column}.user-profile-page .profile-link{font-size:.9rem;padding:.5rem .75rem;text-align:center}}.admin-page{background:var(--bg-primary);min-height:calc(100vh - 80px);padding:var(--space-6) 0}.admin-page h1{color:var(--text-primary);font-size:var(--text-xl);margin-bottom:var(--space-3)}.admin-note{color:var(--color-accent);font-size:var(--text-sm);font-style:italic}.admin-note,.theme-form{margin-bottom:var(--space-6)}.theme-form{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);padding:var(--space-6)}.theme-form h2{color:var(--text-primary);font-size:var(--text-base);margin-bottom:var(--space-2)}.form-group{margin-bottom:var(--space-3)}.form-group label{color:var(--text-secondary);display:block;font-size:var(--text-xs);font-weight:500;margin-bottom:var(--space-1)}.form-group input,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding:var(--space-2);width:100%}.form-group textarea{font-family:monospace;min-height:200px;resize:vertical}.message{border-radius:var(--border-radius);font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-3)}.message.success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.message.error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.admin-help{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);padding:var(--space-6)}.admin-help h3{color:var(--text-primary);font-size:var(--text-lg);margin-bottom:var(--space-3)}.admin-help ol{color:var(--text-secondary);margin-left:var(--space-6)}.admin-help li{margin-bottom:var(--space-2)}.admin-actions,.jam-form{margin-bottom:var(--space-4)}.jam-form{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-4)}.jam-form h2{color:var(--text-primary);font-size:var(--text-base);margin-bottom:var(--space-2)}.form-row{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr;margin-bottom:var(--space-4)}.form-group select{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);padding:var(--space-3);width:100%}.input-with-button{display:flex;gap:var(--space-2)}.input-with-button input{flex:1 1}.btn-sm{font-size:var(--text-sm)!important;padding:var(--space-2) var(--space-3)!important}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.jams-list{margin-top:var(--space-8)}.jams-list h2{color:var(--text-primary);font-size:var(--text-xl);margin-bottom:var(--space-4)}.jams-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.jam-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-3);transition:all var(--transition)}.jam-card.current{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.jam-card:hover{border-color:var(--text-tertiary)}.jam-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.jam-header h3{color:var(--text-primary);font-size:var(--text-base);margin:0}.current-badge{background:var(--color-accent);border-radius:var(--border-radius);color:var(--bg-primary);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;padding:var(--space-1) var(--space-3);text-transform:uppercase}.jam-details{margin-bottom:var(--space-4)}.jam-details p{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2)}.jam-details strong{color:var(--text-tertiary);font-weight:500}.jam-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.btn-danger:hover{background:var(--color-danger-light)}[data-theme=light] .jam-card{background:#f8fafc;border-color:var(--border-subtle)}[data-theme=light] .jam-form{background:#f8fafc}[data-theme=light] .form-group input,[data-theme=light] .form-group select,[data-theme=light] .form-group textarea{background:#fff}@media (max-width:768px){.form-row,.jams-grid{grid-template-columns:1fr}.jam-actions{flex-direction:column}.jam-actions button{width:100%}}.admin-header{margin-bottom:var(--space-6)}.admin-header h1{font-size:var(--text-xl);margin-bottom:var(--space-3)}.admin-tabs{border-bottom:1px solid var(--border-subtle);display:flex;gap:var(--space-1)}.admin-tab{border-bottom:2px solid #0000;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;margin-bottom:-1px;padding:var(--space-3) var(--space-6);text-decoration:none;transition:all var(--transition)}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.admin-content{background:var(--bg-secondary);border-radius:var(--border-radius);padding:var(--space-4)}.admin-jams,.admin-themes{max-width:100%}.admin-jams h2,.admin-themes h2{color:var(--text-primary);font-size:var(--text-lg);margin-bottom:var(--space-3)}[data-theme=light] .admin-content{background:#fff;border:1px solid var(--border-subtle)}[data-theme=light] .theme-form{background:#f8fafc}[data-theme=light] .admin-tab{color:var(--text-secondary)}[data-theme=light] .admin-tab.active{color:var(--color-accent)}.current-jam-section{margin-top:var(--space-4)}.current-jam-section .jam-card{margin:0 auto;max-width:600px}.status-text{border-radius:var(--border-radius);display:inline-block;font-size:var(--text-xs);font-weight:500;padding:var(--space-1) var(--space-2);text-transform:uppercase}.status-text.upcoming{background:var(--color-warning-bg);color:var(--color-warning)}.status-text.active{background:var(--color-success-bg);color:var(--color-success)}.status-text.ended{background:var(--bg-tertiary);color:var(--text-secondary)}.admin-jams .btn-primary,.admin-themes .btn-primary{background:var(--text-secondary);color:var(--bg-primary)}.admin-jams .btn-primary:hover,.admin-themes .btn-primary:hover{background:var(--text-primary);transform:translateY(-1px)}.voting-results{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;margin-top:2rem;padding:2rem}.voting-results h2{margin-bottom:1rem}.results-info{color:var(--text-secondary);display:flex;gap:2rem;margin-bottom:1.5rem}.themes-table{overflow-x:auto}.themes-table table{border-collapse:collapse;width:100%}.themes-table td,.themes-table th{border-bottom:1px solid var(--border-subtle);padding:.75rem;text-align:left}.themes-table th{color:var(--text-secondary);font-size:.875rem;font-weight:600;text-transform:uppercase}.themes-table tr.top-theme{background:#4ade800d}.themes-table .score{font-family:monospace;font-weight:600}.themes-table .score.positive{color:#4ade80}.themes-table .score.negative{color:#f87171}.vote-bar{background:var(--border-subtle);border-radius:4px;height:8px;min-width:100px;overflow:hidden;position:relative}.vote-bar-fill{height:100%;transition:width .3s ease}.voting-status-row{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-2)}.voting-status-row p{align-items:center;display:flex;gap:var(--space-2);margin:0}.status-badge{border-radius:var(--border-radius);display:inline-block;font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-2);text-transform:uppercase}.status-badge.open{background:var(--color-success-bg);color:var(--color-success)}.status-badge.closed{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#22c55e;transform:translateY(-1px)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.backup-management{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;margin-top:2rem;padding:2rem}.backup-management h2{margin-bottom:1rem}.backup-actions{margin-bottom:1.5rem}.backup-info{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.backups-table{margin-bottom:1.5rem;overflow-x:auto}.backups-table table{border-collapse:collapse;width:100%}.backups-table td,.backups-table th{border-bottom:1px solid var(--border-subtle);padding:.75rem;text-align:left}.backups-table th{color:var(--text-secondary);font-size:.875rem}.backup-type,.backups-table th{font-weight:600;text-transform:uppercase}.backup-type{border-radius:4px;display:inline-block;font-size:.75rem;padding:.25rem .5rem}.backup-type.automatic{background:var(--bg-tertiary);color:var(--text-secondary)}.backup-type.manual{background:var(--color-accent-bg);color:var(--color-accent)}.backup-type.pre_update{background:var(--color-warning-bg);color:var(--color-warning)}.theme-toggle{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:var(--space-2);transition:all var(--transition);width:36px}.theme-toggle:hover{color:var(--text-primary)}.theme-icon{height:20px;transition:transform var(--transition);width:20px}.theme-toggle:hover .theme-icon{transform:scale(1.1)}.theme-toggle:active .theme-icon{transform:scale(.95)}.theme-toggle:hover .theme-icon.sun{transform:rotate(90deg) scale(1.1)}@media (prefers-reduced-motion:reduce){.theme-toggle:hover .theme-icon{transform:scale(1.1)}}.navbar{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:1000}[data-theme=light] .navbar{background:var(--bg-secondary);border-bottom:2px solid var(--bg-tertiary);box-shadow:var(--shadow-subtle)}[data-theme=light] .navbar-title{color:var(--color-accent);font-weight:700;letter-spacing:-.02em}[data-theme=light] .navbar-logo{background:var(--text-primary);color:var(--bg-primary);font-weight:700}[data-theme=light] .nav-link{color:var(--text-secondary);font-weight:600}[data-theme=light] .nav-link.active,[data-theme=light] .nav-link:hover:not(.active){color:var(--text-primary)}[data-theme=light] .nav-separator{color:var(--text-tertiary);opacity:.7}.navbar-container{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:68rem;padding:0 var(--space-6)}.navbar-brand{color:var(--text-primary);gap:var(--space-3);text-decoration:none}.navbar-brand,.navbar-logo{align-items:center;display:flex}.navbar-logo{background:var(--color-accent);border-radius:var(--border-radius);color:var(--bg-primary);font-size:var(--text-xs);font-weight:600;height:24px;justify-content:center;width:24px}.navbar-title{color:var(--color-accent);font-size:var(--text-lg);font-weight:600;margin:0}.navbar-right{gap:var(--space-8)}.navbar-nav,.navbar-right{align-items:center;display:flex}.navbar-nav{gap:var(--space-6)}.navbar-breadcrumb{font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,monospace;gap:var(--space-2)}.nav-separator{color:var(--text-tertiary);font-size:var(--text-sm);opacity:.5;padding:0 var(--space-1)}.navbar-breadcrumb .nav-link{font-weight:400;text-transform:lowercase}.nav-link,.navbar-breadcrumb .nav-link{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.nav-link{border-radius:var(--border-radius);color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color var(--transition),background var(--transition)}.nav-link.active,.nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.navbar-actions{align-items:center;display:flex;gap:var(--space-3)}.navbar-actions .btn{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.mobile-menu-toggle{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:3px;height:24px;justify-content:center;padding:var(--space-2);width:24px}.hamburger-line{background:var(--text-secondary);border-radius:1px;height:2px;transition:all var(--transition);width:16px}.hamburger-line.open:first-child{transform:rotate(45deg) translate(4px,4px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);display:none;left:0;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all var(--transition);visibility:hidden}.mobile-menu.open{opacity:1;transform:translateY(0);visibility:visible}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4)}.mobile-nav-link{border-radius:var(--border-radius);color:var(--text-secondary);display:block;font-size:var(--text-sm);font-weight:500;padding:var(--space-3);text-decoration:none;transition:all var(--transition)}.mobile-nav-link.active,.mobile-nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.mobile-nav-link.login-link{background:var(--color-accent);color:var(--bg-primary);font-weight:600;margin-top:var(--space-3);text-align:center}.mobile-nav-link.login-link:hover{color:var(--bg-primary);opacity:.9}.mobile-theme-toggle{border-bottom:1px solid var(--border-subtle);display:flex;justify-content:center;margin-bottom:var(--space-2);padding:var(--space-3) 0}.user-menu{position:relative}.user-button{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:all var(--transition)}.user-button:hover{background:var(--bg-secondary);border-color:var(--color-accent)}.user-name{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{animation:dropdownAppear .15s ease forwards;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);box-shadow:var(--shadow-md);min-width:140px;opacity:0;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--space-2));transform:translateY(-4px);z-index:1000}@keyframes dropdownAppear{to{opacity:1;transform:translateY(0)}}.dropdown-item{background:none;border:none;border-radius:0;color:var(--text-secondary);cursor:pointer;display:block;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);text-align:left;text-decoration:none;transition:all var(--transition);width:100%}.dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.logout-btn{border-top:1px solid var(--border-subtle);color:var(--color-accent)}.logout-btn:hover{background:var(--color-accent-bg);color:var(--color-accent)}.auth-loading{color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.logout-mobile{background:none!important;border-top:1px solid var(--border-subtle);color:var(--color-accent)!important;margin-top:var(--space-3);text-align:left}.logout-mobile:hover{background:#f55e3b1a!important;color:var(--color-accent)!important}@media (max-width:768px){.navbar-container{height:56px;padding:0 var(--space-4)}.navbar-right{display:none}.mobile-menu-toggle{display:flex}.mobile-menu{display:block}.user-menu{display:none}.user-name{max-width:80px}}@media (max-width:480px){.navbar-container{height:52px;padding:0 var(--space-3)}.navbar-title{font-size:var(--text-base)}.navbar-logo{font-size:10px;height:20px;width:20px}}.logout-toast{animation:slideInRight .3s ease-out;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:.8rem;font-weight:500;padding:.5rem .75rem;position:fixed;right:20px;top:80px;z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-12);padding:var(--space-6) 0 var(--space-4)}.footer-container{margin:0 auto;max-width:68rem;padding:0 var(--space-6)}.footer-top-columns{grid-gap:var(--space-12);align-items:flex-start;display:grid;gap:var(--space-12);grid-template-columns:repeat(3,minmax(0,16rem));justify-content:space-between;margin-bottom:var(--space-6);padding-top:var(--space-6)}.footer-column{font-size:var(--text-sm);min-width:0}.footer-column h4{color:var(--text-primary);font-weight:600}.footer-column h4,.footer-description{font-size:var(--text-sm);margin-bottom:var(--space-2)}.footer-description{color:var(--text-secondary);line-height:1.5}.footer-link{color:var(--text-secondary);display:inline;font-size:var(--text-sm);margin:0;padding:0;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--text-primary);text-decoration:underline}.footer-column ul{list-style:none;margin:0;padding:0}.footer-column li{margin:.15rem 0}.footer-bottom{border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:var(--text-xs);padding-bottom:var(--space-3);padding-top:var(--space-3);text-align:center}@media (max-width:768px){.footer-container{padding:0 var(--space-4)}.footer-top-columns{gap:var(--space-6)}.footer-description{margin-bottom:var(--space-2)}.footer-link{margin:.15rem 0}}
/*# sourceMappingURL=main.9a172337.css.map*/