:root{--indigo:#1a0f5e;--obsidian:#07050d;--violet:#8a2be2;--magenta:#ff2fd6;--lime:#a6ff3d;--cyan:#3ee8ff;--gold:#f5c542;--ember:#ff7a1a;--bone:#f1e9d2;--panel:#07050dd1;--border:#f5c54259;--font:Georgia, "Times New Roman", serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--obsidian);color:var(--bone);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:none;overflow:hidden}button{font-family:var(--font);cursor:pointer}input{font-family:var(--font)}a{color:var(--cyan)}.btn{border:1px solid var(--border);color:var(--bone);letter-spacing:2px;text-transform:uppercase;background:linear-gradient(#8a2be259,#1a0f5e99);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 26px;font-size:15px;transition:transform .12s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 0 #f5c54200}.btn:hover{transform:translateY(-1px);box-shadow:0 0 22px #8a2be273}.btn:active{transform:translateY(1px)scale(.98)}.btn.primary{color:#1a0a06;letter-spacing:5px;background:linear-gradient(#ffd86a,#c48a12);border-color:#ffe9a8;padding:18px 54px;font-size:20px;font-weight:700;box-shadow:0 0 40px #f5c54259,inset 0 1px #ffffff80}.btn.primary:hover{box-shadow:0 0 60px #f5c54299}.btn.ghost{background:0 0}.btn.small{letter-spacing:1.5px;padding:8px 16px;font-size:12px}.btn.magenta{background:linear-gradient(#ff2fd666,#500a4699)}.btn:disabled{opacity:.5;cursor:default;transform:none}.landing{text-align:center;height:100%;padding:calc(24px + var(--safe-top)) 20px calc(24px + var(--safe-bottom));background:radial-gradient(at 20% 15%,#8a2be259,#0000 50%),radial-gradient(at 80% 85%,#ff2fd638,#0000 45%),radial-gradient(at 60% 30%,#3ee8ff1f,#0000 40%),linear-gradient(#0c0620,#07050d 60%,#14061a);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.landing .stars{pointer-events:none;position:absolute;inset:0}.landing .geo{opacity:.12;pointer-events:none;width:70vmin;height:70vmin;animation:90s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.landing .content{z-index:1;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:760px;display:flex;position:relative}.title{letter-spacing:6px;background:linear-gradient(#fff2c2,#f5c542 45%,#b8720c);color:#0000;filter:drop-shadow(0 0 24px #f5c54259);text-transform:uppercase;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(34px,7vw,72px);font-weight:700;line-height:1}.title small{letter-spacing:6px;color:var(--cyan);-webkit-text-fill-color:var(--cyan);filter:none;margin-top:8px;font-size:.28em;display:block}.tagline{color:var(--magenta);letter-spacing:3px;text-transform:uppercase;margin:0;font-size:clamp(12px,2vw,16px);font-style:italic}.sub{color:#f1e9d2b3;margin:0;font-size:14px}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.stat-strip{letter-spacing:2px;color:#f1e9d2bf;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:24px;font-size:12px;display:flex}.stat-strip b{color:var(--gold);letter-spacing:1px;font-size:16px;display:block}.seed-form{align-items:center;gap:6px;display:flex}.seed-form input{border:1px solid var(--border);color:var(--bone);letter-spacing:3px;text-transform:uppercase;text-align:center;background:#07050db3;border-radius:999px;outline:none;width:150px;padding:9px 14px;font-size:14px}.seed-form input:focus{border-color:var(--cyan)}.footer-links{letter-spacing:2px;text-transform:uppercase;gap:18px;font-size:12px;display:flex}.footer-links button{color:#f1e9d299;letter-spacing:2px;text-transform:uppercase;background:0 0;border:none;font-size:12px}.footer-links button:hover{color:var(--gold)}.game-root{background:var(--obsidian);width:100%;height:100%;position:relative;overflow:hidden}.game-canvas{position:absolute;inset:0}.game-canvas canvas{margin:0 auto;display:block}.overlay{pointer-events:none;position:absolute;inset:0}.overlay>*{pointer-events:auto}.top-buttons{top:calc(8px + var(--safe-top));z-index:5;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.icon-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--bone);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07050d8c;border-radius:10px;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.icon-btn:hover{border-color:var(--gold);color:var(--gold)}.touch{z-index:4;pointer-events:none;position:absolute;inset:0}.touch .pad{bottom:calc(18px + var(--safe-bottom));pointer-events:auto;gap:10px;display:flex;position:absolute}.touch .pad.left{left:calc(16px + var(--safe-left))}.touch .pad.right{right:calc(16px + var(--safe-right));flex-wrap:wrap;justify-content:flex-end;width:170px}.tbtn{width:66px;height:66px;color:var(--bone);letter-spacing:1px;text-transform:uppercase;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:none;-webkit-user-select:none;user-select:none;background:#07050d59;border:1.5px solid #f5c54273;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex}.tbtn.big{border-color:#3ee8ff99;width:80px;height:80px;font-size:13px}.tbtn.attack{border-color:#ff2fd699}.tbtn.special{border-color:#a6ff3d99}.tbtn.active{background:#f5c54259;transform:scale(.94)}.tbtn.big.active{background:#3ee8ff59}.tbtn.attack.active{background:#ff2fd659}.tbtn.special.active{background:#a6ff3d59}.joystick{touch-action:none;background:#07050d4d;border:1.5px solid #f5c54266;border-radius:50%;width:130px;height:130px;position:relative}.joystick .knob{border:1px solid var(--gold);background:#f5c54266;border-radius:50%;width:54px;height:54px;position:absolute;top:38px;left:38px}.rotate{z-index:20;text-align:center;background:#07050deb;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:30px;display:flex;position:absolute;inset:0}.rotate .phone{border:2px solid var(--gold);border-radius:8px;width:40px;height:70px;animation:1.6s ease-in-out infinite alternate rot}@keyframes rot{to{transform:rotate(90deg)}}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07050db8;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;max-height:92vh;padding:22px 24px;overflow:auto;box-shadow:0 0 60px #8a2be240,inset 0 0 0 1px #ffffff08}.panel h2{letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin:0 0 4px;font-size:20px}.panel h3{letter-spacing:3px;text-transform:uppercase;color:var(--cyan);margin:16px 0 6px;font-size:13px}.panel p{color:#f1e9d2cc;margin:6px 0;font-size:14px;line-height:1.5}.panel .row{justify-content:flex-start}.field{letter-spacing:2px;text-transform:uppercase;color:#f1e9d2b3;flex-direction:column;gap:4px;margin:8px 0;font-size:12px;display:flex}.field input[type=text],.field input[type=email],.field input[type=password]{border:1px solid var(--border);color:var(--bone);letter-spacing:.5px;text-transform:none;background:#07050db3;border-radius:10px;outline:none;padding:10px 12px;font-size:15px}.field input:focus{border-color:var(--cyan)}.field input[type=range]{accent-color:var(--gold);width:100%}.settings-grid{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}@media (max-width:520px){.settings-grid{grid-template-columns:1fr}}.toggle{letter-spacing:1.5px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.toggle button{border:1px solid var(--border);color:var(--bone);letter-spacing:1px;background:#07050d99;border-radius:999px;padding:4px 12px;font-size:12px}.toggle button.on{border-color:var(--gold);color:var(--gold);background:#f5c5424d}.seg{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:#f1e9d2b3;letter-spacing:1px;text-transform:uppercase;background:0 0;border:none;padding:5px 12px;font-size:12px}.seg button.on{color:var(--gold);background:#f5c5424d}.error{color:#ff6a8a;font-size:13px}.ok{color:var(--lime);font-size:13px}.save-prompt{left:50%;bottom:calc(96px + var(--safe-bottom));z-index:12;background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:92vw;padding:12px 16px;animation:.35s ease-out rise;display:flex;position:absolute;transform:translate(-50%)}.save-prompt b{color:var(--gold);letter-spacing:2px}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.ach-toast{top:calc(70px + var(--safe-top));z-index:12;background:var(--panel);border:1px solid var(--gold);border-radius:12px;max-width:300px;padding:10px 14px;animation:.35s ease-out rise2;position:absolute;right:12px;box-shadow:0 0 30px #f5c5424d}.ach-toast small{letter-spacing:3px;color:var(--gold);font-size:10px;display:block}.ach-toast b{letter-spacing:1px;font-size:15px;display:block}.ach-toast span{color:#f1e9d2b3;font-size:12px}@keyframes rise2{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.lb-table{border-collapse:collapse;width:100%;font-size:14px}.lb-table th{text-align:left;letter-spacing:2px;text-transform:uppercase;color:#f1e9d28c;border-bottom:1px solid var(--border);padding:6px 8px;font-size:11px}.lb-table td{border-bottom:1px solid #ffffff0d;padding:8px}.lb-table tr:first-child td{color:var(--gold)}.lb-table tr:nth-child(2) td{color:var(--cyan)}.lb-table tr:nth-child(3) td{color:var(--magenta)}.lb-table .seed{letter-spacing:2px;cursor:pointer;font-family:monospace}.lb-table .seed:hover{color:var(--lime)}.share-preview{border:1px solid var(--border);border-radius:10px;width:100%;display:block}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.ach{opacity:.45;border:1px solid #ffffff14;border-radius:10px;padding:8px 10px;font-size:12px}.ach.on{opacity:1;border-color:var(--border);box-shadow:inset 0 0 20px #f5c54214}.ach b{letter-spacing:1.5px;color:var(--gold);margin-bottom:2px;font-size:12px;display:block}.mono{letter-spacing:2px;color:var(--lime);font-family:monospace}.center{text-align:center}.muted{color:#f1e9d28c;font-size:12px}.streamer .top-buttons{opacity:.25}.streamer .top-buttons:hover{opacity:1}
