:root{--ink:#211815;--brown:#6b4327;--paper:#ead7aa;--cream:#f4e2b5;--green:#8ea45f;--blue:#6b9ba8;--red:#b94a3c;--orange:#d98335;--good:#8ea45f;--warn:#d49b3a;--bad:#b94a3c}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);font-family:"Trebuchet MS","Arial Rounded MT Bold","Microsoft YaHei",system-ui,sans-serif;background:#14100e;cursor:grab}body.dragging-hand,body.dragging-hand *{cursor:grabbing!important}button{font:inherit;color:inherit}.game-shell{position:relative;width:100vw;height:100vh;min-width:980px;min-height:620px;overflow:hidden;isolation:isolate;background:url('./assets/image2-clean/scene/main.webp') center center/cover no-repeat}.game-shell:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 73%,rgba(255,135,35,.10),transparent 32%),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.20))}.scanlines{position:absolute;inset:0;z-index:900;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/100% 4px;mix-blend-mode:soft-light}.top-hud{position:absolute;left:22px;right:22px;top:16px;z-index:1000;height:76px;display:flex;align-items:center;justify-content:space-between;pointer-events:auto;padding:0 8px;border-radius:18px;background:rgba(234,215,170,.86);border:4px solid var(--ink);box-shadow:0 8px 0 rgba(33,24,21,.55),0 16px 28px #0005;backdrop-filter:blur(2px)}.brand-block{display:flex;align-items:center;gap:12px}.brand-mark{width:62px;height:62px;display:grid;place-items:center;border:4px solid var(--ink);border-radius:14px;background:radial-gradient(circle,#ffd376,#cf6d2d 72%);box-shadow:0 6px 0 var(--brown),0 12px 0 #0002;font-weight:1000;font-size:32px}.sys-label{margin:0;color:var(--brown);font-size:11px;font-weight:1000;letter-spacing:.12em}h1{margin:2px 0 0;font-size:27px;line-height:1;color:#f7e7b8;text-shadow:3px 0 var(--ink),-3px 0 var(--ink),0 3px var(--ink),0 -3px var(--ink),3px 3px var(--ink),0 7px 0 #0003;letter-spacing:.02em}.top-stats{display:flex;gap:8px;align-items:center}.top-stats div,.reset-btn,.layout-btn,.sound-btn,.walk-btn,.gear-btn{min-width:112px;height:52px;padding:6px 12px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:0 5px 0 var(--brown),0 10px 0 #0001;display:flex;flex-direction:column;justify-content:center;font-weight:1000;pointer-events:auto}.top-stats span{font-size:10px;color:var(--brown);letter-spacing:.1em}.top-stats b{font-size:16px}.reset-btn,.layout-btn,.sound-btn,.walk-btn,.gear-btn{cursor:pointer}.reset-btn{background:linear-gradient(#d9a35e,#b94a3c)}.layout-btn.active{background:linear-gradient(#c8d48a,#8ea45f)}.sound-btn{min-width:104px;background:linear-gradient(#e8d8b0,#c4a76c)}.sound-btn.active{background:linear-gradient(#d4df9a,#8ea45f)}.settings-wrap{position:relative;min-width:0!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:block!important}.gear-btn{min-width:56px;width:56px;font-size:24px;align-items:center}.top-stats .settings-panel{position:absolute;right:0;top:62px;display:none!important;gap:8px;flex-direction:column;min-width:174px!important;width:174px!important;height:auto!important;padding:10px!important;border:4px solid var(--ink)!important;border-radius:14px!important;background:var(--paper)!important;box-shadow:0 7px 0 var(--brown),0 16px 26px #0005!important}.top-stats .settings-panel.open{display:flex!important}.settings-panel button{width:150px}.walk-btn{background:linear-gradient(#f0cf83,#d49b3a)}.walk-btn.active{background:linear-gradient(#c8d48a,#8ea45f)}.scene-stage{position:absolute;inset:0;z-index:10;overflow:visible;pointer-events:none}.building-grid{position:absolute;inset:0;width:100vw;height:100vh;z-index:10;background:transparent;pointer-events:none}.building-bg{display:none}.room-cell{position:absolute;background:transparent;border:0;box-shadow:none;filter:none;overflow:visible;pointer-events:none}.room-cell b{display:none}.room-cell.active{outline:none}.room-cell[data-room="0"]{left:40%;top:43%;width:22%;height:26%}.room-cell[data-room="1"]{left:18%;top:31%;width:19%;height:22%}.room-cell[data-room="2"]{left:10%;top:66%;width:22%;height:22%}.room-cell[data-room="3"]{left:6%;top:76%;width:17%;height:18%}.room-cell[data-room="4"]{left:63%;top:24%;width:26%;height:26%}.room-cell[data-room="5"]{left:68%;top:55%;width:24%;height:24%}.scene-vignette,.lamp-glow,.bubbles{display:none}.feedback-layer{position:absolute;inset:0;z-index:70;pointer-events:none}.pet{position:absolute;left:26%;top:46%;width:192px;height:208px;transform:translate(-50%,-50%) scale(.44);background-image:url('./assets/sprites/final/spritesheet-removebg.webp');background-repeat:no-repeat;background-size:1536px 1872px;image-rendering:auto;filter:drop-shadow(0 8px 0 #0008) saturate(1.03);z-index:55;transition:transform .18s linear;pointer-events:auto;cursor:grab}.pet:after{content:"";position:absolute;left:24px;right:24px;bottom:10px;height:18px;border-radius:50%;background:#0003;z-index:-1}.amiya-bubble{position:absolute;z-index:66;max-width:280px;padding:8px 12px;transform:translate(-50%,-150%);background:#ead7aa;border:3px solid var(--ink);border-radius:15px;box-shadow:0 5px 0 var(--brown),0 10px 18px #0004;font-size:13px;font-weight:1000;line-height:1.35;white-space:normal;pointer-events:none;opacity:0;transition:opacity .18s ease}.amiya-bubble.show{opacity:1}.amiya-bubble.warn{background:#e8c16d}.amiya-bubble.critical{background:#d78972}.amiya-bubble:after{content:"";position:absolute;left:50%;bottom:-10px;width:16px;height:16px;transform:translateX(-50%) rotate(45deg);background:inherit;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink)}.furniture-layer{position:absolute;inset:0;z-index:45;pointer-events:none}.layout-editing .furniture-layer{z-index:1100}.furniture-node{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;cursor:default;user-select:none;touch-action:none}.furniture-prop{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 0 #0006) saturate(1.04);pointer-events:none}.furniture-node:before{content:"";position:absolute;left:50%;bottom:-5px;width:78%;height:16px;transform:translateX(-50%);background:#0003;border-radius:50%;z-index:-1}.layout-editing .furniture-node{cursor:grab;outline:3px dashed #f0cf83;outline-offset:5px}.furniture-node.dragging{cursor:grabbing;opacity:.88;filter:drop-shadow(0 10px 0 #d49b3a88);z-index:60}.furniture-resize{display:none;position:absolute;right:-9px;bottom:-9px;width:20px;height:20px;border:3px solid var(--ink);background:#d49b3a;border-radius:50%;cursor:nwse-resize;padding:0}.layout-editing .furniture-resize{display:block}.furniture-aura{position:absolute;width:82px;height:28px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#d49b3a66,#d49b3a18 60%,transparent 72%);opacity:.8;pointer-events:none}.furniture-aura.active{background:radial-gradient(ellipse,#8ea45f99,#8ea45f33 60%,transparent 72%)}.furniture-chip{position:absolute;left:50%;top:-12px;transform:translate(-50%,-100%);padding:3px 7px;background:#ead7aa;border:2px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 var(--brown);font-size:9px;font-weight:1000;white-space:nowrap;opacity:0;pointer-events:none}.layout-editing .furniture-chip,.furniture-node.active .furniture-chip{opacity:1}.furniture-node.active .furniture-chip{background:#c8d48a}.world-action-layer{position:absolute;inset:0;z-index:30;pointer-events:none}.world-action{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;opacity:.04;border:0;border-radius:999px;background:#d49b3a;width:22px;height:22px;padding:0;overflow:hidden;cursor:pointer}.world-action b,.world-action span{display:none}.world-action.active{opacity:.12}.walk-edit-layer{position:absolute;inset:0;z-index:1200;display:none;pointer-events:auto}.walk-editing .walk-edit-layer{display:block}.walk-rect{position:absolute;border:3px dashed #8ea45f;background:rgba(142,164,95,.18);cursor:move}.walk-rect.current{border-color:#f0cf83;background:rgba(240,207,131,.18)}.walk-rect:before{content:attr(data-label);position:absolute;left:6px;top:-26px;padding:3px 7px;border:2px solid var(--ink);border-radius:8px;background:#ead7aa;font-size:10px;font-weight:1000;white-space:nowrap}.walk-handle{position:absolute;right:-9px;bottom:-9px;width:20px;height:20px;border:3px solid var(--ink);border-radius:50%;background:#d49b3a;cursor:nwse-resize}.door-edit-point{position:absolute;z-index:2;transform:translate(-50%,-50%);width:34px;height:28px;border:3px solid var(--ink);border-radius:12px;background:#b94a3c;color:#fff7d7;box-shadow:0 4px 0 var(--brown);font:1000 11px/20px system-ui;text-align:center;cursor:grab;display:flex;align-items:center;justify-content:center;gap:2px}.door-edit-point b{font-size:12px}.door-edit-point i{font-style:normal;font-size:9px;opacity:.9}.door-edit-point.current{outline:3px solid #fff7d7}.door-edit-point.endpoint-1{border-style:dashed}.door-edit-point.pair-0{background:#b94a3c}.door-edit-point.pair-1{background:#6b9ba8}.door-edit-point.pair-2{background:#8ea45f}.door-edit-point.pair-3{background:#8b6aa3}.door-edit-point.pair-4{background:#d98335}.door-add-btn{position:absolute;right:22px;bottom:88px;z-index:4;width:54px;height:54px;border:4px solid var(--ink);border-radius:16px;background:linear-gradient(#c8d48a,#8ea45f);box-shadow:0 6px 0 var(--brown);font-size:30px;font-weight:1000;cursor:pointer}.walk-draft{position:absolute;border:3px dashed #6b9ba8;background:rgba(107,155,168,.16)}.walk-hint{position:absolute;left:50%;bottom:88px;transform:translateX(-50%);padding:8px 14px;border:3px solid var(--ink);border-radius:14px;background:#ead7aa;box-shadow:0 5px 0 var(--brown);font-weight:1000}.room-tag,.room-map,.build-notes{display:none!important}.right-terminal,.furniture-drawer{position:absolute;right:10px;z-index:1050;width:300px;transform:translateX(300px);transition:.18s ease;pointer-events:auto}.right-terminal{top:104px;max-height:calc(100vh - 190px)}.furniture-drawer{top:252px;width:292px;transform:translateX(292px)}.right-terminal:hover,.furniture-drawer:hover,.furniture-drawer.open{transform:translateX(0)}.terminal-tab,.furniture-tab{position:absolute;left:-44px;top:0;width:44px;height:124px;display:grid;place-items:center;writing-mode:vertical-rl;background:#d49b3a;border:3px solid var(--ink);border-right:0;border-radius:12px 0 0 12px;box-shadow:0 5px 0 var(--brown);font-weight:1000;letter-spacing:.12em}.terminal-content,.furniture-panel{background:rgba(234,215,170,.96);border:4px solid var(--ink);border-radius:0 14px 14px 14px;box-shadow:0 7px 0 var(--brown),0 14px 30px #0005;padding:13px}.terminal-content{max-height:calc(100vh - 190px);overflow:hidden;display:flex;flex-direction:column;gap:10px}.terminal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:3px dashed #9a7043;padding-bottom:8px;font-weight:1000;letter-spacing:.08em}.terminal-header i{font-style:normal;color:#b94a3c}.status-row{display:flex;gap:12px;align-items:center}.mood-orb{width:58px;height:58px;display:grid;place-items:center;border:4px solid var(--ink);border-radius:14px;background:#d49b3a;font-size:30px;font-weight:1000;box-shadow:0 5px 0 var(--brown)}#stateLabel{margin:0;font-size:25px}#stateHint{margin:4px 0 0;line-height:1.45;font-size:13px}.meters{display:grid;gap:8px}.meter{background:#f4e2b5;border:3px solid var(--ink);border-radius:10px;padding:7px;box-shadow:0 3px 0 #9a7043}.meter.warn{background:#e8c16d}.meter.critical{background:#d78972}.meter-top{display:flex;justify-content:space-between;font-weight:1000;font-size:12px;margin-bottom:5px}.bar{height:12px;background:#6b5846;border:2px solid var(--ink);border-radius:8px;overflow:hidden}.fill{height:100%;width:50%;background:linear-gradient(90deg,var(--blue),var(--good));transition:.3s}.quest-box{margin-top:auto;padding:10px;background:#3b2b20;color:#f2ddb2;border:3px solid var(--ink);border-radius:12px}.quest-box .sys-label{color:#f0b95a}.quest-box ul{margin:7px 0 0;padding-left:18px;font-size:13px;line-height:1.55}.quest-box li.done{color:#c8d48a;text-decoration:line-through}.furniture-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0;max-width:100%;overflow:hidden}.furn-page-btn{min-width:0;border:3px solid var(--ink);border-radius:10px;background:#f4e2b5;box-shadow:0 3px 0 var(--brown);padding:5px 3px;font-size:11px;line-height:1.05;font-weight:1000;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.furn-page-btn.active{background:#d49b3a}.furniture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.furniture-palette-item{height:76px;display:grid;place-items:center;background:#f7e7bd;border:3px solid var(--ink);border-radius:12px;box-shadow:0 3px 0 var(--brown);cursor:grab;touch-action:none}.furniture-palette-item img{max-width:88%;max-height:68px;object-fit:contain;pointer-events:none}.furniture-hint{margin:10px 0 0;color:var(--brown);font-size:12px;font-weight:1000}.furniture-drawer.drop-target .furniture-panel{outline:4px solid #d49b3a;outline-offset:4px}.message-strip{position:absolute;left:50%;right:auto;bottom:26px;z-index:1040;width:min(62vw,900px);transform:translateX(-50%);min-height:46px;display:flex;align-items:center;padding:0 16px;background:rgba(234,215,170,.9);border:4px solid var(--ink);border-radius:14px;box-shadow:0 6px 0 var(--brown);font-weight:1000;pointer-events:none}.message-strip:before{content:"💬";margin-right:9px}.float-text{position:absolute;transform:translate(-50%,-50%);color:#fff;text-shadow:2px 0 var(--ink),-2px 0 var(--ink),0 2px var(--ink),0 -2px var(--ink);font-size:15px;font-weight:1000;animation:floatUp 1.1s ease-out forwards}.float-text.good{color:#c8d48a}.float-text.warn{color:#f0cf83}.float-text.bad{color:#d78972}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,-20%) scale(.94)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-125%) scale(1.04)}}@media(max-width:1180px){h1{font-size:23px}.message-strip{width:min(72vw,860px)}}@media(max-height:760px){.message-strip{bottom:14px;width:min(58vw,840px)}.top-hud{top:10px;transform:scale(.92);transform-origin:top left}}body.debug-space .room-cell{outline:2px dashed rgba(240,207,131,.78)!important;background:rgba(240,207,131,.10)!important}body.debug-space .world-action{opacity:.45!important;width:34px!important;height:34px!important}.door-debug{display:none;position:absolute;z-index:36;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;border:3px solid var(--ink);background:#b94a3c;color:#fff7d7;box-shadow:0 3px 0 var(--brown);font:1000 11px/18px system-ui;text-align:center;pointer-events:none}body.debug-space .door-debug{display:block}.door-debug.current{background:#6b9ba8;color:#211815}body.debug-space .room-cell::after{content:attr(data-room);position:absolute;left:4px;top:4px;padding:2px 6px;border-radius:6px;background:#ead7aa;color:#211815;border:2px solid #211815;font:900 12px/1 monospace}
/* Day/night survival extension */
.cycle-shade{position:absolute;inset:0;z-index:18;pointer-events:none;background:rgba(0,0,0,0);transition:background .8s ease}.cycle-shade.night{background:rgba(4,8,18,.36)}.camp-light{position:absolute;z-index:19;pointer-events:none;width:360px;height:220px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,154,62,.34),rgba(255,154,62,.12) 42%,transparent 72%);mix-blend-mode:screen;opacity:.8}.creature-layer{position:absolute;inset:0;z-index:52;pointer-events:none}.creature{position:absolute;transform:translate(-50%,-100%);transition:filter .2s linear, transform .12s linear;filter:drop-shadow(0 6px 0 #0007);pointer-events:auto;cursor:grab;touch-action:none;animation:creatureBob 1.1s steps(2,end) infinite}.creature img{display:block;width:100%;height:auto;pointer-events:none}.creature span{position:absolute;left:50%;top:-8px;transform:translate(-50%,-100%);padding:2px 6px;border:2px solid var(--ink);border-radius:8px;background:rgba(234,215,170,.9);font-size:9px;font-weight:1000;white-space:nowrap;opacity:0;pointer-events:none}.creature:hover span{opacity:1}.creature.hostile{filter:drop-shadow(0 6px 0 #0008) drop-shadow(0 0 10px rgba(185,74,60,.7));animation:creatureThreat .46s steps(2,end) infinite}.creature.companion{z-index:53;animation-duration:.9s}.creature.monster{z-index:54}.creature.hidden{display:none}@keyframes creatureBob{0%,100%{transform:translate(-50%,-100%) translateY(0)}50%{transform:translate(-50%,-100%) translateY(-4px)}}@keyframes creatureThreat{0%,100%{transform:translate(-50%,-100%) translateX(-2px)}50%{transform:translate(-50%,-100%) translateX(2px) translateY(-3px)}}.survival-panel{position:absolute;left:22px;top:104px;z-index:1045;width:245px;padding:10px 12px;border:4px solid var(--ink);border-radius:14px;background:rgba(234,215,170,.92);box-shadow:0 7px 0 var(--brown),0 14px 28px #0005;font-weight:1000;pointer-events:none}.survival-panel h3{margin:0 0 8px;font-size:15px}.survival-row{display:flex;justify-content:space-between;gap:8px;margin:5px 0;font-size:12px}.survival-bar{height:10px;border:2px solid var(--ink);border-radius:7px;background:#3b2b20;overflow:hidden}.survival-fill{height:100%;width:50%;background:linear-gradient(90deg,#b94a3c,#d49b3a,#8ea45f)}

/* v10 death iris / silent-film ending */
.death-iris{--death-x:50%;--death-y:55%;position:absolute;inset:0;z-index:2000;pointer-events:none;opacity:0;transition:opacity .2s ease;background:radial-gradient(circle at var(--death-x) var(--death-y), transparent 0, transparent 28px, rgba(0,0,0,.96) 92px, #000 100%)}
.death-iris.show{opacity:1;pointer-events:auto;animation:irisClose 1.35s cubic-bezier(.7,0,.25,1) forwards}.death-copy{position:absolute;left:50%;bottom:8vh;transform:translateX(-50%);width:min(520px,86vw);padding:22px 26px;border:4px solid #1c1512;border-radius:18px;background:rgba(234,215,170,.94);box-shadow:0 9px 0 #5a3a25,0 20px 40px #000;color:#211815;text-align:center;opacity:0;animation:deathCopyIn .5s ease .95s forwards}.death-copy h2{margin:0 0 8px;font-size:28px;color:#f4e2b5;text-shadow:3px 0 #211815,-3px 0 #211815,0 3px #211815,0 -3px #211815,3px 3px #211815}.death-copy p{margin:0 0 16px;font-weight:1000}.death-copy button{min-width:150px;height:48px;border:3px solid #211815;border-radius:12px;background:linear-gradient(#d49b3a,#b94a3c);box-shadow:0 5px 0 #6b4327;color:#211815;font-weight:1000;cursor:pointer}.death-copy button:active{transform:translateY(3px);box-shadow:0 2px 0 #6b4327}@keyframes irisClose{0%{background:radial-gradient(circle at var(--death-x) var(--death-y), transparent 0, transparent 120vmax, rgba(0,0,0,.4) 122vmax, #000 125vmax)}70%{background:radial-gradient(circle at var(--death-x) var(--death-y), transparent 0, transparent 78px, rgba(0,0,0,.94) 150px, #000 100%)}100%{background:radial-gradient(circle at var(--death-x) var(--death-y), transparent 0, transparent 30px, rgba(0,0,0,.98) 94px, #000 100%)}}@keyframes deathCopyIn{from{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%,0)}}
.survival-fill.player-health-fill{background:linear-gradient(90deg,#b94a3c,#d49b3a,#8ea45f)}.survival-fill.player-health-fill.critical{background:linear-gradient(90deg,#4b0f12,#b94a3c);animation:healthPulse .55s steps(2,end) infinite}@keyframes healthPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.55)}}

/* v12 old hand-drawn survival UI pass: parchment, uneven ink, early-PC game panel feel */
:root{--old-paper:#c6aa73;--old-paper-2:#9d7848;--old-ink:#18110d;--old-red:#8f2e25;--old-gold:#c99035;--old-green:#6f7d42}
body{font-family:"Georgia","Times New Roman","Microsoft YaHei",serif;background:#0d0a08;color:var(--old-ink)}
.scanlines{background:linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px) 0 0/100% 3px;mix-blend-mode:multiply;opacity:.55}
.top-hud,.terminal-content,.furniture-panel,.survival-panel,.message-strip,.settings-panel,.amiya-bubble,.death-copy{background:linear-gradient(180deg,#d3bc82,#b18b55 62%,#8d693f)!important;border:5px solid var(--old-ink)!important;border-radius:7px!important;box-shadow:0 0 0 2px #4a2f1d inset,0 7px 0 #3a2416,0 18px 30px #0008!important;filter:sepia(.12) saturate(.92)}
.top-hud{height:84px;top:14px;transform:rotate(-.18deg)}
.top-hud:before,.terminal-content:before,.furniture-panel:before,.survival-panel:before,.message-strip:before{content:"";position:absolute;inset:6px;pointer-events:none;border:2px dashed rgba(24,17,13,.32);border-radius:4px;mix-blend-mode:multiply}.message-strip:before{content:"☞";position:static;border:0;margin-right:10px;font-size:20px;color:var(--old-red);mix-blend-mode:normal}
.brand-mark{background:radial-gradient(circle,#e4b955,#8f2e25 68%,#332016)!important;border-radius:50% 44% 50% 42%!important;border-width:5px!important;color:#24150f;box-shadow:0 6px 0 #3a2416,0 0 0 3px #d3bc82 inset!important;transform:rotate(-6deg)}
h1{font-family:"Georgia","STKaiti","KaiTi",serif;color:#e7d09a!important;text-shadow:3px 0 #18110d,-3px 0 #18110d,0 3px #18110d,0 -3px #18110d,3px 3px #18110d,0 7px 0 #0006!important;letter-spacing:.04em}.sys-label,.top-stats span,.terminal-header,.survival-row,.furniture-hint{font-family:"Georgia","Times New Roman","Microsoft YaHei",serif;color:#3a2416!important;letter-spacing:.08em}.top-stats div,.reset-btn,.layout-btn,.sound-btn,.walk-btn,.gear-btn,.furn-page-btn,.furniture-palette-item,.death-copy button{background:linear-gradient(180deg,#d8bd7a,#a77c42)!important;border:4px solid var(--old-ink)!important;border-radius:6px!important;box-shadow:0 5px 0 #3a2416,0 0 0 2px rgba(255,238,172,.18) inset!important;text-transform:uppercase}.top-stats div:nth-child(2){transform:rotate(.6deg)}button:hover,.furn-page-btn:hover,.furniture-palette-item:hover{filter:brightness(1.08) sepia(.2)}button:active,.furn-page-btn:active{transform:translateY(3px);box-shadow:0 2px 0 #3a2416!important}.reset-btn,.death-copy button{background:linear-gradient(180deg,#b94a3c,#7c231e)!important;color:#f0d89d!important}.layout-btn.active,.sound-btn.active,.walk-btn.active,.furn-page-btn.active{background:linear-gradient(180deg,#9aa35b,#606b36)!important;color:#21150e!important}.terminal-tab,.furniture-tab{background:linear-gradient(180deg,#9d7848,#674126)!important;color:#ead7aa!important;border:4px solid var(--old-ink)!important;border-right:0!important;border-radius:8px 0 0 8px!important;text-shadow:1px 1px #000;box-shadow:0 5px 0 #3a2416!important}.right-terminal,.furniture-drawer{filter:drop-shadow(0 10px 12px #0008)}
.mood-orb{border-radius:50% 42% 48% 45%!important;background:radial-gradient(circle,#c99035,#8f2e25)!important;color:#22140e;box-shadow:0 5px 0 #3a2416,0 0 0 3px #d3bc82 inset!important}.meter{background:#c9ad75!important;border:4px solid #18110d!important;border-radius:5px!important;box-shadow:0 3px 0 #3a2416!important}.bar,.survival-bar{height:14px;background:#21150e!important;border:3px solid #18110d!important;border-radius:2px!important;box-shadow:0 0 0 2px rgba(255,230,150,.12) inset}.fill,.survival-fill{background:linear-gradient(90deg,#7c231e,#c99035,#6f7d42)!important}.survival-fill.player-health-fill.critical{background:repeating-linear-gradient(45deg,#2b0707 0 8px,#8f2e25 8px 16px)!important}.survival-panel{width:235px;transform:rotate(.35deg)}.survival-panel h3{font-size:17px;text-align:center;text-shadow:1px 1px rgba(255,230,150,.28);border-bottom:3px double #3a2416;padding-bottom:5px}.quest-box{background:#241711!important;border:4px solid #18110d!important;border-radius:5px!important;color:#e7d09a!important;box-shadow:0 0 0 2px #5a3a22 inset!important}.quest-box .sys-label{color:#c99035!important}.furniture-palette-item img,.furniture-prop,.creature img{filter:drop-shadow(3px 5px 0 #0009) contrast(1.06) saturate(.9)!important}.message-strip{font-size:15px;bottom:22px;transform:translateX(-50%) rotate(.18deg);color:#21150e}.amiya-bubble{border-radius:10px!important;transform:translate(-50%,-150%) rotate(-.6deg)}.amiya-bubble:after{border-color:#18110d!important}.death-iris.show .death-copy{background:linear-gradient(180deg,#d3bc82,#8d693f)!important}.death-copy h2{font-family:"Georgia","STKaiti","KaiTi",serif;color:#e7d09a!important}.room-cell[data-room]{outline-offset:-3px}body.debug-space .room-cell{outline:3px dashed rgba(201,144,53,.85)!important;background:rgba(143,46,37,.12)!important}

/* v13 concise in-game HUD pass: less webpage chrome, more compact diegetic game UI */
.top-hud{left:14px!important;right:auto!important;top:12px!important;width:auto!important;height:54px!important;padding:6px!important;gap:8px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;transform:none!important;display:flex!important}.top-hud:before{display:none!important}.brand-block{gap:7px!important;padding:4px 9px 4px 5px!important;border:3px solid #18110d!important;border-radius:999px!important;background:rgba(30,20,14,.82)!important;box-shadow:0 4px 0 #0008!important;color:#e6cf98!important}.brand-mark{width:40px!important;height:40px!important;font-size:21px!important;border-width:3px!important;box-shadow:0 3px 0 #0008!important}.brand-block h1{font-size:15px!important;margin:0!important;color:#ead7aa!important;text-shadow:2px 0 #18110d,-2px 0 #18110d,0 2px #18110d,0 -2px #18110d!important}.brand-block .sys-label{display:none!important}.top-stats{gap:6px!important}.top-stats>div{min-width:auto!important;width:auto!important;height:42px!important;padding:4px 9px!important;border:3px solid #18110d!important;border-radius:999px!important;background:rgba(30,20,14,.82)!important;box-shadow:0 4px 0 #0008!important;color:#ead7aa!important}.top-stats>div span{display:none!important}.top-stats>div b{font-size:13px!important;color:#ead7aa!important}.layout-btn,.gear-btn{min-width:42px!important;width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;background:rgba(30,20,14,.86)!important;color:#ead7aa!important;box-shadow:0 4px 0 #0008!important;font-size:0!important}.layout-btn:after{content:"✥";font-size:21px}.gear-btn{font-size:20px!important}.settings-panel{right:auto!important;left:0!important;top:48px!important;width:132px!important;min-width:132px!important;padding:6px!important;background:rgba(30,20,14,.92)!important;border-radius:10px!important}.settings-panel button{width:112px!important;height:32px!important;min-width:112px!important;font-size:10px!important;color:#ead7aa!important}.survival-panel{left:14px!important;top:76px!important;width:150px!important;padding:8px!important;border-radius:14px!important;background:rgba(30,20,14,.82)!important;color:#ead7aa!important;box-shadow:0 4px 0 #0008!important;transform:none!important}.survival-panel:before{display:none!important}.survival-panel h3{display:none!important}.survival-row{font-size:10px!important;margin:3px 0!important;color:#ead7aa!important}.survival-row span{color:#c99035!important}.survival-row b{color:#ead7aa!important}.survival-bar{height:12px!important;border:2px solid #0d0907!important;background:#0d0907!important}.survival-fill{height:100%!important}.right-terminal{display:none!important}.message-strip{left:50%!important;bottom:14px!important;width:auto!important;max-width:min(760px,70vw)!important;min-height:0!important;padding:8px 14px!important;border:3px solid #18110d!important;border-radius:999px!important;background:rgba(30,20,14,.82)!important;color:#ead7aa!important;box-shadow:0 4px 0 #0009!important;font-size:13px!important;transform:translateX(-50%)!important}.message-strip:before{content:""!important;margin:0!important}.furniture-drawer{right:8px!important;top:auto!important;bottom:70px!important;width:250px!important;transform:translateX(250px)!important}.furniture-drawer:hover,.furniture-drawer.open{transform:translateX(0)!important}.furniture-tab{height:86px!important;width:34px!important;left:-34px!important;font-size:11px!important;border-radius:10px 0 0 10px!important}.furniture-panel{padding:9px!important;border-radius:10px 0 0 10px!important;background:rgba(30,20,14,.88)!important;color:#ead7aa!important}.furniture-panel:before{display:none!important}.terminal-header{font-size:11px!important;color:#ead7aa!important}.furniture-pages{grid-template-columns:repeat(2,1fr)!important;gap:5px!important;margin:7px 0!important}.furn-page-btn{height:28px!important;padding:2px!important;font-size:10px!important;border-radius:7px!important;background:#2b1b12!important;color:#ead7aa!important;box-shadow:0 2px 0 #000!important}.furniture-grid{gap:6px!important}.furniture-palette-item{height:58px!important;border-radius:8px!important;background:#2b1b12!important;box-shadow:0 2px 0 #000!important}.furniture-palette-item img{max-height:50px!important}.furniture-hint{display:none!important}.amiya-bubble{max-width:220px!important;padding:6px 9px!important;border-radius:11px!important;background:rgba(30,20,14,.9)!important;color:#ead7aa!important;font-size:12px!important;box-shadow:0 3px 0 #0008!important}.amiya-bubble:after{background:rgba(30,20,14,.9)!important}.meter,.quest-box{display:none!important}.death-copy{width:min(360px,80vw)!important;padding:16px!important;border-radius:14px!important;background:rgba(30,20,14,.9)!important;color:#ead7aa!important}.death-copy h2{font-size:22px!important}.death-copy p{font-size:13px!important}.death-copy button{height:40px!important;min-width:120px!important;border-radius:999px!important;color:#ead7aa!important;background:#7c231e!important}.creature span{background:rgba(30,20,14,.86)!important;color:#ead7aa!important;border-radius:999px!important}.room-tag,.room-map,.build-notes{display:none!important}

/* v15 pickup weapon / armed survivor */
.pickup-layer{position:absolute;inset:0;z-index:51;pointer-events:none}.pickup-item{position:absolute;transform:translate(-50%,-100%);width:78px;filter:drop-shadow(4px 6px 0 #0009);animation:pickupBob .9s steps(2,end) infinite}.pickup-item img{display:block;width:100%;height:auto}.pickup-item span{position:absolute;left:50%;top:-8px;transform:translate(-50%,-100%);padding:2px 7px;border:2px solid #18110d;border-radius:999px;background:rgba(30,20,14,.86);color:#ead7aa;font-size:10px;font-weight:1000;white-space:nowrap}.has-gatling .pet:before{content:"";position:absolute;left:-32px;top:76px;width:150px;height:64px;background:url('./assets/image2-clean/props/gatling.webp') center/contain no-repeat;transform:rotate(-7deg);filter:drop-shadow(3px 4px 0 #0009);z-index:3;pointer-events:none}.has-gatling .pet{filter:drop-shadow(0 8px 0 #0008) drop-shadow(0 0 10px rgba(201,144,53,.38)) saturate(1.05)}@keyframes pickupBob{0%,100%{transform:translate(-50%,-100%) translateY(0)}50%{transform:translate(-50%,-100%) translateY(-5px)}}

/* v16 manual gatling pickup / aiming / hit feedback */
.pickup-item.near span{background:#c99035!important;color:#18110d!important;animation:pickupPrompt .45s steps(2,end) infinite}.has-gatling .pet:before{transform:rotate(var(--gatling-angle,0deg))!important;transform-origin:72% 52%;left:-42px!important;top:74px!important}.gatling-firing .pet:before{filter:drop-shadow(3px 4px 0 #0009) drop-shadow(0 0 12px #f1b13b)!important}.bullet-particle{position:absolute;z-index:120;width:9px;height:3px;border-radius:999px;background:#f6d36b;box-shadow:0 0 8px #f6d36b,0 0 2px #fff;transform:translate(-50%,-50%);pointer-events:none;animation:bulletFly .32s linear forwards}.creature.hit{filter:drop-shadow(0 6px 0 #0008) drop-shadow(0 0 14px #f6d36b)!important;animation:monsterHit .18s steps(2,end) infinite!important}.creature.hit img{filter:brightness(1.8) sepia(.3) saturate(1.6)!important}@keyframes bulletFly{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.55)}}@keyframes monsterHit{0%,100%{transform:translate(-50%,-100%) translateX(-5px)}50%{transform:translate(-50%,-100%) translateX(5px) translateY(-3px)}}@keyframes pickupPrompt{0%,100%{transform:translate(-50%,-100%) scale(1)}50%{transform:translate(-50%,-100%) scale(1.08)}}

/* v17 high-speed two-row pixel tracers / shooting-only mouse mode */
.has-gatling .scene-stage{cursor:crosshair!important}.has-gatling .pet{pointer-events:none!important}.has-gatling .creature,.has-gatling .furniture-node,.has-gatling .world-action{pointer-events:none!important}.has-gatling .pet:before{transform:rotate(var(--gatling-angle,0deg))!important;transform-origin:73% 52%;transition:transform .025s linear}.bullet-beam{position:absolute;z-index:130;height:2px;transform-origin:0 50%;pointer-events:none;background:repeating-linear-gradient(90deg,#fff4a3 0 10px,#e89425 10px 18px,transparent 18px 25px);box-shadow:0 0 5px #ffd15d,0 0 1px #fff;animation:beamStreak .09s linear forwards;image-rendering:pixelated}.bullet-spark{position:absolute;z-index:131;width:5px;height:5px;background:#fff4a3;box-shadow:0 0 6px #ffd15d;transform:translate(-50%,-50%);pointer-events:none;animation:sparkPop .11s steps(2,end) forwards}.bullet-particle{display:none!important}.gatling-firing .pet:before{filter:drop-shadow(3px 4px 0 #0009) drop-shadow(0 0 18px #ffd15d) brightness(1.35)!important}@keyframes beamStreak{0%{opacity:1;clip-path:inset(0 82% 0 0)}35%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:0;clip-path:inset(0 0 0 72%)}}@keyframes sparkPop{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(.3)}}

/* v18 armed cursor/event fix */
body.has-gatling,body.has-gatling *{cursor:crosshair!important}.has-gatling .scene-stage,.has-gatling .building-grid{pointer-events:auto!important}.has-gatling.dragging-hand,.has-gatling.dragging-hand *{cursor:crosshair!important}.has-gatling .top-hud,.has-gatling .furniture-drawer,.has-gatling .settings-panel{pointer-events:none!important}

/* v19 true weapon/bullet/vfx layers */
.weapon-layer-top{position:absolute;inset:0;z-index:62;pointer-events:none}.weapon-gatling{position:absolute;width:118px;height:auto;transform-origin:43% 52%;filter:drop-shadow(3px 4px 0 #0009);pointer-events:none}.weapon-gatling.flip{transform-origin:43% 52%}.gatling-firing .weapon-gatling{filter:drop-shadow(3px 4px 0 #0009) drop-shadow(0 0 12px #ffd15d) brightness(1.25)}.bullet-layer,.vfx-layer{position:absolute;inset:0;z-index:125;pointer-events:none}.pixel-bullet{position:absolute;height:2px;background:#fff6a0;box-shadow:0 0 0 1px #f0a72d,0 0 6px #ffd15d;transform-origin:0 50%;image-rendering:pixelated}.vfx-pixel{position:absolute;width:5px;height:5px;transform:translate(-50%,-50%);box-shadow:0 0 6px currentColor;image-rendering:pixelated}.vfx-pixel.hit{width:6px;height:6px}.vfx-pixel.muzzle{width:4px;height:4px}.has-gatling .pet:before{display:none!important}.bullet-beam,.bullet-spark{display:none!important}.creature.hit img{filter:brightness(2.1) sepia(.8) hue-rotate(-28deg) saturate(3.2) drop-shadow(0 0 10px #ff3b2f)!important}.has-gatling .scene-stage{cursor:crosshair!important}

/* v20 single large arena + muzzle alignment + long range */
.room-cell[data-room="0"]{left:6%!important;top:18%!important;width:88%!important;height:76%!important}.room-cell[data-room="1"],.room-cell[data-room="2"],.room-cell[data-room="3"],.room-cell[data-room="4"],.room-cell[data-room="5"]{display:none!important}.weapon-gatling{width:138px!important;transform-origin:78% 52%!important}.pixel-bullet{height:2px!important;min-width:18px;background:#fff8ac;box-shadow:0 0 0 1px #f0a72d,0 0 7px #ffd15d}.vfx-pixel.hit{width:7px;height:7px;box-shadow:0 0 10px #ff3b2f}.creature.hit{outline:2px solid rgba(255,60,40,.75);outline-offset:3px}

/* v21 weapon orientation + SVG crisp tracers + smaller held gun */
.weapon-gatling{width:82px!important;transform-origin:28% 52%!important}.bullet-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.pixel-bullet-line{stroke:#fff6a0;stroke-width:.18;vector-effect:non-scaling-stroke;stroke-linecap:square;filter:drop-shadow(0 0 2px #ffd15d) drop-shadow(0 0 1px #f0a72d)}.pixel-bullet{display:none!important}.gatling-firing .weapon-gatling{filter:drop-shadow(2px 3px 0 #0009) drop-shadow(0 0 9px #ffd15d) brightness(1.2)!important}

/* v22 arena/hitbox cleanup + thicker performant bullets + smaller lower gun */
.room-cell[data-room="0"]{left:2%!important;top:8%!important;width:96%!important;height:88%!important}.room-cell[data-room="1"],.room-cell[data-room="2"],.room-cell[data-room="3"],.room-cell[data-room="4"],.room-cell[data-room="5"],.custom-room-cell{display:none!important}.weapon-gatling{width:68px!important;transform-origin:28% 52%!important}.pixel-bullet-line{stroke-width:.34!important;filter:drop-shadow(0 0 3px #ffd15d) drop-shadow(0 0 1px #fff)}

/* v23 single wide bullet strip instead of two thin tracer lines */
.pixel-bullet-line.wide{stroke:#ffe171;stroke-width:1.25!important;vector-effect:non-scaling-stroke;stroke-linecap:butt;filter:drop-shadow(0 0 5px #ffd15d) drop-shadow(0 0 2px #fff) drop-shadow(0 0 1px #d98224)}

/* v24 three-layer bloom-like beam: wide glow + hot body + white core */
.pixel-bullet-line,.pixel-bullet-line.wide{display:none!important}.beam-wide{stroke:rgba(255,80,24,.34);stroke-width:3.8;vector-effect:non-scaling-stroke;stroke-linecap:butt;filter:blur(.55px) drop-shadow(0 0 8px #ff5a22)}.beam-mid{stroke:rgba(255,196,55,.88);stroke-width:2.05;vector-effect:non-scaling-stroke;stroke-linecap:butt;filter:drop-shadow(0 0 7px #ffb83f)}.beam-core{stroke:#fff9d8;stroke-width:.72;vector-effect:non-scaling-stroke;stroke-linecap:butt;filter:drop-shadow(0 0 2px #fff)}.impact-flash{position:absolute;z-index:140;width:38px;height:38px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff 0 13%,#fff4a3 14% 28%,#ffb83f 29% 48%,rgba(255,70,24,.62) 49% 66%,transparent 72%);mix-blend-mode:screen;pointer-events:none;animation:impactPop .14s steps(3,end) forwards}@keyframes impactPop{0%{transform:translate(-50%,-50%) scale(.55)}65%{transform:translate(-50%,-50%) scale(1.15)}100%{transform:translate(-50%,-50%) scale(.35)}}

/* v25 dual-row heavy bloom beams: wider, hotter, more three.js-like */
.bullet-layer{z-index:132!important;mix-blend-mode:screen;filter:saturate(1.2) brightness(1.08)}
.bullet-svg-v25{overflow:visible;mix-blend-mode:screen;isolation:isolate}
.beam-bullet{mix-blend-mode:screen;animation:beamRowFlicker .07s steps(2,end) infinite}
.beam-aura{stroke:rgba(255,58,18,.22);stroke-width:8.8;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:blur(1.8px) drop-shadow(0 0 18px #ff3c16) drop-shadow(0 0 30px #ff7a1d)}
.beam-wide{stroke:rgba(255,92,24,.56);stroke-width:5.6;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:blur(.75px) drop-shadow(0 0 12px #ff5a22) drop-shadow(0 0 24px #ff8d24)}
.beam-mid{stroke:rgba(255,214,64,.96);stroke-width:2.85;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:drop-shadow(0 0 8px #ffcf4a) drop-shadow(0 0 16px #ff8d24)}
.beam-core{stroke:#fffdf1;stroke-width:1.05;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 9px #ffe57c)}
.beam-head{fill:#fffdf1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 11px #ffd15d) drop-shadow(0 0 20px #ff5a22)}
.beam-dual-row.row-upper .beam-core{stroke-width:1.18}.beam-dual-row.row-lower .beam-mid{stroke-width:3.05}
.muzzle-flash-bloom{position:absolute;z-index:145;width:58px;height:58px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#fff 0 9%,#fff7b7 10% 20%,rgba(255,190,55,.9) 21% 37%,rgba(255,80,24,.5) 38% 58%,transparent 72%);filter:blur(.25px) drop-shadow(0 0 14px #ffd15d) drop-shadow(0 0 26px #ff5a22);animation:muzzleBloomPop .09s steps(2,end) forwards}
.impact-flash{width:62px!important;height:62px!important;background:radial-gradient(circle,#fff 0 10%,#fff9cf 11% 21%,#ffd15d 22% 36%,rgba(255,95,25,.82) 37% 56%,rgba(255,35,18,.35) 57% 70%,transparent 78%)!important;filter:drop-shadow(0 0 14px #fff) drop-shadow(0 0 28px #ffb83f) drop-shadow(0 0 42px #ff4a1e);animation:impactPopV25 .19s steps(4,end) forwards!important}
.vfx-pixel.muzzle{width:8px!important;height:8px!important;border-radius:50%;box-shadow:0 0 10px currentColor,0 0 18px #ff8d24!important;mix-blend-mode:screen}.vfx-pixel.hit{width:9px!important;height:9px!important;border-radius:50%;box-shadow:0 0 12px currentColor,0 0 22px #ff4a1e!important;mix-blend-mode:screen}
.gatling-firing .weapon-gatling{filter:drop-shadow(2px 3px 0 #0009) drop-shadow(0 0 14px #ffd15d) drop-shadow(0 0 24px #ff5a22) brightness(1.36)!important}
@keyframes beamRowFlicker{0%{filter:brightness(1)}100%{filter:brightness(1.32)}}
@keyframes muzzleBloomPop{0%{transform:translate(-50%,-50%) scale(.45) rotate(0deg)}100%{transform:translate(-50%,-50%) scale(1.16) rotate(18deg);opacity:0}}
@keyframes impactPopV25{0%{transform:translate(-50%,-50%) scale(.42)}45%{transform:translate(-50%,-50%) scale(1.38)}100%{transform:translate(-50%,-50%) scale(.62);opacity:0}}

/* v26 correction: keep original short dual-row bullets; only make each row fatter and cheaper to render */
.bullet-layer{z-index:125!important;mix-blend-mode:normal!important;filter:none!important}
.bullet-svg-v26{overflow:visible;mix-blend-mode:normal!important;isolation:auto!important}
.bullet-svg-v26 .beam-bullet{mix-blend-mode:normal!important;animation:none!important;filter:none!important}
.bullet-svg-v26 .beam-aura,.bullet-svg-v26 .beam-head{display:none!important}
.bullet-svg-v26 .beam-wide{stroke:rgba(255,120,32,.52)!important;stroke-width:2.8!important;vector-effect:non-scaling-stroke;stroke-linecap:round!important;filter:none!important}
.bullet-svg-v26 .beam-mid{stroke:rgba(255,221,86,.95)!important;stroke-width:1.65!important;vector-effect:non-scaling-stroke;stroke-linecap:round!important;filter:none!important}
.bullet-svg-v26 .beam-core{stroke:#fff8c9!important;stroke-width:.62!important;vector-effect:non-scaling-stroke;stroke-linecap:round!important;filter:none!important}
.muzzle-flash-bloom{display:none!important}
.vfx-pixel.muzzle{width:4px!important;height:4px!important;border-radius:0!important;box-shadow:0 0 6px currentColor!important;mix-blend-mode:normal!important}.vfx-pixel.hit{width:7px!important;height:7px!important;border-radius:0!important;box-shadow:0 0 10px #ff3b2f!important;mix-blend-mode:normal!important}
.impact-flash{width:38px!important;height:38px!important;filter:none!important;background:radial-gradient(circle,#fff 0 13%,#fff4a3 14% 28%,#ffb83f 29% 48%,rgba(255,70,24,.62) 49% 66%,transparent 72%)!important;animation:impactPop .14s steps(3,end) forwards!important}
.gatling-firing .weapon-gatling{filter:drop-shadow(2px 3px 0 #0009) drop-shadow(0 0 9px #ffd15d) brightness(1.2)!important}

/* v27 fatter short dual-row bullets: same length/speed, only thicker strokes */
.bullet-svg-v26 .beam-wide{stroke:rgba(255,112,28,.58)!important;stroke-width:4.4!important;stroke-linecap:round!important;filter:none!important}
.bullet-svg-v26 .beam-mid{stroke:rgba(255,224,92,.98)!important;stroke-width:2.55!important;stroke-linecap:round!important;filter:none!important}
.bullet-svg-v26 .beam-core{stroke:#fffbe0!important;stroke-width:1.05!important;stroke-linecap:round!important;filter:none!important}

/* v28 ultra-fat short dual-row bullets: v27 stroke widths x3 only */
.bullet-svg-v26 .beam-wide{stroke:rgba(255,112,28,.62)!important;stroke-width:13.2!important;stroke-linecap:round!important;filter:none!important}
.bullet-svg-v26 .beam-mid{stroke:rgba(255,224,92,.99)!important;stroke-width:7.65!important;stroke-linecap:round!important;filter:none!important}
.bullet-svg-v26 .beam-core{stroke:#fffbe0!important;stroke-width:3.15!important;stroke-linecap:round!important;filter:none!important}

/* v32 polish: keep dialogue pointer out of text and render placed furniture above character */
.amiya-bubble{
  z-index:180!important;
  min-width:180px;
  max-width:min(340px,42vw)!important;
  padding:12px 16px 14px!important;
  overflow:visible!important;
  transform:translate(-50%,-118%)!important;
}
.amiya-bubble:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-15px;
  width:22px;
  height:22px;
  transform:translateX(-50%) rotate(45deg);
  background:#8d693f;
  border-right:5px solid var(--old-ink);
  border-bottom:5px solid var(--old-ink);
  box-shadow:5px 5px 0 #3a2416;
  z-index:-1;
  pointer-events:none;
}
.amiya-bubble.warn:after,.amiya-bubble.critical:after{background:#8d693f}
.furniture-layer{z-index:86!important;pointer-events:none!important}
.furniture-node,.furniture-aura{z-index:87!important;pointer-events:auto!important}
.pet{z-index:58!important}
.weapon-layer-top{z-index:90!important}
.bullet-layer,.vfx-layer{z-index:132!important}
.creature-layer{z-index:76!important}

/* v33 night-only large bosses with overhead health bars */
.creature.boss{z-index:78!important;filter:drop-shadow(8px 12px 0 rgba(0,0,0,.62)) saturate(.92) contrast(1.04)}
.creature.boss img{width:100%;height:auto;display:block;transform-origin:50% 100%;animation:bossBreath 1.4s steps(3,end) infinite}
.creature.boss span:not(.boss-hp){font-size:11px!important;background:rgba(24,17,13,.82)!important;color:#f4e2b5!important;border-color:#18110d!important;bottom:-10px!important}
.creature.boss.hidden{display:none!important}
.boss-hp{position:absolute;left:50%;top:-18px;width:86%;height:9px;transform:translateX(-50%);border:2px solid #18110d;background:#2a120f;box-shadow:0 2px 0 #0008,0 0 0 1px #ead7aa55 inset;z-index:4;pointer-events:none}
.boss-hp i{display:block;height:100%;background:linear-gradient(90deg,#7f1d1d,#c23a2c 58%,#f0a33a);box-shadow:0 0 8px rgba(255,70,35,.65);transition:width .12s linear}
@keyframes bossBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-1.5px) scale(1.018)}}

/* v34 layer correction: survival furniture below middle actors; camp furniture above */
.furniture-layer{z-index:50!important;pointer-events:none!important}
.furniture-layer-top{position:absolute;inset:0;z-index:82!important;pointer-events:none!important}
.furniture-layer .furniture-node,.furniture-layer .furniture-aura{z-index:51!important;pointer-events:auto!important}
.furniture-layer-top .furniture-node,.furniture-layer-top .furniture-aura{z-index:83!important;pointer-events:auto!important}
.pet{z-index:68!important}
.creature-layer{z-index:69!important}
.creature.boss{z-index:70!important}
.weapon-layer-top{z-index:90!important}
.bullet-layer,.vfx-layer{z-index:132!important}

/* v36 animated campfire furniture polish */
.furniture-node[data-furniture-id^="campfire"] .furniture-prop,
.furniture-palette-item[data-furn-type="campfire"] img{
  image-rendering:auto;
  filter:drop-shadow(0 0 10px rgba(255,142,43,.34)) drop-shadow(3px 5px 0 rgba(0,0,0,.42));
}
.furniture-node[data-furniture-id^="campfire"].active .furniture-prop{
  filter:drop-shadow(0 0 14px rgba(255,180,58,.52)) drop-shadow(0 0 24px rgba(255,92,24,.22)) drop-shadow(3px 5px 0 rgba(0,0,0,.42));
}

/* v37 spritesheet campfire + furniture foot blockers */
.furniture-node.animated-furniture.campfire .furniture-prop{
  opacity:0!important;
}
.furniture-node.animated-furniture.campfire::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:260px;
  height:181px;
  transform:translate(-50%,-50%);
  background-image:url('./assets/sprites/furniture/campfire-spritesheet/campfire-8x-small.png');
  background-repeat:no-repeat;
  background-size:2080px 181px;
  animation:campfireSpriteSteps .64s steps(8) infinite;
  pointer-events:none;
  filter:drop-shadow(0 0 10px rgba(255,142,43,.34)) drop-shadow(3px 5px 0 rgba(0,0,0,.42));
}
.furniture-node.animated-furniture.campfire.active::before{
  filter:drop-shadow(0 0 14px rgba(255,180,58,.52)) drop-shadow(0 0 24px rgba(255,92,24,.22)) drop-shadow(3px 5px 0 rgba(0,0,0,.42));
}
.furniture-blocker{
  position:absolute;
  left:14%;
  right:14%;
  bottom:2px;
  height:13px;
  border-radius:50%;
  background:rgba(28,17,10,.12);
  border:1px dashed rgba(24,17,13,.18);
  pointer-events:none;
  opacity:0;
}
.debug-space .furniture-blocker,.layout-editing .furniture-blocker{opacity:.42}
@keyframes campfireSpriteSteps{from{background-position:0 0}to{background-position:-2080px 0}}

/* v38 revert campfire geometry: keep original campfire asset/size/style; only add subtle fire motion overlay */
.furniture-node.animated-furniture.campfire .furniture-prop{opacity:1!important}
.furniture-node.animated-furniture.campfire::before{display:none!important}
.furniture-node[data-furniture-id^="campfire"] .furniture-prop{
  animation:campfireSubtleMotion .56s steps(4,end) infinite;
  transform-origin:50% 76%;
}
.furniture-node[data-furniture-id^="campfire"]::after{
  content:"";
  position:absolute;
  left:50%;
  top:42%;
  width:44%;
  height:42%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(255,205,80,.32),rgba(255,117,34,.12) 42%,transparent 70%);
  mix-blend-mode:screen;
  animation:campfireGlowPulse .56s steps(4,end) infinite;
}
@keyframes campfireSubtleMotion{0%,100%{filter:brightness(1) saturate(1)}50%{filter:brightness(1.14) saturate(1.14)}}
@keyframes campfireGlowPulse{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(.92)}50%{opacity:.82;transform:translate(-50%,-50%) scale(1.08)}}

/* v41 remove campfire floating label */
.furniture-node[data-furniture-id^="campfire"] .furniture-chip{
  display:none!important;
}
