@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Inter:wght@300;400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0b07;--bg-panel: rgba(13, 11, 7, .82);--gold: #c9a84c;--gold-light: #f0d080;--gold-dim: #7a6028;--border: #4a3820;--border-gold: rgba(201, 168, 76, .35);--text: #e8dfc8;--text-muted: #9a8a6a;--primary-btn: linear-gradient(160deg, #8b6914 0%, #c9a84c 50%, #8b6914 100%);--panel-bg: rgba(20, 16, 8, .78)}html,body{height:100%;font-family:Inter,sans-serif;color:var(--text);background:var(--bg);overflow:hidden}.bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(/public/images/homepage-bg.jpg);background-size:cover;background-position:center;background-color:#1a1205;z-index:0}.bg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#080602b8,#0d0b078c 40%,#080602d9);z-index:1}.home-shell{position:relative;z-index:2;height:100vh;display:flex;flex-direction:column;align-items:stretch;padding:2.5rem 3rem 2rem;gap:1.4rem;overflow-y:auto;max-width:1000px;width:100%;margin:0 auto;scrollbar-width:none}.home-shell::-webkit-scrollbar{display:none}.home-header{text-align:center;flex-shrink:0;width:100%}.home-header-top{text-align:center;width:100%}.home-logout-btn{font-size:.7rem;padding:.25rem .9rem;background:transparent;border:1px solid #444;color:#666;transition:color .15s,border-color .15s;width:100%}.home-logout-btn:hover{color:#aaa;border-color:#666;filter:none}.home-title{font-family:Cinzel,serif;font-weight:900;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:.06em;color:var(--gold-light);text-shadow:0 0 40px rgba(201,168,76,.5),0 2px 6px rgba(0,0,0,.9);line-height:1.1;text-align:center;width:100%}.home-title-rule{width:220px;height:1px;margin:.6rem auto 0;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:.7}.profile-bar{display:flex;align-items:center;gap:1rem;width:100%;background:var(--panel-bg);border:1px solid var(--border-gold);border-radius:6px;padding:.85rem 1.2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.profile-avatar{font-size:1.8rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(201,168,76,.15) 0%,transparent 70%);border:1px solid var(--border-gold);border-radius:50%;flex-shrink:0}.profile-info{flex:1;min-width:0}.profile-name{font-family:Cinzel,serif;font-size:.95rem;font-weight:600;color:var(--gold-light);margin-bottom:.45rem;letter-spacing:.04em}.profile-stats{display:flex;align-items:center;gap:.8rem}.profile-stat{display:flex;flex-direction:column;align-items:flex-start}.stat-value{font-family:Cinzel,serif;font-size:1.05rem;font-weight:700;color:var(--gold);line-height:1}.stat-label{font-size:.65rem;color:var(--text-muted);margin-top:.15rem;text-transform:uppercase;letter-spacing:.05em}.profile-divider{width:1px;height:28px;background:var(--border);flex-shrink:0}.action-buttons-panel{display:flex;flex-direction:column;gap:.5rem;width:100%}.action-btn{display:block;width:100%;padding:.75rem 1rem;background:var(--panel-bg);border:1px solid var(--border-gold);border-radius:6px;color:var(--gold);font-family:Cinzel,serif;font-size:.85rem;font-weight:600;letter-spacing:.04em;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-btn:hover{background:#c9a84c1f;border-color:var(--gold);color:var(--gold-light)}.announcements-panel{width:100%;background:var(--panel-bg);border:1px solid var(--border-gold);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;min-height:0;display:flex;flex-direction:column;max-height:220px}.panel-header{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem .55rem;border-bottom:1px solid var(--border);flex-shrink:0}.panel-icon{font-size:.9rem}.panel-title{font-family:Cinzel,serif;font-size:.8rem;font-weight:600;color:var(--gold);letter-spacing:.06em;text-transform:uppercase}.announcements-scroll{overflow-y:auto;flex:1;padding:.55rem 0;scrollbar-width:thin;scrollbar-color:var(--gold-dim) transparent}.announcements-scroll::-webkit-scrollbar{width:4px}.announcements-scroll::-webkit-scrollbar-track{background:transparent}.announcements-scroll::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:2px}.announcement-entry{padding:.55rem 1.1rem .65rem;border-bottom:1px solid rgba(74,56,32,.4)}.announcement-entry:last-child{border-bottom:none}.announcement-entry.pinned{background:#c9a84c0a}.ann-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.ann-badge{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .4rem;border-radius:3px}.pinned-badge{background:#c9a84c40;color:var(--gold);border:1px solid var(--border-gold)}.update-badge{background:#64a0dc2e;color:#8bd;border:1px solid rgba(100,160,220,.3)}.ann-date{font-size:.65rem;color:var(--text-muted)}.ann-title{font-family:Cinzel,serif;font-size:.78rem;font-weight:600;color:var(--text);margin-bottom:.2rem;letter-spacing:.02em}.ann-body{font-size:.72rem;color:var(--text-muted);line-height:1.5}.home-nav{width:100%;display:flex;flex-direction:column;gap:.6rem;flex-shrink:0}.nav-primary{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.nav-secondary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;text-decoration:none;border-radius:5px;padding:.9rem .5rem;border:1px solid var(--border-gold);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform 80ms ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.nav-btn:active{transform:scale(.97)}.nav-btn.primary{background:linear-gradient(160deg,#5a3a0cd9,#8c621cbf,#5a3a0cd9);border-color:var(--gold);padding:1.1rem .5rem;box-shadow:0 0 18px #c9a84c26,inset 0 1px #f0d0801a}.nav-btn.primary:hover{background:linear-gradient(160deg,#785012eb,#b48228d9,#785012eb);border-color:var(--gold-light);box-shadow:0 0 28px #c9a84c4d,inset 0 1px #f0d08033}.nav-btn.secondary{background:var(--panel-bg);border-color:var(--border)}.nav-btn.secondary:hover{background:#1e180ce6;border-color:var(--gold-dim);box-shadow:0 0 12px #c9a84c1a}.nav-icon{font-size:1.35rem;line-height:1}.nav-btn.secondary .nav-icon{font-size:1.15rem}.nav-label{font-family:Cinzel,serif;font-size:.82rem;font-weight:600;color:var(--gold-light);letter-spacing:.04em}.nav-btn.secondary .nav-label{font-size:.74rem;color:var(--text)}.nav-sub{font-size:.65rem;color:var(--text-muted);letter-spacing:.02em}#landing-section{position:relative;z-index:2;min-height:100vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:4rem 1.5rem 5rem;gap:0}.landing-hero{text-align:center;margin-bottom:2.5rem}.landing-emblem{font-size:3rem;color:var(--gold);text-shadow:0 0 40px rgba(201,168,76,.6);display:block;margin-bottom:1rem}.landing-title{font-family:Cinzel,serif;font-weight:900;font-size:clamp(2rem,6vw,3.6rem);color:var(--gold-light);text-shadow:0 0 60px rgba(201,168,76,.5),0 2px 8px rgba(0,0,0,.95);letter-spacing:.05em;line-height:1.1;margin-bottom:.5rem}.landing-subtitle{font-family:Cinzel,serif;font-size:clamp(.85rem,2vw,1.05rem);color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.2rem}.landing-rule{width:280px;height:1px;margin:0 auto;background:linear-gradient(to right,transparent,var(--gold),transparent);opacity:.6}.landing-content{width:100%;max-width:960px;display:grid;grid-template-columns:1fr 220px;gap:2rem;align-items:start}.landing-panel{background:var(--panel-bg);border:1px solid var(--border-gold);border-radius:8px;padding:1.75rem 2rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);line-height:1.8;font-size:.95rem;color:var(--text)}.landing-panel p+p{margin-top:1rem}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0}.mode-card{background:#0a0803b3;border:1px solid var(--border-gold);border-radius:6px;padding:1.25rem 1.1rem;text-align:center}.mode-card-icon{font-size:1.8rem;margin-bottom:.5rem;display:block}.mode-card-title{font-family:Cinzel,serif;font-size:.95rem;font-weight:700;color:var(--gold);letter-spacing:.06em;margin-bottom:.5rem}.mode-card-body{font-size:.78rem;color:var(--text-muted);line-height:1.6}.landing-cta{display:flex;flex-direction:column;gap:.85rem;position:sticky;top:2rem}.cta-btn{font-family:Cinzel,serif;font-size:.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1.5rem;border-radius:5px;cursor:pointer;border:none;width:100%;text-align:center;transition:transform 80ms ease,box-shadow .15s ease,background .15s ease}.cta-btn:active{transform:scale(.97)}.cta-btn-primary{background:linear-gradient(160deg,#6b4f10,#c9a84c,#6b4f10);color:#0d0b07;box-shadow:0 0 24px #c9a84c4d}.cta-btn-primary:hover{background:linear-gradient(160deg,#8b6914,#f0d080,#8b6914);box-shadow:0 0 36px #c9a84c80}.cta-btn-secondary{background:#141008d9;color:var(--gold);border:1px solid var(--gold-dim)}.cta-btn-secondary:hover{background:#28200ce6;border-color:var(--gold);box-shadow:0 0 16px #c9a84c33}.cta-btn-wiki{background:transparent;color:var(--text-dim, #888);border:1px solid #333;text-decoration:none;display:inline-block}.cta-btn-wiki:hover{color:var(--gold);border-color:var(--gold-dim)}.form-section-label{font-family:Cinzel,serif;font-size:.72rem;font-weight:600;color:var(--gold-dim);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:.3rem;margin-bottom:.1rem}.form-label{display:block;font-size:.72rem;color:var(--text-muted);margin-bottom:.25rem}.form-note{font-size:.67rem;color:#555;margin-top:.1rem}.form-input,.form-select{width:100%;background:#111;border:1px solid #444;color:#fff;padding:.3rem .5rem;border-radius:4px;font-size:.8rem;box-sizing:border-box;font-family:Inter,sans-serif}.form-input:focus,.form-select:focus{outline:none;border-color:var(--gold-dim)}.toggle-btn{padding:.3rem .9rem;font-size:.75rem;background:#222;border:1px solid #444;color:#888;border-radius:4px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.toggle-btn-active{background:#c9a84c2e;border-color:var(--gold-dim);color:var(--gold)}.game-card{display:flex;align-items:center;gap:.75rem;background:#1a1a2a;border:1px solid #333;border-radius:5px;padding:.6rem .75rem}.game-card-body{flex:1;min-width:0}.game-card-name{font-size:.85rem;font-weight:600;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-card-meta{font-size:.7rem;color:#777;margin-top:.15rem}.game-card-desc{font-size:.7rem;color:#666;margin-top:.15rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-card-join{flex-shrink:0}.my-games-panel{width:100%;background:var(--panel-bg);border:1px solid var(--border-gold);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0;flex-shrink:0}.my-game-card{display:flex;align-items:center;gap:.65rem;background:#0a08038c;border:1px solid var(--border);border-radius:5px;padding:.55rem .7rem;cursor:pointer;transition:border-color .14s,background .14s}.my-game-card:hover{background:#141008cc;border-color:var(--gold-dim)}.my-game-card-body{flex:1;min-width:0}.my-game-empire{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-game-name{font-size:.7rem;color:var(--text-muted);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-game-meta{font-size:.67rem;color:#555;margin-top:.1rem}.my-game-badge{font-size:.65rem;font-weight:600;letter-spacing:.04em;padding:.12rem .45rem;border-radius:3px;text-transform:uppercase;flex-shrink:0}.badge-lobby{background:#64a0dc26;color:#8bd;border:1px solid rgba(100,160,220,.28)}.badge-active{background:#50c86426;color:#6dd88a;border:1px solid rgba(80,200,100,.28)}.badge-finished{background:#78643c33;color:#a08040;border:1px solid rgba(120,100,60,.28)}.profile-bar:hover{background:#1e180ae6;border-color:var(--gold-dim)}.lobby-panel{width:100%;background:var(--panel-bg);border:1px solid var(--border-gold);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 0 .75rem;flex-shrink:0}@media (max-width: 500px){.home-shell{padding:1.8rem 1rem 1.5rem;gap:1rem}.nav-primary{grid-template-columns:1fr 1fr}.nav-secondary{grid-template-columns:1fr 1fr 1fr}.profile-stats{gap:.6rem}.mode-grid,.landing-content{grid-template-columns:1fr}.landing-cta{position:static}.landing-panel{padding:1.25rem 1.1rem}}
