:root{--panel: rgba(28, 24, 18, .94);--panel-edge: #6b5634;--text: #f1e7d0;--muted: #b9a984;--accent: #e6b450;--good: #4ade80;--warn: #facc15;--bad: #f87171}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:var(--text);font:13px/1.35 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none}canvas#game{position:fixed;top:0;right:0;bottom:0;left:0;display:block;cursor:default}kbd{display:inline-block;min-width:16px;padding:0 4px;border:1px solid #8a7550;border-bottom-width:2px;border-radius:3px;background:#2a2318;color:var(--accent);font:11px/15px ui-monospace,monospace;text-align:center}#menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#3d3424,#120f0a 70%);z-index:50}#menu .panel{width:min(420px,92vw)}#menu h1{margin:0 0 4px;font-size:44px;letter-spacing:2px;color:var(--accent)}#menu h1 span{color:var(--text);font-weight:300}#menu .sub{color:var(--muted);margin-top:0}#menu label{display:flex;justify-content:space-between;align-items:center;margin:12px 0}#menu select,#menu input{width:180px;padding:6px 8px;background:#1b1610;color:var(--text);border:1px solid var(--panel-edge);border-radius:4px;font:inherit}#menu button{width:100%;margin-top:10px}#menu .tip{color:var(--muted);font-size:12px}#history{max-height:85vh;overflow-y:auto}.history-list details{border-top:1px solid var(--panel-edge);padding:8px 0}.history-list summary{cursor:pointer;color:var(--accent)}.history-timeline{max-height:28vh;overflow-y:auto;-webkit-user-select:text;user-select:text}.panel{background:var(--panel);border:2px solid var(--panel-edge);border-radius:8px;padding:20px 24px;box-shadow:0 10px 40px #0009}button{padding:9px 16px;background:linear-gradient(#7a5c2e,#5a421f);color:var(--text);border:1px solid #a4834a;border-radius:5px;font:600 14px system-ui,sans-serif;cursor:pointer}button:hover{filter:brightness(1.15)}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}#hud>*{pointer-events:auto}#topbar{position:absolute;top:0;left:0;right:0;height:30px;display:flex;align-items:center;gap:16px;padding:0 12px;background:linear-gradient(#14100af2,#14100ad9);border-bottom:1px solid var(--panel-edge);white-space:nowrap;overflow:hidden}#topbar .res i,.cost i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;border:1px solid rgba(0,0,0,.5)}#topbar .res b{color:#fff}#topbar .warn b{color:var(--bad)}#topbar .near-cap b{color:var(--warn)}#topbar button.idle{padding:0;background:none;border:0;border-radius:0;font:inherit}#topbar button.idle:hover,#topbar button.idle:focus-visible{color:var(--text);text-decoration:underline}#topbar .age{color:var(--accent);font-weight:600}#topbar .spacer{flex:1}#topbar .hint,#topbar .idle{color:var(--muted)}#topbar .resign-btn{background:#2a2318;border:1px solid var(--panel-edge);color:var(--bad);border-radius:4px;padding:2px 10px;cursor:pointer;font:inherit}#topbar .resign-btn:hover{border-color:var(--bad)}#overlay button.danger{background:#5a1f1f;border-color:var(--bad);color:#fff}#bottombar{position:absolute;left:0;right:0;bottom:0;height:190px;display:grid;grid-template-columns:196px 1fr 300px;gap:8px;padding:6px;background:linear-gradient(#1c160eeb,#120e09fa);border-top:2px solid var(--panel-edge)}#mmwrap{display:flex;align-items:center;justify-content:center}#minimap{width:180px;height:180px;border:1px solid var(--panel-edge);image-rendering:pixelated;cursor:crosshair}#selpanel{overflow:hidden;padding:8px;border:1px solid rgba(107,86,52,.5);border-radius:4px;background:#00000040}#selpanel .empty{color:var(--muted);padding:30px 10px;text-align:center}#selpanel .empty span{font-size:12px}#selpanel .single{display:flex;gap:12px}#selpanel .single h3{margin:0 0 4px;color:var(--accent);font-size:16px}#selpanel .big{width:72px;height:72px;border:1px solid var(--panel-edge);border-radius:4px;background:#2a2318;flex:none}.res-tree{background:radial-gradient(circle at 50% 40%,#2f7a3b 40%,#2a2318 42%)!important}.res-berries{background:radial-gradient(circle at 50% 50%,#d02f4a 25%,#2f6b33 27%,#2f6b33 45%,#2a2318 47%)!important}.res-stone{background:radial-gradient(circle at 50% 55%,#aaa 38%,#2a2318 40%)!important}.queue{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;align-content:flex-start;max-width:48%}.qitem{position:relative;width:40px;height:40px;border:1px solid var(--panel-edge);border-radius:3px;background:#2a2318;cursor:pointer}.qitem:hover{border-color:var(--bad)}.qitem img{width:100%;height:100%}.qage{display:block;text-align:center;font-size:24px;line-height:38px;color:var(--accent)}.qbar{position:absolute;left:0;right:0;bottom:0;height:4px;background:#000}.qbar div{height:100%;background:#60a5fa}.multi .mhead{color:var(--muted);margin-bottom:6px}.multi .cells{display:flex;flex-wrap:wrap;gap:4px}.cell{position:relative;width:46px;height:46px;border:1px solid var(--panel-edge);border-radius:3px;background:#2a2318;cursor:pointer}.cell.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cell img{width:100%;height:100%}.cell .count{position:absolute;right:2px;top:0;font-weight:700;text-shadow:0 1px 2px #000}.cell .hp{position:absolute;left:2px;right:2px;bottom:2px;height:3px;background:#000}.cell .hp div{height:100%;background:var(--good)}#card{display:flex;flex-direction:column}#card .modeline{height:18px;color:var(--accent);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#card .grid{display:grid;grid-template-columns:repeat(5,54px);grid-auto-rows:54px;gap:4px}#card button{position:relative;padding:0;width:54px;height:54px;background:#2a2318;border:1px solid var(--panel-edge);border-radius:4px;overflow:hidden}#card button img{width:44px;height:44px;margin-top:-2px}#card button .sym{font-size:24px;line-height:44px;color:var(--text)}#card button kbd{position:absolute;top:1px;left:1px;font-size:10px;line-height:12px;min-width:12px;padding:0 2px}#card button .lbl{position:absolute;left:0;right:0;bottom:1px;font:9px system-ui;color:var(--muted);white-space:nowrap;overflow:hidden}#card button.active{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}#card button.poor img,#card button.poor .sym{opacity:.6}#card button.poor{border-color:#7a3030}#card button.locked{filter:grayscale(1) brightness(.6)}#tooltip{position:absolute;display:none;width:280px;padding:8px 10px;background:#0f0c08f7;border:1px solid var(--panel-edge);border-radius:4px;pointer-events:none!important;z-index:20}#tooltip b{color:var(--accent)}#tooltip .tcost{margin-top:4px}.cost{margin-right:10px}#notices{position:absolute;left:50%;transform:translate(-50%);bottom:200px;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none!important}.notice{padding:3px 12px;background:#000000a6;border-radius:3px;font-weight:600;text-shadow:0 1px 2px #000}.notice.warn{color:var(--warn)}.notice.alert{color:var(--bad)}.notice.good{color:var(--good)}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#0000008c;z-index:30}#overlay .panel{text-align:center;max-width:92vw;max-height:90vh;overflow:auto}#overlay h1{margin:0 0 8px;font-size:40px;color:var(--accent)}#overlay .help{text-align:left;width:1180px}#overlay .help h2{margin-top:0;color:var(--accent)}.helpgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:8px 24px}.helpgrid h3{margin:8px 0 4px;color:var(--accent);font-size:14px}.helpgrid td{padding:2px 6px 2px 0;vertical-align:top}.helpgrid td:first-child{white-space:nowrap}.stats{margin:12px auto;border-collapse:collapse}.stats td,.stats th{padding:4px 12px;border-bottom:1px solid #3a3020}#mp{width:min(460px,92vw);max-height:92vh;overflow:auto}#mp h2{margin:0 0 6px;color:var(--accent);font-size:26px}#mp h3{margin:16px 0 6px;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}#mp .sub{color:var(--muted);margin:0 0 10px}#mp label{display:flex;justify-content:space-between;align-items:center;margin:10px 0}#mp input,#mp select{padding:6px 8px;background:#1b1610;color:var(--text);border:1px solid var(--panel-edge);border-radius:4px;font:inherit}#mp input[type=text],#mp input:not([type]){width:180px}#mp .mp-row{display:flex;gap:8px;align-items:center;margin-top:8px}#mp .mp-row input{flex:1;min-width:0}#mp .mp-row button{flex:none;margin-top:0}#mp button{margin-top:0;width:auto}#mp button.secondary{background:#2a2318;border-color:var(--panel-edge)}#mp button.small{padding:4px 8px;font-size:12px;margin-left:auto}#mp button:disabled{opacity:.45;cursor:not-allowed;filter:none}#mp .mp-msg{color:var(--warn);margin:10px 0 0}#mp .mp-list{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto}#mp .mp-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;border:1px solid rgba(107,86,52,.5);border-radius:4px;margin-bottom:6px;background:#00000040}#mp .mp-list li div{display:flex;flex-direction:column;min-width:0}#mp .mp-list li small{color:var(--muted)}#mp .mp-list li.empty{color:var(--muted);justify-content:center}#mp .code{font-family:ui-monospace,monospace;letter-spacing:3px;color:var(--text);font-size:16px}#mp .mp-slots{list-style:none;margin:10px 0 0;padding:0}#mp .slot{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid rgba(107,86,52,.5);border-radius:4px;margin-bottom:6px;background:#00000040}#mp .slot .who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#mp .slot-open .who{color:var(--muted);font-style:italic}#mp .swatch{width:12px;height:12px;border-radius:50%;background:#444;border:1px solid rgba(0,0,0,.5)}#mp .slot-human .swatch{background:#3b82f6}#mp .slot-ai .swatch{background:#ef4444}#mpstatus{position:fixed;top:44px;left:50%;transform:translate(-50%);z-index:20;padding:6px 14px;border-radius:4px;background:#14100aeb;border:1px solid var(--panel-edge);color:var(--warn);display:none;pointer-events:none}#mpstatus.show{display:block}#acct{position:fixed;top:16px;right:16px;width:min(280px,92vw);padding:14px 16px;font-size:14px}#acct h3{margin:0 0 8px;color:var(--accent);font-size:14px;text-transform:uppercase;letter-spacing:1px}#acct p{margin:6px 0}#acct .acct-who small,#acct .acct-elo small{color:var(--muted);margin-left:6px}#acct .acct-form{display:flex;flex-direction:column;gap:6px}#acct input{padding:6px 8px;background:#1b1610;color:var(--text);border:1px solid var(--panel-edge);border-radius:4px;font:inherit}#acct .acct-row{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}#acct button{width:auto;margin-top:0;padding:6px 10px}#acct button.secondary{background:#2a2318;border-color:var(--panel-edge)}#acct button.small{padding:4px 8px;font-size:12px}#acct .acct-msg{color:var(--warn)}#acct .acct-board{list-style:none;margin:8px 0 0;padding:0;max-height:220px;overflow:auto}#acct .acct-board li{display:flex;align-items:baseline;gap:8px;padding:4px 0;border-bottom:1px solid rgba(107,86,52,.4)}#acct .acct-board li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#acct .acct-board li small,#acct .acct-board li.empty{color:var(--muted)}#acct .acct-board li .prov{font-style:normal;font-size:.75em;font-weight:400;color:var(--muted);margin-left:4px}#mp .mp-rated{color:var(--good);margin:8px 0 0;font-size:13px}.keybtn{min-width:64px;padding:2px 6px;cursor:pointer}.keybtn kbd{font-size:12px}.helpgrid .muted,#overlay .help p.muted{color:#b8a77f;font-size:13px}#topbar .sound-btn{background:none;border:1px solid var(--panel-edge);color:var(--muted);border-radius:4px;padding:1px 8px;cursor:pointer;font:inherit}#topbar .sound-btn:hover,#topbar .sound-btn:focus-visible{color:var(--text);border-color:var(--accent)}.audio-controls,.menu-audio{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:10px 0;color:var(--muted);font-size:13px}.audio-controls label,.menu-audio label{display:flex;align-items:center;gap:6px}.audio-controls input[type=range],.menu-audio input[type=range]{width:110px}.audio-controls button,.menu-audio button{width:auto;padding:4px 12px}.menu-audio{justify-content:center;margin:12px 0 4px}.performance-toggle{position:absolute;top:38px;right:10px;font-size:12px;padding:3px 8px;opacity:.8}.performance-display{position:absolute;top:70px;right:10px;white-space:pre-line;color:#f0e7d5;background:#14100aeb;border:1px solid #725b35;padding:8px;font-size:12px;line-height:1.6;pointer-events:none}.performance-display[hidden]{display:none}#menu .reports-control,.help .reports-control{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:13px;margin-top:8px}#menu .reports-control input,.help .reports-control input{width:auto;margin:0;flex:none}
