:root{--cyan:#45f4ff;--violet:#8a5cff;--bg:#04060b;--muted:#8790a8;--line:rgba(255,255,255,.1)}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--bg);color:#f7fbff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow-x:hidden}.playing{overflow:hidden}
button,input,select{font:inherit}button{cursor:pointer;color:inherit}#game{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:0;filter:blur(0) saturate(1) contrast(1);transform:scale(1);transform-origin:center;transition:opacity .18s ease,filter .12s ease,transform .12s ease}.canvas-ready #game{opacity:1}.grain{display:none}
header{position:fixed;z-index:4;top:0;left:0;right:0;height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(5,7,15,.88),rgba(5,7,15,.42));backdrop-filter:blur(14px)}
.playing header{display:none}
.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none}.brand-mascot{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(69,244,255,.4))}.auth-mascot{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto 16px;filter:drop-shadow(0 0 25px rgba(69,244,255,.34))}.brand-word{font-size:15px;font-weight:950;letter-spacing:.13em}.brand-word small{display:block;color:var(--cyan);font-size:10px;letter-spacing:.34em;margin-top:5px}.server{font-size:10px;letter-spacing:.16em;color:var(--muted)}.server i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#69ff9e;box-shadow:0 0 10px #69ff9e;margin-right:8px}.server span{margin:0 8px}.server b{color:#fff}
.header-actions{display:flex;align-items:center;gap:10px}.social-x{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:#fff;text-decoration:none;transition:border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.social-x svg{width:16px;height:16px;fill:currentColor}.social-x:hover,.social-x:focus-visible{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 20px rgba(69,244,255,.16);transform:translateY(-1px);outline:none}.ghost,.exit{border:1px solid var(--line);background:rgba(255,255,255,.035);padding:11px 18px;font-size:10px;letter-spacing:.14em}.ghost:hover,.secondary:hover{border-color:var(--cyan)}
main{position:relative;z-index:2;width:min(1440px,92vw);min-height:100vh;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);align-items:center;gap:clamp(32px,5vw,80px);padding:118px 0 50px}.hero{max-width:720px;min-width:0}.eyebrow{font-size:10px;letter-spacing:.36em;color:var(--cyan);font-weight:700;margin-bottom:22px}.hero h1{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(62px,6.5vw,112px);line-height:.82;letter-spacing:0;margin:0;text-shadow:0 4px 40px #000}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--cyan);filter:drop-shadow(0 0 16px rgba(69,244,255,.28))}.hero p{max-width:540px;margin:26px 0;color:#a2aabd;font-size:15px;line-height:1.7}.actions{display:flex;gap:12px}.primary,.secondary{height:52px;border:0;padding:0 25px;font-size:11px;font-weight:800;letter-spacing:.13em}.primary{background:var(--cyan);color:#031014;box-shadow:0 0 38px rgba(69,244,255,.22)}.primary:hover{background:#fff}.primary span{margin-left:25px;font-size:18px}.secondary{background:rgba(255,255,255,.035);border:1px solid var(--line)}.full{width:100%;margin-top:12px}.trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.trust span{padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#8993aa;font-size:8px;letter-spacing:.11em}
.glass{background:linear-gradient(140deg,rgba(17,22,38,.9),rgba(8,11,22,.82));border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px);box-shadow:0 28px 70px rgba(0,0,0,.38)}.leader-card{padding:24px;width:100%;max-height:calc(100vh - 135px);overflow:auto}.card-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.17em;margin-bottom:22px}.card-head small{color:#61ffad}.prize{margin-top:16px;padding:20px;background:linear-gradient(100deg,rgba(138,92,255,.13),rgba(69,244,255,.08));border-left:2px solid var(--violet);display:grid;grid-template-columns:1fr auto}.prize span,.prize small{font-size:8px;letter-spacing:.14em;color:#9ca5ba}.prize b{font-size:20px;color:#fff}.prize small{margin-top:8px;grid-column:1/3}
.holder-list{min-height:240px;max-height:260px;overflow:auto;padding-right:4px}.holder-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.holder-rank{font:18px monospace;color:var(--cyan)}.holder-main{display:flex;flex-direction:column;gap:4px;min-width:0}.holder-main b{font-size:10px;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holder-main span,.holder-loading{font-size:8px;color:var(--muted)}.holder-main span{color:#ffcf5b;font-weight:900;letter-spacing:.14em}.holder-value{text-align:right}.holder-value b{display:block;font-size:10px}.holder-value small{color:#61ffad;font-size:8px}.holder-loading{padding:80px 10px;text-align:center;line-height:1.7}.prize{margin-top:16px;padding:20px;background:linear-gradient(100deg,rgba(138,92,255,.13),rgba(69,244,255,.08));border-left:2px solid var(--violet);display:grid;grid-template-columns:1fr auto}.prize span,.prize small{font-size:8px;letter-spacing:.14em;color:#9ca5ba}.prize b{font-size:20px;color:#fff}.prize small{margin-top:8px;grid-column:1/3}
.mission-panel{margin-top:28px;padding:18px;max-width:590px}.mission-panel .card-head{margin-bottom:8px}.mission-help{margin:0 0 12px!important;font-size:9px!important;line-height:1.5!important;color:#8f9ab1!important}.mission-list{display:grid;gap:8px;max-height:300px;overflow:auto;padding-right:4px}.mission-row{display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}.mission-copy b{display:block;font-size:10px;letter-spacing:.06em}.mission-copy span{display:block;margin-top:4px;color:#c0c7d7;font-size:8px;line-height:1.4}.mission-copy em{display:block;margin-top:5px;color:var(--cyan);font-size:7px;font-style:normal;letter-spacing:.08em}.mission-progress{grid-column:1/2;height:4px;background:rgba(255,255,255,.08);overflow:hidden}.mission-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#61ffad);box-shadow:0 0 12px var(--cyan)}.mission-row small{grid-column:1/2;color:#9aa4bb;font-size:8px}.mission-claim{grid-column:2;grid-row:1/4;align-self:stretch;min-width:92px;border:1px solid rgba(69,244,255,.35);background:rgba(69,244,255,.08);color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:.1em;padding:0 10px}.mission-claim:disabled{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#626b80;cursor:not-allowed}
.how-modal{position:relative;width:min(920px,94vw);max-height:92vh;overflow:auto;padding:34px}.how-modal h2{margin:0 0 22px;font-size:34px}.how-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.how-grid article{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:16px}.how-grid b{display:block;color:#fff;font-size:12px;letter-spacing:.08em;margin-bottom:8px}.how-grid span{display:block;color:#b7c1d5;font-size:10px;line-height:1.55}
.reward-ladder{margin-top:14px;border-top:1px solid var(--line)}.reward-ladder div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:8px}.reward-ladder b{color:#fff}.reward-ladder span{color:var(--muted)}
.world-guide{position:relative;z-index:2;width:min(1440px,92vw);margin:0 auto;padding:64px 0 90px}.playing .world-guide{display:none}.world-guide-head{max-width:620px;padding:4px 0 10px;background:linear-gradient(90deg,rgba(4,6,11,.72),rgba(4,6,11,.44) 72%,transparent);text-shadow:0 3px 18px #000}.world-guide-head h2{margin:0;font-size:38px}.world-guide-head>p:last-child{color:#aab3c7;font-size:13px}.world-items{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.world-items article{min-width:0;padding:18px;border:1px solid var(--line);background:rgba(8,12,22,.82)}.world-items img,.portal-preview{display:block;width:100%;height:150px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.55))}.world-items b{display:block;font-size:9px;letter-spacing:.12em}.world-items small{display:block;margin-top:7px;color:var(--muted);font-size:8px;line-height:1.5}.portal-preview{position:relative}.portal-preview:before,.portal-preview:after{content:"";position:absolute;left:50%;top:50%;border:6px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);box-shadow:0 0 24px var(--cyan)}.portal-preview:before{width:80px;height:34px}.portal-preview:after{width:55px;height:20px;border-color:#a985ff}
.holder-notice{margin-top:18px;padding:11px 14px;border-left:2px solid #61ffad;background:rgba(97,255,173,.07);color:#b9ffd5;font-size:9px;font-weight:900;letter-spacing:.08em}
.claim-holder-notice{margin:14px 0 16px}
.bead-guide>div{height:150px;display:grid;grid-template-columns:repeat(5,max-content);place-content:center;gap:12px 16px}.bead-guide>div span{display:inline-flex;align-items:center;gap:6px}.bead-guide>div b{font:900 13px monospace}.bead{width:17px;height:17px;border-radius:50%;display:inline-block;flex:0 0 auto}
.modal{position:fixed;z-index:10;inset:0;display:grid;place-items:center;background:rgba(2,4,10,.78);backdrop-filter:blur(10px);padding:20px}.hidden{display:none!important}.modal-card{position:relative;width:min(430px,92vw);padding:38px;max-height:95vh;overflow:auto}.modal-card h2,.character-modal h2,.admin-modal h2{text-align:center;margin:0;font-size:30px;letter-spacing:.04em}.modal-card>p:not(.eyebrow){text-align:center;color:var(--muted);font-size:12px;line-height:1.6}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;color:#727b91}label{display:block;font-size:8px;letter-spacing:.16em;color:#8c95aa;margin:18px 0}input,select{width:100%;margin-top:8px;padding:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);outline:none;color:#fff}select{color:#dce8ff}input:focus,select:focus{border-color:var(--cyan)}.error{min-height:17px;color:#ff6b85;font-size:10px}.terms{display:block;text-align:center;color:#586176;margin-top:18px;line-height:1.5}.profile-card{text-align:center}.profile-card code{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:var(--cyan);padding:8px 14px;border:1px solid #45f4ff33;margin:12px}.wallet-status{margin:5px auto 12px;width:max-content;max-width:100%;padding:7px 12px;border:1px solid #ffb24a44;color:#ffb24a;font-size:8px;letter-spacing:.12em}.wallet-status.verified{border-color:#61ffad55;color:#61ffad}.claim-rules{font-size:8px;color:var(--muted);line-height:1.6}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:20px 0}.stats div{background:#0b0e19;padding:18px 8px;display:flex;flex-direction:column;gap:8px}.stats span{font-size:7px;color:var(--muted);letter-spacing:.12em}.stats b{font-size:18px}
body.gameover-pending header{display:none}#gameover{opacity:0;background:rgba(2,4,10,0);backdrop-filter:blur(0);transition:opacity .85s ease,background .85s ease,backdrop-filter .85s ease}#gameover .modal-card{opacity:0;transform:scale(.96);filter:blur(9px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1),filter .85s ease}#gameover.revealed{opacity:1;background:rgba(2,4,10,.78);backdrop-filter:blur(10px)}#gameover.revealed .modal-card{opacity:1;transform:scale(1);filter:blur(0)}
.admin-modal{position:relative;width:min(1220px,96vw);padding:32px;max-height:94vh;overflow:auto}.admin-modal>.eyebrow{text-align:center;margin-bottom:10px}.admin-grid{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(280px,1fr) minmax(340px,390px);gap:16px;margin-top:24px}.admin-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.admin-mission,.admin-reward{padding:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.admin-mission{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-mission input,.admin-mission select{margin-top:0;padding:9px;font-size:10px}.admin-mission input[data-field="description"]{grid-column:1/3}.admin-reward b{display:block;font-size:10px;letter-spacing:.06em}.admin-reward span,.admin-reward small,.admin-info{display:block;margin-top:6px;color:var(--muted);font-size:8px;line-height:1.5}.admin-actions{display:flex;gap:6px;margin-top:10px}.admin-actions button{flex:1;border:1px solid rgba(69,244,255,.25);background:rgba(69,244,255,.07);color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:.12em;padding:9px 6px}#adminMap{width:100%;height:auto;aspect-ratio:1/1;display:block;border:1px solid rgba(69,244,255,.2);background:#050812;cursor:crosshair}
.character-modal{position:relative;width:min(1180px,96vw);padding:32px;max-height:94vh;overflow:auto}.character-modal>.eyebrow{text-align:center;margin-bottom:10px}.character-search{display:block;width:min(520px,100%);margin:18px auto 0}.character-roles{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:12px auto 6px}.character-roles button{border:1px solid var(--line);background:rgba(255,255,255,.03);padding:7px 10px;color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.08em}.character-roles button.selected{border-color:var(--cyan);color:var(--cyan);background:rgba(69,244,255,.08)}.character-role-description{min-height:18px;margin:0 auto 8px;text-align:center;color:var(--muted);font-size:8px;line-height:1.5}.character-start{display:block;margin:12px auto 4px;min-width:230px}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.character-card{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:10px;text-align:left;transition:.2s;min-width:0}.character-card:hover,.character-card.selected{border-color:var(--cyan);background:rgba(69,244,255,.07);transform:translateY(-2px)}.character-portrait{height:126px;display:grid;place-items:center;background:radial-gradient(circle,rgba(69,244,255,.12),rgba(138,92,255,.05) 48%,transparent 70%);overflow:hidden}.character-card img{width:auto;height:auto;max-width:92%;max-height:118px;object-fit:contain;display:block;filter:drop-shadow(0 10px 18px #000);transform:scale(var(--portrait-scale,1));transform-origin:center}.character-portrait.mirror img{transform:scaleX(-1) scale(var(--portrait-scale,1))}.character-card img.missing{opacity:0}.character-card>b{display:block;font-size:9px;margin:7px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-card>span{display:block;color:var(--cyan);font-size:7px;letter-spacing:.1em}.character-card small{display:block;color:var(--muted);font-size:7px;line-height:1.45;margin-top:5px;min-height:30px}.character-matchup{display:grid;gap:5px;margin-top:7px}.character-matchup p{margin:0;color:var(--muted);font-size:7px;line-height:1.45}.character-matchup b{display:inline;color:#fff;font-size:6px;margin:0 4px 0 0;letter-spacing:.08em}.character-matchup p:first-child b{color:#ff9e9e}.character-matchup p:last-child b{color:#79f5c4}
#hud{position:fixed;z-index:5;inset:0;pointer-events:none}.game-logo{position:absolute;top:25px;left:30px;font-size:12px;letter-spacing:.2em}.game-logo b{color:var(--cyan)}.game-logo small{display:block;margin-top:7px;color:var(--muted);font-size:7px}.ability-badge{position:absolute;top:78px;left:30px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;max-width:calc(100vw - 60px);padding:7px 10px;border:1px solid #45f4ff55;color:var(--cyan);font-size:8px;letter-spacing:.13em}.mimic-memory{display:inline-flex;align-items:center;gap:5px;padding-left:7px;border-left:1px solid rgba(169,133,255,.55);color:#d8c7ff}.mimic-memory b{display:grid;place-items:center;width:17px;height:17px;border:1px solid rgba(169,133,255,.75);color:#fff;font-size:9px;letter-spacing:0}.view-bot{position:absolute;top:112px;left:30px;transform:none;height:30px;border:1px solid rgba(255,207,91,.4);background:rgba(255,207,91,.1);color:#ffcf5b;font-size:8px;font-weight:900;letter-spacing:.14em;padding:0 12px;pointer-events:auto}.view-bot.active{border-color:rgba(97,255,173,.55);background:rgba(97,255,173,.12);color:#61ffad}.game-missions{position:absolute;top:150px;left:30px;width:245px;max-height:calc(100vh - 252px);overflow:auto;padding:14px;pointer-events:auto}.game-missions h3{font-size:9px;letter-spacing:.18em;margin:0 0 10px}.game-mission{display:grid;grid-template-columns:1fr auto;gap:5px 8px;padding:7px 0;border-top:1px solid rgba(255,255,255,.07);font-size:8px;color:#aab2c4}.game-mission b{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-mission span{color:var(--cyan);font-family:monospace}.game-mission i{grid-column:1/3;height:3px;background:rgba(255,255,255,.08);overflow:hidden}.game-mission em{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#61ffad)}.game-mission button{grid-column:1/3;height:24px;border:1px solid rgba(97,255,173,.38);background:rgba(97,255,173,.08);color:#61ffad;font-size:8px;font-weight:900;letter-spacing:.14em}.game-mission.done b{color:#61ffad}.game-mission.empty{display:block;color:var(--muted)}#scoreBox{position:absolute;top:24px;left:50%;transform:translateX(-50%);text-align:center}#scoreBox span{display:block;font-size:8px;letter-spacing:.22em;color:var(--muted)}#scoreBox b{font:28px monospace}.game-leaders{position:absolute;right:24px;top:24px;width:230px;padding:16px}.game-leaders h3{font-size:9px;letter-spacing:.18em;margin:0 0 12px}.game-leaders div div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:8px;color:#aab2c4}.game-leaders div div span{display:flex;min-width:0;flex-direction:column;gap:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-leaders div div small{color:#ffcf5b;font-size:7px;font-weight:900;letter-spacing:.14em}.game-leaders .me{color:var(--cyan)}.controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:auto auto;gap:4px 12px;font-size:8px;color:var(--muted)}.controls b{color:#fff}.exit{position:absolute;bottom:24px;right:24px;pointer-events:auto}.final-score{text-align:center;margin:26px}.final-score span{display:block;color:var(--muted);font-size:9px;letter-spacing:.2em}.final-score b{font:52px monospace;color:var(--cyan)}.run-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:20px 0}.run-summary div{background:#0a0d18;padding:13px 5px;text-align:center}.run-summary span{display:block;color:var(--muted);font-size:9px;letter-spacing:.2em}.run-summary div{background:#0a0d18;padding:13px 5px;text-align:center}.run-summary span{display:block;font-size:7px;color:var(--muted);margin-bottom:5px}.run-summary b{font-size:13px;color:#fff}
body.mind-disrupted #game{filter:blur(2.6px) saturate(.7) contrast(.88);transform:scale(1.014)}
body.mind-disrupted #hud{animation:mindHudShake .16s steps(2,end) infinite}
@keyframes mindHudShake{0%{transform:translate3d(-1px,1px,0)}25%{transform:translate3d(2px,0,0)}50%{transform:translate3d(0,-1px,0)}75%{transform:translate3d(-2px,0,0)}100%{transform:translate3d(1px,1px,0)}}
@media(prefers-reduced-motion:reduce){body.mind-disrupted #hud{animation:none}}
@media(max-width:1050px){main{grid-template-columns:1fr;padding:120px 4vw 40px}.leader-card{width:100%;max-height:none}.character-grid{grid-template-columns:repeat(3,1fr)}.admin-grid{grid-template-columns:1fr}}@media(max-width:650px){header{height:70px;padding:0 20px}.server{display:none}main{display:block;padding:105px 24px 30px;width:100%}.hero h1{font-size:60px}.leader-card{margin-top:30px}.mission-panel{max-width:none}.mission-row{grid-template-columns:1fr}.mission-claim{grid-column:1;grid-row:auto;height:36px}.admin-mission{grid-template-columns:1fr}.admin-mission input[data-field="description"]{grid-column:1}.game-leaders{right:10px;top:70px;width:160px}.game-missions{left:10px;top:170px;width:160px;padding:10px}.controls{display:none}.hero p{margin:22px 0}.actions{flex-direction:column}.actions button{width:100%}.character-grid{grid-template-columns:repeat(2,1fr)}.character-modal,.admin-modal{padding:20px}.character-card small{min-height:42px}}
.mission-check{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:6px;border-radius:50%;background:#61ffad;color:#05110b;font-size:10px;box-shadow:0 0 15px rgba(97,255,173,.45)}
.bounty-target{grid-column:1/3;display:block;color:#ffcf5b;font-size:8px;letter-spacing:.12em}
.admin-section-title{margin:14px 0 2px;color:#61ffad;font-size:8px;font-weight:900;letter-spacing:.18em}
.admin-reward.completed{border-color:rgba(97,255,173,.24);background:rgba(97,255,173,.045)}

.admin-modal{background:radial-gradient(circle at 70% 12%,rgba(69,244,255,.11),transparent 32%),linear-gradient(145deg,rgba(17,22,38,.94),rgba(8,11,22,.9))}

.admin-density-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.admin-density-form .card-head,.admin-density-form button,.admin-density-form .error,.admin-density-summary{grid-column:1/3}
.admin-density-form label{font-size:8px;color:var(--muted);letter-spacing:.08em;margin:0}
.admin-density-form input{margin-top:4px;padding:8px;font-size:10px}
.admin-density-form label small,.admin-density-summary{display:block;margin-top:4px;color:rgba(232,238,255,.58);font-size:7px;line-height:1.35;letter-spacing:0;text-transform:none}
#adminGamePanelBtn{left:200px}
.admin-grid>section{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);padding:14px}
.admin-object-form{margin-top:12px;padding:12px;border:1px solid rgba(69,244,255,.16);background:linear-gradient(135deg,rgba(69,244,255,.06),rgba(138,92,255,.05))}
.admin-object-form label{margin:0 0 8px}
.admin-coords{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-coords input,.admin-object-form select{padding:10px;margin-top:6px;font-size:10px}
.admin-object-form .secondary{height:40px;margin-top:9px;font-size:9px}
#adminObjects{max-height:74px;overflow:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
.admin-object-row{display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.admin-object-row b{font-size:9px;color:#fff}.admin-object-row span{grid-column:1;color:var(--muted);font-size:8px}.admin-object-row button{grid-column:2;grid-row:1/3;width:26px;height:26px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);font-size:16px;line-height:1}
.admin-effect-row{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07)}.admin-effect-row b{display:block;color:#fff;font-size:8px;letter-spacing:.04em}.admin-effect-row span{display:block;margin-top:3px;color:#ffcf5b;font-size:8px}.admin-effect-row.clear{opacity:.58}.admin-effect-row.clear span{color:#8c95aa}.admin-effect-row.affected{border-color:rgba(255,207,91,.22);background:rgba(255,207,91,.035)}
.captures-head{margin-top:14px}.admin-object-row.capture{grid-template-columns:1fr}.admin-object-row.capture b{color:#61ffad}
.admin-tools-head{margin-top:18px}.admin-players{max-height:220px}.admin-player{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:8px}.admin-player.blocked{border-color:rgba(255,107,133,.28);background:rgba(255,107,133,.045)}.admin-player span{grid-column:1;color:var(--muted);line-height:1.4}.admin-player-actions{grid-column:2;grid-row:1/3;display:grid;gap:4px}.admin-player-actions button{height:24px;border:1px solid rgba(69,244,255,.22);background:rgba(69,244,255,.06);color:var(--cyan);font-size:7px;font-weight:900;letter-spacing:.08em}.admin-player-actions button[data-action="block"]{border-color:rgba(255,107,133,.3);background:rgba(255,107,133,.08);color:#ff8ca1}.admin-danger{display:grid;gap:6px;margin-top:10px}.admin-danger button{height:34px;border:1px solid rgba(255,107,133,.3);background:rgba(255,107,133,.07);color:#ff8ca1;font-size:8px;font-weight:900;letter-spacing:.1em}
.mission-editor-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:0 0 10px}.mission-editor-actions button{height:40px;margin:0;font-size:9px}.admin-mission{grid-template-columns:1.2fr .9fr .55fr;gap:9px;padding:14px;border-color:rgba(69,244,255,.14);background:rgba(69,244,255,.035)}.admin-mission label{margin:0;color:#9aa8c4;font-size:7px;letter-spacing:.12em}.admin-mission input,.admin-mission select{margin-top:5px;padding:9px;font-size:10px}.admin-mission .mission-description-field{grid-column:1/4}.admin-mission label:has([data-field="assignedTo"]){grid-column:1/2}.admin-mission label:has([data-field="rewardMode"]){grid-column:2/3}.admin-mission label:has([data-field="payout"]){grid-column:3/4}.admin-remove{grid-column:3/4;height:32px;border:1px solid rgba(255,107,133,.34);background:rgba(255,107,133,.09);color:#ff8ca1;font-size:8px;font-weight:900;letter-spacing:.12em}.admin-mission .mission-type-help{grid-column:1/3;align-self:center}
@media(max-width:900px){.world-items{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.admin-mission{grid-template-columns:1fr}.admin-mission input[data-field="description"],.admin-mission input[data-field="payout"],.admin-mission input[data-field="assignedTo"],.admin-remove{grid-column:1}.world-items{grid-template-columns:1fr}}
@media(max-width:650px){.mission-editor-actions{grid-template-columns:1fr}.admin-mission .mission-description-field,.admin-mission label:has([data-field="assignedTo"]),.admin-mission label:has([data-field="rewardMode"]),.admin-mission label:has([data-field="payout"]),.admin-mission .mission-type-help,.admin-remove{grid-column:1}}
#miniMap{position:absolute;right:28px;bottom:78px;width:150px;height:150px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(3,6,13,.58);box-shadow:0 14px 40px rgba(0,0,0,.45);pointer-events:auto;cursor:pointer;transition:width .2s,height .2s,bottom .2s,right .2s}.game-mission small{grid-column:1/3;color:#7f8aa2;font-size:7px}.admin-player{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}.admin-player span{grid-column:1}.admin-player button{grid-column:2;grid-row:1/3;border:1px solid rgba(69,244,255,.28);background:rgba(69,244,255,.07);color:var(--cyan);font-size:7px;font-weight:900;letter-spacing:.1em;padding:8px}
.mission-type-help{grid-column:1/4;color:#8f9ab1;font-size:7px;line-height:1.45}
.mission-list,.game-missions,.admin-list{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mission-list{max-height:300px}.game-missions{max-height:min(258px,calc(100vh - 220px))}
.mission-stage{display:inline-grid;place-items:center;min-width:24px;height:15px;margin-left:7px;padding:0 5px;border:1px solid rgba(255,207,91,.42);border-radius:4px;background:rgba(255,207,91,.1);color:#ffcf5b;font-size:7px;font-weight:900;line-height:1;vertical-align:middle}
.game-mission .mission-stage{min-width:22px;height:13px;margin-left:5px;padding:0 4px;font-size:6px}
.world-items img,.portal-preview,.dynamite-preview,.drink-preview,.cave-preview,.trap-preview,.morph-preview{display:block;width:100%;height:150px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.55))}.world-object-sprite{background:transparent!important}.world-object-sprite.cactus-sprite{height:150px;max-height:150px;object-fit:contain}.world-object-sprite.pineapple-sprite{height:150px;max-height:150px;object-fit:contain}
.portal-preview,.dynamite-preview,.drink-preview,.cave-preview,.trap-preview,.morph-preview{position:relative;overflow:hidden;border-radius:8px;background:radial-gradient(circle at 50% 50%,rgba(69,244,255,.1),rgba(4,8,16,.18) 46%,rgba(0,0,0,.22) 72%)}
.portal-preview:before,.portal-preview:after{box-shadow:0 0 14px rgba(69,244,255,.55)}
.dynamite-preview:before{content:"";position:absolute;left:50%;top:52%;width:112px;height:48px;border-radius:24px;background:linear-gradient(90deg,#a41624 0 30%,#e02d38 30% 64%,#8a111b 64% 100%);transform:translate(-50%,-50%) rotate(-14deg);box-shadow:inset 0 7px 0 rgba(255,255,255,.16),inset 0 -8px 0 rgba(0,0,0,.24)}
.dynamite-preview:after{content:"";position:absolute;left:58%;top:30%;width:48px;height:38px;border-top:5px solid #3b2317;border-radius:50%;transform:rotate(-28deg);box-shadow:18px -7px 0 -12px #ffd65a,24px -12px 0 -12px #ff8b2f}
.drink-preview:before{content:"";position:absolute;left:50%;top:50%;width:74px;height:102px;border-radius:18px 18px 26px 26px;background:linear-gradient(155deg,#7dfff0,#22d5ff 42%,#1466c7);transform:translate(-50%,-50%) rotate(8deg);box-shadow:inset 10px 8px 0 rgba(255,255,255,.26),inset -10px -12px 0 rgba(0,0,0,.22)}
.drink-preview:after{content:"B";position:absolute;left:50%;top:50%;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#07101f;color:#7dfff0;font-weight:950;letter-spacing:0;transform:translate(-50%,-50%) rotate(8deg);border:2px solid rgba(255,255,255,.75)}
.cave-preview:before{content:"";position:absolute;left:50%;top:58%;width:150px;height:78px;border-radius:80px 80px 16px 16px;background:linear-gradient(145deg,#33434d,#18202a 54%,#07090d);transform:translate(-50%,-50%);box-shadow:inset 0 14px 0 rgba(255,255,255,.08),0 18px 20px rgba(0,0,0,.4)}
.cave-preview:after{content:"";position:absolute;left:50%;top:62%;width:92px;height:58px;border-radius:70px 70px 12px 12px;background:radial-gradient(circle at 50% 20%,#172a35,#020305 70%);transform:translate(-50%,-50%)}
.morph-preview{display:grid;place-items:center}.morph-preview:before{content:"";position:absolute;left:50%;top:50%;width:82px;height:82px;border-radius:50%;background:rgba(138,92,255,.16);border:2px solid rgba(169,133,255,.85);transform:translate(-50%,-50%);box-shadow:0 0 28px rgba(138,92,255,.34),inset 0 0 22px rgba(169,133,255,.14)}.morph-preview img{position:relative;z-index:1;width:76px;height:76px;max-width:none;max-height:none;margin:0;object-fit:contain;filter:drop-shadow(0 9px 14px rgba(0,0,0,.55))}
.trap-preview:before{content:"";position:absolute;left:38%;top:55%;width:62px;height:62px;border-radius:50%;background:#252a33;transform:translate(-50%,-50%);box-shadow:inset -9px -10px 0 rgba(0,0,0,.32),inset 8px 8px 0 rgba(255,255,255,.08)}
.trap-preview:after{content:"";position:absolute;left:60%;top:54%;width:72px;height:20px;border-radius:20px;background:linear-gradient(90deg,#ffe36a,#ca8f20);transform:translate(-50%,-50%) rotate(-24deg);box-shadow:28px -20px 0 -4px rgba(255,83,107,.75)}
.bead{background:hsl(var(--bead-hue,124),100%,64%);box-shadow:0 0 8px hsla(var(--bead-hue,124),100%,64%,.45)}.bead.diamond{border-radius:4px;background:#cfffff;transform:rotate(45deg);box-shadow:0 0 7px rgba(69,244,255,.45)}
.death-reason{margin:12px 0 4px;padding:10px 12px;border:1px solid rgba(255,207,91,.22);background:rgba(255,207,91,.07);color:#ffd78a;text-align:center;font-size:10px;line-height:1.45}
.inventory-hud{position:absolute;left:50%;bottom:62px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(var(--inventory-columns,4),44px);gap:7px;padding:9px;pointer-events:none;z-index:22}.inventory-item{height:44px;display:grid;grid-template-rows:1fr auto;place-items:center;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);position:relative}.inventory-item img{max-width:25px;max-height:25px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.6))}.inventory-item.red-cactus{border-color:rgba(255,68,68,.28);background:rgba(255,31,45,.08)}.inventory-item.red-cactus img{filter:drop-shadow(0 5px 9px rgba(115,0,0,.72))}.inventory-item b{position:absolute;right:4px;top:3px;color:#fff;font:900 11px monospace}.inventory-item span{color:#8f9ab1;font-size:7px;font-weight:900;letter-spacing:.08em}.inventory-item.empty{opacity:.42}
@media(max-width:650px){.inventory-hud{bottom:18px;grid-template-columns:repeat(var(--inventory-columns,4),38px)}.inventory-item{height:38px}.inventory-item img{max-width:22px;max-height:22px}}

@keyframes slideInRight { from { transform: translateX(40px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* === CHAT === */
.game-chat {
  position: fixed;
  bottom: 54px;
  left: 14px;
  width: 240px;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
  z-index: 20;
  font-size: 12px;
  pointer-events: auto;
  background: rgba(6, 9, 20, 0.88);
  border: 1px solid rgba(255,255,255,.12);
}

.chat-header {
  padding: 5px 10px;
  font-size: 10px;
  letter-spacing: .1em;
  color: rgba(255,255,255,.5);
  border-bottom: 1px solid rgba(255,255,255,.08);
  cursor: move;
  user-select: none;
  touch-action: none;
}

.chat-messages {
  min-height: 36px;
  max-height: 140px;
  overflow-y: auto;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.chat-messages::-webkit-scrollbar { width: 3px; }
.chat-messages::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 2px; }

.chat-msg {
  color: rgba(255,255,255,.85);
  line-height: 1.35;
  word-break: break-word;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.chat-msg span {
  flex: 1;
  min-width: 0;
}

.chat-msg b {
  color: #61ffad;
  margin-right: 4px;
}

.chat-delete {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 1px solid rgba(255,83,107,.38);
  background: rgba(255,83,107,.12);
  color: #ff8fa1;
  border-radius: 50%;
  font-size: 12px;
  line-height: 1;
  padding: 0;
}

.chat-form {
  display: flex;
  border-top: 1px solid rgba(255,255,255,.08);
}

.chat-form input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 6px 8px;
  color: #fff;
  font-size: 12px;
  margin-top: 0;
  width: auto;
}

.chat-form input::placeholder { color: rgba(255,255,255,.32); }

.chat-form button {
  background: transparent;
  border: none;
  border-left: 1px solid rgba(255,255,255,.08);
  color: #61ffad;
  padding: 0 10px;
  cursor: pointer;
  font-size: 14px;
}

.chat-form button:hover { background: rgba(255,255,255,.06); }

.game-leaders{pointer-events:auto;user-select:none;max-height:360px;overflow:hidden}
.game-leaders-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;cursor:move;touch-action:none}
.game-leaders-head h3{margin:0!important;font-size:9px;letter-spacing:.18em}
.game-leaders-head button{height:24px;min-width:42px;border:1px solid rgba(69,244,255,.32);background:rgba(69,244,255,.08);color:var(--cyan);font-size:8px;font-weight:950;letter-spacing:.1em;padding:0 8px;pointer-events:auto}
.game-leaders #gameLeaders{display:grid;gap:2px}
.game-leaders #gameLeaders .leader-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:8px;color:#aab2c4;border-top:1px solid rgba(255,255,255,.045)}
.game-leaders #gameLeaders .leader-row:first-child{border-top:0}
.game-leaders #gameLeaders .leader-row span{display:flex;min-width:0;flex-direction:column;gap:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-leaders #gameLeaders .leader-row small{color:#ffcf5b;font-size:7px;font-weight:900;letter-spacing:.14em}
.game-leaders #gameLeaders .leader-row b{font-size:8px;color:#eef7ff}
.game-leaders #gameLeaders .leader-row.me{color:var(--cyan)}
.leader-empty{padding:8px 0;color:var(--muted);font-size:8px}
.admin-captures-feed{display:grid;gap:5px;min-height:74px;max-height:126px;overflow:auto;padding:8px;border:1px solid rgba(255,255,255,.07);background:rgba(3,6,13,.28)}
.admin-capture-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 7px;border-radius:8px;background:rgba(97,255,173,.045);border:1px solid rgba(97,255,173,.08);font-size:8px}
.admin-capture-row b,.admin-capture-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-capture-row b{color:#dfffea}
.admin-capture-row span{color:#61ffad}
.admin-capture-row small{color:#8d98ad;font-size:7px;white-space:nowrap}
.admin-empty-feed{display:grid;place-items:center;min-height:54px;color:#7f8aa2;font-size:8px}
.admin-player{grid-template-columns:minmax(0,1fr) minmax(92px,auto)!important;gap:6px 10px!important;padding:10px 8px!important;border-radius:9px;background:rgba(255,255,255,.022);font-size:9px!important}
.admin-player b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f2fbff;font-size:9px}
.admin-player span{font-size:8px!important;color:#aeb9cf!important}
.admin-player-actions{min-width:92px}
.admin-player-actions button,.admin-player button{height:30px!important;min-width:84px;padding:0 10px!important;border-radius:7px!important;border-color:rgba(69,244,255,.36)!important;background:rgba(69,244,255,.12)!important;color:#dffcff!important;font-size:8px!important;font-weight:950!important;letter-spacing:.08em!important}
.admin-player-actions button[data-action="block"]{border-color:rgba(255,107,133,.42)!important;background:rgba(255,107,133,.13)!important;color:#ffd4dc!important}
