*{box-sizing:border-box}body{color:#e8e4f0;background:#0d0b14;margin:0;font-family:Courier New,Courier,monospace}.layout{justify-content:center;align-items:flex-start;gap:16px;padding:16px;display:flex}.board-wrap h1{letter-spacing:3px;color:#b89cff;text-transform:uppercase;margin:0 0 10px;font-size:22px}#board3d{border:2px solid #3a3458;border-radius:6px;width:min(1100px,100vw - 380px);height:min(680px,100vh - 110px);position:relative;overflow:hidden}#reset-view{z-index:5;color:#b8b0d0;cursor:pointer;background:#1d1930d9;border:1px solid #3a3458;border-radius:4px;padding:5px 10px;font-family:inherit;font-size:12px;position:absolute;top:10px;right:10px}#reset-view:hover{color:#e8e4f0;background:#352a60e6}#board3d canvas{cursor:crosshair;display:block}.sidebar{flex-direction:column;gap:12px;width:300px;padding-top:36px;display:flex}.sb-header .turn-label{color:#8a82a8;text-transform:uppercase;letter-spacing:1px;font-size:12px}.sb-header .player-name{font-size:20px;font-weight:700}.sb-header .align-label{margin-top:2px;font-size:13px}.sb-header .power-label{color:#cbb8ff;margin-top:4px;font-size:13px}.power-income{color:#8a82a8;font-size:11px}.power-track{background:#14111f;border:1px solid #3a3458;border-radius:3px;height:5px;margin-top:3px;display:block;overflow:hidden}.power-fill{background:linear-gradient(90deg,#6f5fd0,#b89cff);height:100%;display:block}.sb-hand{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.spell-btn{color:#e8e4f0;cursor:pointer;text-align:left;background:#1d1930;border:1px solid #3a3458;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-family:inherit;font-size:13px;display:flex}.spell-btn:hover:not(:disabled){background:#2a2348;border-color:#6f5fd0}.spell-btn.selected{background:#352a60;border-color:#b89cff}.spell-btn:disabled{opacity:.45;cursor:default}.spell-btn .tags{align-items:center;gap:5px;font-size:12px;display:flex}.spell-btn .bonus-up{color:#6fe06f}.spell-btn .bonus-down{color:#ff5f5f}.empty-hand{color:#8a82a8;font-size:13px;font-style:italic}.action-btn{color:#fff;cursor:pointer;background:#4a3a8c;border:none;border-radius:4px;width:100%;padding:10px;font-family:inherit;font-size:14px;font-weight:700}.action-btn:hover{background:#5d4ab0}.guard-btn{background:#2f5d3a;margin-bottom:6px}.guard-btn:hover{background:#3b7549}.sb-info{min-height:64px;font-size:13px}.info-title{margin-bottom:4px;font-weight:700}.info-stats,.info-tags{color:#b8b0d0;font-size:12px}.sb-log{background:#14111f;border:1px solid #2a2740;border-radius:4px;height:220px;padding:8px;font-size:12px;line-height:1.5;overflow-y:auto}.log-line{color:#b8b0d0}.setup-overlay{z-index:10;background:#08060eeb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.setup-panel{background:#1d1930;border:2px solid #4a3a8c;border-radius:8px;width:360px;padding:28px 36px}.setup-panel h2{color:#b89cff;margin:0 0 4px}.setup-sub{color:#8a82a8;margin:0 0 16px;font-size:13px}.setup-count{margin-bottom:12px;font-size:14px;display:block}.setup-rows{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.setup-row{align-items:center;gap:10px;display:flex}.setup-name{flex:1}.chip{border-radius:50%;width:14px;height:14px;display:inline-block}select{color:#e8e4f0;background:#14111f;border:1px solid #3a3458;border-radius:4px;padding:4px 8px;font-family:inherit}
