:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#26211d;--panel:#362f29;--border:#54483d;--text:#eadfc8;--muted:#b3a58c;--accent:#c9963f;--paper:#ecdfbd;--header-height:64px;--panel-width:170px}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Georgia,Times New Roman,serif}header{height:var(--header-height);text-align:center;flex-direction:column;justify-content:center;display:flex}h1{letter-spacing:.04em;margin:0;font-size:1.35rem}.tabs{justify-content:center;gap:6px;margin-top:5px;display:flex}.tabs button{border-radius:999px;width:auto;padding:2px 14px;font-size:.85rem}body[data-screen=world] #tavern-screen,body[data-screen=tavern] #world-screen{display:none}.tavern-center{text-align:center;flex:0 auto;min-width:0}#tavern-canvas{max-width:calc(100vw - 2 * var(--panel-width) - 48px);max-height:calc(100vh - var(--header-height) - 48px);border:1px solid var(--border);border-radius:4px;margin:0 auto;display:block;box-shadow:0 8px 30px #00000073}.layout{justify-content:center;align-items:flex-start;gap:12px;padding:0 12px 12px;display:flex}.panel{flex:0 0 var(--panel-width);flex-direction:column;gap:10px;display:flex}.panel section{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:5px;padding:8px;display:flex}h2{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 2px;font-size:.75rem;font-weight:400}button,input{width:100%;font:inherit;color:var(--text);border:1px solid var(--border);background:#453c34;border-radius:6px;padding:6px 10px;font-size:.9rem}button{cursor:pointer}button:hover{background:#54493f}button.active{border-color:var(--accent);color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#2a1f10;font-weight:700}button.primary:hover{background:#d9a853}button:disabled{opacity:.5;cursor:default}#generate:disabled{cursor:wait}label{color:var(--muted);font-size:.85rem}dialog{width:min(400px,100vw - 32px);color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:22px;box-shadow:0 16px 50px #0009}dialog::backdrop{background:#0000008c}dialog h2{color:var(--text);letter-spacing:.04em;text-transform:none;margin:0;font-size:1.05rem}dialog p{color:var(--muted);margin:4px 0 16px;font-size:.85rem}.dialog-actions{gap:6px;margin-top:12px;display:flex}.share-bar{border:1px solid var(--border);background:#241f1b;border-radius:999px;height:14px;margin-bottom:16px;display:flex;overflow:hidden}.share-bar span{flex:0 0 0;transition:flex-grow .15s}.slider-row{color:var(--text);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;column-gap:8px;margin-bottom:12px;font-size:.95rem;display:grid}.slider-row .swatch{background:var(--color);border-radius:50%;width:10px;height:10px}.slider-row .readout{text-align:right;font-variant-numeric:tabular-nums;background:#241f1b;border-radius:999px;min-width:3.2em;padding:1px 8px;font-size:.85rem}.slider-row input.slider{grid-column:1/-1;margin:8px 0 0}input.slider{--thumb:18px;--fill:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--value,0));appearance:none;background:linear-gradient(to right, var(--color) var(--fill), #241f1b var(--fill));cursor:pointer;border:none;border-radius:999px;height:8px;margin:0;padding:0}input.slider::-webkit-slider-thumb{appearance:none;width:var(--thumb);height:var(--thumb);background:var(--paper);border:3px solid var(--color);border-radius:50%;transition:transform .1s;box-shadow:0 1px 4px #00000080}input.slider::-moz-range-thumb{box-sizing:border-box;width:var(--thumb);height:var(--thumb);background:var(--paper);border:3px solid var(--color);border-radius:50%;box-shadow:0 1px 4px #00000080}input.slider::-moz-range-track{background:0 0}input.slider:hover::-webkit-slider-thumb{transform:scale(1.15)}input.slider:active::-webkit-slider-thumb{transform:scale(1.15)}input.slider:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.slider-total{border-bottom:1px solid var(--border);color:var(--muted);margin:0 0 14px;padding-bottom:12px;font-size:.85rem}.tool-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.tool-grid button{padding:6px 2px;font-size:.85rem}.tool-grid button:last-child:nth-child(odd){grid-column:1/-1}.panel .pair{gap:5px;display:flex}.panel .hint{color:var(--muted);margin:2px 0 0;font-size:.75rem}.slider-note{color:var(--muted);margin:-4px 0 0;font-size:.8rem}.slider-total.off{color:var(--accent)}.center{width:min(calc(100vw - 2 * var(--panel-width) - 48px), calc((100vh - var(--header-height) - 48px) * 1.5));flex:0 auto;min-width:0}.stage{aspect-ratio:3/2;border:1px solid var(--border);border-radius:4px;width:100%;position:relative;overflow:hidden;box-shadow:0 8px 30px #00000073}.viewport{transform-origin:0 0;position:absolute;inset:0}.stage canvas{width:100%;height:100%;position:absolute;inset:0}.stage.panning,.stage.panning canvas{cursor:grabbing}#zoom-reset{background:#362f29e6;width:auto;position:absolute;bottom:10px;right:10px}.map-menu{border:1px solid var(--border);background:#362f29f5;border-radius:8px;flex-direction:column;gap:4px;width:150px;padding:8px;display:flex;position:absolute;box-shadow:0 6px 20px #00000080}.map-menu[hidden]{display:none}.map-menu strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:.85rem;overflow:hidden}.map-menu button{padding:4px 8px;font-size:.85rem}button.danger{color:#e2a08c}#overlay.linking{cursor:alias}#zoom-reset[hidden]{display:none}#sketch{cursor:crosshair;touch-action:none;background-color:var(--paper);background-image:linear-gradient(#5a462814 1px,#0000 1px),linear-gradient(90deg,#5a462814 1px,#0000 1px);background-size:40px 40px}.brush-size{border:1px solid var(--border);background:#2d2722;border-radius:6px;margin:6px 0 4px;padding:8px 8px 10px}.brush-size-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.brush-size-head label{color:var(--text);font-size:.8rem}.brush-size-head .readout{font-variant-numeric:tabular-nums;background:#241f1b;border-radius:999px;padding:1px 7px;font-size:.75rem}.brush-size-track{align-items:center;gap:7px;display:flex}.brush-size-track input{--color:var(--accent);--thumb:16px;flex:1;min-width:0;height:6px}.brush-size-track .dot{border:1.5px dashed var(--muted);border-radius:50%;flex:none}.brush-size-track .dot.small{width:6px;height:6px}.brush-size-track .dot.large{width:16px;height:16px}#brush{aspect-ratio:1;pointer-events:none;border:2px dashed;border-radius:50%;width:7.5%;position:absolute;translate:-50% -50%}#brush[hidden]{display:none}.stage #ghost{aspect-ratio:1;opacity:.7;pointer-events:none;width:10%;height:auto;inset:auto;translate:-50% -66.667%}.stage #ghost[hidden]{display:none}.stage #ghost.invalid{opacity:.35;filter:grayscale()}#overlay.painting{cursor:crosshair}#overlay.placing{cursor:copy}#overlay.removing{cursor:not-allowed}#overlay.clickable{cursor:pointer}body[data-mode=sketch] #map,body[data-mode=sketch] #overlay,body[data-mode=sketch] .map-only,body[data-mode=map] #sketch,body[data-mode=map] .sketch-only{display:none}#status,.status{text-align:center;min-height:1.3em;color:var(--muted);margin:8px 0 0;font-size:.9rem}@media (width<=820px){.layout{flex-direction:column;align-items:stretch}.panel{flex-flow:wrap;flex:none}.panel section{flex-flow:wrap;flex:100%;align-items:center}.panel section>*{width:auto}.center{width:100%}}
