:root{--bg:#15120f;--panel:#221d18;--panel-2:#2c251e;--line:#4a3c2c;--text:#f1e6d3;--muted:#b5a68f;--gold:#e0a640;--gold-2:#f6c768;--bronze:#9a6a33;--red:#e0664f;--green:#7fbf6a;--tap:44px;--radius:12px;--nav-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;color:var(--text);background:var(--bg);margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(rgb(16 13 10/var(--bg-ov,.88)), rgb(16 13 10/calc(var(--bg-ov,.88) + .06))), var(--bg-img,none) center/cover no-repeat, var(--bg);position:fixed;inset:0}h1,h2,h3{font-family:var(--serif);margin:0 0 .4em;line-height:1.2}h2{color:var(--gold-2);font-size:1.15rem}h3{font-size:1.02rem}p{margin:.25em 0}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}img{max-width:100%}.ico{fill:currentColor;flex:none;width:22px;height:22px}.top{z-index:5;padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#15120ff2;justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:8px;min-width:0;display:flex}.brand-ico{width:36px;height:36px}.brand-name{font-family:var(--serif);color:var(--gold-2);white-space:nowrap;font-weight:700}.brand-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.who select{max-width:42vw}.main{width:100%;max-width:1100px;padding:12px 12px calc(var(--nav-h) + var(--safe-b) + 20px);margin:0 auto}.screen{gap:12px;display:grid}.bottom-nav{z-index:6;height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);border-top:1px solid var(--line);background:#1b1612;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #0006}.nav-btn{all:unset;min-height:var(--tap);color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.72rem;display:flex}.nav-btn.on{color:var(--gold-2)}.nav-btn.on .ico{filter:drop-shadow(0 0 6px #e0a64099)}.nav-btn:focus-visible{outline:2px solid var(--gold);outline-offset:-4px;border-radius:10px}.btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(color-mix(in srgb, var(--gold) 82%, white), color-mix(in srgb, var(--gold) 72%, black));color:#1d1308;border-color:var(--gold-2)}.btn.ghost{background:0 0}.btn.danger{color:var(--red);border-color:#6a3328}.btn.block{width:100%}.btn.big{min-height:52px;font-size:1.05rem}.btn:disabled{opacity:.55;cursor:not-allowed;background:var(--panel-2);color:var(--muted);border-color:var(--line);font-size:.9rem;font-weight:500}.icon-btn{width:var(--tap);padding:0}.btn-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}input[type=text],input[type=number],select,textarea{min-height:var(--tap);border:1px solid var(--line);color:var(--text);font:inherit;background:#17130f;border-radius:10px;max-width:100%;padding:8px 10px}textarea{resize:vertical;width:100%}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}.field{gap:4px;margin:8px 0;display:grid}.field>span{color:var(--muted);font-size:.85rem}.field input,.field select{width:100%}.field-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;display:flex}.stepper{flex:none;align-items:center;gap:4px;display:flex}.stepper input{text-align:center;-moz-appearance:textfield;width:64px;padding:8px 4px}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.toggle{min-height:var(--tap);justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle input,.opt input{width:24px;height:24px;accent-color:var(--gold)}.range{width:100%;height:var(--tap);accent-color:var(--gold)}details{border-top:1px solid var(--line);padding:4px 0}summary{min-height:var(--tap);cursor:pointer;align-items:center;font-weight:600;display:flex}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#221d18f0;padding:12px;box-shadow:0 2px 10px #0000004d}.card.empty{text-align:center;padding:28px 16px}.thumb-empty{background:var(--panel-2);border-radius:8px;display:inline-block}.res-grid{gap:8px;margin-top:8px;display:grid}.res{background:var(--panel-2);border-radius:10px;align-items:center;gap:10px;padding:6px;display:flex}.res-ico{flex:none;width:44px;height:44px}.res-body{flex:1;min-width:0}.res-name{font-weight:700}.res-desc{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.prof-list{gap:8px;display:grid}.prof-row{all:unset;background:var(--panel-2);cursor:pointer;min-height:var(--tap);border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.prof-row:focus-visible{outline:2px solid var(--gold)}.prof-ico{flex:none;width:48px;height:48px}.prof-body{flex:1;gap:4px;min-width:0;display:grid}.prof-head{justify-content:space-between;gap:8px;display:flex}.lvl{color:var(--gold-2);font-size:.9rem;font-weight:700}.xpbar{border:1px solid var(--line);background:#120f0c;border-radius:6px;height:10px;overflow:hidden}.xpfill{transform-origin:0;background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 60%, black), var(--gold-2));width:100%;height:100%;transition:transform .3s}.xpbar.max .xpfill{background:linear-gradient(90deg,#6ea85a,#c9f08c)}.prof-tabs{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.prof-tab{all:unset;background:var(--panel);border:1px solid var(--line);text-align:center;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-height:64px;padding:6px 4px;font-size:.78rem;display:flex;position:relative}.prof-tab.on{border-color:var(--tab-accent,var(--gold));background:color-mix(in srgb, var(--tab-accent,var(--gold)) 22%, #17130f);color:var(--gold-2)}.prof-tab{border-top:3px solid color-mix(in srgb, var(--tab-accent,var(--line)) 70%, transparent)}.prof-tab:focus-visible{outline:2px solid var(--gold)}.tab-ico{width:34px;height:34px}.tab-lvl{color:var(--gold-2);font-size:.7rem;font-weight:700;position:absolute;top:4px;right:6px}.craft-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px;display:flex}.recipe-grid{gap:10px;display:grid}.recipe{border:1px solid var(--line);border-radius:var(--radius);background:#221d18f5;align-content:start;gap:8px;padding:10px;display:grid}.recipe.is-locked{opacity:.6}.recipe-top{gap:10px;display:flex}.recipe-ico{object-fit:contain;border-radius:8px;flex:none;width:56px;height:56px}.recipe-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.xp{color:var(--gold-2);font-size:.9rem;font-weight:700}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:#17130f;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 2px;font-size:.85rem;font-weight:700;display:inline-flex}.chip.short{color:var(--red);border-color:#6a3328}.chip-ico{width:24px;height:24px}.opts{gap:4px;display:grid}.opt{min-height:var(--tap);border:1px solid var(--line);background:#1a1612;border-radius:8px;align-items:center;gap:8px;padding:0 8px;display:flex}.opt.on{border-color:var(--gold)}.lock-note{color:var(--muted);min-height:var(--tap);align-items:center;gap:6px;display:flex}.locked>summary{color:var(--muted)}.item-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.item{border:1px solid var(--line);border-radius:var(--radius);background:#221d18f0;align-items:flex-start;gap:10px;padding:10px;display:flex}.item-ico{flex:none;width:44px;height:44px}.item-body{overflow-wrap:anywhere;flex:1;min-width:0}.creature-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}.creature{all:unset;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-height:64px;padding:8px 2px;font-size:.75rem;display:flex}.creature.on{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 22%, #17130f);color:var(--gold-2)}.creature:focus-visible{outline:2px solid var(--gold)}.creature-ico{width:36px;height:36px}.drops{grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr));gap:6px;margin:8px 0;display:grid}.drop{background:var(--panel-2);border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex}.drop strong{color:var(--gold-2);margin-left:auto;font-size:1.1rem}.loot{border-color:var(--gold)}.history{gap:6px;margin:0;padding:0;list-style:none;display:grid}.history li{border-bottom:1px solid var(--line);padding:6px 0}.party{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.party-row{align-items:center;gap:6px;display:flex}.party-row input{flex:1;min-width:0}.party-row.on input{border-color:var(--gold)}.badge{color:var(--gold-2);background:#3a2d1d;border-radius:999px;padding:4px 8px;font-size:.75rem}.toast{left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 12px);z-index:20;max-width:calc(100vw - 24px);color:var(--text);border:1px solid var(--gold);background:#3a2d1d;border-radius:10px;padding:10px 14px;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000080}.sheet-wrap{z-index:15;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);border:1px solid var(--gold);width:100%;max-width:560px;max-height:85dvh;padding:12px 16px calc(16px + var(--safe-b));border-bottom:0;border-radius:18px 18px 0 0;gap:10px;animation:.2s ease-out up;display:grid;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;display:flex}.result{text-align:center}.result-ico{object-fit:contain;width:96px;height:96px}.xp-gain{color:var(--gold-2);font-weight:700}@keyframes up{0%{opacity:0;transform:translateY(30px)}}.intro{z-index:30;background:#080604e0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.intro-card{flex-direction:column;align-items:center;gap:8px;max-width:640px;display:flex}.basil{object-fit:contain;width:min(48vw,220px);max-height:42dvh}.bubble{color:#2a1d14;border:3px solid var(--bronze);background:#f1e6d3;border-radius:16px;padding:14px 16px}.bubble h2{color:#6b3e12}@media (width>=600px){.res-grid{grid-template-columns:1fr 1fr}.prof-tabs{grid-template-columns:repeat(6,1fr)}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.prof-list{grid-template-columns:1fr 1fr}}@media (width>=1000px){.res-grid{grid-template-columns:repeat(3,1fr)}.bottom-nav{border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;width:640px;left:50%;right:auto;transform:translate(-50%)}}@media (height<=500px) and (orientation:landscape){:root{--nav-h:52px}.nav-btn{flex-direction:row;gap:6px;font-size:.8rem}.intro-card{flex-direction:row}.basil{width:auto;max-height:80dvh}.top{position:static}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.screen,.res-grid,.recipe-grid,.prof-list,.item-list{grid-template-columns:minmax(0,1fr)}.screen>*,.res-grid>*,.recipe-grid>*,.prof-list>*,.item-list>*{min-width:0}@media (width>=600px){.res-grid,.prof-list{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}}@media (width>=1000px){.res-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.party,.history{grid-template-columns:minmax(0,1fr)}.party>*,.card>*{min-width:0}.party-row input{width:0}@media (height<=500px) and (orientation:landscape){.prof-tab{min-height:var(--tap);flex-direction:row;justify-content:center;gap:6px;padding:2px 6px}.tab-ico{width:26px;height:26px}.top{padding-top:4px;padding-bottom:4px}.brand-ico{width:30px;height:30px}}summary{list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"▸";color:var(--gold);flex:none;width:1.2em}details[open]>summary:before{content:"▾"}.prof-banner{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);background:linear-gradient(120deg, color-mix(in srgb, var(--gold) 26%, #15110d) 0%, #15110deb 65%);align-items:center;gap:12px;padding:12px;display:flex;box-shadow:0 4px 18px #00000059}.banner-art{flex:none;place-items:center;width:72px;height:72px;display:grid;position:relative}.banner-ico{object-fit:contain;width:72px;height:72px;position:relative}.banner-glow{background:radial-gradient(var(--gold-2), transparent 70%);opacity:.25;border-radius:50%;position:absolute;inset:6px}.banner-body{flex:1;gap:4px;min-width:0;display:grid}.banner-body h2{color:var(--gold-2);margin:0;font-size:1.3rem}.banner-tag{color:var(--muted);font-size:.85rem;font-style:italic}.banner-lvl{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.banner-lvl strong{color:var(--gold-2)}.recipe{border-left:3px solid color-mix(in srgb, var(--gold) 60%, transparent)}.recipe.guaranteed{border-color:var(--gold-2);box-shadow:0 0 0 1px var(--gold-2) inset}.guarantee>span{color:var(--gold-2)}.badge-g{background:color-mix(in srgb, var(--gold) 25%, #17130f);color:var(--gold-2);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:700;display:inline-block}.result-fx{place-items:center;width:180px;height:180px;margin:0 auto;display:grid;position:relative}.fx{object-fit:contain;mix-blend-mode:screen;cursor:pointer;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.result-ico.over{pointer-events:none;width:84px;height:84px;position:relative}.toast{align-items:center;gap:12px;display:flex}.toast-btn{min-height:var(--tap);color:var(--gold-2);border-color:var(--gold);background:0 0;padding:0 12px}.prof-edit{border-bottom:1px dashed var(--line);padding:4px 0 8px}@keyframes glow{0%,to{opacity:.18;transform:scale(.92)}50%{opacity:.4;transform:scale(1.04)}}[data-anim]{animation-play-state:paused}.banner-glow{animation:3.2s ease-in-out infinite paused glow}.banner-glow.in-view{animation-play-state:running}.modal-open .main *,.modal-open .top *,.modal-open .bottom-nav *{animation-play-state:paused!important}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.test-badge{letter-spacing:.04em;color:#1b1612;vertical-align:1px;background:#e86a5a;border-radius:4px;margin-left:6px;padding:0 5px;font-size:.62rem;font-weight:800;display:inline-block}.brand-btn{all:unset;min-width:0;min-height:var(--tap);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;align-items:center;gap:8px;padding-right:6px;display:flex}.brand-btn:focus-visible{outline:2px solid var(--gold)}.brand-text{min-width:0;display:grid}.brand-name{align-items:center;gap:2px;display:inline-flex}.brand-name .ico{width:18px;height:18px;color:var(--gold)}.brand-ico{object-fit:contain}.mod-list{gap:8px;display:grid}.mod-row{all:unset;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:10px;display:flex}.mod-row.on{border-color:var(--gold)}.mod-row:disabled{opacity:.5;cursor:not-allowed}.mod-row:focus-visible{outline:2px solid var(--gold)}.mod-ico{object-fit:contain;flex:none;width:48px;height:48px}.mod-body{flex:1;min-width:0;display:grid}.bottom-nav.n4{grid-template-columns:repeat(4,1fr)}@media (width>=1000px){.bottom-nav.n4{width:520px}}.inn-hero{gap:8px;display:grid}.inn-sign{aspect-ratio:1024/600;width:min(100%,440px);margin:0 auto;position:relative}.sign-bg{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.sign-name{text-align:center;color:#f6dfb0;text-shadow:0 2px #000,0 0 12px #000c;overflow-wrap:anywhere;place-items:center;margin:0;font-size:clamp(1.05rem,5.4vw,1.6rem);line-height:1.1;display:grid;position:absolute;inset:36% 13% 14%}.hero-row{border:1px solid var(--line);border-radius:var(--radius);background:#221d18e6;align-items:center;gap:10px;padding:8px;display:flex}.inn-art{flex:none;place-items:center;width:112px;height:112px;display:grid;position:relative}.inn-img{object-fit:contain;width:100%;height:100%;position:relative}.hearth{opacity:.25;background:radial-gradient(#ffb25c,#0000 68%);border-radius:50%;position:absolute;inset:14%}.hearth[data-anim]{animation:2.6s ease-in-out infinite paused glow}.hearth.in-view{animation-play-state:running}.hero-side{flex:1;gap:4px;min-width:0;display:grid}.part-head{min-height:var(--tap);justify-content:space-between;align-items:center;gap:6px;display:flex}.part-head h2,.part-head h3{margin:0}.part-tools{flex:none;gap:2px;display:flex}.part-tools .btn{color:var(--muted);border-color:#0000}.part-tools .btn.is-locked{color:var(--gold-2);border-color:var(--gold);background:color-mix(in srgb, var(--gold) 18%, transparent)}.part-tools .btn:disabled{opacity:.3;background:0 0}.tier-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.tier-btn{all:unset;min-height:var(--tap);border:1px solid var(--line);background:var(--panel-2);cursor:pointer;text-align:center;border-radius:10px;place-items:center;font-size:.85rem;font-weight:600;display:grid}.tier-btn.on{border-color:var(--gold);color:#1d1308;background:linear-gradient(var(--gold-2), var(--gold))}.tier-btn:focus-visible{outline:2px solid var(--gold)}.roll-actions{grid-template-columns:1fr auto auto;gap:8px;display:grid}.roll-actions .icon-btn{width:52px}.fav-on{color:var(--gold-2);border-color:var(--gold)}.tav-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.tav-col{align-content:start;gap:12px;min-width:0;display:grid}.keeper-row{align-items:flex-start;gap:10px;display:flex}.keeper-img{object-fit:contain;flex:none;width:64px;height:86px}.keeper-name{font-family:var(--serif);color:var(--gold-2);font-size:1.1rem}.chalk-menu{background:#1f2320 var(--chalk-bg,none) center / cover;color:#eeeee6;border:6px solid #5b3a1e;border-radius:14px;padding:14px 14px 12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #2b1b0d,0 4px 14px #00000073}.chalk-title{font-family:"Segoe Print", "Bradley Hand", "Chalkboard SE", var(--serif);color:#fff;text-shadow:0 0 2px #fff6;margin:0;font-size:1.2rem}.chalk-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.chalk-doodle{object-fit:contain;opacity:.85;pointer-events:none;flex:none;width:84px;height:64px}.chalk-menu h3{color:#f3e7c5;font-family:var(--serif)}.chalk-menu .part-tools .btn{color:#cfd3cb}.menu-sec{border-top:1px dashed #ffffff2e;padding:2px 0;position:relative}.menu-sec.special h3{color:#ffd27a}.menu-list{gap:4px;margin:0 0 6px;padding:0;list-style:none;display:grid}.menu-row{align-items:baseline;gap:6px;display:flex}.menu-row span:first-child{overflow-wrap:anywhere;min-width:0}.menu-dots{border-bottom:2px dotted #ffffff4d;flex:1;min-width:12px;transform:translateY(-4px)}.menu-row strong{white-space:nowrap;color:#ffe2a0}.menu-sec.room{align-items:center;gap:10px;padding-top:8px;display:flex}.menu-sec.room .menu-list{flex:1;margin:0}.bed-img{object-fit:contain;flex:none;width:72px;height:49px}.scene{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius);background:#221d18f0;padding:10px 12px}.scene.classic{border-left-color:#8fae7a}.scene p{margin:0 0 4px}.scene-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.scene-list{gap:8px;display:grid}.scene-sheet{justify-items:center;gap:10px;display:grid}.scene-keeper{object-fit:contain;width:84px;height:112px}.scene-box{width:100%}.vendor-list{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.vendor-row{background:var(--panel-2);border-radius:10px;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:6px;display:grid}.vendor-row .btn{padding:0 8px;font-size:.82rem}.num-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;display:grid}.pair{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px;display:grid}.tbl-edit textarea{font-size:.9rem}@keyframes freshIn{0%{opacity:.2;transform:translateY(6px)}}.fresh{animation:.35s ease-out both freshIn}@media (width>=600px){.inn-art{width:140px;height:140px}.num-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=840px){.tav-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.inn-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}@media (height<=500px) and (orientation:landscape){.inn-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}.inn-sign{width:min(100%,300px)}.tav-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.inn-art{width:90px;height:90px}}.sign-wrap{gap:0;display:grid}.sign-tools{justify-content:center;margin-top:-6px;display:flex}.sign-tools .btn{color:var(--muted)}.tagline{margin:0}.scene-layer{z-index:12;background:var(--bg);flex-direction:column;animation:.2s ease-out up;display:flex;position:fixed;inset:0}.scene-layer:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(rgb(16 13 10/var(--bg-ov,.88)), rgb(16 13 10/calc(var(--bg-ov,.88) + .06))), var(--bg-img,none) center/cover no-repeat, var(--bg);position:absolute;inset:0}.scene-head{padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;border-bottom:2px solid var(--gold);background:#15120ff5;align-items:center;gap:10px;display:flex;box-shadow:0 4px 16px #00000073}.scene-art{object-fit:contain;flex:none;width:48px;height:48px}.scene-title{flex:1;min-width:0;display:grid}.scene-title strong{font-family:var(--serif);color:var(--gold-2);white-space:nowrap;text-overflow:ellipsis;font-size:1.1rem;overflow:hidden}.scene-body{overscroll-behavior:contain;padding:12px 12px calc(20px + var(--safe-b));flex:1;width:100%;max-width:1100px;margin:0 auto;overflow:auto}.in-craft .prof-tabs{display:none}.in-building body{overflow:hidden}.town-h{margin-top:8px}.town-grid{grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr));gap:6px;display:grid}.town-btn{all:unset;background:var(--panel-2);border:1px solid var(--line);text-align:center;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-height:64px;padding:8px 4px;font-size:.8rem;display:flex}.town-btn:focus-visible{outline:2px solid var(--gold)}.town-ico{object-fit:contain;width:40px;height:40px}html[data-module=town] body{overscroll-behavior:none;overflow:hidden}html[data-module=town] .main{padding:0}.town-wrap{bottom:0;left:0;right:0;top:var(--town-top,57px);touch-action:none;-webkit-user-select:none;user-select:none;background:#1e2c15;position:fixed}.town-map,.town-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.town-canvas{image-rendering:pixelated;image-rendering:crisp-edges;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}.town-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}.town-hud{pointer-events:none;z-index:2;gap:6px;padding:8px;display:grid;position:absolute;top:0;left:0;right:0}.hud-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hud-row>*{pointer-events:auto}.hud-sp{flex:1}.hud-chip{border:1px solid var(--line);min-height:32px;color:var(--text);white-space:nowrap;background:#15120fe0;border-radius:999px;align-items:center;gap:4px;padding:0 10px;font-size:.85rem;font-weight:700;display:inline-flex}.hud-chip.tok{color:#ffe9a8;border-color:#8a6a2a}.hud-name{font-family:var(--serif);color:var(--gold-2)}.hud-cap{color:var(--muted);font-size:.75rem;font-weight:500}.hud-coin{width:18px;height:18px}.hud-btn{background:#15120fe0;width:40px;min-width:40px;min-height:40px;font-size:.8rem;font-weight:800}.hud-hint{pointer-events:auto;border:1px solid var(--line);text-align:center;background:#15120fd9;border-radius:10px;justify-self:center;max-width:92%;padding:6px 12px;font-size:.8rem}@media (width<=480px){.hud-name{display:none}}.tok-pop{border:1px solid var(--gold);color:#ffe9a8;pointer-events:none;background:#3a2a10;border-radius:999px;padding:4px 12px;font-weight:800;animation:1.4s ease-out forwards tokpop;position:absolute;top:52px;left:50%;transform:translate(-50%)}.tok-pop.still{animation:none}@keyframes tokpop{0%{opacity:0;transform:translate(-50%,8px)}15%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)}}.reduce-motion .tok-pop{animation:none}.town-dialog{left:50%;bottom:calc(10px + var(--safe-b,0px));z-index:3;width:min(640px,100% - 16px);position:absolute;transform:translate(-50%)}.dlg-frame,.scene-layer.framed{border:3px solid #c99a4a;outline:2px solid #3b2a1c;box-shadow:inset 0 0 0 2px #5a4128,0 10px 30px #0000008c}.dlg-frame{background:linear-gradient(#2a2119,#1c1611);border-radius:10px;gap:10px;padding:10px;display:flex}.dlg-portrait{width:64px;height:96px;image-rendering:pixelated;border:1px solid var(--line);background-color:#3a4a2a;background-position:0 0;background-repeat:no-repeat;background-size:300% 400%;border-radius:8px;flex:none}.dlg-portrait.sm{width:40px;height:60px}.dlg-body{flex:1;gap:4px;min-width:0;display:grid}.dlg-name{font-family:var(--serif);color:var(--gold-2)}.dlg-text{min-height:2.8em;margin:0;font-size:1rem;line-height:1.4}.dlg-btns{justify-content:flex-end;align-items:center;gap:8px;display:flex}.dlg-btns .muted{margin-right:auto}.town-overview{z-index:4;background:#0a0806e0;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px;display:flex;position:absolute;inset:0}.ov-head{align-items:center;gap:10px;width:min(100%,1024px);display:flex}.ov-head .muted{flex:1}.ov-canvas{width:min(100%,1024px,145.45dvh - 203.63px);height:auto;image-rendering:pixelated;cursor:pointer;border:3px solid #c99a4a;border-radius:6px}.scene-layer.framed{border-radius:14px;inset:max(8px,3dvh) max(8px,50vw - 450px);overflow:hidden}.scene-layer.framed:after{content:"";z-index:-2;pointer-events:none;background:#00000073;position:fixed;inset:-100vmax}.scene-layer.framed .scene-head{padding-top:6px}.in-place .scene-art{image-rendering:pixelated}.place{gap:10px;max-width:760px;margin:0 auto;display:grid}.place-intro{align-items:center;gap:10px;display:flex}.place-intro p{flex:1;margin:0}.seg{border:1px solid var(--line);background:#17130f;border-radius:12px;gap:4px;padding:4px;display:flex}.seg-btn{all:unset;text-align:center;cursor:pointer;border-radius:9px;flex:1;place-items:center;min-height:40px;font-size:.9rem;font-weight:600;display:grid}.seg-btn.on{background:var(--panel-2);color:var(--gold-2);box-shadow:inset 0 0 0 1px var(--gold)}.shop-list{gap:6px;display:grid}.shop-item{border:1px solid var(--line);background:#221d18f0;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.shop-item.sold{opacity:.6}.shop-ico{object-fit:contain;flex:none;width:44px;height:44px}.shop-ico.ph{color:var(--gold-2);background:#17130f;border-radius:8px;place-items:center;display:grid}.shop-txt{flex:1;gap:2px;min-width:0;display:grid}.shop-txt .muted{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.letters{gap:6px;margin:0;padding:0;list-style:none;display:grid}.letter-row{all:unset;box-sizing:border-box;border:1px solid var(--line);cursor:pointer;background:#221d18f0;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px;display:flex}.letter-row.new{border-color:var(--gold)}.letter-txt{flex:1;display:grid}.seal{font-size:1.4rem}.letter{color:#2a1e14;font-family:var(--serif);background:#efe2c4;border-radius:6px;padding:14px 16px;box-shadow:0 4px 14px #0006}.letter .muted{color:#6a5640}.letter h3{margin:4px 0 8px}.letter-body{white-space:pre-wrap;line-height:1.5}.closed-sign{text-align:center;background:#5a2a1c;border:3px solid #2a140c;border-radius:6px;justify-self:center;padding:12px 28px;display:grid;transform:rotate(-3deg)}.closed-sign strong{letter-spacing:.15em;color:#ffd9a8;font-size:1.6rem}.casino-games{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.casino-game{text-align:center;background:#2a1830;border:1px solid #6a3a7a;border-radius:10px;gap:4px;padding:14px;display:grid}.tent-room{aspect-ratio:4/3;width:min(100%,640px);image-rendering:pixelated;background-size:100% 100%;border:2px solid #3b2a1c;border-radius:8px;justify-self:center;position:relative}.tent-cell{all:unset;box-sizing:border-box;cursor:pointer;border-radius:4px;place-items:end center;display:grid;position:absolute}.tent-cell.can{outline-offset:-3px;outline:1px dashed #ffe6a08c}.tent-cell.can:hover,.tent-cell:focus-visible{background:#ffe6a026}.tent-item{image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 2px #00000059);max-width:none;height:auto;margin-bottom:4%;display:block}.tent-cell.full{place-items:end center;overflow:visible}.tent-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.decor-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.decor{border:1px solid var(--line);background:#221d18f0;border-radius:10px;align-items:center;gap:6px;padding:6px;display:flex}.decor>.btn{white-space:nowrap;padding:0 10px}.decor.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.decor-pick{all:unset;cursor:pointer;min-height:var(--tap);flex:1;grid-template-rows:auto auto;grid-template-columns:36px 1fr;align-items:center;column-gap:6px;display:grid}.decor-pick:disabled{opacity:.55;cursor:default}.decor-ico{object-fit:contain;width:36px;height:36px;image-rendering:pixelated;grid-row:span 2}.notices{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.notice{color:#2a1e14;font-family:var(--serif);background:#e9d9b4;border-radius:3px;padding:12px;box-shadow:0 3px 10px #00000073}.notice:nth-child(odd){transform:rotate(-1deg)}.notice:nth-child(2n){transform:rotate(1deg)}.notice p{margin:4px 0 0}.dm-view{gap:8px;display:grid}.dm-player h3{margin:0}.dm-big{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dm-big li{border-top:1px dashed var(--line);gap:4px;padding-top:6px;display:grid}.badge.veto{color:var(--red)}.json-edit{width:100%;font-family:ui-monospace,monospace;font-size:.8rem}.town-settings{gap:8px;display:grid}.town-chip{box-sizing:border-box;border:1px solid var(--gold);min-height:26px;color:var(--gold-2);cursor:pointer;border-radius:999px;align-items:center;gap:4px;max-width:46vw;margin-left:-2px;padding:3px 10px;font-weight:700;display:inline-flex}.town-chip:focus-visible{outline:2px solid var(--gold)}.town-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.town-chip-caret{font-size:.7rem}.town-pick-list{gap:8px;display:grid}.town-card{all:unset;box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:112px 1fr;align-items:center;gap:10px;min-height:84px;padding:8px;display:grid}.town-card:focus-visible,.town-card:active{outline:2px solid var(--gold)}.town-card.current{border-color:var(--gold);background:#e8be5a14}.town-card-thumb{object-fit:cover;width:112px;height:77px;image-rendering:pixelated;background:#222;border-radius:8px}.town-card-text{gap:2px;min-width:0;display:grid}.town-card-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--gold);font-size:.72rem}.town-card-theme{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.town-here{background:var(--gold);color:#1b1612;vertical-align:1px;border-radius:4px;margin-left:6px;padding:0 6px;font-size:.62rem}.cc{gap:10px;display:grid}.cc-top{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.cc-stage{border:2px solid var(--gold);background:#5c7846;border-radius:10px;justify-items:center;gap:6px;padding:8px;display:grid}.cc-preview{width:128px;height:192px;image-rendering:pixelated;image-rendering:crisp-edges}.cc-side{align-content:start;gap:8px;display:grid}.cc-label{opacity:.75;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.cc-skins{flex-wrap:wrap;gap:6px;display:flex}.cc-skin{cursor:pointer;border:2px solid #0006;border-radius:50%;width:30px;height:30px;padding:0}.cc-skin.on{outline:3px solid var(--gold);outline-offset:1px}.cc-rows{gap:6px;display:grid}.cc-row{grid-template-columns:5.2em 44px 1fr 44px;align-items:center;gap:6px;display:grid}.cc-row .icon-btn{min-height:40px}.cc-slot{font-weight:600}.cc-opt{text-align:center}.cc-sets{flex-wrap:wrap;gap:6px;display:flex}.cc-set{padding:6px 10px}.cc-save .btn{flex:1}@media (width>=700px){.cc-preview{width:160px;height:240px}}.cc-new{white-space:nowrap;background:var(--gold);color:#1b140e;min-width:0;padding:0 10px;font-weight:700;box-shadow:0 0 0 2px #fff3;width:auto!important}.cc-build{gap:6px;display:flex}.cc-b{min-width:52px}.cc-b.on{background:var(--gold);color:#1b140e}
