:root{color-scheme:dark;--bg:#101716;--panel:#19221f;--border:#303c35;--text:#edece1;--muted:#a4b0a6;--accent:#d6e8a1;--H:#ed9c9c;--D:#e6c88d;--S:#a9bdd9;--C:#a8d3b5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid var(--border);border-radius:7px;background:#242f29;color:var(--text);padding:10px 15px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#354332}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);color:#1b271d;border-color:var(--accent);font-weight:650}button.primary:hover:not(:disabled){background:#e5f5bc}.secondary{background:transparent;border-color:#738169}.quiet{background:transparent;border:0;color:var(--muted);padding:8px;font-size:12px}input,select{background:#111a16;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:9px;min-width:0}input[type=range]{padding:0;accent-color:var(--accent);width:100%}a{color:var(--accent)}header{height:99px;border-bottom:1px solid var(--border);padding:0 4.6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);font:22px/1.2 Georgia,serif;letter-spacing:2px}.brand small{display:block;font:9px/2 sans-serif;letter-spacing:2.2px;color:var(--muted);margin-top:5px}.brandmark{font:38px Georgia,serif;color:var(--accent)}nav{display:flex;gap:10px}.tab{border:0;background:transparent;color:var(--muted);padding:12px 20px}.tab.active{color:var(--text);background:#263027}.local{color:var(--muted);font-size:10px;letter-spacing:1.4px;display:flex;align-items:center;gap:8px}.local i{width:6px;height:6px;border-radius:50%;background:var(--accent)}main{max-width:1440px;padding:40px 4.6% 60px;margin:auto}.view{display:none}.view.active{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:25px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--muted)}h1{font:44px/1.12 Georgia,serif;letter-spacing:-1px;margin:12px 0 0}h2{font:26px/1.25 Georgia,serif;margin:12px 0}h3{font-size:15px;margin:0}p{color:#bdc6bd}strong{font-weight:600}.muted{color:var(--muted);font-size:13px}.game-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:280px;justify-content:flex-end}.game-tools label{color:var(--muted);font-size:12px}.game-tools input{width:88px;margin-left:8px}.mini-tools{display:flex;width:100%;justify-content:flex-end;align-items:center}.upload{cursor:pointer;display:inline-block}.upload input{display:none}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px}.panel{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:24px}.table{background:radial-gradient(ellipse at 40% 20%,#2c3e2f 0%,#1a2821 68%);padding:24px 28px 0;overflow:hidden;min-height:355px}.table-top,.table-bottom,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.table-top #progress{font-size:12px;color:var(--muted)}#enemy-zone{display:flex;align-items:center;justify-content:center;gap:38px;padding:28px 0 25px}.enemy-card{height:180px;width:125px;flex-shrink:0;border:1px solid #a4b192;border-radius:9px;background:linear-gradient(150deg,#354332,#1c2b22);position:relative;box-shadow:0 10px 25px #0003;padding:12px;display:flex;flex-direction:column;font:24px/1 Georgia,serif;isolation:isolate}.enemy-card:after{content:"";position:absolute;inset:6px;border:1px solid #69755966;border-radius:5px;z-index:-1}#enemy-suit{font-size:22px;margin-top:4px}.enemy-decoration{font:85px Georgia,serif;position:absolute;right:16px;bottom:10px;opacity:.7}.enemy-info h2{font-size:30px;margin:7px 0}.enemy-info p{font-size:12px;margin:0 0 15px}.combat-stats{display:flex;gap:36px}.combat-stats strong{display:block;font:28px/1.2 Georgia,serif}.combat-stats span{font-size:11px;color:var(--muted)}.health-track{height:4px;background:#101b15;border-radius:4px;margin-top:15px;overflow:hidden}.health-track div{height:100%;background:var(--accent);transition:width .3s}#enemy-track{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.enemy-dot{height:7px;flex:1;max-width:34px;border-radius:3px;background:#0f1d16}.enemy-dot.done{background:#a3bb83}.enemy-dot.current{background:#d6e8a1;box-shadow:0 0 9px #b8d58c33}.table-bottom{margin:0 -28px;padding:15px 28px;border-top:1px solid #43554266;color:#b8c5b9;font-size:12px;background:#14201855}.hand-panel{margin:25px 0}.hand-heading{display:flex;justify-content:space-between;align-items:center}.hand-heading h2{margin:4px 0 18px}.hand-heading>span{color:var(--muted);font-size:12px}#hand{display:flex;gap:9px;min-height:139px;padding-top:7px;padding-bottom:10px}.card{position:relative;display:flex;flex:1;min-width:0;max-width:104px;flex-direction:column;align-items:flex-start;justify-content:space-between;height:128px;padding:10px 12px;border-radius:8px;border:1px solid #4b5951;background:linear-gradient(155deg,#2b3630,#202a25);font:24px/1 Georgia,serif;box-shadow:0 5px 8px #0002}.card small{font:10px sans-serif;color:var(--muted);align-self:flex-end}.card .suit{font-size:31px;align-self:center}.card.selected{transform:translateY(-7px);border:2px solid var(--accent);background:#384632;box-shadow:0 0 0 2px #a3bd6622}.card.selected:after{content:"✓";position:absolute;right:7px;top:6px;font:12px sans-serif;color:var(--accent)}.H{color:var(--H)}.D{color:var(--D)}.S{color:var(--S)}.C{color:var(--C)}.action-bar{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.action-bar>div:last-child{display:flex;gap:8px;align-items:center}#selection-note{font-size:12px;color:var(--muted);flex:1;min-width:160px}.suit-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid var(--border);padding-top:18px}.suit-guide>div{display:flex;gap:10px;align-items:center}.suit-guide b{font-size:25px}.suit-guide span{font-size:10px;color:var(--muted)}.suit-guide strong{display:block;color:var(--text);font-size:12px}.memory{margin-top:20px;padding:15px 20px;font-size:12px;color:var(--muted)}summary{cursor:pointer;color:var(--text)}#memory{line-height:1.8}.advisor h2{margin:5px 0}.advisor .muted{margin:7px 0 20px}.spark{font-size:22px;color:var(--accent)}.field{display:flex;flex-direction:column;font-size:11px;gap:6px;color:var(--muted);margin:16px 0}.field select{width:100%}.budget-row{display:flex;align-items:flex-end;gap:10px}.budget-row label{font-size:11px;color:var(--muted);flex:1}.budget-row select{display:block;width:100%;font-size:12px;margin-top:6px}.budget-row button{font-size:12px}.empty-hint{color:#8b9a8e;font-size:12px;line-height:1.7;border:1px dashed #435043;padding:17px;border-radius:8px;margin:22px 0}.recommendation{border-left:2px solid var(--accent);padding:0 0 0 13px;margin:20px 0;font-size:12px}.recommendation strong{display:block;font-size:15px;margin-bottom:6px}.recommendation p{margin:5px 0;line-height:1.65}.recommendation button{padding:5px 9px;margin-top:7px;font-size:11px}.alternatives{font-size:11px;color:var(--muted);margin-bottom:16px}.alternatives summary{margin-bottom:8px}.alternative{border-top:1px solid var(--border);padding:8px 0}.method{font-size:10px;line-height:1.6;color:var(--muted);margin-top:10px}.bot-controls{border-top:1px solid var(--border);display:flex;gap:9px;padding-top:17px;margin-top:18px}.bot-controls button{flex:1;font-size:12px;padding:10px}.speed{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-top:18px}.speed span{white-space:nowrap}.status-line{font-size:10px;color:var(--muted);margin-top:16px}.journal{margin-top:18px;padding:20px}.journal .panel-heading span{font-size:11px;color:var(--muted)}.replay-controls{display:flex;gap:10px;align-items:center;margin:15px 0}.replay-controls button{padding:2px 9px}#history{padding:0 0 0 22px;max-height:270px;overflow:auto;margin:0;font-size:11px;color:var(--muted)}#history li{padding:10px 0 10px 3px;border-bottom:1px solid #303c35}#history b{display:block;font-size:12px;color:var(--text);margin-bottom:4px}#error{background:#482b2b;border:1px solid #8c5b5b;border-radius:8px;padding:14px;margin-bottom:20px}.research-grid,.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.research-grid .panel{padding:30px}.research-note{margin-top:25px;background:#111b15;padding:18px;border-radius:7px;font-size:12px}.weight-row{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:12px;margin:8px 0;font-size:12px;text-transform:capitalize}.weight-row input{width:100%}.results{margin-bottom:24px;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:500}.result-run{margin-top:25px}.result-run h3{margin-bottom:6px}.comparison-item{margin-top:15px;border-top:1px solid var(--border);padding-top:15px;font-size:12px}.comparison-item strong{display:block;color:var(--accent)}pre{padding:20px;background:#101914;border-radius:8px;overflow-x:auto;font:12px/1.9 monospace;color:#c3d0b4}.rules-grid li{margin-bottom:15px}.rules-grid p{font-size:14px}footer{border-top:1px solid var(--border);padding:25px 4.6%;color:#859487;font-size:10px;letter-spacing:1.5px;display:flex;justify-content:space-between}footer span{letter-spacing:0;font:13px Georgia,serif}@media(min-width:1450px){header{padding-left:calc((100vw - 1308px)/2);padding-right:calc((100vw - 1308px)/2)}}@media(max-width:1080px){.local{display:none}.play-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.panel{padding:20px}.table{padding:20px 20px 0}.table-bottom{margin:0 -20px;padding:15px 20px}#enemy-zone{gap:22px}.combat-stats{gap:25px}#hand{gap:5px}.card{padding:9px 7px;height:117px}.suit-guide{grid-template-columns:repeat(2,1fr);gap:14px}.action-bar>div:last-child{width:100%;justify-content:flex-end}}@media(max-width:800px){header{height:auto;min-height:92px;flex-wrap:wrap;padding:20px 5%;gap:12px}.brand{font-size:19px}nav{gap:0}.tab{padding:8px 12px;font-size:12px}main{padding:30px 5%}.play-layout{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.journal{margin:0}.page-heading h1{font-size:35px}.research-grid,.rules-grid{grid-template-columns:1fr}#hand{justify-content:center}.card{max-width:100px;height:125px}}@media(max-width:520px){header{justify-content:center}nav{width:100%;justify-content:center}.page-heading{align-items:flex-start;gap:15px}.page-heading h1{font-size:29px}.eyebrow{font-size:9px}.game-tools{max-width:144px;gap:7px}.game-tools>button{font-size:11px;padding:7px}.game-tools input{width:75px}.mini-tools{flex-wrap:wrap;gap:0}.mini-tools .quiet{font-size:10px;padding:4px}#enemy-zone{gap:22px}.enemy-card{width:93px;height:149px}.enemy-decoration{font-size:67px;right:11px}.enemy-info h2{font-size:24px}.combat-stats{gap:22px}.combat-stats strong{font-size:24px}.table-bottom{font-size:10px;gap:8px}#hand{flex-wrap:wrap;justify-content:flex-start;gap:7px}.card{flex:0 0 calc(25% - 6px);max-width:none;height:115px}aside{display:block}.journal{margin-top:18px}.action-bar button{font-size:12px;padding:9px 11px}.suit-guide{margin-bottom:20px}.panel{padding:20px}.table{padding:20px 20px 0}footer{font-size:8px}footer span{font-size:11px}}

textarea{width:100%;resize:vertical;background:#111a16;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:12px;font:14px/1.6 sans-serif}.replay-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.replay-list button{font-size:11px;padding:6px 10px}.research-note p{white-space:pre-wrap}.result-run .muted{white-space:normal}

.think{margin:16px 0 4px}.think-slider{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted);margin-bottom:14px}.think-slider span{display:flex;justify-content:space-between}.think-slider output{color:var(--text);font-variant-numeric:tabular-nums}.think-note{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 12px;min-height:3em}.think[hidden]{display:none}

.suggestion-switch{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;cursor:pointer;margin-top:16px;color:var(--text)}
.suggestion-switch input{position:absolute;right:0;width:38px;height:22px;opacity:0;margin:0;cursor:pointer}
.switch-track{width:38px;height:22px;border:1px solid #69786b;border-radius:12px;background:#101a14;flex-shrink:0;pointer-events:none;transition:background .15s}
.switch-track:after{content:"";display:block;width:14px;height:14px;border-radius:50%;background:#9aa79c;margin:3px;transition:transform .15s}
.suggestion-switch input:checked+.switch-track{background:#465a33;border-color:var(--accent)}
.suggestion-switch input:checked+.switch-track:after{transform:translateX(16px);background:var(--accent)}
.suggestion-switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:4px}
.suggestion-status{font-size:11px;color:var(--muted);line-height:1.5;min-height:3em;margin:8px 0 12px}
.card.suggested,#jester.suggested,#commit.suggested{border-color:#d6e8a1;box-shadow:0 0 0 1px #d6e8a177,0 0 16px #c9e78b55}
.card.suggested:before{content:"✧";position:absolute;right:8px;bottom:25px;color:var(--accent);font:14px sans-serif}
