:root{
  --ink:#0b1220;--panel:#c9d8a8;--panel2:#a9bf85;--edge:#27351f;--cream:#f3f0d6;
  --lime:#d8ef57;--blue:#5fd5ef;--orange:#ffb24f;--red:#f27878;--white:#fffdf0;
  --shadow:0 14px 34px rgba(0,0,0,.35);
}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Verdana,Arial,sans-serif;background:#07101b;color:#15210f;touch-action:none}
button,input,textarea{font:inherit}.topbar{height:74px;padding:8px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));display:flex;align-items:center;gap:10px;background:linear-gradient(#d9e8bb,#a9be86);border-bottom:3px solid #304222;box-shadow:0 3px 0 #61764d,0 8px 24px rgba(0,0,0,.28);position:relative;z-index:20}.brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;color:#172213;text-align:left;cursor:pointer;min-width:0}.brand img{width:48px;height:48px;border-radius:10px;image-rendering:auto;box-shadow:inset 0 0 0 2px #26331f}.brand b{font-size:15px;letter-spacing:.12em;display:block;white-space:nowrap}.brand small{font-size:8px;letter-spacing:.19em;display:block;color:#506043;margin-top:3px}.park-stats{display:flex;gap:7px;margin-left:auto}.park-stats span{min-width:64px;padding:6px 8px;background:#8da06e;border:2px solid #3e522f;border-radius:3px;box-shadow:inset 2px 2px #bacb98,inset -2px -2px #66784f;text-align:center}.park-stats b{display:block;font-size:16px}.park-stats small{display:block;font-size:7px;letter-spacing:.12em}.ui-btn{border:2px solid #394d2d;background:#e2edc3;color:#26351e;border-radius:4px;padding:11px 12px;box-shadow:inset 2px 2px #fff8,inset -2px -2px #809064;cursor:pointer;font-weight:800;font-size:10px;letter-spacing:.08em}.park-shell{position:absolute;inset:74px 0 0;background:#213d25;overflow:hidden}.park-shell:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px rgba(0,0,0,.18)}#park{width:100%;height:100%;display:block;cursor:grab}#park.dragging{cursor:grabbing}.park-hint{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);background:rgba(8,18,16,.78);color:#e8f2d3;border:1px solid #769167;border-radius:4px;padding:8px 12px;font-size:9px;letter-spacing:.08em;pointer-events:none;transition:opacity .4s;white-space:nowrap}.zoom-tools{position:absolute;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:4px;background:#8da06e;border:2px solid #34472a;padding:4px;border-radius:5px;box-shadow:var(--shadow)}.zoom-tools button{width:42px;height:38px;border:2px solid #4e623e;background:#dbe8be;box-shadow:inset 2px 2px #fff9,inset -2px -2px #84966a;font-weight:900;color:#29391f;cursor:pointer}.zoom-tools #fitView{width:52px;font-size:9px}.entrance-badge{position:absolute;left:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:220px;border:2px solid #394b2d;background:#dbe9bd;color:#1c2b15;padding:8px 10px;box-shadow:var(--shadow),inset 2px 2px #fff9,inset -2px -2px #879b6c;text-align:left;cursor:pointer}.entrance-badge span{float:left;font-size:25px;margin-right:8px}.entrance-badge b{display:block;font-size:9px;letter-spacing:.12em}.entrance-badge small{display:block;font-size:7px;line-height:1.35;margin-top:2px;color:#526348}.rct-window{position:fixed;z-index:50;background:#bfd19c;border:3px solid #314325;box-shadow:0 0 0 2px #7d9364,var(--shadow),inset 2px 2px #ecf5d7,inset -2px -2px #71845b;border-radius:3px}.window-titlebar{height:34px;display:flex;align-items:center;gap:7px;padding:3px 4px 3px 8px;background:linear-gradient(90deg,#365827,#648642);color:#f5f5d9;border-bottom:2px solid #2c3b23;font-size:11px;letter-spacing:.08em;text-shadow:1px 1px #172010;cursor:move;user-select:none}.window-titlebar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-close{margin-left:auto;width:27px;height:25px;border:2px solid #5e3d2e;background:#d47c64;color:white;font-size:20px;line-height:18px;box-shadow:inset 1px 1px #f1ad97,inset -1px -1px #7f4134;cursor:pointer}.attraction-window{width:min(650px,calc(100vw - 24px));left:50%;top:110px;transform:translateX(-50%)}.window-body{display:grid;grid-template-columns:44% 56%;min-height:260px}.poster-wrap{padding:10px}.poster-wrap img{width:100%;height:100%;max-height:320px;object-fit:cover;object-position:center;border:3px solid #3a4b2e;background:#172218;box-shadow:inset 2px 2px #111}.window-copy{padding:12px 14px 14px 4px;color:#1f2d18}.chips{display:flex;flex-wrap:wrap;gap:5px}.chips span{padding:4px 6px;border:1px solid #4b613a;background:#dae7be;font-size:8px;font-weight:900;letter-spacing:.09em}.window-copy p{font-size:12px;line-height:1.55;margin:12px 0}.ride-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 0 12px}.ride-stats div{background:#a2b77f;border:1px solid #536942;padding:6px}.ride-stats dt{font-size:7px;color:#4b5e3e;letter-spacing:.1em}.ride-stats dd{margin:4px 0 0;font-size:10px;font-weight:900}.enter-ride{width:100%;padding:12px;border:2px solid #3c542d;background:#e9f5c9;box-shadow:inset 2px 2px #fff,inset -2px -2px #93a976;font-size:10px;font-weight:900;letter-spacing:.1em;color:#203019;cursor:pointer}.enter-ride:hover{background:#f6ffd9}.guestbook-window{width:min(520px,calc(100vw - 24px));right:16px;top:92px;max-height:calc(100vh - 112px);overflow:hidden}.guestbook-window .window-titlebar{cursor:default}.guestbook-intro{padding:12px 14px 7px}.guestbook-intro strong{display:block;font-size:11px;line-height:1.4}.guestbook-intro span{display:block;font-size:9px;line-height:1.4;margin-top:5px;color:#526345}.guestbook-window form{padding:8px 14px 12px;border-bottom:2px solid #788f60}.guestbook-window label{display:block;font-size:8px;font-weight:900;letter-spacing:.09em;margin:0 0 8px}.guestbook-window input,.guestbook-window textarea{display:block;width:100%;margin-top:4px;border:2px solid #536640;background:#f2f4db;color:#1d2b17;padding:8px;outline:none}.guestbook-window textarea{height:82px;resize:none}.honey{position:absolute!important;left:-9999px!important}.form-row{display:flex;justify-content:space-between;align-items:center}.form-row small{font-size:8px;color:#566648}.form-row button{border:2px solid #3b512e;background:#e4f2c2;padding:8px 11px;font-size:9px;font-weight:900;cursor:pointer}.thought-feed{max-height:240px;overflow:auto;padding:7px 10px 12px}.thought-entry{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:7px;border-bottom:1px solid #83996c}.thought-entry img{width:34px;height:40px;object-fit:contain;image-rendering:pixelated}.thought-entry b{font-size:9px}.thought-entry p{font-size:10px;line-height:1.35;margin:3px 0;color:#25351d}.thought-entry time{font-size:7px;color:#657354}.guest-inspector{position:fixed;z-index:55;left:12px;top:90px;width:270px;display:grid;grid-template-columns:54px 1fr;gap:9px;padding:10px;background:#bfd19c;border:3px solid #334527;box-shadow:var(--shadow)}.guest-inspector>button{position:absolute;right:4px;top:4px;border:0;background:#d47c64;color:#fff;width:22px;height:22px}.guest-inspector img{width:48px;height:56px;object-fit:contain;image-rendering:pixelated}.guest-inspector b{font-size:10px}.guest-inspector p{font-size:10px;line-height:1.35;margin:4px 15px 4px 0}.guest-inspector small{font-size:8px;color:#536446}
@media(max-width:760px){.topbar{height:64px}.park-shell{inset:64px 0 0}.brand img{width:42px;height:42px}.brand b{font-size:11px}.brand small{font-size:6px}.park-stats span{min-width:44px;padding:5px 4px}.park-stats b{font-size:13px}.park-stats small{font-size:6px}.thought-btn span{display:none}.thought-btn{padding:9px}.attraction-window{top:76px}.window-body{grid-template-columns:1fr}.poster-wrap{height:175px;padding-bottom:2px}.window-copy{padding:8px 12px 12px}.window-copy p{margin:8px 0;font-size:11px}.guestbook-window{top:70px;right:6px;width:calc(100vw - 12px);max-height:calc(100vh - 76px)}.entrance-badge{display:none}.park-hint{bottom:61px;font-size:8px}.zoom-tools{right:7px;bottom:7px}.guest-inspector{top:72px}.ride-stats{margin-bottom:8px}}
@media(max-width:440px){.park-stats span:nth-child(2){display:none}.park-stats{gap:4px}.brand span{max-width:130px}.brand b{white-space:normal;line-height:1.1}.window-body{min-height:0}.poster-wrap{height:145px}.guestbook-intro{padding-top:9px}.thought-feed{max-height:190px}}

/* v3 restoration: original park simulation retained; the thoughts panel uses the new neutral guest set. */
.thought-summary-head{padding:7px 12px 6px;background:#879d6c;border-top:1px solid #dce8c7;border-bottom:2px solid #647b50}
.thought-summary-head b{display:block;font-size:8px;letter-spacing:.13em;color:#213019}
.thought-summary-head small{display:block;margin-top:2px;font-size:7px;color:#405135;line-height:1.35}
.thought-feed{max-height:265px}
.thought-summary-row{position:relative;padding:9px 9px 7px;border-bottom:1px solid #82976b;background:rgba(244,246,219,.18)}
.thought-summary-row q{display:block;margin:0 0 5px;font-size:11px;font-weight:800;line-height:1.35;color:#26331f;quotes:"“" "”"}
.thought-summary-row q:before{content:open-quote}.thought-summary-row q:after{content:close-quote}
.thought-summary-row small{position:absolute;right:8px;bottom:6px;font-size:6px;letter-spacing:.1em;color:#586a4b;font-weight:900}
.thought-guest-strip{min-height:25px;display:flex;align-items:flex-end;gap:1px;flex-wrap:wrap;padding-right:58px}
.thought-guest-strip img{width:18px;height:23px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}
.thought-extra{align-self:center;margin-left:3px;padding:2px 4px;background:#768d5f;border:1px solid #4f633f;color:#f5f5d9;font-size:7px;font-weight:900}
.thought-empty{display:grid;grid-template-columns:42px 1fr;gap:9px;padding:12px}
.thought-empty img{width:38px;height:38px;object-fit:contain;border-radius:8px}
.thought-empty b{font-size:9px}.thought-empty p{font-size:10px;line-height:1.35;margin:3px 0;color:#25351d}
@media(max-width:440px){.thought-summary-row q{font-size:10px}.thought-guest-strip img{width:16px;height:20px}.thought-feed{max-height:210px}}


/* v4 dungeon/park mechanics patch. Camera and original v1 park layout intentionally untouched. */
[hidden]{display:none!important}
.park-tools{position:absolute;right:10px;top:18px;z-index:18;display:flex;flex-direction:column;gap:5px;padding:5px;background:#788d61;border:2px solid #34472a;border-radius:5px;box-shadow:0 10px 24px rgba(0,0,0,.32),inset 2px 2px #aebf94,inset -2px -2px #506344}
.park-tool{width:52px;height:58px;padding:3px 2px;border:2px solid #465b39;background:#dbe8be;color:#24351c;box-shadow:inset 2px 2px #fff9,inset -2px -2px #83966b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;touch-action:manipulation}
.park-tool img{width:38px;height:38px;object-fit:contain;pointer-events:none}.park-tool span{font-size:6px;line-height:1;font-weight:900;letter-spacing:.08em;pointer-events:none}.park-tool.active{background:#eef7c9;border-color:#1d2d16;box-shadow:inset 2px 2px #fff,inset -2px -2px #879b6c,0 0 0 2px #d8ef57}.tool-divider{height:2px;background:#425536;box-shadow:0 1px #a6b98c;margin:1px 0}
.tool-status{position:absolute;right:74px;top:18px;z-index:19;max-width:260px;padding:7px 9px;background:#f3f0d6;border:2px solid #445638;color:#1f2c19;box-shadow:0 8px 22px rgba(0,0,0,.28);font-size:8px;line-height:1.35;font-weight:800;letter-spacing:.03em;pointer-events:none}
.dungeon-hand{position:fixed;z-index:90;width:76px;height:76px;pointer-events:none;transform:translate(-20px,-12px);filter:drop-shadow(0 4px 3px rgba(0,0,0,.35))}.dungeon-hand img{width:100%;height:100%;object-fit:contain}
.inspector-mood{display:block!important;margin-top:3px;font-weight:900;color:#425438!important}
@media(max-width:760px){.park-tools{right:6px;top:8px;padding:4px;gap:3px}.park-tool{width:45px;height:49px}.park-tool img{width:32px;height:32px}.park-tool span{font-size:5px}.tool-status{right:59px;top:8px;max-width:215px}.dungeon-hand{width:66px;height:66px}}

/* v5 interaction pass: compact tool dock, tap-pickup hand, roaming park characters. */
.park-tools-wrap{position:absolute;right:9px;top:12px;z-index:18;display:flex;align-items:flex-start;gap:5px;pointer-events:auto}
.tools-toggle{width:48px;height:50px;padding:3px;border:2px solid #34472a;border-radius:5px;background:#dbe8be;color:#24351c;box-shadow:0 8px 20px rgba(0,0,0,.25),inset 2px 2px #fff9,inset -2px -2px #83966b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;touch-action:manipulation}
.tools-toggle>span{font-size:20px;line-height:20px}.tools-toggle small{font-size:5px;line-height:1;font-weight:900;letter-spacing:.08em;max-width:42px;overflow:hidden;text-overflow:ellipsis}
.park-tools-wrap .park-tools{position:static;right:auto;top:auto;display:none;gap:3px;padding:4px}
.park-tools-wrap.open .park-tools{display:flex}
.park-tools-wrap.open .tools-toggle{background:#eef7c9;box-shadow:0 8px 20px rgba(0,0,0,.25),inset 2px 2px #fff,inset -2px -2px #879b6c,0 0 0 2px #d8ef57}
.park-tools-wrap .park-tool{width:42px;height:45px;padding:2px}.park-tools-wrap .park-tool img{width:29px;height:29px}.park-tools-wrap .park-tool span{font-size:5px}
.tool-status{right:9px;top:68px;max-width:245px}
.dungeon-hand{width:60px;height:60px;transform:translate(-18px,-51px);opacity:0;transition:opacity .12s;will-change:left,top,opacity}.dungeon-hand.visible{opacity:1}
#park.hand-mode{cursor:grab}#park.hand-mode:active{cursor:grabbing}
@media(max-width:760px){.park-tools-wrap{right:6px;top:7px}.tools-toggle{width:43px;height:46px}.tools-toggle>span{font-size:18px}.park-tools-wrap .park-tool{width:38px;height:41px}.park-tools-wrap .park-tool img{width:26px;height:26px}.tool-status{right:6px;top:58px;max-width:min(235px,calc(100vw - 18px));font-size:7px}.dungeon-hand{width:54px;height:54px;transform:translate(-15px,-48px)}}


/* v6: Dungeon Hand control-stick and StateBot demo selector. */
.hand-controller{position:absolute;left:max(10px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:24;width:218px;padding:6px;background:#788d61;border:2px solid #34472a;border-radius:6px;box-shadow:0 12px 28px rgba(0,0,0,.34),inset 2px 2px #adbf92,inset -2px -2px #526745;user-select:none;-webkit-user-select:none;touch-action:none}
.hand-controller-title{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:1px 2px 5px;color:#edf5d8}.hand-controller-title b{font-size:7px;letter-spacing:.1em}.hand-controller-title span{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6px;font-weight:900;letter-spacing:.04em;color:#d8ef57;text-align:right}
.hand-control-row{display:flex;align-items:center;gap:8px}.hand-joystick{position:relative;flex:0 0 82px;width:82px;height:82px;border-radius:50%;border:3px solid #36472d;background:radial-gradient(circle,#aabd8b 0 20%,#7d9365 21% 53%,#60764f 54% 100%);box-shadow:inset 4px 4px rgba(255,255,255,.2),inset -4px -4px rgba(35,52,28,.45),0 3px 0 #314125;touch-action:none;overflow:hidden}.hand-joystick-cross{position:absolute;inset:0;display:grid;place-items:center;font:bold 37px/1 Verdana;color:rgba(38,55,30,.35);pointer-events:none;transform:rotate(45deg)}.hand-joystick-knob{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border-radius:50%;border:2px solid #35462d;background:#dbe8be;box-shadow:inset 3px 3px #fff9,inset -3px -3px #819469,0 4px 7px rgba(0,0,0,.3);will-change:transform;pointer-events:none}
.hand-actions{display:grid;gap:6px;flex:1}.hand-action{min-height:37px;border:2px solid #405333;background:#dbe8be;color:#24351c;box-shadow:inset 2px 2px #fff9,inset -2px -2px #829469;text-align:left;padding:5px 7px;touch-action:manipulation}.hand-action:active{transform:translateY(1px);box-shadow:inset 2px 2px #829469}.hand-action b{display:block;font-size:8px;letter-spacing:.08em}.hand-action small{display:block;margin-top:1px;font-size:5px;letter-spacing:.04em;color:#546747}.hand-grab{background:#edf5c9}.hand-context.danger{background:#e89b82;color:#402016;border-color:#704535}.hand-context.open{background:#b9e7ef}
.dungeon-hand{opacity:1!important;transition:none!important;filter:drop-shadow(0 5px 4px rgba(0,0,0,.42))}.dungeon-hand.targeted:after{content:"";position:absolute;left:50%;top:92%;width:24px;height:10px;transform:translate(-50%,-50%);border:2px solid #d8ef57;border-radius:50%;box-shadow:0 0 0 2px rgba(31,45,22,.65)}
#park.hand-mode{cursor:none}.tool-status.hand-active{left:10px;right:auto;bottom:110px;top:auto;max-width:220px}
.ride-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.ride-choice{border:2px solid #445a36;background:#dce9bd;color:#24351c;padding:8px;text-align:left;box-shadow:inset 2px 2px #fff9,inset -2px -2px #879b6c;cursor:pointer}.ride-choice b{display:block;font-size:8px;letter-spacing:.07em}.ride-choice small{display:block;margin-top:3px;font-size:6px;line-height:1.3;color:#526447}.ride-choice:last-child{background:#c9e2d0}
@media(max-width:760px){.hand-controller{left:max(7px,env(safe-area-inset-left));bottom:max(7px,env(safe-area-inset-bottom));width:204px;padding:5px}.hand-joystick{width:76px;height:76px;flex-basis:76px}.hand-joystick-knob{width:32px;height:32px;margin:-16px}.hand-actions{gap:5px}.hand-action{min-height:34px;padding:4px 6px}.hand-controller-title{padding-bottom:4px}.zoom-tools{z-index:23}.ride-choices{grid-template-columns:1fr}}
@media(max-width:390px){.hand-controller{width:190px}.hand-joystick{width:70px;height:70px;flex-basis:70px}.hand-joystick-knob{width:30px;height:30px;margin:-15px}.hand-action{min-height:31px}}

.tools-launchers{display:flex;flex-direction:column;gap:8px}.tools-toggle.secondary,.tools-toggle.danger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;min-height:74px}.tools-toggle.secondary img,.tools-toggle.danger img{width:34px;height:34px;image-rendering:pixelated}.tools-toggle.secondary small,.tools-toggle.danger small{font-size:8px;letter-spacing:.08em}.tools-toggle.danger{border-color:#7c5245;background:linear-gradient(#efd2b9,#df9f78)}.build-panel{position:absolute;right:86px;top:18px;width:min(250px,calc(100vw - 120px));max-height:min(70vh,520px);overflow:auto;padding:10px;border:4px solid #556a41;background:#cfdcb0;box-shadow:0 10px 0 rgba(53,67,40,.8),0 18px 40px rgba(0,0,0,.32);z-index:20;border-radius:8px}.build-panel[hidden]{display:none!important}.build-panel-head{margin-bottom:8px;padding-bottom:7px;border-bottom:2px solid #86996f}.build-panel-head b{display:block;font-size:9px;letter-spacing:.11em}.build-panel-head small{display:block;font-size:6px;color:#5a6c49;margin-top:3px}.build-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.build-item{border:2px solid #455935;background:#e4edc6;box-shadow:inset 2px 2px #fff9,inset -2px -2px #8a9e71;padding:7px 6px;text-align:left;min-height:68px}.build-item.active{outline:3px solid #d8ef57}.build-item .emoji{display:inline-block;font-size:18px;margin-bottom:3px}.build-item b{display:block;font-size:8px;letter-spacing:.06em;line-height:1.15;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.build-item small{display:block;margin-top:4px;font-size:6px;line-height:1.25;color:#526447;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.build-item{overflow:hidden}.park-toggle-badge{left:18px;bottom:22px;right:auto;z-index:12}.park-toggle-badge.closed{background:#d7c0ae;border-color:#946659}.park-toggle-badge.closed b{color:#4b2317}.park-toggle-badge.closed small{color:#71483c}@media(max-width:760px){.park-tools-wrap{top:16px;right:10px}.build-panel{right:80px;top:12px;width:min(220px,calc(100vw - 112px))}.build-grid{grid-template-columns:1fr}.park-toggle-badge{left:10px;bottom:14px}}

.build-panel{width:min(220px,calc(100vw - 118px));max-height:min(58vh,460px)}.build-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.build-close{width:28px;height:28px;border:2px solid #576f4d;background:#e6edcb;box-shadow:inset 2px 2px #fff9,inset -2px -2px #8a9e71;color:#31422a;font:900 18px/1 Verdana;flex:0 0 auto}.build-close:active{transform:translateY(1px)}.build-selection-badge{position:absolute;right:84px;top:16px;z-index:21;max-width:210px;padding:8px 10px 8px 10px;border:4px solid #556a41;background:#dce7bc;box-shadow:0 8px 0 rgba(53,67,40,.75),0 16px 28px rgba(0,0,0,.28);border-radius:8px;text-align:left}.build-selection-badge[hidden]{display:none!important}.build-selection-badge span{display:block;font:900 10px/1 Verdana;letter-spacing:.08em;color:#25452f}.build-selection-badge b{display:block;font:900 8px/1.25 Verdana;margin-top:4px;color:#334929}.build-selection-badge small{display:block;font:400 6px/1.25 Verdana;margin-top:4px;color:#59704c}.build-selection-badge em{position:absolute;top:4px;right:8px;font-style:normal;font:900 14px/1 Verdana;color:#60734c}.park-tools-wrap.building .build-panel{display:block}.park-tools-wrap.building .build-selection-badge{display:none}@media(max-width:760px){.build-panel{width:min(206px,calc(100vw - 112px));max-height:52vh}.build-selection-badge{right:78px;top:10px;max-width:170px;padding:7px 8px}}

/* v10 actual ride art + open/closed colors */
.park-toggle-badge.open b{color:#226b2a}.park-toggle-badge.open small{color:#39743a}.park-toggle-badge.closed b{color:#8c241c}.park-toggle-badge.closed small{color:#9b463f}.build-item .thumb{display:block;width:100%;height:66px;object-fit:contain;object-position:center;margin:0 0 5px;background:linear-gradient(#eef5d6,#dbe7bc);border:1px solid #8da171;padding:2px}.build-item .emoji{display:inline-block;font-size:18px;margin-bottom:3px}.build-item.has-thumb{min-height:138px}.build-item.has-thumb .emoji{display:none}

/* v11: revert block build cards, keep open/closed colors */
.build-item{min-height:72px}.build-item.has-thumb{min-height:72px}.build-item .thumb{display:none!important}

/* v12 mobile control pass */
#toolBadge{font-size:6px!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important}
.park-tools-wrap .park-tools{gap:6px;padding:6px}
.park-tools-wrap .park-tool{width:60px;height:68px;padding:4px 3px}
.park-tools-wrap .park-tool img{width:44px;height:44px}
.park-tools-wrap .park-tool span{font-size:7px;letter-spacing:.1em}
.park-tools-wrap .park-tool.active{outline:2px solid #d8ef57;outline-offset:1px}
.dungeon-hand{pointer-events:none}
.dungeon-hand .hand-payload{position:absolute;width:34px;height:34px;object-fit:contain;image-rendering:auto;left:-5px;top:-21px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.4));z-index:3}
#park.hand-mode{cursor:grab}
#park.hand-mode:active{cursor:grabbing}
.hand-controller-title span.payload-active{color:#fff3a3}
.hand-action.payload-place{background:#e9f3b8;border-color:#526834}
.hand-action.payload-cancel{background:#e8c3b4;border-color:#795448}
@media(max-width:760px){
 .park-tools-wrap{right:7px;top:8px}
 .tools-toggle{width:48px;height:52px}
 .tools-toggle>span{font-size:20px}
 .park-tools-wrap .park-tool{width:56px;height:64px}
 .park-tools-wrap .park-tool img{width:42px;height:42px}
 .park-tools-wrap .park-tool span{font-size:7px}
 .park-tools-wrap .park-tools{gap:5px;padding:5px}
 .dungeon-hand{width:58px;height:58px;transform:translate(-16px,-51px)}
 .dungeon-hand .hand-payload{width:32px;height:32px;left:-4px;top:-20px}
}

/* v13 desktop RTS hand */
@media (pointer:fine){
  #park.hand-mode,#park.hand-mode:active{cursor:none!important}
  .hand-controller{display:none!important}
  .dungeon-hand{width:66px;height:66px;transform:translate(-18px,-58px)}
}

/* v14 integrated attraction runtime */
.artifact-window{z-index:80;left:50%;top:84px;transform:translateX(-50%);width:min(1180px,calc(100vw - 28px));height:min(780px,calc(100vh - 104px));overflow:hidden;background:#9fb386}
.artifact-titlebar{cursor:default}.artifact-home{margin-left:auto;width:30px;height:25px;border:2px solid #465b38;background:#dce8be;color:#203019;font-weight:900;box-shadow:inset 1px 1px #fff,inset -1px -1px #82956a;cursor:pointer}.artifact-titlebar .window-close{margin-left:4px}
.artifact-stage{position:relative;width:100%;height:calc(100% - 34px);background:#05070b;overflow:hidden}.artifact-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;display:none}.artifact-stage iframe.ready{display:block}
.artifact-boot{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;background:linear-gradient(180deg,#060a2c 0%,#08134b 48%,#02051d 100%);color:#f5f7ff;font-family:"Courier New",monospace;text-align:left;z-index:2}.artifact-boot[hidden]{display:none!important}.boot-logo{font:bold clamp(24px,5vw,56px)/1 Arial,sans-serif;letter-spacing:.06em;color:#fff;text-shadow:2px 2px #00164d;margin-bottom:8px}.boot-title{font:bold clamp(13px,2vw,20px)/1.2 "Courier New",monospace;color:#ffd74d;margin-bottom:6px}.boot-sub{font-size:12px;color:#b8c9ff;margin-bottom:18px}.boot-screen{width:min(700px,92%);min-height:128px;padding:14px 16px;border:2px solid #8fa5ff;background:#00051c;box-shadow:inset 0 0 0 2px #1d347e;color:#c7d6ff;font-size:11px;line-height:1.6;overflow:hidden}.boot-screen span{display:block}.boot-screen span.ok:before{content:"[ OK ] ";color:#6cff8e}.boot-screen span.run:before{content:"[....] ";color:#ffd74d}.boot-progress{width:min(700px,92%);height:18px;margin-top:12px;border:2px solid #8fa5ff;background:#00051c;padding:2px}.boot-progress i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#4f78ff 0 16px,#82a0ff 16px 22px);transition:width .25s linear}.artifact-boot small{width:min(700px,92%);margin-top:10px;color:#889bd6;font-size:10px}
@media(max-width:760px){.artifact-window{top:65px;left:4px;right:4px;transform:none;width:auto;height:calc(100vh - 70px)}.artifact-titlebar{height:34px}.artifact-stage{height:calc(100% - 34px)}.artifact-home{width:28px}.artifact-boot{padding:16px}.boot-screen{width:96%;min-height:118px;font-size:10px}.boot-progress{width:96%}}

/* v16 */
.ride-actions{display:grid;grid-template-columns:1fr;gap:8px}.demolish-ride{background:#f1c6ba;border-color:#7d3f34;color:#4d1f18}.demolish-ride:hover{background:#ffd9cf}.island-slot-note{font-size:6px;color:#516246}.window-copy .ride-actions+.ride-choices{margin-top:8px}
@media(max-width:760px){.ride-actions{gap:6px}}

/* v17: compact demolish chip + second-board labels */
.chips .chip-demolish{padding:4px 7px;border:1px solid #7a3d34;background:#e8b6aa;color:#54261f;font-size:8px;font-weight:900;letter-spacing:.09em;cursor:pointer;box-shadow:inset 1px 1px #fff8,inset -1px -1px #a46b61}
.chips .chip-demolish:active{transform:translateY(1px)}

/* v18: single-build attraction inventory */
.build-item.built{opacity:.48;filter:saturate(.45);cursor:not-allowed;background:#c8cfb4;border-color:#78836c;box-shadow:inset 1px 1px #e7eadc,inset -1px -1px #9ca48d}
.build-item.built b,.build-item.built small{color:#68705f}
.build-item.built .emoji{filter:grayscale(.8)}
.build-item:disabled{pointer-events:none}

/* v20 manual bridge placement */
.dungeon-hand.bridge-payload .hand-payload{width:58px;height:34px;left:-13px;top:-24px;opacity:.88}
.hand-action.bridge-ready{background:#dff2b8;border-color:#53773d}.hand-action.bridge-not-ready{background:#ead7c7;border-color:#8a5d48}
.build-item.infrastructure.bridge-pickup:not(.built){background:#e8edcc}
@media(max-width:760px){.dungeon-hand.bridge-payload .hand-payload{width:52px;height:30px;left:-12px;top:-20px}}


/* v21: contextual left-click RTS placement + COMIXSLOP handheld runtime */
.artifact-window.comix-handheld{
  width:560px;
  height:570px;
  max-width:calc(100vw - 28px);
  max-height:calc(100vh - 104px);
  background:#a7ad9c;
  border-width:5px;
  border-radius:18px 18px 34px 18px;
  box-shadow:0 0 0 3px #62695d,0 18px 46px rgba(0,0,0,.42),inset 3px 3px #dfe5d4,inset -3px -3px #737a6e;
}
.artifact-window.comix-handheld .artifact-titlebar{
  background:linear-gradient(90deg,#666b62,#92998c);
  border-bottom-color:#4f554d;
}
.artifact-window.comix-handheld .artifact-stage{
  left:50%;
  top:16px;
  transform:translateX(-50%);
  width:480px;
  height:420px;
  max-width:calc(100% - 44px);
  max-height:calc(100% - 86px);
  border:10px solid #3c423d;
  border-radius:10px 10px 24px 10px;
  background:#171b17;
  box-shadow:inset 0 0 0 3px #171a17,0 5px 0 #7e857a;
}
.artifact-window.comix-handheld .artifact-stage:after{
  content:'COMIXSLOP • CHAT-BOY';
  position:absolute;
  right:9px;
  bottom:-29px;
  color:#555c54;
  font:900 8px/1 Verdana;
  letter-spacing:.12em;
  pointer-events:none;
}
.artifact-window.comix-handheld .artifact-stage iframe,
.artifact-window.comix-handheld .artifact-boot{
  border-radius:2px 2px 14px 2px;
}
@media(max-width:760px){
  .artifact-window.comix-handheld{
    top:72px;
    left:50%;right:auto;
    transform:translateX(-50%);
    width:min(390px,calc(100vw - 18px));
    height:min(530px,calc(100vh - 90px));
  }
  .artifact-window.comix-handheld .artifact-stage{
    top:12px;
    width:min(340px,calc(100% - 34px));
    height:min(360px,calc(100% - 92px));
    border-width:8px;
  }
}

/* v22: COMIXSLOP native-in-park runtime with VMU controls */
.artifact-window.comix-native{
  width:min(980px,calc(100vw - 24px));
  height:min(760px,calc(100vh - 92px));
  background:#aeb7a1;
  border-width:4px;
  border-radius:10px;
}
.artifact-window.comix-native .artifact-titlebar{
  background:linear-gradient(90deg,#4f584e,#7a8474);
}
.artifact-window.comix-native .artifact-stage{
  background:#1a201c;
  padding:10px 10px 178px;
}
.artifact-window.comix-native .artifact-stage iframe{
  position:absolute;
  left:10px;right:10px;top:10px;bottom:178px;
  width:auto;height:auto;
  border:7px solid #2f3831;
  border-radius:8px;
  background:#050509;
  box-shadow:inset 0 0 0 2px #111,0 4px 0 #7e8979;
}
.comix-vmu{
  position:absolute;
  left:10px;right:10px;bottom:8px;height:158px;
  display:grid;grid-template-columns:160px minmax(170px,1fr) 240px;
  align-items:center;gap:14px;
  padding:9px 12px;
  border:4px solid #374139;
  border-radius:18px 18px 28px 18px;
  background:linear-gradient(#d4dac9,#969f90);
  box-shadow:inset 3px 3px #f4f7ed,inset -3px -3px #697268,0 5px 0 #454d45;
  z-index:3;
}
.comix-vmu[hidden]{display:none!important}
.vmu-move{position:relative;width:118px;height:118px;margin:auto;border-radius:50%;border:5px solid #4c554d;background:radial-gradient(circle,#aeb8a9 0 30%,#758074 31% 58%,#555f57 59% 100%);box-shadow:inset 5px 5px #cbd2c6,inset -5px -5px #343a35;touch-action:none}
.vmu-cross{position:absolute;inset:0;display:grid;place-items:center;color:#384139;font:900 60px/1 monospace;opacity:.55;pointer-events:none}
.vmu-knob{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border-radius:50%;background:#dce7c4;border:3px solid #576252;box-shadow:0 4px 8px rgba(0,0,0,.32);pointer-events:none}
.vmu-lcd{height:116px;border:5px solid #465147;background:#b6cf9a;color:#20311f;border-radius:7px;box-shadow:inset 3px 3px #8ca276,inset -3px -3px #d4e5ba;padding:8px 10px;font-family:"Courier New",monospace;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:5px}
.vmu-lcd>b{font-size:14px;letter-spacing:.08em}.vmu-lcd>span{font-size:9px;font-weight:900}.vmu-lcd>div{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:5px;align-items:center}.vmu-lcd small{font-size:7px}.vmu-lcd strong{font-size:13px}.vmu-lcd button{align-self:center;border:2px solid #3c4a39;background:#e6efc9;color:#263323;padding:4px 12px;font:900 8px Verdana;letter-spacing:.08em}
.vmu-actions{height:128px;position:relative}.vmu-actions button{position:absolute;width:66px;height:66px;border-radius:50%;border:3px solid #374139;color:#fff;box-shadow:inset 2px 2px #ffffff55,inset -3px -3px #00000055,0 4px 0 #414841;font-weight:900}.vmu-actions button b{display:block;font-size:18px}.vmu-actions button small{display:block;font-size:7px;letter-spacing:.05em}.vmu-actions button:nth-child(1){left:78px;top:0;background:#be4770}.vmu-actions button:nth-child(2){right:0;top:34px;background:#c49732}.vmu-actions button:nth-child(3){left:88px;bottom:0;background:#3a87b4}.vmu-actions button:nth-child(4){left:8px;top:34px;background:#76529c}.vmu-actions button.down{transform:translateY(4px);filter:brightness(.68);box-shadow:inset 2px 4px #0006}
@media(max-width:760px){
  .artifact-window.comix-native{top:65px;left:4px;right:4px;transform:none;width:auto;height:calc(100vh - 70px)}
  .artifact-window.comix-native .artifact-stage{padding:6px 6px 146px}
  .artifact-window.comix-native .artifact-stage iframe{left:6px;right:6px;top:6px;bottom:146px;border-width:5px}
  .comix-vmu{left:5px;right:5px;bottom:5px;height:134px;grid-template-columns:102px 1fr 132px;gap:6px;padding:6px;border-width:3px;border-radius:13px 13px 20px 13px}
  .vmu-move{width:88px;height:88px;border-width:4px}.vmu-cross{font-size:44px}.vmu-knob{width:34px;height:34px;margin:-17px}
  .vmu-lcd{height:104px;border-width:4px;padding:5px}.vmu-lcd>b{font-size:11px}.vmu-lcd>span{font-size:7px}.vmu-lcd>div{grid-template-columns:auto 1fr;gap:2px 5px}.vmu-lcd strong{font-size:11px}.vmu-lcd button{padding:3px 8px;font-size:7px}
  .vmu-actions{height:104px}.vmu-actions button{width:48px;height:48px;border-width:2px}.vmu-actions button b{font-size:13px}.vmu-actions button small{font-size:5px}.vmu-actions button:nth-child(1){left:43px;top:0}.vmu-actions button:nth-child(2){right:0;top:28px}.vmu-actions button:nth-child(3){left:47px;bottom:0}.vmu-actions button:nth-child(4){left:0;top:28px}
}

/* v23: COMIXSLOP large logical viewport + low-cost raster */
.artifact-window.comix-native .artifact-stage iframe{
  left:10px; top:10px; right:auto; bottom:auto;
  width:calc(100% - 20px) !important;
  height:calc(100% - 188px) !important;
  min-width:0; min-height:0;
}
@media(max-width:760px){
  .artifact-window.comix-native .artifact-stage iframe{
    left:6px; top:6px; right:auto; bottom:auto;
    width:calc(100% - 12px) !important;
    height:calc(100% - 152px) !important;
  }
}


/* v28: bridge-piece progression, no fog of war */
.topbar{height:94px;padding-bottom:27px}.park-shell{inset:94px 0 0}
.bridge-progress-ribbon{position:absolute;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:4px;height:19px;display:flex;align-items:center;gap:6px;padding:2px 5px;background:#71865b;border:2px solid #3c4e30;box-shadow:inset 1px 1px #a9bd8c,inset -1px -1px #526544;color:#eef5d8;overflow:hidden}.bridge-progress-ribbon span{display:flex;align-items:baseline;gap:4px;padding:0 6px;border-right:1px solid rgba(235,244,216,.28);white-space:nowrap}.bridge-progress-ribbon b{font-size:8px}.bridge-progress-ribbon small{font-size:5px;letter-spacing:.11em}.bridge-progress-ribbon strong{margin-left:auto;padding:2px 7px;background:#46583a;border:1px solid #2f3f27;font-size:6px;letter-spacing:.1em;white-space:nowrap}.bridge-progress-ribbon.unlocked{background:#7c9254}.bridge-progress-ribbon.unlocked strong{background:#d8ef57;color:#25341d;border-color:#53683e}
.build-item.locked{filter:grayscale(.72);opacity:.58;cursor:not-allowed;background:#bcc5a9}.build-item.locked b{color:#59614f}.build-item.infrastructure.unlock-ready{outline:3px solid #d8ef57;box-shadow:0 0 0 2px #405132,inset 2px 2px #fff9,inset -2px -2px #879b6c}
.bridge-unlock-popup{position:fixed;z-index:140;left:50%;top:50%;transform:translate(-50%,-50%);width:min(470px,calc(100vw - 34px));padding:26px 24px 22px;text-align:center;background:linear-gradient(#dce9bb,#a8bd85);border:5px solid #304322;box-shadow:0 0 0 3px #829967,0 16px 0 rgba(39,55,30,.7),0 24px 70px rgba(0,0,0,.55),inset 3px 3px #f7ffe0,inset -3px -3px #71865a;color:#1b2a15}.bridge-unlock-popup[hidden]{display:none!important}.bridge-unlock-icon{font-size:64px;filter:drop-shadow(0 5px 0 rgba(56,70,43,.25));margin-bottom:7px}.bridge-unlock-popup>b{display:block;font-size:19px;letter-spacing:.12em}.bridge-unlock-popup p{margin:12px 0 18px;font-size:10px;font-weight:900;letter-spacing:.1em;line-height:1.5;color:#445635}.bridge-unlock-popup button{border:3px solid #40532f;background:#e9f6c8;color:#26371d;padding:11px 16px;font-size:9px;font-weight:900;letter-spacing:.09em;box-shadow:inset 2px 2px #fff,inset -2px -2px #8ea872;cursor:pointer}
@media(max-width:760px){.topbar{height:82px;padding-bottom:21px}.park-shell{inset:82px 0 0}.bridge-progress-ribbon{height:16px;bottom:2px;gap:2px;padding:1px 3px}.bridge-progress-ribbon span{gap:2px;padding:0 3px}.bridge-progress-ribbon b{font-size:6px}.bridge-progress-ribbon small{font-size:4px}.bridge-progress-ribbon strong{font-size:5px;padding:1px 4px}.bridge-unlock-popup{padding:20px 16px 18px}.bridge-unlock-icon{font-size:52px}.bridge-unlock-popup>b{font-size:14px}.bridge-unlock-popup p{font-size:8px}}

/* v29 reactive guest thoughts + staged FIELD 2 expansion */
.area-unlock-popup{background:linear-gradient(#e5efc5,#b7c993)}
.area-unlock-popup .bridge-unlock-icon{font-size:52px}
.build-item.locked{opacity:.52;filter:grayscale(.75);cursor:not-allowed}

/* v32: RCT-style SaaS metrics / management layer */
.metrics-btn{white-space:nowrap;background:#d7e8c1}.metrics-btn:hover{background:#edfacf}
.ride-finance-strip{display:flex;flex-wrap:wrap;gap:5px;margin:-4px 0 10px}.ride-finance-strip span{padding:4px 6px;background:#8da570;border:1px solid #526743;color:#f2f6da;font-size:7px;font-weight:800;letter-spacing:.05em}.ride-finance-strip b{font-size:8px;color:#fff}
.inspector-cash{display:block!important;margin-top:3px;color:#355329!important;font-weight:900}
.metrics-window{z-index:75;left:50%;top:108px;transform:translateX(-50%);width:min(980px,calc(100vw - 26px));height:min(720px,calc(100vh - 126px));overflow:hidden;background:#b9ca98}
.metrics-titlebar{cursor:default;background:linear-gradient(90deg,#294b25,#52783b)}
.metrics-command-ribbon{height:30px;display:flex;align-items:center;padding:0 11px;background:#283827;color:#e9f4d3;border-bottom:2px solid #172319;font:900 8px/1.2 Verdana;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metrics-tabs{height:38px;display:flex;gap:3px;padding:5px 6px;background:#819866;border-bottom:2px solid #4e613f;overflow-x:auto;scrollbar-width:none}.metrics-tabs::-webkit-scrollbar{display:none}.metrics-tabs button{flex:0 0 auto;border:2px solid #4b603b;background:#dbe8bd;color:#28381f;padding:5px 9px;box-shadow:inset 1px 1px #fff9,inset -1px -1px #8ca071;font:900 7px/1 Verdana;letter-spacing:.08em;cursor:pointer}.metrics-tabs button.active{background:#d8ef57;outline:1px solid #33482a}
.metrics-content{height:calc(100% - 102px);overflow:auto;padding:10px 11px 18px;touch-action:pan-x pan-y;color:#1b2917;-webkit-overflow-scrolling:touch}
.metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:10px}.metric-card{min-width:0;padding:9px 8px;background:#dce8be;border:2px solid #536a41;box-shadow:inset 2px 2px #f5f9e5,inset -2px -2px #94a77b}.metric-card small{display:block;font-size:6px;letter-spacing:.12em;color:#56664a;font-weight:900}.metric-card b{display:block;margin-top:5px;font-size:15px;line-height:1;color:#21351b;overflow:hidden;text-overflow:ellipsis}.metric-card span{display:block;margin-top:5px;font-size:6px;line-height:1.2;color:#5e6f51}
.tech-bro-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;padding:10px 12px;background:#415d35;color:#f1f6d9;border:3px solid #273c20;box-shadow:inset 2px 2px #6f8a5a}.tech-bro-banner.broken{background:#7c382e;border-color:#51231d}.tech-bro-banner b{font-size:10px;letter-spacing:.11em}.tech-bro-banner span{font-size:7px;color:#d2e0c1;text-align:right}
.metrics-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:9px;padding:7px 8px;background:#819a68;border:2px solid #526744}.metrics-section-head b{font-size:8px;letter-spacing:.11em}.metrics-section-head small{font-size:6px;color:#3e5236;text-align:right}
.metrics-table-wrap{overflow:auto;max-width:100%;border:2px solid #536744;border-top:0;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:none}.metrics-table{width:100%;min-width:720px;border-collapse:collapse;background:#e2eacb}.metrics-table th{position:sticky;top:0;background:#566e48;color:#f3f6df;font-size:6px;letter-spacing:.09em;padding:6px;text-align:right}.metrics-table th:first-child{text-align:left}.metrics-table td{border-bottom:1px solid #9aad82;padding:6px;text-align:right;font-size:8px;white-space:nowrap}.metrics-table td:first-child{text-align:left}.metrics-table td b{display:block;font-size:8px}.metrics-table td small{display:block;font-size:5px;color:#65745a;margin-top:2px}.metrics-table tr.offline{opacity:.58}.metrics-table .profit{color:#2d6528;font-weight:900}.metrics-table .loss{color:#963f35;font-weight:900}
.funnel-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:7px}.funnel-bars div{padding:11px 9px;background:#dbe7c0;border:2px solid #5a6f49}.funnel-bars span{display:block;font-size:6px;letter-spacing:.1em;color:#5a6a4e}.funnel-bars b{display:block;margin-top:5px;font-size:16px}
.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid #536744;border-top:0}.theme-row{display:flex;justify-content:space-between;padding:9px;background:#dbe7c0;border-bottom:1px solid #9aad82}.theme-row:nth-child(odd){border-right:1px solid #9aad82}.theme-row b{font-size:7px;letter-spacing:.07em}.theme-row span{font-size:12px;font-weight:900}
.infra-stack{display:grid;gap:7px;margin-top:8px}.infra-stack div{display:grid;grid-template-columns:210px 1fr;gap:10px;padding:9px;background:#dce8be;border:2px solid #536a41}.infra-stack b{font-size:7px;letter-spacing:.1em}.infra-stack span{font-size:8px;font-weight:800}
.investor-card{padding:15px;background:#e3ebcc;border:3px solid #4f643e;box-shadow:inset 2px 2px #fff}.investor-card>small{font-size:6px;letter-spacing:.15em;color:#617055;font-weight:900}.investor-card blockquote{margin:10px 0 12px;padding:12px;border-left:5px solid #7c965f;background:#f2f5e2;font:900 15px/1.45 Georgia,serif;color:#25351e}.buzzword-cloud{display:flex;flex-wrap:wrap;gap:5px}.buzzword-cloud span{padding:4px 6px;background:#7f9767;border:1px solid #526843;color:#f4f6e2;font-size:6px;font-weight:900;letter-spacing:.08em}
@media(max-width:860px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-window{top:92px;height:calc(100vh - 102px)}.infra-stack div{grid-template-columns:145px 1fr}}
@media(max-width:760px){.metrics-btn span{display:none}.metrics-btn{padding:9px}.metrics-window{top:84px;left:5px;right:5px;transform:none;width:auto;height:calc(100vh - 90px)}.metrics-command-ribbon{height:26px;font-size:6px}.metrics-tabs{height:34px;padding:4px}.metrics-content{height:calc(100% - 94px);padding:7px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.metric-card{padding:7px}.metric-card b{font-size:13px}.tech-bro-banner{align-items:flex-start;flex-direction:column}.tech-bro-banner span{text-align:left}.funnel-bars{grid-template-columns:repeat(2,1fr)}.theme-grid{grid-template-columns:1fr}.theme-row:nth-child(odd){border-right:0}.infra-stack div{grid-template-columns:1fr;gap:4px}.investor-card blockquote{font-size:12px}.ride-finance-strip{margin-bottom:7px}}
@media(max-width:520px){.park-stats span:nth-child(3){display:none}.metrics-titlebar b{font-size:8px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v36: category-creation metrics + research links */
.metrics-index-link{margin-left:auto;margin-right:5px;padding:4px 6px;border:1px solid #9ab67d;background:#263d21;color:#edf7d9!important;text-decoration:none;font:900 6px/1 Verdana;letter-spacing:.08em;white-space:nowrap}.metrics-titlebar .window-close{margin-left:0}.category-banner{background:#344d2c}.category-claim-list{border:2px solid #536744;border-top:0;background:#dfe9c8}.category-claim{display:grid;grid-template-columns:190px 1fr;gap:10px;align-items:center;padding:8px 9px;border-bottom:1px solid #9aad82}.category-claim:last-child{border-bottom:0}.category-claim p{margin:0;font-size:8px;line-height:1.35}.claim-badge{display:inline-block;max-width:185px;padding:4px 6px;border:1px solid #56684a;background:#aab89a;color:#20311c;font:900 6px/1.25 Verdana;letter-spacing:.045em;white-space:normal}.claim-badge.strong{background:#d8ef57;border-color:#556827}.claim-badge.unusual{background:#f1dda1;border-color:#806f3d}.claim-badge.novel{background:#bdd9dd;border-color:#4f7275}.claim-badge.prior{background:#c7c9bd;border-color:#6f7468}.claim-badge.neutral{background:#d8dfc7}.category-table{min-width:820px}.category-table th:not(:first-child),.category-table td:not(:first-child){text-align:left}.category-table td:first-child{min-width:160px}.category-table a{color:#24471d;text-decoration:none}.category-table a:hover{text-decoration:underline}.category-research-link{display:block;margin-top:10px;padding:10px 12px;border:2px solid #405531;background:#e8f3c8;color:#25381e;text-align:center;text-decoration:none;font:900 8px/1.2 Verdana;letter-spacing:.09em;box-shadow:inset 2px 2px #fff,inset -2px -2px #91a475}.category-research-link:hover{background:#f4ffd9}@media(max-width:760px){.metrics-index-link{font-size:5px;padding:3px 4px}.category-claim{grid-template-columns:1fr;gap:5px}.claim-badge{max-width:none}.category-table{min-width:690px}}

/* v37 */
.claim-badge.chat{background:#c9c8eb;border-color:#67658b;color:#26304a}.creation-note{display:block!important;max-width:255px;margin-top:4px!important;font-size:5px!important;line-height:1.35!important;color:#59694f!important;white-space:normal!important}.category-table{min-width:930px}.category-table th:first-child,.category-table td:first-child{min-width:270px;max-width:270px;white-space:normal}.provenance-choice{background:#cad6e9!important;border-color:#566983!important}@media(max-width:760px){.category-table{min-width:900px}.category-table th:first-child,.category-table td:first-child{min-width:225px;max-width:225px}.creation-note{max-width:210px}}


/* v39 positive category-creation cards */
.category-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.category-project-card{min-width:0;border:2px solid #536744;background:linear-gradient(#e7f0cf,#d9e5bf);padding:10px;box-shadow:inset 2px 2px rgba(255,255,255,.72),inset -2px -2px rgba(112,130,91,.28)}
.category-project-title{display:flex;gap:7px;align-items:center;color:#24391d;text-decoration:none;font:900 10px/1.2 Verdana;letter-spacing:.035em}.category-project-title span{font-size:15px}.category-project-title:hover{text-decoration:underline}
.category-project-card p{margin:7px 0 9px;color:#45573e;font:700 6px/1.45 Verdana;min-height:34px}
.category-labels{display:grid;gap:6px}.category-labels>div{display:grid;grid-template-columns:66px minmax(0,1fr);gap:6px;align-items:center}.category-labels small{font:900 5px/1 Verdana;color:#617157;letter-spacing:.08em}.category-labels .claim-badge{display:block;max-width:none;width:100%}
@media(max-width:760px){.category-card-grid{grid-template-columns:1fr}.category-project-card p{min-height:0}.category-labels>div{grid-template-columns:58px minmax(0,1fr)}.category-project-title{font-size:9px}}

/* v40 SEO gallery link */
.metrics-gallery-link{margin-left:0!important;background:#405a32}.metrics-gallery-link:hover{background:#587646}
@media(max-width:760px){.metrics-gallery-link{font-size:5px;padding:3px 4px}}


/* v42: desktop hand may enter UI chrome without edge-scrolling the camera. */
.dungeon-hand.ui-hover{filter:drop-shadow(0 5px 4px rgba(0,0,0,.42)) drop-shadow(0 0 5px rgba(216,239,87,.22))}

/* v42: Safari page-zoom hardening. Keep game/park gestures app-controlled while UI taps stay crisp. */
html,body,#app{-webkit-text-size-adjust:100%;overscroll-behavior:none}
button,a,.ui-btn,.tools-toggle,.park-tool,.hand-action,.zoom-tools button,.window-close,.enter-ride,.ride-choice{touch-action:manipulation}
#park{touch-action:none}
@media(max-width:760px){
  input,textarea,select{font-size:16px!important}
}


/* v43 clickable attraction unit economics + per-attraction dashboards */
.metrics-attraction-row{cursor:pointer;transition:background .08s linear,box-shadow .08s linear,filter .08s linear}
.metrics-attraction-row:hover,.metrics-attraction-row:focus{background:#f0f8d6!important;box-shadow:inset 4px 0 #d8ef57,inset 0 0 0 1px #72865c;outline:none;filter:saturate(1.08)}
.metrics-attraction-row:hover td,.metrics-attraction-row:focus td{color:#172812}
.metrics-attraction-row td:first-child small{opacity:.72;letter-spacing:.045em}
.attraction-dashboard{display:flex;flex-direction:column;gap:10px}
.dashboard-back{align-self:flex-start;border:2px solid #4b603b;background:#dbe8bd;color:#28381f;padding:7px 10px;box-shadow:inset 1px 1px #fff9,inset -1px -1px #8ca071;font:900 7px/1 Verdana;letter-spacing:.08em;cursor:pointer}
.dashboard-back:hover{background:#edfacf}
.attraction-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(180px,.65fr);gap:12px;background:#dfe9c8;border:2px solid #536744;padding:12px;box-shadow:inset 2px 2px #f7fae9,inset -2px -2px #93a67a}
.attraction-dashboard-copy>small{font:900 6px/1 Verdana;letter-spacing:.16em;color:#60704f}
.attraction-dashboard-copy h2{margin:7px 0 8px;font:900 22px/1 Verdana;letter-spacing:.025em;color:#21351b}
.attraction-dashboard-copy p{margin:0 0 10px;max-width:680px;font:700 10px/1.55 Verdana;color:#3e5035}
.dashboard-badges{display:flex;flex-wrap:wrap;gap:5px}.dashboard-badges .claim-badge{max-width:none}
.attraction-dashboard-poster{display:flex;align-items:center;justify-content:center;min-height:150px;background:#263d2a;border:2px solid #536744;overflow:hidden}.attraction-dashboard-poster img{display:block;width:100%;height:100%;max-height:220px;object-fit:cover;image-rendering:auto}
.attraction-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.dashboard-selling-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dashboard-selling-points article{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:start;padding:9px;background:#e8efd3;border:2px solid #667b54;box-shadow:inset 1px 1px #fff9}.dashboard-selling-points article small{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#526a43;color:#eff7df;font:900 8px/1 Verdana}.dashboard-selling-points article p{margin:0;font:700 8px/1.45 Verdana;color:#314229}
.dashboard-actions{display:flex;gap:7px;flex-wrap:wrap}.dashboard-actions a,.dashboard-actions button{border:2px solid #405531;background:#e8f3c8;color:#25381e;text-align:center;text-decoration:none;font:900 7px/1.2 Verdana;letter-spacing:.08em;padding:9px 11px;box-shadow:inset 2px 2px #fff,inset -2px -2px #91a475;cursor:pointer}.dashboard-actions a:hover,.dashboard-actions button:hover{background:#d8ef57}
@media(max-width:760px){.attraction-dashboard-hero{grid-template-columns:1fr}.attraction-dashboard-poster{min-height:120px;max-height:190px}.attraction-dashboard-copy h2{font-size:17px}.attraction-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-selling-points{grid-template-columns:1fr}.dashboard-selling-points article p{font-size:7px}}


/* v45 attraction unit pager */
.dashboard-unit-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#c9d9aa;border:2px solid #536744;padding:6px;box-shadow:inset 2px 2px #f7fae9,inset -2px -2px #93a67a}
.dashboard-unit-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:nowrap;margin-left:auto}
.dashboard-unit-stepper{display:flex;align-items:stretch;gap:4px}
.dashboard-unit-pager button{border:2px solid #405531;background:#e8f3c8;color:#25381e;font:900 7px/1.1 Verdana;letter-spacing:.07em;padding:7px 9px;box-shadow:inset 2px 2px #fff,inset -2px -2px #91a475;cursor:pointer;white-space:nowrap}
.dashboard-unit-pager button:hover:not(:disabled),.dashboard-unit-pager button:focus-visible:not(:disabled){background:#d8ef57;outline:2px solid #405531;outline-offset:1px}
.dashboard-unit-pager button:disabled{opacity:.38;cursor:default;filter:grayscale(.45)}
.dashboard-unit-count{font:900 6px/1 Verdana;letter-spacing:.12em;color:#556846;background:#dfe9c8;border:1px solid #7b8d68;padding:7px 8px;white-space:nowrap}
@media(max-width:760px){.dashboard-unit-nav{align-items:stretch}.dashboard-unit-nav>.dashboard-back{width:100%}.dashboard-unit-pager{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;margin-left:0}.dashboard-unit-stepper{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:4px}.dashboard-unit-pager button{min-width:0;padding:8px 5px;font-size:6px;overflow:hidden;text-overflow:ellipsis}.dashboard-unit-count{align-self:center;text-align:center;padding:8px 5px}}

/* v48 GlassGallery / Glass City category highlight */
.category-project-card.category-project-featured{outline:2px solid rgba(255,235,126,.72);box-shadow:0 0 0 3px rgba(255,235,126,.10),inset 0 0 0 1px rgba(255,255,255,.08)}
.category-project-card.category-project-featured .category-project-title b{letter-spacing:.02em}

/* v55: City of Glass gets the maximum safe mobile viewport without touching its runtime. */
@media(max-width:760px){
  .artifact-window.cityglass-mobile-overlay{
    top:max(4px,env(safe-area-inset-top));
    left:4px;
    right:4px;
    bottom:max(4px,env(safe-area-inset-bottom));
    width:auto;
    height:auto;
    max-height:none;
    transform:none;
    z-index:120;
  }
  .artifact-window.cityglass-mobile-overlay .artifact-titlebar{
    height:32px;
    min-height:32px;
  }
  .artifact-window.cityglass-mobile-overlay .artifact-stage{
    height:calc(100% - 32px);
  }
}


/* v72: KLOOJO mobile viewport fix.
   The generic attraction window starts 65px below the top on phones.
   KLOOJO needs that vertical space for its bottom gameplay controls, especially
   in iOS Safari where the browser URL bar also consumes the lower viewport. */
@media(max-width:760px){
  .artifact-window.kloojo-mobile-overlay{
    top:max(4px,env(safe-area-inset-top));
    left:4px;
    right:4px;
    bottom:max(4px,env(safe-area-inset-bottom));
    width:auto;
    height:auto;
    max-height:none;
    transform:none;
    z-index:121;
  }
  .artifact-window.kloojo-mobile-overlay .artifact-titlebar{
    height:30px;
    min-height:30px;
  }
  .artifact-window.kloojo-mobile-overlay .artifact-stage{
    height:calc(100% - 30px);
  }
}

/* v78: compact crawlable creator/method signal. */
.creator-method-signal{position:absolute;left:12px;top:12px;z-index:17;max-width:min(420px,calc(100vw - 190px));display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #607953;border-radius:4px;background:rgba(222,236,193,.92);box-shadow:0 4px 12px rgba(0,0,0,.18);color:#22331d;text-decoration:none;font-size:7px;line-height:1.2;letter-spacing:.04em}
.creator-method-signal span{font-weight:700}.creator-method-signal strong{font-size:7px;letter-spacing:.07em}.creator-method-signal small{font-size:6px;color:#4d6544;white-space:nowrap}
.creator-method-signal:hover{background:#f2fad8}
@media(max-width:760px){.creator-method-signal{left:7px;top:7px;max-width:calc(100vw - 72px);display:block;padding:5px 7px}.creator-method-signal span,.creator-method-signal strong,.creator-method-signal small{display:block}.creator-method-signal strong{margin-top:2px}.creator-method-signal small{margin-top:2px}}

/* v94 canonical underground runtime + mobile HUD consolidation */
.imp-tool{position:relative}
.imp-tool small{position:absolute;right:3px;bottom:2px;font:900 7px Verdana,sans-serif;background:#111;color:#d8ef57;padding:1px 3px;border-radius:2px}
.imp-tool.locked,.imp-tool:disabled{opacity:.38;filter:grayscale(1) saturate(0);cursor:not-allowed}
.imp-tool.unlock-ready{outline:2px solid #d8ef57;outline-offset:1px}
#park{transition:transform .56s cubic-bezier(.22,.8,.28,1),opacity .45s ease,filter .45s ease}
.underground-stage{position:absolute;inset:0;z-index:29;background:linear-gradient(#090a0d,#151116 56%,#08090c);transform:translateY(104%);opacity:0;pointer-events:none;transition:transform .56s cubic-bezier(.22,.8,.28,1),opacity .35s ease;overflow:hidden}
.park-shell.underground-mode #park{transform:translateY(-104%);opacity:.08;filter:brightness(.2)}
.park-shell.underground-mode .underground-stage{transform:translateY(0);opacity:1;pointer-events:auto}
.park-shell.underground-mode .creator-method-signal,.park-shell.underground-mode .entrance-badge{opacity:0;pointer-events:none}
#undergroundCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.underground-hud{position:absolute;left:14px;right:14px;top:14px;z-index:4;display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:10px;align-items:stretch;pointer-events:none}
.underground-hud-copy,.underground-hud-metrics,.underground-hud-actions{background:rgba(9,12,15,.86);border:1px solid #71655a;box-shadow:0 4px 16px rgba(0,0,0,.28);pointer-events:auto}
.underground-hud-copy{padding:9px 12px;display:flex;flex-direction:column}.underground-hud-copy small{font:800 7px Verdana;color:#b99c72;letter-spacing:.12em}.underground-hud-copy b{font:900 13px Verdana;color:#f4e8c9;margin:3px 0}.underground-hud-copy span{font:700 8px/1.25 Verdana;color:#c5bcae}
.underground-hud-metrics{display:flex}.underground-hud-metrics span{min-width:74px;padding:8px;display:flex;flex-direction:column;text-align:center;border-left:1px solid #3d3834}.underground-hud-metrics b{color:#d8ef57;font:900 14px Verdana}.underground-hud-metrics small{color:#a99e91;font:800 6px Verdana;letter-spacing:.08em}
.underground-hud-actions{display:flex;padding:5px;gap:5px}.underground-hud-actions button{border:1px solid #73685c;background:#29251f;color:#f0e6ce;font:900 8px Verdana;padding:8px 10px}.underground-hud-actions button:disabled{opacity:.36}.underground-hud-actions button:not(:disabled):active{transform:translateY(1px)}
.underground-tip{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;background:rgba(6,7,9,.82);border:1px solid #665f56;color:#e9ddc4;padding:7px 11px;font:900 8px Verdana;letter-spacing:.08em;white-space:nowrap;pointer-events:none}
.underground-unlock-popup .bridge-unlock-icon img{image-rendering:auto;filter:drop-shadow(0 3px 0 rgba(0,0,0,.3))}
.ug-sitemap-panel{position:absolute;z-index:12;inset:76px 22px 22px;max-width:760px;margin:auto;background:#0a0d11;border:2px solid #766d60;color:#f0ead9;box-shadow:0 16px 50px rgba(0,0,0,.65);padding:12px;overflow:hidden}.ug-sitemap-panel[hidden]{display:none}
.ug-sitemap-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #38342f;padding-bottom:9px}.ug-sitemap-head div{display:flex;flex-direction:column}.ug-sitemap-head small{font:800 7px Verdana;color:#b59c73}.ug-sitemap-head b{font:900 15px Verdana}.ug-sitemap-head button{width:38px;height:34px;background:#522f2b;color:#fff;border:1px solid #9a5b50;font-size:20px}
#ugSitemapSearch{box-sizing:border-box;width:100%;margin:10px 0 6px;padding:10px;background:#11161c;border:1px solid #4b5661;color:#fff;font:700 12px Verdana}.ug-sitemap-count{font:800 8px Verdana;color:#aeb8be;margin-bottom:7px}.ug-sitemap-list{height:calc(100% - 105px);overflow:auto;display:grid;gap:5px}.ug-sitemap-list a{display:flex;flex-direction:column;padding:8px 9px;background:#11161c;border:1px solid #29333d;color:#d8ef57;text-decoration:none;font:800 9px Verdana;overflow:hidden}.ug-sitemap-list a small{color:#93a0aa;font:600 7px Verdana;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:760px){
  .topbar{height:62px!important;min-height:62px!important;padding:5px max(7px,env(safe-area-inset-right)) 5px max(7px,env(safe-area-inset-left))!important;display:grid!important;grid-template-columns:minmax(105px,1fr) repeat(4,42px)!important;grid-template-rows:50px!important;gap:4px!important;align-items:center!important;overflow:hidden!important}
  .park-shell{inset:62px 0 0!important}
  .brand{grid-column:1!important;height:50px!important;min-width:0!important;padding:0!important;gap:6px!important;overflow:hidden!important}
  .brand img,.brand-favicon{width:29px!important;height:29px!important;min-width:29px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;object-fit:contain!important}
  .brand span{min-width:0!important;max-width:none!important}.brand b{font-size:11px!important;line-height:1.02!important;letter-spacing:.13em!important;white-space:normal!important}.brand small{font-size:5px!important;line-height:1!important;letter-spacing:.12em!important;margin-top:3px!important;white-space:nowrap!important}
  .park-stats{grid-column:2!important;grid-row:1!important;margin:0!important;width:42px!important;height:42px!important;display:block!important}.park-stats span:not(:first-child){display:none!important}.park-stats span:first-child{min-width:42px!important;width:42px!important;height:42px!important;box-sizing:border-box!important;padding:4px 2px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}.park-stats b{font-size:14px!important}.park-stats small{font-size:6px!important}
  .thought-btn{grid-column:3!important;grid-row:1!important}.metrics-btn{grid-column:4!important;grid-row:1!important}.sitemap-btn{grid-column:5!important;grid-row:1!important}.topbar>.ui-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:17px!important;line-height:1!important}.topbar>.ui-btn span{display:none!important}
  .bridge-progress-ribbon{display:none!important}
  .creator-method-signal{display:none!important}
  .park-tools-wrap{right:7px!important;top:10px!important;bottom:108px!important;max-height:calc(100dvh - 180px)!important}
  .park-tools-wrap .park-tools{max-height:calc(100dvh - 230px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .tool-status{right:75px!important;top:10px!important;max-width:min(220px,calc(100vw - 94px))!important}
  .underground-hud{top:8px;left:8px;right:8px;grid-template-columns:1fr auto;gap:5px}.underground-hud-copy{grid-column:1/3}.underground-hud-metrics span{min-width:58px;padding:6px}.underground-hud-actions{flex-wrap:wrap;justify-content:flex-end}.underground-hud-actions button{padding:7px 8px;font-size:7px}.underground-tip{bottom:72px;font-size:7px;max-width:90vw;white-space:normal;text-align:center}.ug-sitemap-panel{inset:92px 8px 68px}
}

@media(max-width:340px){
  .topbar{grid-template-columns:minmax(86px,1fr) repeat(4,39px)!important;gap:3px!important}.topbar>.ui-btn,.park-stats,.park-stats span:first-child{width:39px!important;min-width:39px!important;height:39px!important}.brand img,.brand-favicon{width:25px!important;height:25px!important;min-width:25px!important}.brand b{font-size:9px!important}.brand small{display:none!important}
}

/* v94 final mobile geometry: one header row, clean park gap, non-stretched contextual tooltip. */
@media(max-width:760px){
  .tool-status,
  .tool-status.hand-active{
    left:auto!important;
    right:75px!important;
    top:10px!important;
    bottom:auto!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
  }
}
