:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0e0e0e}body{margin:0;display:flex;place-items:center;min-height:100vh;justify-content:center;background:radial-gradient(circle at center,#1a1a1a,#000)}#app{text-align:center;transition:opacity .5s}.logo{font-size:4rem;margin-bottom:2rem;background:linear-gradient(135deg,#f1c40f,#3498db);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px rgba(255,255,255,.1))}.menu-layout{display:flex;gap:2rem;justify-content:center;align-items:flex-start}.menu-screen{background:#ffffff05;padding:3rem;border-radius:32px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.05);box-shadow:0 50px 100px #00000080;max-width:900px}.customize-layout{display:flex;gap:3rem;justify-content:center}.player-custom-card{background:#0006;padding:2.5rem;border-radius:24px;width:260px;display:flex;flex-direction:column;align-items:center;border:2px solid transparent;transition:all .3s}.p1-card{border-color:#f1c40f33}.p2-card{border-color:#3498db33}.player-custom-card h2{margin-top:0;font-size:1.8rem}.p1-card h2{color:#f1c40f}.p2-card h2{color:#3498db}.coin-preview-wrapper{width:150px;height:150px;border-radius:50%;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;background:#111;box-shadow:inset 0 0 20px #00000080,0 10px 30px #00000080;padding:10px}.coin-preview{width:100%;height:100%;border-radius:50%;background-size:cover;background-position:center;position:relative;overflow:hidden}.p1-preview{background-color:#f1c40f;background-image:url(/p1_coin.png);box-shadow:0 0 20px #f1c40f66}.p2-preview{background-color:#3498db;background-image:url(/p2_coin.png);box-shadow:0 0 20px #3498db66}.upload-label{cursor:pointer;font-size:.9rem}.upload-label:hover{filter:brightness(1.1)}.selection-controls{display:flex;flex-direction:column;gap:1rem;width:100%}.character-select{width:100%;padding:.8rem;background:#222;border:1px solid #444;color:#fff;border-radius:8px;font-family:inherit;font-size:.95rem;cursor:pointer;transition:border-color .2s}.character-select:focus{border-color:#f1c40f;outline:none}.character-select option:disabled{color:#555;background:#111}.selection-box{background:#0000004d;padding:2rem;border-radius:20px;width:300px;display:flex;flex-direction:column}.map-preview-container{position:fixed;background:#000000e6;padding:1rem;border-radius:16px;width:250px;border:2px solid rgba(255,255,255,.2);box-shadow:0 20px 40px #000c;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:center;z-index:10000;pointer-events:none;transition:opacity .2s ease-out}.preview-title{display:none}.map-preview-img{width:100%;aspect-ratio:4/3;background:#111;border-radius:12px;object-fit:contain;border:1px solid rgba(255,255,255,.05)}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.material-grid{display:flex;flex-direction:column;gap:.8rem;margin:1.5rem 0}.mat-card{width:100%;padding:.6rem;border-radius:12px;border:2px solid transparent;cursor:pointer;transition:all .2s;font-weight:700;text-align:center}.mat-card[data-mat=felt]{background:#2c3e50;color:#ecf0f1}.mat-card[data-mat=ice]{background:#a5dff9;color:#2c3e50}.mat-card[data-mat=wood]{background:#5d4037;color:#ecf0f1}.mat-card.selected{border-color:#f1c40f;box-shadow:0 0 15px #f1c40f4d}.map-list{flex-grow:1;margin:1.5rem 0;max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.map-btn{text-align:left;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important}.empty-msg{color:#555}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-controls{display:flex;gap:1rem;align-items:center}.coin-customization-controls{display:flex;gap:.8rem;align-items:center;background:#0006;padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.1)}.current-coin-preview{width:40px;height:40px;border-radius:50%;background-size:cover;background-position:center;background-color:#f1c40f;box-shadow:0 0 10px #f1c40f4d}.character-select-compact{padding:.5rem .8rem;background:#222;border:1px solid #444;color:#fff;border-radius:8px;font-family:inherit;font-size:.85rem;cursor:pointer;transition:border-color .2s}.character-select-compact:focus{border-color:#f1c40f;outline:none}.character-select-compact option:disabled{color:#555;background:#111}.upload-label-compact{cursor:pointer;padding:.5rem .8rem;background:#333;border-radius:8px;font-size:1.2rem;transition:background .2s;display:flex;align-items:center;justify-content:center}.upload-label-compact:hover{background:#444}.turn-indicator{font-size:1.5rem;font-weight:800;padding:.8rem 2.5rem;border-radius:40px;background:#00000080}.player-1-turn{color:#f1c40f;border:2px solid #f1c40f}.player-2-turn{color:#3498db;border:2px solid #3498db}.layout{display:flex;gap:2rem;align-items:flex-start}.sidebar{width:220px;background:#00000080;padding:1.5rem;border-radius:20px;text-align:left}.tool{width:100%;padding:1rem;margin-bottom:.5rem;background:#333;color:#fff;border:none;border-radius:8px;cursor:pointer}.tool.selected{background:#f39c12}.editor-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.8rem;border-radius:8px;margin:1rem 0;box-sizing:border-box}.editor-input:focus{border-color:#f39c12;outline:none}.canvas-container{position:relative}#gameCanvas{background-color:#222;border:4px solid #333;border-radius:8px;box-shadow:0 40px 80px #000c}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay.no-block{background:transparent;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none}.instruction-card{background:#000000e6;padding:2rem;border-radius:20px;border:1px solid #444;pointer-events:auto}button{padding:1rem 2rem;border-radius:12px;font-weight:700;cursor:pointer;border:none;transition:transform .1s}button:active{transform:scale(.95)}.primary-btn{background:#27ae60;color:#fff}.secondary-btn{background:#444;color:#fff}.hidden{display:none!important}
