:root{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{margin:0}:root{--login-bg:#100e0f;--login-card:#151213;--login-border:#604734;--login-gold:#d6ac73;--login-cream:#eee2cf;--login-muted:#b8a896;--login-red:#ec8d79}.login-root{min-height:100dvh;display:grid;place-items:center;padding:28px 18px calc(28px + env(safe-area-inset-bottom));color:var(--login-cream);background:linear-gradient(#100c108a,#0c0a0d9e),url(../dungeon-stone-v3.png) center bottom / cover fixed;font-family:DM Sans,sans-serif}.login-card{width:min(100%,440px);padding:42px 40px;background:url(../panel-grain.svg) repeat,var(--login-card);border:1px solid var(--login-border);border-radius:2px;box-shadow:inset 0 1px #a27a4433,inset 0 -2px #080607,0 24px 80px #0008}.login-brand{color:var(--login-gold);font:800 28px Manrope,sans-serif;letter-spacing:-1px;margin-bottom:30px}.login-card h1{margin:0;font:800 clamp(26px,5vw,36px) Manrope,sans-serif;letter-spacing:-1px}.login-card>p{color:var(--login-muted);margin:10px 0 24px;line-height:1.5}.login-form{display:grid;gap:15px}.login-field{display:grid;gap:7px;color:var(--login-cream);font-size:14px;font-weight:600}.login-field input{box-sizing:border-box;width:100%;border:1px solid #4a604a;background:#111811;color:var(--login-cream);border-radius:9px;padding:13px 14px;font:inherit;outline:none}.login-field input:focus{border-color:var(--login-gold);box-shadow:0 0 0 3px #d4a94f2b}.login-hint{color:var(--login-muted);font-weight:400}.login-primary{border:0;border-radius:9px;padding:13px 18px;color:#1b2118;background:var(--login-gold);font-weight:700;cursor:pointer;width:100%}.login-primary:hover{filter:brightness(1.08)}.login-primary:disabled{opacity:.6;cursor:wait}.login-links{display:flex;justify-content:space-between;gap:10px}.login-link,.login-links button{border:0;padding:4px 0;color:var(--login-gold);background:none;cursor:pointer;font:inherit}.login-check{display:flex;gap:8px;align-items:center;color:var(--login-muted);font-size:13px}.login-message{padding:11px 12px;border-radius:8px;margin-bottom:16px;line-height:1.4;font-size:14px}.login-message.error{color:#ffd0c6;background:#6d2d2944;border:1px solid #9c4d43}.login-message.success{color:#d7efc8;background:#2d5d3344}.login-notice{color:var(--login-muted);line-height:1.55;margin:22px 0}@media(max-width:480px){.login-card{padding:32px 24px}.login-links{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.login-field input{font-size:16px}.login-card button{font-family:inherit;min-height:44px}.login-primary{font-size:14px}.login-card button:focus-visible{outline:2px solid var(--login-gold);outline-offset:4px}.login-root{position:relative;isolation:isolate}.login-card{position:relative;z-index:1}.login-loot-rain{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.login-loot-drop{position:absolute;top:-60px;left:var(--x);color:#d4a94f;opacity:var(--alpha);animation:login-loot-fall var(--duration) var(--delay) linear infinite}.login-loot-drop:nth-child(3n){color:#8fbda6}.login-loot-drop:nth-child(4n){color:#b2a0d9}.login-loot-drop svg{display:block}@keyframes login-loot-fall{0%{transform:translate3d(0,-60px,0) rotate(-20deg)}to{transform:translate3d(var(--drift),calc(100dvh + 120px),0) rotate(var(--turn))}}@media(max-width:480px){.login-loot-drop:nth-child(n+21){display:none}}@media(prefers-reduced-motion:reduce){.login-loot-drop{animation:none;top:var(--rest-y);transform:rotate(var(--turn))}}.login-guest{border:1px solid #71815f;border-radius:9px;padding:12px 18px;color:var(--login-cream);background:#263426;font-weight:700;cursor:pointer;width:100%}.login-guest:hover{border-color:var(--login-gold)}.login-guest-copy{color:var(--login-muted);font-size:13px;line-height:1.45;margin:0!important}.login-field input{background:#0f0d0e;border-color:#6b503b;border-radius:2px}.login-primary{background:var(--login-gold);color:#22170e;border-radius:2px;box-shadow:inset 0 2px #f9ddb280,inset 0 -3px #8a5a32}.login-guest{background:url(../panel-grain.svg) repeat,#2b211b;border-color:#755436;border-radius:2px;color:#e0c7a5}.login-field input:focus{border-color:var(--login-gold);box-shadow:0 0 0 3px #d6ac732b}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(./dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(./manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(./manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}.account-menu{position:relative;flex-shrink:0;z-index:40;font-size:12px;color:#c6cdb9}.account-menu summary{cursor:pointer;padding:10px 12px;border:1px solid #44513a;border-radius:4px;min-height:40px;display:flex;align-items:center;gap:8px;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{content:"▾";color:#9ba98a}.account-menu[open] summary{background:#283023}.account-menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:260px;max-width:calc(100vw - 36px);padding:18px;background:#192019;border:1px solid #44513a;border-radius:8px;box-shadow:0 12px 32px #0008;display:grid;gap:10px}.account-name{color:#dfc37b;overflow-wrap:anywhere}.account-menu-panel p{font-size:12px;line-height:1.5;margin:0;color:#a8b39c}.account-menu-panel button{min-height:40px;font-size:12px}.topbar #save-status{max-width:200px;line-height:1.4}.topbar #save-status .status-dot{flex-shrink:0}.season-restart{flex-shrink:0;color:#d2bd7f;font-size:10px;letter-spacing:.15px;white-space:nowrap}.brand-emblem{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}.game-version{font:10px DM Sans,sans-serif;letter-spacing:.4px;color:#99a78b;align-self:center}.topbar.topbar{gap:18px}.topbar .brand{flex-shrink:0;flex-wrap:nowrap}.topbar #save-status{display:flex}.topbar #save-status[hidden]{display:none}@media(max-width:1050px){.topbar.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;height:auto;padding:14px 18px 0;gap:8px 12px}.topbar .brand{grid-column:1;grid-row:1;min-width:0}.topbar .sound-settings{grid-column:2;grid-row:1;margin:0}.topbar .account-menu{grid-column:3;grid-row:1}.topbar .season-restart{grid-column:1/-1;grid-row:3;justify-self:start;margin:0;min-height:16px}.topbar #save-status{grid-column:1/-1;grid-row:4;margin:0;max-width:none;font-size:10px;min-height:16px}.topbar.topbar nav{grid-column:1/-1;grid-row:2;order:0;width:100%;margin:0;justify-content:space-between;gap:8px}.topbar.topbar .nav-link{padding:10px 0 12px}}@media(max-width:680px){.topbar .brand-mark{display:grid;width:28px;height:30px}.topbar .brand-mark svg{width:20px;height:20px}.topbar .brand{gap:6px;font-size:20px}.topbar .brand small{font-size:5px;letter-spacing:.5px}.topbar .game-version{font-size:9px}.account-menu summary{padding:8px;font-size:11px}.topbar .sound-settings summary{padding:8px;font-size:10px}}@media(max-width:680px){.topbar.topbar nav{gap:3px}.topbar.topbar .nav-link{flex:1;min-width:0;flex-direction:column;justify-content:center;gap:5px;font-size:9px}.topbar.topbar .nav-link .count{display:none}}.account-dialog{max-width:540px;background:#192019;color:#e8e5d5;border:1px solid #8a784e;border-radius:12px;padding:28px}.account-dialog p{line-height:1.6}.account-dialog button{margin:10px 10px 0 0;min-height:44px}.account-dialog::backdrop{background:#081009dc}@media(max-width:680px){.season-restart{font-size:9px}.topbar #save-status{max-width:155px}.account-dialog{width:calc(100% - 28px);box-sizing:border-box}}.account-upgrade-form{display:grid;gap:12px}.account-upgrade-form label{display:grid;gap:5px;font-size:13px}.account-upgrade-form input{width:100%;padding:10px;border:1px solid #536449;border-radius:6px;background:#101710;color:#eee;font:inherit}.account-upgrade-status{min-height:20px;color:#d4a94f!important}.topbar-guest-save{flex-shrink:0;min-height:40px;padding:8px 12px;font-size:12px;color:#eed396;border-color:#b3924d;background:#4c3c20}.topbar-guest-save:hover{background:#65502b}.account-upgrade-form small{color:#abb69e;line-height:1.5}.account-upgrade-form input{box-sizing:border-box;min-width:0}.account-upgrade-form button{max-width:100%}@media(max-width:1050px){.topbar .topbar-guest-save{grid-column:1/-1;grid-row:5;margin-bottom:12px;justify-content:center}}@media(min-width:1051px)and (max-width:1600px){.topbar.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;height:auto;gap:10px 18px;padding-top:14px}.topbar .brand{grid-column:1;grid-row:1}.topbar .sound-settings{grid-column:2;grid-row:1}.topbar .topbar-guest-save{grid-column:3;grid-row:1}.topbar .account-menu{grid-column:4;grid-row:1}.topbar nav{grid-column:1/-1;grid-row:2;margin:0;width:100%;justify-content:space-between}.topbar .season-restart{grid-column:1/-1;grid-row:3}.topbar #save-status{grid-column:1/-1;grid-row:4;max-width:none}}
