*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--font: "Outfit", sans-serif;--bg: #0a0e17;--glass: rgba(15, 20, 35, .75);--glass-border: rgba(255, 255, 255, .08);--accent: #ff9f43;--accent-glow: rgba(255, 159, 67, .3);--green: #00e676;--red: #ff5252;--text: #e8e8e8;--text-dim: #8a8fa8;--gold: #ffd700;--radius: 14px;--wood-light: #8d6e63;--wood-dark: #4e342e;--charcoal: #263238;--amber: #ffca28;--amber-glow: rgba(255, 202, 40, .4);--cursor-default: url("data:image/svg+xml;utf8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M3 3l7.07 16.49 2.58-6.52 6.95-6.95L3 3z' fill='%23ff9f43' stroke='white' stroke-width='2' stroke-linejoin='round'/></svg>") 3 3, auto;--cursor-pointer: url("data:image/svg+xml;utf8,<svg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M3 3l7.07 16.49 2.58-6.52 6.95-6.95L3 3z' fill='%2300e676' stroke='white' stroke-width='2' stroke-linejoin='round'/></svg>") 3 3, pointer}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:var(--font);background:var(--bg);color:var(--text);cursor:var(--cursor-default)}html.fp-cursor-hidden,html.fp-cursor-hidden body,html.fp-cursor-hidden #root,html.fp-cursor-hidden canvas,html.fp-cursor-hidden *{cursor:none!important}canvas{display:block}.hud{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);z-index:100;gap:10px}.hud-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stat-badge{display:flex;align-items:center;gap:4px;padding:4px 12px;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:20px;font-size:12px;font-weight:700;color:var(--text)}.stat-level{color:var(--gold);background:#ffd70014;border-color:#ffd70033}.level-up-pill{display:inline-flex;align-items:center;gap:8px}.level-up-next{font-size:11px;font-weight:800;color:#fff4bdf2}.level-up-ready{box-shadow:0 0 0 1px #00e67659,0 0 16px #00e67626}.stat-gold{color:var(--gold);background:#ffd7001f;border-color:#ffd70047}.stat-clickable{border:1px solid var(--glass-border);font-family:var(--font);cursor:var(--cursor-pointer);transition:background .15s ease,transform .15s ease}.stat-clickable:hover{background:#ffffff1a;transform:translateY(-1px)}.villager-stat-wrap{position:relative}.villager-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;max-height:min(48vh,360px);overflow-y:auto;padding:8px;border-radius:12px;border:1px solid var(--glass-border);background:#101620f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 26px #00000059;z-index:180}.villager-dropdown-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border-radius:10px}.villager-dropdown-row+.villager-dropdown-row{margin-top:4px}.villager-dropdown-row:hover{background:#ffffff0f}.villager-dropdown-main{display:flex;flex-direction:column;gap:2px;min-width:0}.villager-dropdown-name{font-size:13px;font-weight:700;color:#fff}.villager-dropdown-role{font-size:12px;color:#b8c8e2}.villager-dropdown-level{font-size:12px;font-weight:800;color:#9ed2ff}.villager-dropdown-details{display:flex;flex-direction:column;gap:6px;background:#0003;padding:8px 10px;border-radius:8px;margin-top:8px;border:1px solid rgba(255,255,255,.04)}.villager-dropdown-bar-row{display:flex;align-items:center;gap:8px;font-size:11px}.villager-dropdown-bar-bg{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.villager-dropdown-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.villager-dropdown-skills{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.1)}.villager-dropdown-skill{display:flex;align-items:center;gap:3px;font-size:10px;background:#ffffff14;padding:3px 6px;border-radius:4px;color:var(--text)}.hud-actions{display:flex;gap:6px;align-items:center}.hud-icon-btn{width:32px;height:32px;border:none;border-radius:10px;background:#ffffff0f;font-size:16px;cursor:var(--cursor-pointer);display:flex;align-items:center;justify-content:center;transition:all .2s}.hud-icon-btn:hover{background:#ffffff1f;transform:scale(1.1)}.fp-crosshair{position:fixed;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%);pointer-events:none;z-index:1200;filter:drop-shadow(0 0 4px rgba(0,0,0,.7))}.fp-crosshair-v,.fp-crosshair-h{position:absolute;background:#fffffff2;border-radius:999px}.fp-crosshair-v{width:2px;height:18px;left:11px;top:3px}.fp-crosshair-h{width:18px;height:2px;left:3px;top:11px}.inventory-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--glass-border);z-index:100;gap:12px}.inventory-item{display:flex;align-items:center;gap:5px;padding:5px 12px;background:#ffffff0a;border-radius:10px;font-size:13px;font-weight:600;border:1px solid var(--glass-border)}.inventory-item .icon{font-size:15px}.resource-gold{background:#ffd70014;border-color:#ffd70033;color:var(--gold)}.btn{padding:8px 18px;border:none;border-radius:10px;font-family:var(--font);font-weight:700;font-size:13px;cursor:var(--cursor-pointer);transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn-sell{background:linear-gradient(135deg,#ff9f43,#f7971e);color:#1a1a2e;box-shadow:0 4px 15px var(--accent-glow)}.btn-sell:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}.btn-upgrade{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;box-shadow:0 4px 15px #6c5ce74d}.btn-upgrade:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6c5ce766}.build-fab{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:52px;height:52px;border:none;border-radius:50%;background:linear-gradient(135deg,#ff9f43,#f7971e);font-size:22px;cursor:var(--cursor-pointer);z-index:101;box-shadow:0 4px 20px var(--accent-glow);transition:all .25s ease;display:flex;align-items:center;justify-content:center}.build-fab:hover{transform:translate(-50%) scale(1.1);box-shadow:0 6px 30px var(--accent-glow)}.build-fab-cancel{background:linear-gradient(135deg,#ff5252,#d32f2f);box-shadow:0 4px 20px #ff52524d;font-size:18px;color:#fff}.build-fab-cancel:hover{box-shadow:0 6px 30px #ff525266}.build-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center}.build-modal{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;min-width:380px;max-width:480px;box-shadow:0 20px 60px #00000080}.build-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 12px}.build-modal-title{font-size:18px;font-weight:800;color:var(--text)}.build-modal-section{padding:0 22px 16px}.build-modal-section-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:8px}.build-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.build-modal-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--radius);cursor:var(--cursor-pointer);transition:all .2s ease}.build-modal-card:hover{background:#ffffff14;border-color:var(--accent);transform:translateY(-2px)}.build-modal-card-icon{font-size:26px}.build-modal-card-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text)}.build-modal-card-cost{font-size:10px;color:var(--gold);font-weight:600}.level-req-modal{width:min(460px,calc(100vw - 22px));min-width:0}.level-req-summary{color:var(--text-dim);font-size:13px;padding-bottom:10px}.level-req-list{display:flex;flex-direction:column;gap:8px;padding:0 22px 20px}.level-req-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--glass-border);background:#ffffff08}.level-req-row-missing{border-color:#ff525259;background:#ff525214}.level-req-main{display:flex;align-items:center;gap:8px;min-width:0}.level-req-icon{font-size:18px;line-height:1}.level-req-name{font-size:13px;font-weight:700;color:var(--text)}.level-req-amount{font-size:12px;font-weight:800;color:#ffd2d2}.build-menu-overlay{padding:12px;box-sizing:border-box;align-items:flex-start;overflow-y:auto}.build-menu-modal{width:min(480px,100%);min-width:0;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden;margin:0 auto}.build-modal-content{flex:1 1 auto;overflow-y:auto;padding-bottom:4px}.build-menu-modal .build-modal-card-name{text-align:center;line-height:1.2;word-break:break-word}@media(max-width:520px){.build-menu-modal .build-modal-header{padding:14px 14px 10px}.build-menu-modal .build-modal-title{font-size:16px}.build-menu-modal .build-modal-section{padding:0 14px 12px}.build-menu-modal .build-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.build-menu-modal .build-modal-card{padding:10px 6px}.build-menu-modal .build-modal-card-icon{font-size:22px}}.settings-container{position:fixed;bottom:20px;right:20px;z-index:101;display:flex;flex-direction:row;align-items:flex-end;gap:10px}.settings-btn{width:46px;height:46px;font-size:22px}.inventory-btn{width:46px;height:46px;font-size:22px;background:linear-gradient(135deg,#ffb347,#ff8c42);box-shadow:0 6px 18px #ff9f4352}.inventory-btn:hover{background:linear-gradient(135deg,#ffc163,#ff9d5e)}.settings-quick-actions{display:flex;align-items:center;gap:8px}.fp-menu-btn{width:auto;min-width:108px;height:46px;padding:0 14px;font-size:14px;font-weight:800;border-radius:12px;background:linear-gradient(135deg,#ffb347,#ff8c42);box-shadow:0 6px 18px #ff9f4352}.fp-menu-btn:hover{background:linear-gradient(135deg,#ffc163,#ff9d5e)}.settings-menu{background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;position:absolute;right:0;bottom:calc(100% + 8px);min-width:190px}.settings-menu-item{display:block;width:100%;padding:10px 18px;background:none;border:none;color:var(--text);font-family:var(--font);font-size:13px;font-weight:600;cursor:var(--cursor-pointer);text-align:left;transition:background .15s;white-space:nowrap}.settings-menu-item:hover{background:#ffffff0f}.settings-menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-bg-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.menu-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 120% 80% at 50% 110%,rgba(255,140,50,.13) 0%,transparent 60%),radial-gradient(ellipse 100% 60% at 10% 0%,rgba(255,173,79,.1) 0%,transparent 55%),radial-gradient(ellipse 80% 60% at 95% 10%,rgba(84,170,255,.06) 0%,transparent 52%),linear-gradient(170deg,#040810,#0d1520 35%,#121a2b 55%,#0a1018)}.menu-bg-campfire-glow{position:absolute;bottom:-20%;left:50%;transform:translate(-50%);width:80vw;height:60vh;background:radial-gradient(circle,rgba(255,130,40,.12) 0%,rgba(255,80,20,.04) 40%,transparent 70%);filter:blur(40px);animation:campfire-pulse 4s infinite ease-in-out}.menu-bg-cool-glow{position:absolute;top:-10%;right:-5%;width:50vw;height:50vh;background:radial-gradient(circle,rgba(100,181,246,.05) 0%,transparent 65%);filter:blur(50px);animation:float-slow 25s infinite ease-in-out alternate}.menu-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:48px 48px;opacity:.3}.menu-bg-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 60% at center,transparent 0%,rgba(4,8,16,.7) 100%)}.menu-ember{position:absolute;bottom:-10px;border-radius:50%;background:radial-gradient(circle,#fa4,#f62);box-shadow:0 0 6px 1px #ff8c3280;animation:ember-rise var(--duration, 8s) infinite ease-out;pointer-events:none}@keyframes ember-rise{0%{transform:translateY(0) translate(0) scale(1);opacity:0}10%{opacity:1}80%{opacity:.5}to{transform:translateY(-100vh) translate(var(--drift, 20px)) scale(.3);opacity:0}}@keyframes campfire-pulse{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.7;transform:translate(-50%) scale(1.05)}}@keyframes float-slow{0%,to{transform:translate(0)}50%{transform:translate(-5%,10%)}}@keyframes shimmer-sweep{0%{left:-100%}to{left:200%}}.menu-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1000;background:transparent;overflow-y:auto;padding:40px 20px}.menu-background-overlay{display:none}.menu-card{background:linear-gradient(160deg,#121b2af2,#0a101cf7),#080c16f2;border:1px solid rgba(255,180,80,.15);border-top-color:#ffc87840;border-radius:20px;padding:40px 36px;width:100%;max-width:440px;box-shadow:0 0 0 1px #00000080,0 30px 60px -10px #0009,0 0 80px -20px #ff8c3214,inset 0 1px #ffffff12;position:relative;overflow:hidden;animation:card-enter .5s cubic-bezier(.16,1,.3,1)}.menu-card:before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,200,100,.03),transparent);animation:shimmer-sweep 6s infinite ease-in-out;pointer-events:none}.menu-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;padding:1px;background:linear-gradient(160deg,rgba(255,180,80,.12),transparent 40%,transparent 60%,rgba(255,180,80,.06));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.menu-logo-container{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}.menu-logo{font-size:56px;margin-bottom:6px;filter:drop-shadow(0 0 20px rgba(255,160,50,.5));animation:logo-float 3s infinite ease-in-out}.menu-title{font-size:36px;font-weight:900;letter-spacing:3px;text-transform:uppercase;background:linear-gradient(to bottom,#ffe4bc,#ffb347,#e8910a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 2px 8px rgba(255,160,50,.3));margin:0}.menu-subtitle{color:#8b9dc3;font-size:14px;margin-top:6px;text-align:center;font-weight:500;letter-spacing:.5px}.form-label{font-size:11px;font-weight:900;color:#7b8fb0;text-transform:uppercase;letter-spacing:1.5px;margin-left:4px;margin-bottom:6px;display:block}.menu-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,180,80,.2),transparent);margin:8px 0;border:none}.auth-btn,.btn-game{width:100%;padding:15px 24px;background:linear-gradient(180deg,#ffb347,#ff9f43 40%,#f0850e);border:1px solid rgba(255,200,120,.4);border-radius:14px;color:#1a0800;font-family:var(--font);font-weight:900;font-size:15px;text-transform:uppercase;letter-spacing:1.5px;cursor:var(--cursor-pointer);transition:all .15s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px #b86e08,0 6px 20px -4px #ff8c3259,inset 0 1px #ffffff4d;position:relative;display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden}.auth-btn:before,.btn-game:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .4s ease}.auth-btn:hover:before,.btn-game:hover:before{left:150%}.auth-btn:hover,.btn-game:hover{transform:translateY(-3px);box-shadow:0 6px #b86e08,0 12px 30px -4px #ff8c3280,inset 0 1px #ffffff59;filter:brightness(1.08)}.auth-btn:active,.btn-game:active{transform:translateY(2px);box-shadow:0 1px #b86e08,0 3px 10px -2px #ff8c3233,inset 0 2px 4px #00000026;filter:brightness(.95)}.auth-btn:disabled,.btn-game:disabled{background:linear-gradient(180deg,#3d4a5c,#2c3546);border-color:#ffffff0f;box-shadow:0 3px #1e2836;color:#6b7a90;cursor:not-allowed;transform:none;filter:none}.auth-btn:disabled:before,.btn-game:disabled:before{display:none}.auth-toggle,.btn-text{background:none;border:none;color:#5a6f8c;font-family:var(--font);font-weight:600;font-size:13px;cursor:var(--cursor-pointer);transition:all .25s;padding:10px;width:100%;text-align:center}.auth-toggle:hover{color:#ffb347;text-shadow:0 0 10px rgba(255,160,50,.2)}.auth-input{width:100%;padding:14px 18px;background:#060a14b3;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e8edf5;font-family:var(--font);font-size:15px;margin-bottom:0;transition:all .25s}.auth-input:focus{outline:none;border-color:#ffaa3c99;box-shadow:0 0 0 3px #ffa0321a,0 0 20px -5px #ff8c3226;background:#0a0f1ce6}.auth-input::placeholder{color:#4a5670}.auth-error{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:#fca5a5;padding:10px 14px;border-radius:10px;font-size:13px;text-align:center}@keyframes card-enter{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logo-float{0%,to{transform:translateY(0);filter:drop-shadow(0 0 20px rgba(255,160,50,.5))}50%{transform:translateY(-6px);filter:drop-shadow(0 0 30px rgba(255,160,50,.7))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes border-pulse{0%,to{border-color:#ffb45033}50%{border-color:#ffb45066}}.world-select-card{max-width:880px!important;width:96%!important;padding:36px 32px!important}.world-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid rgba(255,180,80,.12)}.world-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:20px;max-height:min(40vh,380px);overflow-y:auto;padding-right:4px}.world-card{background:linear-gradient(150deg,#141e30e6,#0c1220f2);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:10px;cursor:var(--cursor-pointer);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.world-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:radial-gradient(circle at top right,rgba(255,180,80,.04),transparent 60%);opacity:0;transition:opacity .3s}.world-card:hover:before{opacity:1}.world-card:after{display:none}.world-card:hover{border-color:#ffaa3c73;transform:translateY(-3px);box-shadow:0 8px 24px -6px #00000080,0 0 30px -10px #ff8c321f}.world-card-name{font-size:16px;font-weight:800;color:#edf0f7;letter-spacing:.3px}.world-card-date{font-size:12px;color:#6d7f98;font-weight:500}.character-slab{background:#080e1a99;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;margin-bottom:24px}.tab-row{display:flex;gap:6px;margin-bottom:20px;background:#060a1499;padding:5px;border-radius:14px;border:1px solid rgba(255,255,255,.06)}.tab-btn{flex:1;padding:11px 16px;border:none;border-radius:10px;background:transparent;color:#506178;font-family:var(--font);font-weight:800;font-size:13px;cursor:var(--cursor-pointer);transition:all .25s;display:flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase;letter-spacing:.8px}.tab-btn:hover{color:#b0bfd4;background:#ffffff0a}.tab-btn.active{background:linear-gradient(150deg,#ffb4501f,#ff8c320f);color:#ffb347;box-shadow:0 2px 8px #0003,inset 0 1px #ffb4501a;border:1px solid rgba(255,180,80,.15)}.fp-interact-overlay{z-index:320;padding:12px}.fp-interact-modal{width:min(1380px,96vw);min-width:0;max-width:none;max-height:min(86vh,920px);display:flex;flex-direction:column;overflow:hidden}.fp-interact-header{border-bottom:1px solid var(--glass-border)}.fp-interact-hint{margin-top:4px;font-size:11px;color:var(--text-dim)}.fp-interact-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(420px,1.65fr) minmax(300px,1.2fr);gap:10px;padding:10px;min-height:0;flex:1 1 auto}.fp-interact-panel{min-height:0;display:flex;flex-direction:column;border:1px solid var(--glass-border);border-radius:14px;background:#ffffff08;overflow:hidden}.fp-interact-panel-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 12px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.fp-interact-clear-btn{border:1px solid rgba(255,82,82,.45);background:#ff52522e;color:#ffd2d2;border-radius:8px;font-size:11px;font-weight:700;padding:4px 8px;cursor:var(--cursor-pointer)}.fp-interact-clear-btn:disabled{opacity:.45;cursor:not-allowed}.fp-interact-queue-list{overflow-y:auto;padding:6px 0}.fp-shop-panel .build-modal-section{padding:0 12px 14px}.fp-shop-scroll{overflow-y:auto;padding:10px 0 2px}.fp-interact-gold{font-size:13px;font-weight:800;color:var(--gold)}.fp-shop-active{border-color:var(--accent);background:#ff9f431f}.fp-inventory-list{padding:10px 12px 14px}.fp-inventory-list .inventory-row{grid-template-columns:38px 1fr auto;gap:8px;padding:10px 12px}.fp-inventory-list .inventory-sell-btn{grid-column:2 / span 2;justify-self:end}@media(max-width:680px){.villager-dropdown{min-width:230px}.settings-container{bottom:16px;right:14px}.settings-btn,.inventory-btn{width:42px;height:42px;font-size:20px}.fp-menu-btn{min-width:98px;height:42px;font-size:12px;padding:0 12px}.inventory-list{padding:0 12px 14px}.inventory-row{grid-template-columns:38px 1fr auto;padding:10px 12px;gap:8px}.inventory-row-icon{font-size:26px}.inventory-row-name{font-size:14px}.inventory-row-amount{font-size:15px}.inventory-header-actions{gap:6px}.inventory-sell-all-btn{font-size:10px;padding:5px 8px}.inventory-sell-btn{grid-column:2 / span 2;justify-self:end;font-size:10px;padding:5px 8px;min-width:96px}}@media(max-width:1180px){.fp-interact-layout{grid-template-columns:1fr;grid-auto-rows:minmax(180px,auto)}.fp-interact-modal{max-height:calc(100vh - 24px)}.fp-interact-queue-list{max-height:220px}.fp-shop-scroll{max-height:360px}}.mode-indicator{position:fixed;top:56px;left:50%;transform:translate(-50%);padding:8px 20px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--accent);border-radius:20px;font-size:12px;font-weight:700;color:var(--accent);z-index:100;text-transform:uppercase;letter-spacing:1px;box-shadow:0 0 30px var(--accent-glow);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow)}}.notification-container{position:fixed;top:60px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:200;pointer-events:none}.notification{padding:10px 18px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;font-size:13px;font-weight:600;animation:notif-in .3s ease-out,notif-out .3s ease-in 2.2s forwards;white-space:nowrap}@keyframes notif-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes notif-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0e17,#1a1e2e,#0a0e17);z-index:1000}.auth-card{display:flex;flex-direction:column;align-items:center;padding:40px 50px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;min-width:360px;box-shadow:0 20px 60px #00000080}.auth-logo{font-size:48px;margin-bottom:8px;animation:pulse-glow 3s ease-in-out infinite}.auth-title{font-size:28px;font-weight:800;color:var(--gold);margin-bottom:4px;letter-spacing:1px}.auth-subtitle{font-size:13px;color:var(--text-dim);margin-bottom:20px}.auth-form{width:100%;display:flex;flex-direction:column;gap:12px}.auth-input{width:100%;padding:12px 16px;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:14px;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--text-dim)}.auth-btn{padding:12px 24px;background:linear-gradient(135deg,#ff9f43,#f7971e);color:#1a1a2e;border:none;border-radius:var(--radius);font-family:var(--font);font-weight:800;font-size:14px;cursor:var(--cursor-pointer);transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 15px var(--accent-glow)}.auth-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}.auth-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-error{color:var(--red);font-size:12px;font-weight:600;text-align:center;padding:6px;background:#ff52521a;border-radius:8px}.auth-toggle{background:none;border:none;color:var(--text-dim);font-family:var(--font);font-size:12px;cursor:var(--cursor-pointer);margin-top:16px;transition:color .2s}.auth-toggle:hover{color:var(--accent)}.world-select-card{display:flex;flex-direction:column;padding:40px 50px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;min-width:440px;max-width:540px;max-height:80vh;box-shadow:0 20px 60px #00000080}.world-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.world-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:20px}.world-card{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--radius);cursor:var(--cursor-pointer);transition:all .2s ease}.world-card:hover{background:#ffffff12;border-color:var(--accent);transform:translate(4px);box-shadow:0 4px 15px #0003}.world-card-info{display:flex;flex-direction:column;gap:2px}.world-card-name{font-size:14px;font-weight:700;color:var(--text)}.world-card-date{font-size:11px;color:var(--text-dim)}.world-card-delete{background:none;border:none;font-size:16px;cursor:var(--cursor-pointer);opacity:.4;transition:opacity .2s;padding:4px}.world-card-delete:hover{opacity:1}.world-create{display:flex;gap:10px}.world-create .auth-input{flex:1}.world-create .auth-btn{white-space:nowrap;padding:12px 20px}.queue-bar{position:fixed;left:20px;top:50%;transform:translateY(-50%);width:200px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius);z-index:100;overflow:hidden}.queue-title{padding:10px 14px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);border-bottom:1px solid var(--glass-border)}.queue-list{max-height:250px;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.queue-list::-webkit-scrollbar{display:none}.queue-item{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.03);font-size:11px;transition:background .15s}.queue-item:hover{background:#ffffff0a}.lobby-split{display:flex;gap:24px;min-height:380px}.lobby-char-panel{width:260px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:20px;background:linear-gradient(180deg,#080e1c99,#040812b3);border:1px solid rgba(255,255,255,.06);border-radius:16px;position:relative;overflow:hidden}.lobby-char-panel:before{content:"";position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(255,160,60,.06) 0%,transparent 65%);pointer-events:none}.lobby-carousel{display:flex;align-items:center;gap:12px;margin:8px 0}.lobby-arrow{width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#ffffff0a;color:#8b9dc3;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:var(--cursor-pointer);transition:all .2s;flex-shrink:0;font-family:var(--font)}.lobby-arrow:hover:not(:disabled){background:#ffb4501a;border-color:#ffb4504d;color:#ffb347}.lobby-arrow:disabled{opacity:.2;cursor:not-allowed}.lobby-char-preview{display:flex;align-items:center;justify-content:center;min-height:160px}.lobby-dots{display:flex;gap:8px;justify-content:center;margin-top:14px}.lobby-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;cursor:var(--cursor-pointer);transition:all .2s;padding:0}.lobby-dot.active{background:#ffb347;border-color:#ffb347;box-shadow:0 0 8px #ffb45066}.lobby-dot:hover:not(.active){background:#ffffff26}.lobby-char-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;min-height:180px}.lobby-char-btn{flex:1;padding:8px 10px!important;font-size:11px!important;width:auto!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 2px #00000040!important;color:#b0bfd4!important;letter-spacing:.5px!important}.lobby-char-btn:hover:not(:disabled){background:#ffb4501a!important;border-color:#ffb4504d!important;color:#ffb347!important}.lobby-worlds-panel{flex:1;display:flex;flex-direction:column;min-width:0}.lobby-worlds-list{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;max-height:min(50vh,400px);padding-right:4px}@media(max-width:760px){.lobby-split{flex-direction:column}.lobby-char-panel{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center;min-height:auto;padding:16px}.lobby-carousel{width:100%;justify-content:center}.lobby-worlds-list{max-height:none}}.hero-slab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:20px}.hero-slab{background:linear-gradient(155deg,#0e1626f2,#080e1afa);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.hero-slab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:radial-gradient(circle at 80% 20%,rgba(255,180,80,.06),transparent 60%);opacity:0;transition:opacity .3s}.hero-slab:hover:before{opacity:1}.hero-slab:hover{border-color:#ffaa3c59;transform:translateY(-3px);box-shadow:0 6px 18px -4px #00000080,0 0 20px -6px #ff8c321a}.hero-slab.active{border-color:#ffb45066;background:linear-gradient(155deg,#141c2cf2,#0c1422fa);box-shadow:0 0 0 1px #ffb4501a,0 0 20px -4px #ffa03226,inset 0 1px #ffc86414}.hero-slab-preview{width:48px;height:56px;background:#0a1220cc;border:1px solid rgba(255,255,255,.08);border-radius:10px;position:relative;flex-shrink:0;overflow:hidden}.hero-slab-info{flex:1;min-width:0}.hero-slab-name{font-size:14px;font-weight:800;color:#e8edf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;letter-spacing:.3px}.hero-slab-meta{font-size:11px;color:#5a6f8c;font-weight:600;margin-top:2px}.editor-container{display:flex;gap:28px;align-items:stretch;min-height:460px}.editor-config{flex:1;display:flex;flex-direction:column;gap:20px}.editor-preview-side{width:260px;background:linear-gradient(180deg,#080e1af2,#040812fa);border:1px solid rgba(255,255,255,.08);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.editor-preview-side:before{content:"";position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(255,160,60,.08) 0%,transparent 65%);pointer-events:none}.editor-preview-label{position:absolute;top:14px;left:18px;font-size:9px;font-weight:900;color:#4a5a74;text-transform:uppercase;letter-spacing:2px}.pedestal{width:140px;height:14px;background:linear-gradient(180deg,#192337e6,#0f1626f2);border:1px solid rgba(255,255,255,.06);border-radius:50%;margin-top:-6px;box-shadow:0 8px 20px #00000080,0 0 30px -8px #ff8c320f}.btn-blueprint{border:1px dashed rgba(100,120,150,.4)!important;background:#0f162466!important;color:#6b7f98!important;box-shadow:none!important;display:flex;flex-direction:column;gap:6px;transition:all .3s ease!important;animation:border-pulse 3s infinite ease-in-out}.btn-blueprint:hover{border-color:#ffb45066!important;color:#c0cfe0!important;background:#ffb4500a!important;box-shadow:0 0 20px -6px #ff8c321a!important}.btn-blueprint:after{display:none!important}.btn-blueprint:before{display:none!important}.queue-item-label{flex:1;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item-status{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:6px;white-space:nowrap}.queue-queued .queue-item-status{color:var(--text-dim);background:#ffffff0d}.queue-en-route .queue-item-status{color:var(--accent);background:#ff9f431a}.queue-working .queue-item-status{color:var(--green);background:#00e6761a}.queue-item-cancel{background:none;border:none;color:var(--red);font-size:12px;cursor:var(--cursor-pointer);opacity:.4;transition:opacity .15s;padding:2px;line-height:1}.queue-item-cancel:hover{opacity:1}.villager-panel{position:fixed;right:20px;top:50%;transform:translateY(-50%);width:240px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius);z-index:100;overflow:hidden}.villager-panel-header{display:flex;align-items:center;gap:10px;padding:14px}.villager-panel-avatar{font-size:28px;width:40px;height:40px;background:#ffffff0d;border-radius:10px;display:flex;align-items:center;justify-content:center}.villager-panel-name-section{flex:1;display:flex;flex-direction:column;gap:2px}.villager-panel-name{font-size:14px;font-weight:700;color:var(--text);cursor:var(--cursor-pointer);transition:color .15s}.villager-panel-name:hover{color:var(--accent)}.villager-panel-status{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.villager-panel-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:var(--cursor-pointer);padding:4px;transition:color .15s}.villager-panel-close:hover{color:var(--red)}.villager-panel-divider{height:1px;background:var(--glass-border)}.villager-panel-skills-title{padding:10px 14px 4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.villager-panel-skills{padding:4px 14px 14px;display:flex;flex-direction:column;gap:8px}.villager-skill-row{display:flex;align-items:center;gap:8px}.villager-skill-icon{font-size:14px;width:18px;text-align:center}.villager-skill-name{font-size:11px;font-weight:600;color:var(--text);text-transform:capitalize;min-width:72px}.villager-skill-bar{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.villager-skill-fill{height:100%;background:linear-gradient(90deg,var(--accent),#f7971e);border-radius:3px;transition:width .3s ease}.villager-skill-level{font-size:11px;font-weight:700;color:var(--gold);min-width:16px;text-align:right}.wiki-modal{width:min(920px,100%);min-width:0;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}.wiki-content{flex:1 1 auto;overflow:hidden;padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px}.wiki-overlay{align-items:flex-start;overflow-y:auto;padding:12px}.wiki-modal-header{align-items:flex-start;gap:14px;border-bottom:1px solid var(--glass-border);background:radial-gradient(circle at top right,rgba(255,159,67,.15),transparent 48%),radial-gradient(circle at top left,rgba(108,92,231,.14),transparent 45%)}.wiki-modal-title{color:var(--gold);font-size:21px;margin:0}.wiki-subtitle{margin-top:4px;color:var(--text-dim);font-size:12px;line-height:1.35}.wiki-section{border:1px solid var(--glass-border);border-radius:12px;padding:12px;background:#ffffff08;min-width:0}.wiki-section-active{flex:1 1 auto;overflow-y:auto}.wiki-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.wiki-tab{border:1px solid var(--glass-border);border-radius:12px;background:#ffffff0a;color:var(--text);cursor:var(--cursor-pointer);font-family:var(--font);padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .15s ease,border-color .15s ease,background .15s ease}.wiki-tab:hover{transform:translateY(-1px);border-color:#ff9f4399}.wiki-tab-active{border-color:var(--accent);background:#ff9f431f}.wiki-tab-icon{font-size:22px;line-height:1}.wiki-tab-label{font-size:11px;font-weight:700;text-align:center;line-height:1.1}.wiki-section h3{margin:0 0 8px;font-size:15px;color:var(--accent);display:flex;align-items:center;gap:8px}.wiki-section-icon{width:24px;height:24px;border-radius:7px;background:#ffffff14;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.wiki-section-active::-webkit-scrollbar{width:8px}.wiki-section-active::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:999px}.wiki-section ul{list-style-type:disc;padding-left:18px;margin:0;font-size:12px;color:var(--text);line-height:1.45}.wiki-section ul li+li{margin-top:4px}.wiki-section ul li strong{color:var(--green)}@media(max-width:900px){.wiki-nav{display:flex;overflow-x:auto;gap:8px;padding-bottom:2px}.wiki-tab{min-width:96px;flex:0 0 auto}}@media(max-width:560px){.wiki-overlay{padding:8px}.wiki-modal{max-height:calc(100vh - 16px)}.wiki-modal-header{padding:12px 14px 10px}.wiki-modal-title{font-size:18px}.wiki-subtitle{font-size:11px}.wiki-content{padding:10px 12px 12px;gap:10px}.wiki-section{padding:10px}.wiki-tab{min-width:88px;padding:8px 7px}.wiki-tab-icon{font-size:20px}.wiki-tab-label{font-size:10px}}.menu-lobby-card{position:relative;border-radius:20px;border:1px solid rgba(255,180,80,.12);background:linear-gradient(155deg,#0e1626f5,#080e1cf7),#080c16f2;box-shadow:0 0 0 1px #0006,0 28px 70px #00000080,inset 0 1px #ffffff0f}.lobby-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 16px}.lobby-badge{border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#a0b4ce;font-size:11px;font-weight:700;letter-spacing:.5px;border-radius:999px;padding:5px 10px}.lobby-badge-busy{color:#ffcc70;border-color:#ffb43c40;background:#ffb43c14}.menu-screen .build-modal-section{border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff05}@media(max-width:860px){.menu-screen .world-select-card{min-width:0;width:min(100%,620px)!important;padding:22px 18px!important}.editor-container{flex-direction:column}.editor-preview-side{width:100%;min-height:200px}.hero-slab-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
