/* One entrance per block; native navigation never waits for an exit animation. */
:root{--ease:cubic-bezier(.22,1,.36,1)}
main{transition:none}.page-leaving main{opacity:1;transform:none}
.reveal,.hero .device,body:not(.page-leaving) .page-heading{animation:none}
.hero .eyebrow,.hero h1,.hero .intro,.hero .actions{animation:gentle-in .55s var(--ease) both}
.hero h1{animation-delay:.04s}.hero .intro{animation-delay:.08s}.hero .actions{animation-delay:.12s}
@keyframes gentle-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fade-block{opacity:1;translate:none;transition:opacity .48s var(--ease),translate .48s var(--ease),border-color .2s,background .2s,transform .2s}
.motion-ready[data-motion=on] .fade-block:not(.is-visible){opacity:0;translate:0 12px}
.fade-block.is-visible,.fade-block:focus-within{opacity:1!important;translate:none!important}
.btn,.tool,.key,.slot,.mode-tabs button,.panorama-controls button{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s var(--ease)}
.btn:active,.tool:active,.panorama-controls button:active{transform:scale(.97)}
@media(hover:none){.btn:hover,.card:hover,.explore-card:hover{transform:none}}
.origin-section{padding-top:70px;padding-bottom:70px}
.origin-copy{border-left:3px solid var(--accent);padding-left:28px;max-width:880px}
.origin-copy h2{font-size:clamp(28px,3.6vw,44px);margin-bottom:23px;line-height:1.35}
.origin-copy p{line-height:1.95;max-width:760px}
.origin-flow{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.origin-flow span{padding:8px 13px;background:var(--surface);border:1px solid var(--line);border-radius:9px;font-size:13px;color:var(--muted)}
.explore-grid{grid-template-columns:repeat(3,1fr)}.explore-card:last-child{grid-column:auto}
.panorama-section{padding-top:34px}.panorama-section .section-head{margin:0 auto 23px;max-width:1060px}
.panorama-section .section-head h2{font-size:28px;letter-spacing:-.035em}
.panorama-section .section-head p{font-size:13px;max-width:410px}
.panorama-section .device{margin-top:0}.panorama-section .caption{max-width:900px;margin-inline:auto}
.screen{isolation:isolate;cursor:grab;touch-action:none;min-height:350px}
.screen.is-dragging{cursor:grabbing}.screen.menu,.screen.editing-layout{cursor:default}
.landscape{inset:0;width:100%;height:100%;transform:none;transition:none}
.panorama-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}
.panorama-ready .landscape{visibility:hidden}
.screen:after{z-index:1;background:linear-gradient(0deg,#07121d55,transparent 40%,#07121d16)}
.screen-caption{background:#0e1b2bb3;font-size:11px;letter-spacing:0;pointer-events:none}
.direction-readout{position:absolute;left:50%;top:17px;transform:translateX(-50%);z-index:2;background:#0e1b2b9c;color:#eef6ff;border:1px solid #ffffff30;border-radius:30px;padding:4px 13px;font:12px/1.6 ui-monospace,monospace;pointer-events:none}
.key{background:#10213773;border-color:#ffffff9c;min-height:40px;touch-action:none;translate:var(--key-x,0px) var(--key-y,0px)}
.key.active,.key:active{background:#c5deffca;color:#12263f;transform:scale(.94);box-shadow:0 0 0 3px #a4ceff28}
.key:hover{color:inherit;transform:none;background:#102137a3}
.hotbar .selected{background:#8bbdff77;border:2px solid #d6e8ff}
.hotbar .key{min-height:34px}.pad-left .key{min-height:0}
.panorama-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:center;padding:12px 10px 4px;border-top:1px solid #ffffff17}
.panorama-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 11px;min-height:40px;color:#cad9ed;font-size:12px;border:1px solid #ffffff24;border-radius:8px;background:#17263b}
.panorama-controls button:hover,.panorama-controls button[aria-pressed=true]{background:#294566;border-color:#8bbdff;color:#e7f1ff}
.panorama-controls .zoom-control{font-size:19px;min-width:40px;line-height:1;padding:7px}
.demo-footer{min-height:65px}.demo-footer>span{max-width:65%;line-height:1.6}
.mode-tabs button{min-height:40px}.mode-tabs button[aria-pressed=true]{background:#294566;color:#d6e8ff}
.menu-demo{inset:72px 22% 65px;background:#132237ed;padding:20px;z-index:7;overflow:auto}
.screen.menu{touch-action:pan-y}
.menu-demo h3{padding-right:30px}.menu-demo .slot{min-height:44px;touch-action:none}
.slot{color:#edf4ff;border-color:#b5cbe64d;font-family:ui-monospace,monospace;position:relative}
.slot.active{background:#8bbdff70;border-color:#c8e1ff}.slot.drop-target{box-shadow:inset 0 0 0 2px #8bbdff}
.inventory-item{display:inline-block;width:20px;height:20px;border-radius:3px;border:2px solid #ffffff38;background:var(--item-color,#619741);box-shadow:inset -5px -5px 0 #0003;vertical-align:middle}
.menu-close{position:absolute;right:10px;top:8px;color:#dceaff;width:40px;height:40px;border:1px solid #ffffff30;border-radius:8px;font-size:24px}
.demo-panel{position:absolute;left:18px;top:78px;z-index:6;padding:13px 16px;border:1px solid #ffffff3b;border-radius:10px;background:#122239df;color:#e1edff;font:12px/1.8 ui-monospace,monospace;max-width:calc(100% - 36px);pointer-events:none;white-space:pre-line}
.help-panel{left:auto;right:18px;max-width:290px;font-family:inherit;line-height:1.85}
.placed-block{position:absolute;left:54%;top:57%;width:36px;height:36px;z-index:2;background:#769e4de0;border:2px solid #d2e3b8;box-shadow:inset -9px -9px 0 #0003,0 8px 15px #0003;transform:rotate(-10deg);pointer-events:none}
.action-effect{position:absolute;left:50%;top:50%;width:60px;height:60px;border:2px solid #dbeeff;border-radius:50%;translate:-50% -50%;z-index:4;pointer-events:none}
.editing-layout .key{outline:1px dashed #d2e6ff;outline-offset:4px;cursor:move;background:#2d517cb3}
.editing-layout .pad-top,.editing-layout .pad-left,.editing-layout .pad-right,.editing-layout .hotbar{z-index:8}
.layout-note{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;color:#fff;background:#0e203ab8;border:1px dashed #b6d5ff8c;padding:12px 18px;border-radius:10px;font-size:13px;pointer-events:none;text-align:center}
.panorama-loading{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:12px;background:#102034;color:#dceaff;font-size:14px}
.panorama-loading .btn{color:#e2efff;background:#234569;border-color:#7db4ff}
.preview-pad button{width:50px;height:50px;flex:none;border:1px solid var(--accent);border-radius:12px;color:var(--accent);background:var(--surface);touch-action:manipulation}
.preview-pad button:active{background:var(--accent);color:var(--accent-ink)}
.preview-pad{overflow:auto;padding:12px;height:115px}.tuning .text-link{color:var(--accent);font-size:12px;margin-top:16px;min-height:40px}
.device:fullscreen{width:100vw;max-width:none;height:100dvh;border-radius:0;display:flex;flex-direction:column;padding:8px;background:#111b2a}
.device:fullscreen .screen{height:auto;flex:1;min-height:0}.device:fullscreen .demo-footer{flex:none}.device:fullscreen .panorama-controls{flex:none}
body[data-page=panorama] .panorama-section{padding-top:25px;padding-bottom:55px}
[data-motion=off] .hero .eyebrow,[data-motion=off] .hero h1,[data-motion=off] .hero .intro,[data-motion=off] .hero .actions{animation:none}
[data-motion=off] .fade-block{opacity:1!important;translate:none!important}
@media(max-width:1000px){.explore-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
 .panorama-section{padding-top:25px}.panorama-section .section-head{margin-bottom:18px}.panorama-section .section-head p{margin-top:10px}.panorama-section .section-head h2{font-size:23px}
 .screen{height:380px;min-height:350px}.screen-caption{top:12px;left:10px;font-size:10px}.direction-readout{left:auto;right:10px;top:11px;transform:none;font-size:10px;padding:3px 9px}
 .pad-top{top:47px;right:10px;gap:5px}.pad-top .key{display:flex!important;min-width:36px;height:36px;min-height:36px;font-size:10px;border-radius:8px}
 .pad-left{left:12px;bottom:70px;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,44px);gap:5px}
 .pad-right{right:12px;bottom:70px;display:grid;grid-template-columns:44px 57px;grid-template-rows:44px 44px;gap:6px;align-items:center}
 .pad-right .key{width:44px;height:44px;font-size:11px}.pad-right .jump{width:57px;height:57px;grid-column:2;grid-row:1 / span 2}.pad-right .key:last-child{grid-column:1;grid-row:2}
 .hotbar{gap:3px;bottom:17px}.hotbar .key{min-width:28px;width:28px;min-height:34px;height:34px;font-size:11px}
 .demo-footer{gap:9px;padding:12px 4px}.demo-footer>span{max-width:none;width:100%;font-size:11px;min-height:34px}.mode-tabs button{padding:8px 15px;font-size:12px}
 .panorama-controls{padding:11px 3px 5px;gap:6px}.panorama-controls button{font-size:11px;padding:8px 9px;min-height:40px}
 .menu-demo{inset:92px 10% 20px;padding:16px}.inventory-grid{margin:17px 0 12px;gap:5px}.menu-demo .slot{min-height:40px}.menu-demo p{font-size:11px}.menu-demo h3{font-size:16px}
 .demo-panel{top:94px;left:10px;font-size:10px}.help-panel{right:10px;left:auto;max-width:250px;font-size:11px}
 .origin-copy{padding-left:20px}.origin-section{padding-block:55px}.origin-copy h2{font-size:29px}.origin-copy p{font-size:15px}
 .explore-card:last-child{grid-column:auto}.layout-note{font-size:12px;max-width:170px;width:70%}.section-picker select{max-width:70%}
}
@media(max-width:360px){.pad-left{grid-template-columns:repeat(3,38px);left:9px}.pad-right{right:9px}.hotbar .key{min-width:26px;width:26px}}
@media(max-height:500px){
 .device:fullscreen .device-top{display:none}.device:fullscreen .demo-footer{min-height:0;padding:4px}
 .device:fullscreen .demo-footer>span{display:none}.device:fullscreen .mode-tabs button{min-height:32px;padding:4px 12px}
 .device:fullscreen .panorama-controls{padding:4px}.device:fullscreen .panorama-controls button{min-height:32px;padding:4px 7px}
 .device:fullscreen .pad-left{left:10px;bottom:45px;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(2,36px);gap:4px}
 .device:fullscreen .pad-right{bottom:45px;right:10px}.device:fullscreen .pad-right .key{width:40px;height:40px}
 .device:fullscreen .pad-right .jump{width:50px;height:50px}.device:fullscreen .hotbar{bottom:7px}
 .device:fullscreen .hotbar .key{height:28px;min-height:28px}.device:fullscreen .pad-top{top:12px;right:10px}
 .device:fullscreen .pad-top .key{height:30px;min-height:30px;min-width:34px}.device:fullscreen .direction-readout{display:none}
 .device:fullscreen .menu-demo{inset:48px 20% 15px}.device:fullscreen .demo-panel{top:48px}
}
