.design-picker{display:flex;align-items:center;gap:7px;margin:0;font-size:.8rem}.design-picker select{width:auto;padding:6px 10px}
html[data-design=ai]{--accent:#9bafff;--bg:#0b1023;--panel:#151c36;--line:#344266;--text:#edf3ff;--muted:#abb8d8}html[data-design=ai] body{background:radial-gradient(ellipse at 65% 0,#28366a 0,transparent 60%),#0b1023}html[data-design=ai] .panel,html[data-design=ai] .card{background:linear-gradient(140deg,#202b49ed,#10192cee);border-color:#465580;border-radius:20px;box-shadow:0 14px 40px #02061330}html[data-design=ai] .sidebar,html[data-design=ai] .topbar{background:#10182ee8}html[data-design=ai] .primary{background:linear-gradient(110deg,#9fafff,#6ee7ea);color:#08172c;border-color:#94c9ff}html[data-design=ai] .cardbanner{background:radial-gradient(ellipse at top left,#45569a,#16213b)}html[data-design=ai] input,html[data-design=ai] textarea,html[data-design=ai] select{background:#111c34;color:#eff6ff}
html[data-design=hacker]{--accent:#58ff94;--bg:#030b06;--panel:#08170d;--line:#205434;--text:#d1ffdb;--muted:#8cb99a}html[data-design=hacker] body{background:#030b06}html[data-design=hacker] .sidebar,html[data-design=hacker] .topbar{background:#041009ee}html[data-design=hacker] .panel,html[data-design=hacker] .card,html[data-design=hacker] .featured{background:#08170df2;border-color:#25663c;border-radius:4px}html[data-design=hacker] .primary{background:#58ff94;color:#021407;border-color:#58ff94}html[data-design=hacker] .cardbanner{background:linear-gradient(135deg,#0c3420,#020905)}html[data-design=hacker] input,html[data-design=hacker] select,html[data-design=hacker] textarea{background:#021007;color:#c8ffd9;border-color:#28613b}html[data-design=hacker] .eyebrow,html[data-design=hacker] h1{color:#58ff94}#app{position:relative;z-index:1}#code-rain{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.19;direction:ltr}#code-rain span{position:absolute;left:calc(var(--col)*5.8%);top:-520px;font:16px/2 monospace;color:#40ff76;text-shadow:0 0 8px #39ff70;animation:codefall 22s linear infinite;animation-delay:var(--delay)}@keyframes codefall{to{transform:translateY(calc(100vh + 650px))}}

/* ===== Living-room set dressing (shipped 2026-09) — pure decoration layer ===== */
.escape-visual{--wall-a:#1c2f3c;--wall-b:#0d1826;--lamp-warm:#ffd9a0}
.escape-visual.room-tone-1{--wall-a:#20344a;--wall-b:#0b1524;--lamp-warm:#ffd9a0}
.escape-visual.room-tone-2{--wall-a:#3a2b40;--wall-b:#160f22;--lamp-warm:#ffc98a}
.escape-visual.room-tone-3{--wall-a:#24371f;--wall-b:#0b140c;--lamp-warm:#e8ffd9}
.room-ambience{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.room-ambience .amb-dust{position:absolute;bottom:-8px;width:4px;height:4px;border-radius:50%;background:#fff8e699;box-shadow:0 0 6px #fff4d666;animation:dustDrift 13s linear infinite;animation-delay:calc(var(--i,0)*-2.1s)}
.room-ambience .amb-dust:nth-child(1){left:9%;animation-duration:11s}
.room-ambience .amb-dust:nth-child(2){left:23%;animation-duration:16s;transform:scale(1.4)}
.room-ambience .amb-dust:nth-child(3){left:44%;animation-duration:14s;transform:scale(.8)}
.room-ambience .amb-dust:nth-child(4){left:62%;animation-duration:18s}
.room-ambience .amb-dust:nth-child(5){left:78%;animation-duration:12s;transform:scale(1.2)}
.room-ambience .amb-dust:nth-child(6){left:91%;animation-duration:15s;transform:scale(.7)}
@keyframes dustDrift{0%{transform:translateY(0) translateX(0);opacity:0}8%{opacity:.9}85%{opacity:.5}100%{transform:translateY(-330px) translateX(26px);opacity:0}}
.escape-visual .ceiling-lamp{position:absolute;top:0;left:26%;width:7px;height:34px;background:linear-gradient(#20262b,#3a4249);border-radius:0 0 4px 4px;z-index:1}
.escape-visual .ceiling-lamp:after{content:'';position:absolute;top:30px;left:-26px;width:60px;height:20px;border-radius:0 0 60px 60px;background:radial-gradient(ellipse at 50% 0,#fff3d4f0 0,#ffd9a0aa 55%,transparent 75%);box-shadow:0 26px 90px 26px #ffd9a038,0 8px 40px 8px #ffedc233;animation:lampBreathe 6.5s ease-in-out infinite}
.escape-visual .lamp-broken{left:64%;top:0;height:26px}
.escape-visual .lamp-broken:after{content:'';position:absolute;top:22px;left:-14px;width:32px;height:11px;border-radius:0 0 30px 30px;background:radial-gradient(ellipse at 50% 0,#7f8a9466 0,transparent 70%);box-shadow:none;animation:lampBuzz 3.7s steps(1) infinite}
@keyframes lampBreathe{0%,100%{opacity:.92}50%{opacity:1;box-shadow:0 26px 110px 30px #ffd9a046,0 8px 40px 8px #ffedc240}}
@keyframes lampBuzz{0%,72%{opacity:.85;box-shadow:0 10px 34px 6px #cfe3ff22}73%,76%{opacity:.15;box-shadow:none}77%{opacity:.85;box-shadow:0 10px 34px 6px #cfe3ff22}92%{opacity:.4;box-shadow:none}93%{opacity:.85;box-shadow:0 10px 34px 6px #cfe3ff22}}
.room-wall-back{position:absolute;inset:54px 0 26%;z-index:0;background:linear-gradient(180deg,var(--wall-a),var(--wall-b) 88%);transition:background 1s ease}
.room-wall-back:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 118px,#ffffff09 118px 120px),radial-gradient(ellipse at 50% 120%,#000000a8 0,transparent 62%)}
.wall-frame{position:absolute;display:block;border:6px solid #58452c;background:#101b26;box-shadow:0 6px 14px #000a,inset 0 0 0 2px #2c2317;overflow:hidden}
.wall-frame b{display:block;width:100%;height:100%;background:radial-gradient(circle at 35% 35%,#4a6d84 0,#16283a 60%,#0a1420 100%)}
.wall-frame.frame-a{left:31%;top:12%;width:74px;height:56px;transform:rotate(-2deg)}
.wall-frame.frame-a b{background:radial-gradient(circle at 40% 40%,#7d9a6c 0,#21301f 55%,#0d160d 100%)}
.wall-frame.frame-b{left:44%;top:30%;width:56px;height:66px;transform:rotate(2.5deg)}
.wall-frame.frame-b b{background:radial-gradient(circle at 45% 35%,#a4763f 0,#3a2a16 55%,#160f08 100%)}
.wall-poster{position:absolute;right:30%;top:16%;padding:9px 13px;border:2px dashed #ffffff2e;color:#ffffff7d;font:700 9px/1.7 monospace;letter-spacing:2px;text-align:center;background:#0a121bdd;transform:rotate(1.4deg);box-shadow:0 4px 10px #0008}
.wall-switch{position:absolute;left:24%;top:38%;width:16px;height:26px;background:#3d4650;border:2px solid #20262d;border-radius:3px;box-shadow:0 3px 7px #0009}
.wall-switch b{display:block;margin:3px auto 0;width:6px;height:11px;background:#c9ced6;border-radius:2px}
.room-window .window-light{position:absolute;left:110%;top:-38%;width:190px;height:420px;background:linear-gradient(105deg,#bfe3ff2b 0,transparent 70%);transform:skewX(-22deg);pointer-events:none;filter:blur(2px)}
.room-shelf{position:absolute;right:5%;top:33%;width:150px;height:110px;z-index:0}
.room-shelf b{display:block;height:7px;margin-bottom:26px;background:linear-gradient(#6b5335,#42331f);box-shadow:0 3px 6px #0008;position:relative}
.room-shelf b:before{content:'';position:absolute;left:7px;top:-19px;width:11px;height:18px;background:#8a4a3b;box-shadow:16px 1px 0 #3e5a74,31px -2px 0 #7a6a45,45px 2px 0 #524064,58px -1px 0 #4f7050,73px 1px 0 #74503c}
.room-shelf b:after{content:'';position:absolute;left:12px;top:-17px;width:9px;height:16px;background:#4a5f6e;box-shadow:15px -2px 0 #6e4a52,30px 1px 0 #55683f}
.room-vending{position:absolute;right:16%;bottom:30%;width:64px;height:104px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#17242f,#0d151d);border:2px solid #2e3f4d;box-shadow:0 8px 16px #000a,inset 0 0 12px #0bf33;z-index:0}
.room-vending b{position:absolute;inset:7px 7px 24px;background:linear-gradient(160deg,#233b52,#0e1b29);box-shadow:inset 0 0 10px #67d9ff2e;border-radius:3px}
.room-vending b:before{content:'';position:absolute;inset:8px;background:
 radial-gradient(circle at 8px 8px,#7bd4ff88 3px,transparent 4px),
 radial-gradient(circle at 26px 12px,#ffb35c77 3px,transparent 4px),
 radial-gradient(circle at 44px 7px,#9dff8c66 3px,transparent 4px),
 radial-gradient(circle at 16px 26px,#ff7d7d66 3px,transparent 4px),
 radial-gradient(circle at 36px 30px,#8cb0ff66 3px,transparent 4px)}
.room-vending b:after{content:'';position:absolute;bottom:-19px;left:2px;right:2px;height:5px;background:#67d9ff44;border-radius:2px;animation:vendGlow 5s ease-in-out infinite}
@keyframes vendGlow{0%,100%{opacity:.4}50%{opacity:.95}}
.room-fan{position:absolute;left:46%;top:6%;width:46px;height:46px;z-index:1;pointer-events:none}
.room-fan b{display:block;width:100%;height:100%;border-radius:50%;border:3px solid #2c3a45;background:
 conic-gradient(from 0deg,#33434f 0 40deg,transparent 40deg 80deg,#33434f 80deg 120deg,transparent 120deg 160deg,#33434f 160deg 200deg,transparent 200deg 240deg,#33434f 240deg 280deg,transparent 280deg 320deg,#33434f 320deg 360deg);
 animation:fanSpin 2.4s linear infinite;opacity:.85}
.room-fan b:after{content:'';position:absolute;inset:14px;border-radius:50%;background:#1b252e;border:2px solid #3a4a56}
@keyframes fanSpin{to{transform:rotate(360deg)}}
.room-door .door-frame-top{position:absolute;left:-7px;right:-7px;top:-9px;height:9px;background:#22303a;border-radius:3px 3px 0 0}
.room-door .door-sign{position:absolute;top:-38px;left:50%;transform:translateX(-50%);padding:2px 9px;background:#05141b;border:1px solid #4be3a06e;color:#79ffbd;font:700 10px/1.6 monospace;letter-spacing:3px;border-radius:3px;box-shadow:0 0 12px #4be3a044;animation:exitFlicker 7s linear infinite}
@keyframes exitFlicker{0%,100%{opacity:1}88%{opacity:1}89%{opacity:.4}90%{opacity:1}95%{opacity:.6}96%{opacity:1}}
.room-door .door-handle{position:absolute;left:12%;top:52%;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe1a3,#8a6a34 70%);box-shadow:0 0 8px #ecc07c55}
.room-door .door-panel{position:absolute;inset:12px 12px 34%;border:2px solid #0d1a24;background:linear-gradient(95deg,transparent 46%,#0d1a2455 47% 53%,transparent 54%)}
.desk-item{position:absolute;display:block}
.desk-item.item-cup{right:18%;bottom:14px;width:15px;height:17px;background:linear-gradient(#d8e2e6,#93a3ab);border-radius:2px 2px 5px 5px;box-shadow:0 3px 6px #0008}
.desk-item.item-cup:before{content:'';position:absolute;top:2px;left:-6px;width:6px;height:8px;border:2px solid #aebbc2;border-left:none;border-radius:0 5px 5px 0}
.desk-item.item-cup:after{content:'';position:absolute;top:-5px;left:2px;right:2px;height:4px;border-radius:50%;background:#5d4632}
.desk-item.item-papers{right:34%;bottom:12px;width:42px;height:26px;background:repeating-linear-gradient(180deg,#cfd8d3 0 3px,#b9c4bf 3px 4px);transform:rotate(-7deg);box-shadow:3px 3px 0 #a3aeaa,5px 6px 10px #0007}
.desk-item.item-lamp{right:8%;bottom:14px;width:8px;height:24px;background:linear-gradient(#2e3840,#4a565f);border-radius:3px 3px 0 0}
.desk-item.item-lamp:before{content:'';position:absolute;top:-8px;left:-8px;width:24px;height:13px;border-radius:24px 24px 0 0;background:radial-gradient(circle at 50% 100%,#ffe9b8,#caa25c 75%);box-shadow:0 0 16px #ffd98a66}
.room-crate.crate-a{position:absolute;left:3%;bottom:24%;width:56px;height:44px;background:linear-gradient(180deg,#4a3b28,#2e2417);border:3px solid #221a10;border-radius:3px;box-shadow:inset 0 0 0 2px #5c4a3020,0 6px 12px #0009;z-index:0}
.room-crate.crate-a:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 9px,#00000033 9px 11px)}
.room-crate.crate-b{position:absolute;left:9%;bottom:23%;width:44px;height:34px;transform:rotate(-4deg);background:linear-gradient(180deg,#3d3323,#26200f);border:3px solid #1c160c;border-radius:3px;z-index:0}
.room-vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 42%,transparent 52%,#00000098 100%);transition:opacity 1s ease}
.escape-visual.stage-1 .room-vignette{opacity:.85}
.escape-visual.stage-2 .room-vignette{opacity:.6}
.escape-visual:not(.stage-1):not(.stage-2) .room-vignette{opacity:.42}
.escape-visual .room-vignette:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent calc(100% - var(--room-progress,0%)),#ffedc21f calc(100% - var(--room-progress,0%)))}

.reduce-motion .room-ambience .amb-dust,.reduce-motion .room-fan b,.reduce-motion .ceiling-lamp:after,.reduce-motion .lamp-broken:after,.reduce-motion .door-sign,.reduce-motion .room-vending b:after{animation:none!important}
@media(prefers-reduced-motion:reduce){.amb-dust,.room-fan b,.ceiling-lamp:after,.lamp-broken:after,.door-sign,.room-vending b:after{animation:none!important}}

/* 2.5D Interactive Escape Room Stage */
.escape-visual{height:430px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #536b7b;border-radius:16px;background:radial-gradient(ellipse at 30% 25%,#3a6574 0,#1e3346 35%,#0b1323 90%);color:#edf8ff;margin:18px 0;box-shadow:inset 0 0 80px #000a;transition:background .6s ease,border-color .5s ease}
.escape-visual.stage-1{background:radial-gradient(ellipse at 50% 20%,#483b78 0,#1f2749 40%,#090e1d 92%);border-color:#8a76d6}
.escape-visual.stage-2{background:radial-gradient(ellipse at 70% 25%,#6d3b47 0,#241f3a 42%,#070b16 95%);border-color:#f0a85c;box-shadow:inset 0 0 90px #000c,0 0 24px #f0a85c26}
.room-ceiling{position:absolute;inset:0 0 auto;height:56px;background:#080f1b;clip-path:polygon(0 0,100% 0,88% 100%,12% 100%)}
.room-grid{position:absolute;inset:68% -30% -55%;background:repeating-linear-gradient(90deg,transparent 0 65px,#84b1c21c 66px 68px),repeating-linear-gradient(0deg,#192c3a 0 45px,#84b1c233 46px 48px);transform:perspective(230px) rotateX(40deg);z-index:-1}
.room-window{position:absolute;left:7%;top:22%;width:20%;height:110px;border:8px solid #0d1a25;background:linear-gradient(160deg,#507784,#0d2337);box-shadow:0 0 35px #66d9ff22;display:flex;pointer-events:none}
.room-window i{flex:1;border:2px solid #152332}
.room-door{position:absolute;right:8%;top:18%;width:16%;height:215px;border:8px solid #08101c;background:linear-gradient(90deg,#192c38,#2c414c);box-shadow:inset 0 0 0 2px #64849844;pointer-events:none;transition:transform .5s ease,box-shadow .5s ease}
.room-door.door-ready{box-shadow:inset 0 0 18px #66ffbd66,0 0 24px #66ffbd44;border-color:#2b5c4f}
.room-door:after{content:'';position:absolute;top:58%;left:12%;width:8px;height:8px;border-radius:50%;background:#ecc07c}
.room-door span{display:block;margin:22px auto;background:#061c22;width:72%;color:#79ffbd;text-align:center;font:12px/2 monospace;direction:ltr;white-space:nowrap;min-width:42px}
.room-desk{position:absolute;left:18%;bottom:17%;width:48%;height:58px;background:linear-gradient(#876b4d 0 10px,#302b29 11px 20px,transparent 21px);border-inline:12px solid #242325;transform:skewY(-3deg);pointer-events:none}
.room-heading{position:absolute;top:12px;left:18px;right:18px;display:flex;flex-direction:column;gap:2px;pointer-events:none;z-index:2}
.room-heading span{font:10px monospace;letter-spacing:1.8px;color:#83d9d8}
.room-heading strong{font-size:1.05rem}
.room-heading small{font-size:.74rem;color:#c3d4dc}
.world-event-banner{position:absolute;top:68px;left:18px;right:18px;z-index:3;background:#10293be6;border:1px solid #63e6be;border-radius:8px;padding:6px 12px;font-size:.78rem;color:#a8ffdb;box-shadow:0 6px 18px #0008}

/* Interactive Hotspots in the Room */
.room-objects.world-hotspots{position:absolute;inset:82px 2% 62px;display:block}
.room-object.hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;min-width:86px;max-width:128px;padding:6px 8px;background:#091727e6;color:#e7f8ff;border:1px solid #78cada99;border-radius:10px;box-shadow:0 8px 18px #0007;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;z-index:2}
.room-object.hotspot span{font-size:20px;line-height:1.1;color:#8ef3db}
.room-object.hotspot b{font-size:.68rem;text-align:center;line-height:1.2}
.room-object.hotspot .obj-badges{font-style:normal;font-size:.65rem;line-height:1}
.room-object.hotspot:hover,.room-object.hotspot:focus-visible{outline:2px solid #83ffd8;transform:translate(-50%,-54%) scale(1.05);z-index:4;background:#0e243bf5}
.room-object.hotspot.inspected{border-color:#72e5a1aa}
.room-object.hotspot.inspected:after{content:'נבדק ✓';font-size:9px;color:#8ff4ab}
.room-object.hotspot.locked{border-color:#f59f00aa}
.room-object.hotspot.moved{border-style:dashed;border-color:#b197fc}
.room-object.hotspot.recommended{border-color:#ffd43b;box-shadow:0 0 0 3px #ffd43b44,0 0 18px #ffd43b88;animation:pulseHotspot 2s infinite}
@keyframes pulseHotspot{0%,100%{box-shadow:0 0 0 2px #ffd43b44,0 0 12px #ffd43b66}50%{box-shadow:0 0 0 6px #ffd43b22,0 0 24px #ffd43baa}}

.room-evidence-strip{position:absolute;bottom:28px;left:14px;right:14px;display:flex;gap:8px;flex-wrap:wrap;z-index:3}
.evidence-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;background:#0b1d2ee6;border:1px solid #5a8da8;border-radius:999px;color:#dff6ff}
.evidence-chip span{color:#79ffbd;font-family:monospace}
.room-caption{position:absolute;bottom:7px;right:15px;left:15px;font-size:.68rem;color:#c2d9e4;pointer-events:none}

/* Non-Linear Puzzle Graph Bar */
.puzzle-graph-bar{background:#0d1726cc;border:1px solid var(--line,#2c3c54);border-radius:12px;padding:12px 14px;margin:12px 0}
.graph-head,.inventory-head,.lock-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.graph-head span,.inventory-head span,.lock-header span{font-weight:700;font-size:.86rem;color:#a5d8ff}
.graph-head small,.inventory-head small,.lock-header small{font-size:.74rem;color:var(--muted,#9fb0c9)}
.graph-nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}
.graph-node{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border-radius:9px;border:1px solid #304463;background:#0b1322;color:#dbe9ff;text-align:right;transition:border-color .15s,background .15s}
.graph-node .node-status{font-size:.75rem;color:#74c0fc}
.graph-node .node-title{font-size:.76rem;font-weight:600}
.graph-node .node-level{font-size:.66rem;color:#8fa3bf}
.graph-node.solved{border-color:#2f9e44;background:#0c2217;color:#b2f2bb}
.graph-node.solved .node-status{color:#69db7c}
.graph-node.active{border-color:#ffd43b;background:#211d10;box-shadow:0 0 12px #ffd43b29}
.graph-node.locked{opacity:.52;cursor:not-allowed}

/* True Interactive Inventory Bar */
.inventory-bar{background:#0f192acc;border:1px solid var(--line,#2e405c);border-radius:12px;padding:12px 14px;margin:12px 0}
.inventory-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.inventory-slot{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0a1220;border:1px solid #385072;border-radius:10px;text-align:right;color:#edf4ff}
.inventory-slot .slot-icon{font-size:1.45rem}
.inventory-slot .slot-info{display:flex;flex-direction:column;gap:2px}
.inventory-slot .slot-info strong{font-size:.78rem}
.inventory-slot .slot-info small{font-size:.68rem;color:#9bb0cc;line-height:1.3}
.inventory-slot.selected{border-color:#ffd43b;background:#241e0d;box-shadow:0 0 14px #ffd43b33}
.inventory-slot.combining{border-color:#b197fc;background:#1e1333}
.inventory-empty{margin:0;font-size:.78rem;color:var(--muted,#9fb0c9)}

/* Smart Object Inspector Modal */
.smart-inspector{display:flex;flex-direction:column;gap:12px}
.inspector-meta,.inspector-modes,.inspector-item-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inspector-banner{background:#123026;border:1px solid #51cf66;color:#d3f9d8;padding:8px 12px;border-radius:8px;font-size:.84rem}
.inspector-viewport{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:12px;background:#091321;border:1px solid #2f4666}
.inspector-viewport.mode-zoom{background:#0d1b2e;border-color:#4dabf7;box-shadow:inset 0 0 25px #4dabf722}
.inspector-viewport.mode-uv{background:radial-gradient(circle at 30% 30%,#2b1055,#0f0722);border-color:#b197fc;color:#e5dbff;box-shadow:inset 0 0 35px #9775fa44}
.inspector-viewport.mode-audio{background:#0d2124;border-color:#3bc9db}
.viewport-icon{font-size:2.4rem;line-height:1;padding:10px;background:#112238;border-radius:12px}
.viewport-content{flex:1;display:flex;flex-direction:column;gap:10px}
.inspected-evidence{white-space:pre-wrap;line-height:1.85;margin:0}
.stage-update-box{padding:8px 10px;border-radius:8px;background:#261c0d;border:1px solid #fcc419;color:#fff3bf;font-size:.82rem}
.red-herring-box{padding:8px 10px;border-radius:8px;background:#291419;border:1px solid #ff8787;color:#ffc9c9;font-size:.82rem}

/* Lock Mechanism Widgets */
.lock-widget{background:#0b1524;border:1px solid #354f73;border-radius:12px;padding:12px;margin:14px 0}
.keypad-grid{display:grid;grid-template-columns:repeat(3,minmax(54px,86px));gap:8px;justify-content:center;direction:ltr}
.keypad-btn{font:700 1rem monospace;padding:10px;border-radius:8px;background:#13233a;border:1px solid #486894;color:#a5d8ff}
.keypad-btn:hover{background:#1c3557;border-color:#74c0fc}
.dial-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.dial-readout{font:700 1.25rem monospace;padding:6px 18px;border-radius:8px;background:#06121e;border:1px solid #63e6be;color:#63e6be}
.token-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.token-chip{font-size:.8rem;padding:6px 12px;border-radius:999px;background:#13263d;border:1px solid #4dabf7;color:#d0ebff}

/* Adaptive Guidance, Connected Clues, Secrets & Finale */
.adaptive-guidance{background:linear-gradient(90deg,#2b210e,#171c2b);border:1px solid #ffd43b;border-radius:10px;padding:10px 14px;margin:10px 0;font-size:.85rem;color:#fff3bf}
.chain-badge{display:inline-block;font-size:.76rem;color:#96f2d7;background:#0c2924;border:1px solid #38d9a966;border-radius:999px;padding:4px 12px;margin-bottom:8px}
.secrets-panel .secret-form{display:flex;gap:8px;margin-top:8px}
.secrets-panel .secret-form input{flex:1;margin:0}
.secret-found{margin-top:10px;padding:8px 10px;background:#10261b;border:1px solid #51cf66;border-radius:8px;font-size:.8rem;color:#d3f9d8}
.bonus-box{margin-top:14px;padding-top:12px;border-top:1px dashed #3b4f6b}
.bonus-box h4{margin:0 0 6px;color:#ffd43b}
.dramatic-finale{padding:22px;margin-bottom:18px;border-radius:16px;background:radial-gradient(circle at 50% 0%,#1b3b32,#0b1523);border:1px solid #63e6be;text-align:center}
.vault-door-anim{display:inline-flex;align-items:center;gap:10px;padding:6px 16px;border-radius:999px;background:#09261e;border:1px solid #38d9a9;color:#96f2d7;font:700 .78rem monospace;margin-bottom:10px}
.vault-ring{display:inline-block;animation:spinVault 6s linear infinite}
@keyframes spinVault{to{transform:rotate(360deg)}}
.explorer-card{margin:18px 0;text-align:right}
.explorer-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}
.explorer-metrics div{padding:10px 12px;border-radius:10px;background:#0b1424;border:1px solid #2d405e;display:flex;flex-direction:column;gap:4px}
.explorer-metrics span{font-size:.75rem;color:#9bb0cc}
.explorer-metrics strong{font-size:1.1rem;color:#ffd43b}

.reduce-motion #code-rain span,.reduce-motion .vault-ring,.reduce-motion .room-object.hotspot.recommended{animation:none;top:0}
@media(prefers-reduced-motion:reduce){#code-rain span,.vault-ring,.room-object.hotspot.recommended{animation:none;top:0}.room-object{transition:none}}

/* ===== Floating contact & chat widgets ===== */
#floaters{position:fixed;bottom:22px;left:0;right:0;z-index:9000;pointer-events:none;display:flex;justify-content:space-between;padding:0 22px;direction:ltr}
.floater{pointer-events:auto;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px #0008;transition:transform .2s,box-shadow .2s;position:relative}
.floater:hover{transform:scale(1.09)}
.floater.contact{background:linear-gradient(135deg,#e8bb66,#caa04f);color:#18130a}
.floater.chatf{background:linear-gradient(135deg,#79cad4,#4a9db5);color:#04222a}
#chat-dot{position:absolute;top:4px;left:4px;width:11px;height:11px;border-radius:50%;background:#58ff94;box-shadow:0 0 8px #58ff94;animation:pingDot 2s infinite}
.floatpanel{position:fixed;bottom:94px;width:min(360px,calc(100vw - 32px));max-height:min(560px,80vh);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #000c;display:flex;flex-direction:column;z-index:9100;overflow:hidden}
.floatpanel[hidden]{display:none!important}
#contact-panel{left:22px}#chat-panel{right:22px}
.floater span{direction:ltr}
.fp-head{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line);background:#ffffff06}
.fp-head strong{font-size:.95rem}.fp-close,.fp-gear{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 6px;line-height:1}
.fp-close{font-size:1.4rem}.fp-gear{font-size:1.1rem}
.fp-close:hover,.fp-gear:hover{color:var(--text)}
#chat-settings{border-bottom:1px solid var(--line);background:#ffffff04}
#chat-settings form{padding:10px 14px;display:grid;gap:10px}
#chat-settings input{margin:0}
#contact-panel form{padding:15px 17px;display:grid;gap:10px}
#contact-panel input,#contact-panel textarea{margin:0}
#contact-panel textarea{min-height:90px}
#contact-state{margin:0;font-size:.85rem}
.chatpanel #chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:9px;min-height:200px}
.chatpanel .bubble{max-width:85%;padding:10px 14px;border-radius:14px;font-size:.9rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.chatpanel .bubble.user{align-self:flex-start;background:var(--accent);color:#18130a;border-bottom-right-radius:4px}
.chatpanel .bubble.bot{align-self:flex-end;background:#ffffff0d;border:1px solid var(--line);border-bottom-left-radius:4px}
.chatpanel form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chatpanel form input{flex:1;margin:0}
.chatpanel form button{padding:8px 14px}
@media(max-width:700px){.floatpanel{left:12px!important;right:12px!important;width:auto}}

/* ===== Security monitor panel ===== */
.security-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;border-radius:13px;border:1px solid;margin-bottom:22px}
.security-banner.sev-ok{background:linear-gradient(110deg,#0e2a1e,#0b1523);border-color:#3d8b5f;color:#b2f2bb}
.security-banner.sev-med{background:linear-gradient(110deg,#33240c,#1b1712);border-color:#b8860b;color:#ffd43b}
.security-banner.sev-high{background:linear-gradient(110deg,#3a1113,#1a0d10);border-color:#e03131;color:#ffc9c9;animation:alertPulse 3s ease-in-out infinite}
@keyframes alertPulse{0%,100%{box-shadow:0 0 0 0 #e0313100}50%{box-shadow:0 0 26px -6px #e0313166}}
.security-banner small{display:block;margin-top:5px;color:inherit;opacity:.75}
.security-pulse{width:14px;height:14px;border-radius:50%;background:currentColor;opacity:.55;animation:pingDot 2.2s ease-in-out infinite;flex-shrink:0}
@keyframes pingDot{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.45);opacity:.2}}
.security-alert{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;margin:10px 0;background:#101c1f}
.security-alert.high{border-color:#e0313177;background:#1a0e10}
.security-alert.medium{border-color:#b8860b66;background:#191408}
.security-alert.resolved{opacity:.55}
.security-alert.resolved strong{text-decoration:line-through}
.ip-group{padding:11px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.ip-group:last-of-type{border-bottom:none}
.ip-group .actions{margin-top:6px}

/* ===== Design polish (shipped 2026-09) — additive layers, safe fallbacks ===== */
@keyframes egFlicker{0%,100%{opacity:1}92%{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.75}97%{opacity:1}}
@keyframes egSheen{0%{transform:translateX(-130%) skewX(-18deg)}100%{transform:translateX(230%) skewX(-18deg)}}
@keyframes egScanSweep{0%{background-position:0 0}100%{background-position:0 64px}}
@keyframes egGlowPulse{0%,100%{box-shadow:0 0 14px rgba(151,188,255,.20)}50%{box-shadow:0 0 26px rgba(151,188,255,.42)}}

/* --- Classic: brass instrument-panel grade-up --- */
html[data-design=classic] body,html:not([data-design=ai]):not([data-design=hacker]) body{background:radial-gradient(ellipse at 50% -10%,#1b2228 0,transparent 55%),#0d1014}
html[data-design=classic] .panel,html:not([data-design=ai]):not([data-design=hacker]) .panel{box-shadow:0 1px 0 #ffffff08 inset,0 18px 40px -28px #000000cc}
html[data-design=classic] .card,html:not([data-design=ai]):not([data-design=hacker]) .card{transition:border-color .2s,transform .25s,box-shadow .25s}
html[data-design=classic] .card:hover,html:not([data-design=ai]):not([data-design=hacker]) .card:hover{transform:translateY(-4px);box-shadow:0 16px 34px -18px #000000d9;border-color:#7c8371}
html[data-design=classic] .primary,html:not([data-design=ai]):not([data-design=hacker]) .primary{box-shadow:0 6px 18px -8px #e8bb6673}
html[data-design=classic] .timer,html:not([data-design=ai]):not([data-design=hacker]) .timer{font-family:Georgia,serif;font-size:2.5rem;letter-spacing:.04em;text-shadow:0 0 22px #e8bb662e}
html[data-design=classic] .progress span,html:not([data-design=ai]):not([data-design=hacker]) .progress span{height:7px;border-radius:99px;overflow:hidden;position:relative}
html[data-design=classic] .progress span.done,html:not([data-design=ai]):not([data-design=hacker]) .progress span.done{background:linear-gradient(90deg,#caa04f,#f2d189);box-shadow:0 0 12px #e8bb6640}
html[data-design=classic] .nav a.active,html:not([data-design=ai]):not([data-design=hacker]) .nav a.active{border-right:3px solid var(--accent);padding-right:11px}
html[data-design=classic] h1,html:not([data-design=ai]):not([data-design=hacker]) h1{font-family:Georgia,'Noto Serif Hebrew',serif;font-weight:700}
html[data-design=classic] .featured h2,html:not([data-design=ai]):not([data-design=hacker]) .featured h2{font-family:Georgia,serif}

/* --- AI: aurora glass with soft neon --- */
html[data-design=ai] body{background:radial-gradient(ellipse at 12% -8%,#2e4a8f66 0,transparent 46%),radial-gradient(ellipse at 88% 6%,#28527a5c 0,transparent 44%),radial-gradient(ellipse at 78% 86%,#3a2e8a4d 0,transparent 46%),#0b1023;background-attachment:fixed}
html[data-design=ai] .panel,html[data-design=ai] .card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #ffffff17;box-shadow:0 18px 44px -20px #020613a6,0 1px 0 #ffffff12 inset}
html[data-design=ai] .panel{transition:border-color .25s,box-shadow .25s}
html[data-design=ai] .panel:hover{border-color:#ffffff2e}
html[data-design=ai] .primary{background:linear-gradient(110deg,#9fafff,#6ee7ea 55%,#8fd3ff);background-size:160% 100%;transition:background-position .5s,box-shadow .3s;box-shadow:0 10px 26px -10px #6ee7ea59}
html[data-design=ai] .primary:hover{background-position:100% 0;box-shadow:0 12px 30px -10px #6ee7ea80}
html[data-design=ai] .timer{font-variant-numeric:tabular-nums;text-shadow:0 0 24px #8fb7ff55;animation:egGlowPulse 3.4s ease-in-out infinite}
html[data-design=ai] .progress span{background:#26325a;border-radius:99px;height:7px;overflow:hidden}
html[data-design=ai] .progress span.done{background:linear-gradient(90deg,#6ee7ea,#9fafff);box-shadow:0 0 14px #6ee7ea52}
html[data-design=ai] .cardbanner{position:relative;overflow:hidden}
html[data-design=ai] .cardbanner:after{content:'';position:absolute;top:0;bottom:0;width:42%;background:linear-gradient(100deg,transparent,#9db8ff1f,transparent);animation:egSheen 7s ease-in-out infinite}
html[data-design=ai] .badge{background:#ffffff10;border-color:#ffffff24;color:#d7e4ff}
html[data-design=ai] .badge.gold{border-color:#9fafff59;color:#c3d3ff;background:#9fafff12}
html[data-design=ai] .stat strong{background:linear-gradient(100deg,#c7d6ff,#7de3dc);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-design=ai] .eyebrow{color:#8fb7ff}
html[data-design=ai] .nav a.active{border-color:#9fafff4d;background:#9fafff16;box-shadow:0 0 18px -6px #6ee7ea59}
html[data-design=ai] .ai-mark{text-shadow:0 0 34px #6ee7ea88}
html[data-design=ai] .brand{letter-spacing:.14em}

/* --- Hacker: CRT terminal grade-up --- */
html[data-design=hacker] body{background:radial-gradient(ellipse at 50% -20%,#0a2415 0,transparent 52%),#030b06}
html[data-design=hacker] body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:60;background:repeating-linear-gradient(0deg,transparent 0 2px,#58ff9410 2px 3px);mix-blend-mode:overlay}
html[data-design=hacker] .panel,html[data-design=hacker] .card{box-shadow:0 0 0 1px #58ff9414 inset,0 0 24px -14px #58ff9440}
html[data-design=hacker] .panel:before{content:'';display:block;height:2px;margin:-28px -28px 18px;background:repeating-linear-gradient(90deg,#58ff9455 0 12px,transparent 12px 18px)}
html[data-design=hacker] h1,html[data-design=hacker] .brand,html[data-design=hacker] .eyebrow{text-shadow:0 0 16px #58ff9455;animation:egFlicker 9s linear infinite}
html[data-design=hacker] .primary{box-shadow:0 0 18px -4px #58ff945c;text-shadow:0 0 10px #02140788}
html[data-design=hacker] .timer{color:#58ff94;text-shadow:0 0 18px #58ff94aa;font-variant-numeric:tabular-nums}
html[data-design=hacker] .progress span{background:#0a2416;border-radius:2px}
html[data-design=hacker] .progress span.done{background:#58ff94;box-shadow:0 0 10px #58ff9480}
html[data-design=hacker] .cardbanner{position:relative;overflow:hidden}
html[data-design=hacker] .cardbanner:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 7px,#58ff9412 7px 8px);animation:egScanSweep 6s linear infinite}
html[data-design=hacker] input,html[data-design=hacker] textarea{box-shadow:0 0 12px -6px #58ff9450 inset}
html[data-design=hacker] .nav a.active{border-color:#58ff94;border-style:dashed;box-shadow:0 0 14px -6px #58ff9466;background:#58ff940d}
html[data-design=hacker] .badge{border-style:dashed}
html[data-design=hacker] .stat strong{text-shadow:0 0 14px #58ff9466}

/* Polish: reduce-motion safety for new effects */
html[data-design=ai].reduce-motion .panel,.reduce-motion .timer,.reduce-motion .cardbanner:after{animation:none!important}
html[data-design=classic].reduce-motion .card,html[data-design=hacker].reduce-motion h1{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.cardbanner:after,.timer{animation:none!important}}
@media(max-width:700px){
 .design-picker{font-size:0}.design-picker select{font-size:.75rem;max-width:105px}
 .escape-visual{height:auto;min-height:420px;padding:78px 12px 70px}
 .room-objects.world-hotspots{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
 .room-object.hotspot{position:relative;left:auto!important;top:auto!important;transform:none!important;max-width:none;width:100%}
 .room-object.hotspot b{font-size:.64rem}
}

/* ===== פס נתוני אתר חיים (קטלוג) ===== */
.livestats{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:18px 0 8px;padding:16px 22px;border-radius:18px;background:linear-gradient(135deg,rgba(184,134,11,.08),rgba(255,255,255,.02));border:1px solid rgba(184,134,11,.22);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.livestats .ls-item{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:74px}
.livestats .ls-item strong{font-size:1.5rem;color:#e8b93e;font-variant-numeric:tabular-nums;letter-spacing:.5px;text-shadow:0 0 18px rgba(232,185,62,.35)}
.livestats .ls-item span{font-size:.72rem;opacity:.65}
.livestats .ls-sep{width:1px;height:34px;background:rgba(255,255,255,.1)}
@media(max-width:700px){.livestats{gap:10px;padding:12px}.livestats .ls-item{min-width:60px}.livestats .ls-item strong{font-size:1.15rem}.livestats .ls-sep{display:none}}
