:root{font-family:Bitter,serif;color:#3a2a1a;background-color:#f0e8d8}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at top,#f0e8d8,#e8e0d4 60%)}#app{width:100vw;height:100vh}.screen{display:none;width:100vw;height:100vh;box-sizing:border-box;overflow:hidden}.screen.active{display:block}#lobby-screen{display:none!important}#lobby-screen.active{display:block!important}.panel{background:#e5dcd0eb;border:1px solid rgba(168,148,104,.5);border-radius:8px;padding:16px;width:100%;height:100%;box-sizing:border-box;overflow:hidden;box-shadow:0 20px 50px #0000001a,inset 0 1px #ffffff4d}#login-screen{position:relative;overflow:hidden;background:#f0e8d8}#title-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.login-overlay-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;z-index:10;padding:24px;overflow-y:auto}.title-logo-block{text-align:center;-webkit-user-select:none;user-select:none}.title-logo{font-family:Cinzel Decorative,serif;font-size:clamp(2.2rem,6vw,5rem);color:#6b4a1a;text-shadow:0 2px 8px rgba(168,130,60,.4),0 1px 0 rgba(255,255,255,.6);letter-spacing:6px;margin:0 0 8px;line-height:1.1}.title-subtitle{font-family:Share Tech Mono,monospace;font-size:.78rem;color:#785a2da6;letter-spacing:5px;margin:0;text-transform:uppercase}.title-version{font-family:Share Tech Mono,monospace;font-size:.7rem;color:#785a2d80;letter-spacing:3px;margin:6px 0 0}.title-contact{margin:4px 0 0}.title-contact-link{font-family:Share Tech Mono,monospace;font-size:.7rem;color:#785a2d8c;letter-spacing:1px;text-decoration:none}.title-contact-link:hover{color:#a8823ce6;text-decoration:underline}.legal-link-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:Share Tech Mono,monospace;font-size:.68rem;letter-spacing:.8px}.legal-link-row a{color:#644b239e;text-decoration:none}.legal-link-row a:hover,.legal-link-row a:focus-visible{color:#644b23f2;text-decoration:underline}.title-legal-links{justify-content:center;margin-top:8px}.title-update-card{margin:18px auto 0;width:min(540px,90vw);padding:14px 16px 12px;border-radius:12px;text-align:left;background:#fffaf0c7;border:1px solid rgba(168,130,70,.3);box-shadow:0 12px 30px #6446141f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.title-update-kicker{margin:0 0 8px;font-family:Share Tech Mono,monospace;font-size:.72rem;letter-spacing:2px;color:#785a2dbf}.title-update-list{margin:0;padding-left:18px;display:grid;gap:5px;font-family:Share Tech Mono,monospace;font-size:.75rem;line-height:1.45;color:#5a4119e0}.title-update-list code{font-size:.72rem;padding:1px 4px;border-radius:4px;background:#c9a84c24;color:inherit}.title-update-note{margin:10px 0 0;font-family:Share Tech Mono,monospace;font-size:.68rem;letter-spacing:1.5px;color:#785a2d8c}.login-card{background:#fffcf5e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(168,130,70,.35);border-radius:14px;padding:32px 40px;min-width:320px;max-width:480px;width:90vw;box-shadow:0 12px 40px #6446142e,inset 0 1px #ffffffb3}.login-card .notice{color:#644b23b3;margin-top:0;margin-bottom:16px;font-size:12px}.login-card input{background:#f0e8d7cc;border:1px solid rgba(168,130,70,.45);color:#3a2a1a;font-family:Share Tech Mono,monospace;font-size:14px}.login-card input::placeholder{color:#785a3273}.login-card input:focus{outline:none;border-color:#966e2db3;background:#f0e8d7}.login-card button{background:#c8af8240;border:1px solid rgba(168,130,70,.45);color:#6b4a1a;font-size:12px}.login-card button:hover{background:#c8af8273;border-color:#966e2da6}.login-enter-btn{width:100%;padding:12px!important;font-size:14px!important;font-family:Cinzel,serif!important;letter-spacing:3px!important;background:linear-gradient(135deg,#c8a050,#a07830)!important;border:1px solid rgba(150,110,45,.6)!important;color:#fff8e8!important;text-shadow:0 1px 3px rgba(80,50,10,.4)!important;box-shadow:0 4px 16px #966e1e4d!important;transition:all .2s ease!important}.login-enter-btn:hover{background:linear-gradient(135deg,#d4ab58,#b08438)!important;box-shadow:0 6px 24px #a0782873!important;transform:translateY(-1px)}.login-entry-actions{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-battle-enter-btn{background:linear-gradient(135deg,#d8bf74,#ba9040)!important}.quick-battle-enter-btn:hover{background:linear-gradient(135deg,#e1ca85,#c59949)!important}@media (max-width: 560px){.login-entry-actions{grid-template-columns:1fr}}.discord-auth-section{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.discord-login-btn,.discord-logout-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:4px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:opacity .15s}.discord-login-btn{background:#5865f2;color:#fff}.discord-login-btn:hover{opacity:.85}.discord-logout-btn{background:transparent;color:#644b2399;border:1px solid rgba(100,75,35,.3);font-size:12px;padding:5px 10px}.discord-logout-btn:hover{opacity:.7}#discord-status{font-size:13px;color:#3c321ebf}.lobby-layout{display:flex;flex-direction:column;height:100vh;background:#f0e8d8}.lobby-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid rgba(168,148,104,.4);background:#dcd2c3f7;flex-shrink:0}.lobby-header-left{display:flex;align-items:center;gap:16px}.lobby-title{font-family:Cinzel Decorative,serif;font-size:1.1rem;color:#6b4a1a;margin:0;letter-spacing:3px}.lobby-select{padding:4px 8px;font-family:Share Tech Mono,monospace;font-size:.85em;background:#e5dcd0cc;border:1px solid #8a7348;border-radius:4px;color:#3a2a1a}.lobby-stats{font-family:Share Tech Mono,monospace;font-size:.8em;color:#8a7348}.lobby-section-title{font-family:Share Tech Mono,monospace;font-size:.75em;color:#8a7348;text-transform:uppercase;letter-spacing:2px;margin:0 0 6px;flex-shrink:0}.lobby-main{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:12px 20px;gap:12px}.lobby-rooms{flex:6;display:flex;flex-direction:column;min-height:0}.lobby-rooms .room-list{flex:1;overflow-y:auto;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.lobby-bottom{flex:4;display:grid;grid-template-columns:1fr 2fr;gap:12px;min-height:0}.lobby-players{display:flex;flex-direction:column;min-height:0}.lobby-player-list{flex:1;overflow-y:auto;list-style:none;padding:6px;margin:0;background:#f5f0e6cc;border:1px solid rgba(168,148,104,.35);border-radius:4px;font-family:Share Tech Mono,monospace;font-size:.85em;color:#3a2a1a}.lobby-player-list li{padding:2px 4px;border-bottom:1px solid rgba(168,148,104,.15)}.lobby-player-list li.afk{opacity:.7}.lobby-player-list li.map-editing{background:#a8946814}.lp-afk{color:#b36b2c;font-weight:700}.lp-presence{color:#7a5d1a;font-weight:700}.lobby-player-list li:last-child{border-bottom:none}.lobby-chat{display:flex;flex-direction:column;min-height:0}.lobby-chat-log{flex:1;overflow-y:auto;background:#f5f0e6cc;border:1px solid rgba(168,148,104,.35);border-radius:4px;padding:8px;font-size:.85em;font-family:Share Tech Mono,monospace;color:#3a2a1a;min-height:0}.lobby-chat-log .chat-from{color:#8a5a18;font-weight:700}.lobby-chat-input{margin-top:4px;width:100%;box-sizing:border-box;padding:6px 10px;font-family:Share Tech Mono,monospace;font-size:.85em;background:#e5dcd0cc;border:1px solid #8a7348;border-radius:4px;color:#3a2a1a;flex-shrink:0}.lobby-chat-input::placeholder{color:#64502880}.lobby-chat-input:focus{outline:none;border-color:#a07830;background:#f0e8d7}.lobby-footer{display:flex;align-items:center;gap:8px;padding:10px 20px;border-top:1px solid rgba(168,148,104,.4);background:#dcd2c3f7;flex-shrink:0}.lobby-legal-links{margin-left:auto;justify-content:flex-end}.lobby-btn{padding:6px 16px;font-family:Share Tech Mono,monospace;font-size:.8em;text-transform:uppercase;letter-spacing:1px;background:#e5dcd0cc;border:1px solid #8a7348;border-radius:4px;cursor:pointer;color:#3a2a1a;transition:background .15s}.lobby-btn.primary{background:linear-gradient(180deg,#d4b870,#b89840);color:#3a2a1a;font-weight:700;border-color:#a89468}.lobby-btn:hover{background:#d4b87066}.lobby-btn.primary:hover{background:linear-gradient(180deg,#e0c880,#c8a850)}.room-card{display:flex;align-items:center;gap:10px;padding:7px 12px;background:#f8f4ecd9;border:1px solid rgba(168,130,70,.22);border-radius:5px;transition:border-color .12s,transform .1s}.room-card:hover{border-color:#a8824680;transform:translateY(-1px);box-shadow:0 2px 8px #64461414}.rc-name{flex:0 0 auto;font-family:Cinzel,serif;font-size:.95rem;font-weight:600;color:#5a3a10;white-space:nowrap}.rc-comment{flex:1;font-family:Share Tech Mono,monospace;font-size:.8rem;color:#644b288c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:italic}.rc-tag{font-family:Share Tech Mono,monospace;font-size:.82rem;color:#644b28cc;background:#a882461a;border:1px solid rgba(168,130,70,.22);border-radius:3px;padding:2px 8px;white-space:nowrap;flex-shrink:0}.rc-time{font-family:Share Tech Mono,monospace;font-size:.85rem;white-space:nowrap;flex-shrink:0;text-align:right}.rc-timelimit{font-family:Share Tech Mono,monospace;font-size:.78rem;color:#644b2880}.rc-host{font-family:Share Tech Mono,monospace;font-size:.75rem;color:#644b2880;white-space:nowrap;flex-shrink:0}.rc-actions{display:flex;gap:5px;flex-shrink:0}.room-card-thumb-wrap{flex-shrink:0;width:48px;height:48px;border-radius:4px;overflow:hidden;border:1px solid rgba(168,130,70,.3);background:#ebe1cd99;display:flex;align-items:center;justify-content:center}.room-card-thumb-wrap canvas{display:block;max-width:48px;max-height:48px}.room-card-body{flex:1;min-width:0}.room-card-name{font-family:Cinzel,serif;font-size:.85rem;color:#5a3a10;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card-meta{font-family:Share Tech Mono,monospace;font-size:.7rem;color:#644b28b3}.room-card-time{font-family:Share Tech Mono,monospace;font-size:.7rem}.room-card-timer{color:#3c823ce6}.room-card-ended{color:#aa3228d9}.room-card-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.room-card-btn-join{background:linear-gradient(135deg,#c8a050,#a07830);border:1px solid rgba(140,100,35,.5);color:#fff8e8;font-family:Share Tech Mono,monospace;font-size:.72rem;padding:3px 10px;border-radius:3px;cursor:pointer;letter-spacing:.5px;transition:all .12s;text-transform:uppercase}.room-card-btn-join:hover{background:linear-gradient(135deg,#d4ab58,#b08438)}.room-card-btn-watch{background:#ebe1cdb3;border:1px solid rgba(168,130,70,.3);color:#503c19cc;font-family:Share Tech Mono,monospace;font-size:.72rem;padding:3px 10px;border-radius:3px;cursor:pointer;letter-spacing:.5px;transition:all .12s;text-transform:uppercase}.room-card-btn-watch:hover{background:#dcd0b9fa}.lobby-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center}.lobby-modal.hidden{display:none}.lobby-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059}.lobby-modal-content{position:relative;background:#f0eadefc;border:1px solid #a89468;border-radius:8px;padding:36px;width:min(660px,92vw);z-index:1;box-shadow:0 16px 48px #50370f33}.create-room-modal-content{width:min(760px,94vw);max-height:88vh;overflow:auto;padding:24px}.lobby-modal-content h3{font-family:Share Tech Mono,monospace;color:#6b4a1a;letter-spacing:2px;margin:0 0 20px;font-size:1.1rem}.create-room-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}.create-room-header h3{margin:0}.create-room-kicker{font-family:Share Tech Mono,monospace;font-size:.72rem;color:#644b237a;letter-spacing:2px}.create-room-form{display:flex;flex-direction:column;gap:12px}.cr-basic-section{background:#faf6eeb8;border-color:#a8824657}.cr-section{border:1px solid rgba(168,148,104,.26);border-radius:6px;background:#f8f4ec80;padding:12px;display:grid;gap:10px}.cr-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(168,148,104,.18);padding-bottom:7px}.cr-section-head h4{margin:0;font-family:Share Tech Mono,monospace;font-size:.78rem;color:#6b4a1a;letter-spacing:1.8px}.cr-section-head span{font-size:.72rem;color:#644b2380}.cr-subsection{display:grid;gap:5px}.cr-map-browser-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cr-preset-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cr-preset{min-height:46px;padding:8px 9px;border-radius:5px;border:1px solid rgba(138,115,72,.32);background:#e5dcd0a8;color:#3a2a1adb;font-family:Share Tech Mono,monospace;font-size:.74rem;text-align:left;text-shadow:none;letter-spacing:.5px}.cr-preset small{display:block;margin-top:3px;color:#644b2385;font-size:.65rem;text-transform:none}.cr-preset.active{background:linear-gradient(180deg,#d4b8709e,#bea05280);border-color:#8a6423b8;box-shadow:inset 0 1px #ffffff52}.cr-advanced{display:grid;gap:10px}.cr-advanced summary{cursor:pointer;width:fit-content;font-family:Share Tech Mono,monospace;font-size:.78rem;color:#6b4a1a;letter-spacing:1px;padding:6px 2px}.cr-advanced[open]{border-top:1px solid rgba(168,148,104,.22);padding-top:4px}.cr-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cr-label{display:flex;flex-direction:column;gap:5px;font-family:Share Tech Mono,monospace;font-size:.78rem;color:#644b23bf;letter-spacing:1px;text-transform:uppercase}.cr-hint{font-size:.68rem;color:#644b2373;text-transform:none;letter-spacing:0}.cr-label input,.cr-label select,.cr-label textarea{background:#e5dcd0cc;border:1px solid #8a7348;border-radius:4px;color:#3a2a1a;font-family:Share Tech Mono,monospace;font-size:.88rem;padding:8px 10px;box-sizing:border-box;width:100%}.cr-label input:focus,.cr-label select:focus,.cr-label textarea:focus{outline:none;border-color:#a07830}.cr-label textarea{min-height:94px;resize:vertical;background:#2a2010eb;color:#efe3c9;font-size:.74rem}.cr-status-text{min-height:18px;font-family:Share Tech Mono,monospace;font-size:.72rem;color:#8a7348;line-height:1.35}.cr-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cr-source-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cr-segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cr-segmented label{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid rgba(168,148,104,.26);border-radius:5px;background:#e5dcd099;color:#3a2a1ad1;cursor:pointer;font-size:.75rem}.cr-check{min-height:34px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid rgba(168,148,104,.22);border-radius:5px;background:#e5dcd08c;color:#3a2a1ad6;cursor:pointer;font-family:Share Tech Mono,monospace;font-size:.76rem;line-height:1.25}.cr-check input{flex:0 0 auto}.cr-check.disabled{opacity:.48;cursor:default}.cr-check span{display:flex;flex-direction:column;gap:1px}.cr-check small{color:#644b2380;font-size:.68rem}.cr-check-wide{grid-column:1 / -1}.cr-cloud-browser-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3600;display:flex;align-items:center;justify-content:center;padding:24px;background:#16100a94}.cr-cloud-browser-card{width:min(920px,94vw);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;gap:12px;background:#f0eadefc;border:1px solid #a89468;border-radius:8px;padding:20px;box-shadow:0 24px 64px #281c0c57}.cr-cloud-browser-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.cr-cloud-browser-head h3{margin:0 0 5px}.cr-cloud-browser-head p{margin:0;color:#644b2394;font-size:.78rem}.cr-cloud-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px}.cr-cloud-toolbar input,.cr-cloud-toolbar select{width:100%;box-sizing:border-box;font-family:Share Tech Mono,monospace}.cr-cloud-browser-list{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;padding-right:2px}.cr-cloud-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid rgba(168,148,104,.28);border-radius:6px;background:#f8f4ecb8}.cr-cloud-thumb-wrap{width:72px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid rgba(138,115,72,.28);background:linear-gradient(135deg,#a8946829,#e5dcd0b8);overflow:hidden}.cr-cloud-thumb{max-width:72px;max-height:54px}.cr-cloud-card-body{min-width:0}.cr-cloud-card-title{display:flex;align-items:center;gap:8px;min-width:0}.cr-cloud-card-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5a3a10}.cr-cloud-code,.cr-cloud-author,.cr-cloud-meta{font-family:Share Tech Mono,monospace}.cr-cloud-code{flex:0 0 auto;color:#644b238f;font-size:.68rem}.cr-cloud-author,.cr-cloud-meta{color:#644b239e;font-size:.7rem;margin-top:3px}.cr-cloud-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.cr-cloud-badge{padding:1px 6px;border-radius:999px;font-family:Share Tech Mono,monospace;font-size:.62rem;border:1px solid rgba(168,148,104,.25);color:#3a2a1abf;background:#a894681f}.cr-cloud-badge.ctf{border-color:#c4404052;color:#9a3737}.cr-cloud-badge.team{border-color:#4a6a8a52;color:#385e83}.cr-cloud-badge.ffa{border-color:#5a5a5a47;color:#555}.cr-cloud-badge.owner{border-color:#be912859;color:#806018}.cr-cloud-badge.recent{border-color:#5e7a4c61;color:#4f7234}.cr-cloud-badge.featured{border-color:#aa662c66;color:#8d5427}.cr-cloud-badge.popular{border-color:#42747a61;color:#386970}.cr-cloud-empty{padding:22px;text-align:center;color:#644b2394;font-family:Share Tech Mono,monospace}.create-room-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media (max-width: 700px){.create-room-modal-content{max-height:92vh;padding:18px}.cr-row,.cr-option-grid,.cr-preset-row,.cr-source-row{grid-template-columns:1fr}.cr-check-wide{grid-column:auto}.cr-section-head{align-items:flex-start;flex-direction:column;gap:3px}.cr-cloud-toolbar,.cr-cloud-card{grid-template-columns:1fr}.cr-cloud-card .cr-cloud-use{width:100%}}#room-screen{padding:0}#room-screen .panel{border:none;border-radius:0;padding:0;background:transparent}h1{margin-top:0;font-family:Cinzel Decorative,serif;color:#6b4a1a;text-transform:uppercase;letter-spacing:2px}h2,h3{margin-top:0;font-family:Cinzel,serif;color:#6b4a1a;letter-spacing:1px}input,select,button{padding:8px 12px;border-radius:4px;border:1px solid #8a7348;background:#e5dcd0;color:#3a2a1a;font-family:Bitter,serif}input[type=range]{padding:0;border:0;background:transparent}button{cursor:pointer;background:linear-gradient(180deg,#dcccc0,#d4c4b0);border:1px solid #a89468;font-weight:600;color:#3a2a1a;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 0 rgba(255,255,255,.5)}button.secondary{background:#e5dcd0;border:1px solid #8a7348}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.room-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}#map{display:block;width:100%;height:100%;border-radius:2px;background:#e8e0d4}.game-container{position:relative;width:100%;height:100%;overflow:hidden;border-radius:2px}.overlay-btn{position:absolute;padding:0 16px;height:28px!important;margin:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:#e5dcd0d9;border:1px solid rgba(168,148,104,.4);color:#3a2a1a;font-size:11px;font-weight:800;font-family:Share Tech Mono,monospace;cursor:pointer;transition:all .2s;z-index:10;text-transform:uppercase;letter-spacing:.5px}.overlay-btn:hover{background:#dcd2c8f2}.overlay-btn.top-right{top:0;right:0;border-radius:0 2px 0 0;border-left:1px solid rgba(168,148,104,.2)}.overlay-btn.top-right.collision-slot{right:108px;border-radius:0 0 0 2px}.overlay-btn.top-right.se-slot{right:232px;border-radius:0 0 0 2px}.game-se-control{position:absolute;top:0;right:232px;height:28px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 8px;background:#e5dcd0d9;border:1px solid rgba(168,148,104,.4);border-radius:0 0 0 2px;z-index:10}.game-se-control .overlay-btn{position:static;height:24px!important;min-width:58px;padding:0 8px;border-radius:2px;background:#dcd2c8b8}.game-se-volume{width:82px;height:18px;box-sizing:content-box;accent-color:#8a7348;cursor:pointer}.game-se-volume-value{min-width:32px;color:#3a2a1a;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:800;text-align:right}.hud{display:flex;justify-content:space-between;gap:16px;margin-top:16px}.chat-container{position:absolute;left:16px;bottom:16px;width:340px;z-index:100;transition:opacity .3s;opacity:.4}.chat-container.active{opacity:1}.chat-input-row{display:flex;gap:0px;margin-top:4px;box-shadow:0 4px 12px #0003;border-radius:4px;overflow:hidden}.chat-input-row select{background:#e5dcd0;color:#7a6a5a;border:1px solid #8a7348;border-right:none;padding:0 4px;font-size:10px;font-weight:700;font-family:Share Tech Mono,monospace}.chat-input-row input{flex:1;background:#f0e8d8;color:#3a2a1a;border:1px solid #8a7348;padding:6px 10px;font-size:12px;font-family:Share Tech Mono,monospace}.chat-container:not(.active) .chat-input-row{display:none}.chat-log{position:absolute;left:16px;bottom:16px;max-width:320px;display:grid;gap:6px;font-size:12px}.chat-input{position:absolute;left:16px;bottom:16px;width:320px;display:none}.chat-input.active{display:block}.notice{font-size:12px;color:#7a6a5a}.relative-panel{position:relative}.result-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#16100ab8;-webkit-backdrop-filter:blur(10px) saturate(.75);backdrop-filter:blur(10px) saturate(.75);z-index:2000;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.result-overlay:not(.hidden){opacity:1;pointer-events:auto}.result-content{background:linear-gradient(180deg,#f8f3eafb,#e8ded0fb);border:1px solid rgba(138,115,72,.68);border-radius:8px;padding:32px;width:90%;max-width:600px;box-shadow:0 28px 72px #0006,inset 0 1px #ffffffad}#result-overlay .result-content{max-width:680px;padding:28px 30px 26px}#result-overlay h2{text-align:center;margin-bottom:12px;letter-spacing:2px}#result-winner{margin:0 auto 18px;width:fit-content;max-width:100%;padding:10px 16px;text-align:center;border-radius:999px;background:#3a2a1a14;border:1px solid rgba(138,115,72,.26);box-shadow:inset 0 1px #fff6}.table-container{margin:24px 0;background:#fffbf5f2;border-radius:6px;overflow-y:auto;max-height:50vh;border:1px solid rgba(168,148,104,.3);box-shadow:inset 0 1px #ffffff73}#result-table{width:100%;border-collapse:collapse;color:#3a2a1a;font-size:15px}#result-table tbody tr:nth-child(odd){background:#a894680d}#result-table th,#result-table td{padding:12px 16px;text-align:center;border-bottom:1px solid rgba(168,148,104,.2)}#result-table th:first-child,#result-table td:first-child{text-align:left}#result-table th{background:#a8946826;font-weight:700;color:#6b4a1a;text-transform:uppercase;font-size:12px;font-family:Share Tech Mono,monospace}.actions{display:flex;gap:16px;justify-content:center;margin-top:24px}#close-result{background:#d45555;border:1px solid #a83a3a;color:#fff}.app-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#00000080;display:flex;align-items:center;justify-content:center}.app-modal-card{width:min(560px,90vw);background:#dcd2c8fa;border:1px solid #a89468;border-radius:8px;padding:18px}.app-modal-card.help-modal-card{width:min(1380px,98vw);height:min(920px,96vh);max-height:none;padding:18px;overflow:hidden;display:flex;flex-direction:column}.app-modal-card.help-modal-card .app-modal-body{flex:1 1 auto;min-height:0;margin-bottom:8px}.app-modal-card.help-modal-card .app-modal-actions{flex:0 0 auto}.app-modal-body{color:#3a2a1a;font-size:14px;line-height:1.5;margin-bottom:12px}.help-demo{display:grid;grid-template-columns:minmax(560px,1fr) 340px;grid-template-rows:minmax(0,1fr) 34px auto;align-items:start;gap:12px;height:100%;min-height:0}.help-demo-stage{grid-column:1;grid-row:1;justify-self:center;align-self:stretch;position:relative;aspect-ratio:720 / 430;width:auto;height:100%;max-width:100%;min-height:0;border:1px solid rgba(168,148,104,.42);background:#d6c5a0;overflow:hidden}#help-demo-canvas{display:block;width:100%;height:100%;min-height:0;outline:none;cursor:crosshair}#help-demo-canvas:focus{box-shadow:inset 0 0 0 2px #c49a3557}.help-demo-status{grid-column:1;grid-row:2;height:34px;padding:6px 10px;background:#3a2a1ad1;color:#f2e0b8;font-family:Share Tech Mono,Yu Gothic,monospace;font-size:13px;font-weight:700;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.help-demo-items{grid-column:1;grid-row:3;padding:10px 12px;border:1px solid rgba(139,113,72,.24);background:#fff9ec9e}.help-demo-items h4{margin:0 0 6px;color:#6d512a;font-family:Share Tech Mono,Yu Gothic,monospace;font-size:13px;text-transform:uppercase}.help-demo-clear{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%) scale(.75);padding:10px 18px;border:2px solid rgba(72,97,61,.88);background:#fff9eceb;color:#48613d;font-family:Share Tech Mono,Yu Gothic,monospace;font-size:24px;font-weight:900;letter-spacing:0;opacity:0;pointer-events:none}.help-demo-clear.is-visible{animation:help-clear-pop 1.2s ease-out both}.help-demo-chat-container{position:absolute;left:10px;bottom:10px;width:min(390px,calc(100% - 20px));z-index:3;display:none;opacity:1}.help-demo-chat-container.active{display:block}.help-demo-chat-container .chat-input-row{margin-top:0}.help-demo-chat-container select,.help-demo-chat-container input{font-family:Share Tech Mono,Yu Gothic,Meiryo,monospace;font-size:13px}.help-demo-side{grid-column:2;grid-row:1 / span 3;display:grid;align-content:start;gap:9px;min-width:0}.help-demo-side section{padding:10px;border:1px solid rgba(139,113,72,.24);background:#fff9ec9e}.help-demo-side h4{margin:0 0 6px;color:#6d512a;font-family:Share Tech Mono,Yu Gothic,monospace;font-size:13px;text-transform:uppercase}.help-demo-side p{margin:0;color:#766853;font-size:12px;line-height:1.45}.help-demo-item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:7px}.help-demo-item-list div{display:grid;grid-template-columns:32px 56px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.help-demo-item-icon{display:block;width:32px;height:32px}.help-demo-item-list strong{color:#3a2a1a;font-family:Share Tech Mono,monospace;font-size:12px;line-height:1.2}.help-demo-item-list span{color:#766853;font-size:12px;line-height:1.35;min-width:0}.help-demo-keys{display:grid;gap:5px}.help-demo-keys div{display:grid;grid-template-columns:68px 1fr;gap:7px;align-items:center}.help-demo-keys kbd{display:inline-grid;place-items:center;min-height:24px;padding:3px 6px;border:1px solid rgba(58,42,26,.4);background:linear-gradient(#fff6e4,#d8c5a2);box-shadow:inset 0 -2px #4b38222e,0 2px #4b382229;font-family:Share Tech Mono,monospace;font-size:11px;font-weight:800}.help-demo-keys kbd.is-active{transform:translateY(2px);background:linear-gradient(#f1d27a,#c69a35)}.help-demo-keys span{color:#766853;font-size:12px}.help-demo-checklist{display:grid;gap:5px}.help-demo-checklist>div{display:grid;grid-template-columns:23px 1fr;align-items:center;gap:8px;min-height:24px;color:#766853;font-family:Share Tech Mono,Yu Gothic,monospace;font-size:12px;line-height:1.35}.help-demo-checkmark{display:inline-grid;place-items:center;width:19px;height:19px;border:1px solid rgba(58,42,26,.35);background:#fff9ecb3;color:#3a2a1ab8;font-size:12px;font-weight:800}.help-demo-checklist>div.is-done{color:#48613d}.help-demo-checklist>div.is-done .help-demo-checkmark{border-color:#48613d94;background:#638e462e;color:#48613d}.help-demo-checklist>div.just-done{animation:help-check-pop .7s ease-out both}.help-demo-checklist>div.just-done .help-demo-checkmark{animation:help-checkmark-burst .7s ease-out both}@keyframes help-check-pop{0%{transform:translate(0);background:transparent}28%{transform:translate(4px);background:#f1d27a73}to{transform:translate(0);background:transparent}}@keyframes help-checkmark-burst{0%{transform:scale(.8);box-shadow:0 0 #638e4600}35%{transform:scale(1.35);box-shadow:0 0 0 6px #638e462e}to{transform:scale(1);box-shadow:0 0 #638e4600}}@keyframes help-clear-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.75)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}68%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.02)}}.help-demo-checklist kbd{display:inline-grid;place-items:center;min-width:34px;min-height:17px;margin-right:4px;padding:1px 4px;border:1px solid rgba(58,42,26,.38);background:linear-gradient(#fff6e4,#d8c5a2);box-shadow:inset 0 -1px #4b382229;font-family:Share Tech Mono,monospace;font-size:11px;font-weight:800}.help-demo-checklist kbd.is-active{transform:translateY(1px);background:linear-gradient(#f1d27a,#c69a35)}@media (max-width: 860px){.help-demo{grid-template-columns:minmax(270px,.9fr) minmax(330px,1.1fr);grid-template-rows:260px 34px minmax(0,1fr);gap:10px}.help-demo-stage,.help-demo-status{grid-column:1 / -1}.help-demo-stage{grid-row:1;align-self:auto;width:min(100%,435px);height:100%}#help-demo-canvas{aspect-ratio:720 / 430;height:100%}.help-demo-status{grid-row:2}.help-demo-items{grid-row:3;grid-column:1}.help-demo-item-list{grid-template-columns:1fr;row-gap:6px}.help-demo-item-list div{grid-template-columns:32px 50px minmax(0,1fr);gap:6px 8px}.help-demo-item-list span{grid-column:auto}.help-demo-side{grid-row:4;grid-column:2;grid-row:3;grid-template-columns:1fr;gap:8px}.help-demo-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px}.help-demo-stage,#help-demo-canvas{min-height:0}}@media (max-width: 560px){.help-demo{grid-template-columns:1fr;grid-template-rows:210px 34px auto auto}.help-demo-stage{width:min(100%,352px);height:210px}.help-demo-items,.help-demo-side{grid-column:1}.help-demo-side{grid-row:4}.help-demo-side,.help-demo-checklist,.help-demo-item-list{grid-template-columns:1fr}}#app-modal-input{width:100%;box-sizing:border-box;margin-bottom:12px}.app-modal-actions{display:flex;justify-content:flex-end;gap:8px}.connection-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:250;padding:10px 16px;border-radius:999px;background:#241c12eb;border:1px solid rgba(212,196,168,.45);color:#f3e8d1;box-shadow:0 12px 30px #00000059;font-family:Share Tech Mono,monospace;font-size:12px;letter-spacing:1px;pointer-events:none}.hidden{display:none!important}.legal-page{height:100vh;min-height:100vh;box-sizing:border-box;overflow-y:auto;background:#f0e8d8;color:#3a2a1a;padding:24px}.legal-nav{width:min(920px,100%);margin:0 auto 16px;display:flex;flex-wrap:wrap;gap:10px;font-family:Share Tech Mono,monospace;font-size:.78rem}.legal-nav a{color:#6b4a1a;text-decoration:none;border:1px solid rgba(138,115,72,.35);border-radius:4px;padding:6px 9px;background:#f8f4ecb3}.legal-nav a:hover,.legal-nav a:focus-visible,.legal-nav a[aria-current=page]{background:#d4b87059}.legal-document{width:min(920px,100%);margin:0 auto;box-sizing:border-box;padding:28px;border:1px solid rgba(168,148,104,.36);border-radius:8px;background:#fffcf5e6;line-height:1.75}.legal-document h1,.legal-document h2,.legal-document h3{letter-spacing:0}.legal-document h1{margin-bottom:4px;font-size:1.9rem}.legal-document h2{margin-top:24px}.legal-document h3{margin-top:20px;margin-bottom:6px}.legal-document p,.legal-document li{font-size:.98rem}.legal-document code{font-family:Share Tech Mono,monospace;background:#c9a84c21;padding:1px 4px;border-radius:4px}.legal-kicker,.legal-description{font-family:Share Tech Mono,monospace;color:#644b239e}.legal-kicker{margin:0 0 6px;font-size:.76rem;text-transform:uppercase}.legal-description{margin-top:0;font-size:.84rem}@media (max-width: 760px){.lobby-footer{flex-wrap:wrap}.lobby-legal-links{width:100%;margin-left:0;justify-content:flex-start}.legal-page{padding:14px}.legal-document{padding:18px}}#map-editor-container{position:absolute;top:0;right:0;bottom:0;left:0;background:#f0e8d8;z-index:50;display:flex;flex-direction:column;overflow:hidden}.me-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#e8e0d4;border-bottom:1px solid rgba(168,148,104,.5);flex-shrink:0}.me-title{font-family:Share Tech Mono,monospace;font-size:.95rem;font-weight:700;color:#3a2a1a}.me-body{display:flex;flex:1;overflow:hidden;min-height:0}.me-palette{width:130px;overflow-y:auto;border-right:1px solid rgba(168,148,104,.4);padding:8px 6px;flex-shrink:0;background:#ece4d8}.me-palette::-webkit-scrollbar{width:6px}.me-palette::-webkit-scrollbar-track{background:#a894681a}.me-palette::-webkit-scrollbar-thumb{background:#a8946880;border-radius:3px}.me-palette::-webkit-scrollbar-thumb:hover{background:#a89468cc}.me-canvas-wrap{flex:1;position:relative;overflow:hidden;background:#d8d0c4}.me-canvas-wrap canvas{display:block;width:100%;height:100%;cursor:default}.me-props{width:190px;border-left:1px solid rgba(168,148,104,.4);padding:12px 10px;flex-shrink:0;background:#ece4d8;overflow-y:auto;font-size:12px}.me-props-section{font-size:10px;font-weight:700;color:#8a7348;letter-spacing:.05em;margin:0 0 6px;text-transform:uppercase}.me-prefab-count{font-family:Share Tech Mono,monospace;font-size:18px;font-weight:700;color:#3a2a1a;margin-bottom:4px}.me-prefab-hint{font-size:11px;color:#8a7348;line-height:1.5;margin-bottom:12px}.me-prefab-count.warning,.me-prefab-hint.warning{color:#9a6a16}.me-prefab-count.danger,.me-prefab-hint.danger{color:#c44040}.me-item-check-summary{font-family:Share Tech Mono,monospace;font-size:12px;color:#48613d;line-height:1.5;margin-bottom:6px}.me-item-check-summary.warning{color:#9a6a16}.me-item-check-summary.danger{color:#c44040}.me-item-check-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.me-item-check-row{font-size:11px;line-height:1.45;color:#6b5a44;padding:6px 7px;border-radius:4px;background:#8a734814;border:1px solid rgba(138,115,72,.18)}.me-item-check-row.warning{color:#7b5a13;background:#c9a0301f;border-color:#c9a03059}.me-item-check-row.danger{color:#8b2a2a;background:#c440401a;border-color:#c4404059}.me-item-check-status{min-height:32px;font-size:11px;line-height:1.45;color:#8a7348;margin-bottom:12px}.me-item-check-status.warning{color:#9a6a16}.me-item-check-status.danger{color:#c44040}.me-footer{padding:8px 16px;display:flex;gap:10px;align-items:center;border-top:1px solid rgba(168,148,104,.4);background:#e8e0d4;flex-shrink:0}.me-cloud-auth-hint{min-height:16px;font-size:11px;color:#8a7348;opacity:0;transition:opacity .15s ease}.me-cloud-auth-hint.active{opacity:1}.me-palette-item{padding:5px 8px;margin-bottom:3px;cursor:pointer;border:1px solid rgba(168,148,104,.3);border-radius:4px;font-size:11px;font-family:Share Tech Mono,monospace;background:#ffffff4d;transition:background .15s;-webkit-user-select:none;user-select:none}.me-palette-item:hover{background:#c9a84c26}.me-palette-item.active{border-color:#c9a84c;background:#c9a84c40;font-weight:700}.me-palette-section{font-size:10px;font-weight:700;color:#8a7348;margin:10px 0 4px 2px;letter-spacing:.05em;text-transform:uppercase}.me-props-btn{padding:4px 8px;font-size:11px;font-family:Share Tech Mono,monospace;background:#fff6;border:1px solid rgba(168,148,104,.4);border-radius:4px;cursor:pointer;color:#3a2a1a;transition:background .15s}.me-props-btn:hover:not(:disabled){background:#c9a84c33}.me-props-btn.active{background:#c9a84c4d;border-color:#c9a84c}.me-props-btn.danger{border-color:#c4404080;color:#c44040}.me-props-btn.danger:hover:not(:disabled){background:#c4404026}.me-props-btn:disabled{opacity:.4;cursor:default}.lobby-btn.me-cloud-btn-disabled,.lobby-btn.me-cloud-btn-disabled:hover,.lobby-btn.me-cloud-btn-disabled:focus-visible{opacity:.45;background:#8a73481f;border-color:#8a734840;color:#3a2a1aa6;cursor:not-allowed;box-shadow:none}.me-size-screen{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto}.me-size-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px}.me-size-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px}.me-size-btn{padding:16px 24px;font-family:Share Tech Mono,monospace;font-size:14px;background:#e8e0d4;border:1px solid rgba(168,148,104,.5);border-radius:6px;cursor:pointer;min-width:160px;transition:background .15s}.me-size-btn:hover{background:#ddd5c8;border-color:#c9a84c}.me-export-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200}.me-export-card{background:#2a2010;border:1px solid rgba(201,168,76,.6);border-radius:8px;padding:20px;width:600px;max-width:92vw;box-shadow:0 8px 32px #00000080}
