.compact-world{position:fixed;inset:0;width:100%;height:100dvh;min-height:360px;overflow:hidden;background:#c4d0c8;color:#263f34;font:16px/1.5 Arial,Helvetica,sans-serif}.cw-stage{position:absolute;inset:0}.cw-stage canvas{display:block;touch-action:none;outline:none}.compact-world a{color:inherit;text-decoration:none}.compact-world button,.compact-world input{font:inherit}.compact-world a,.compact-world button,.cw-check{touch-action:manipulation}.compact-world button{cursor:pointer}.compact-world button:disabled{opacity:.5;cursor:wait}.compact-world :focus-visible{outline:3px solid #b56b3c;outline-offset:3px}.cw-header{position:absolute;left:1.2rem;right:1.2rem;top:max(1rem,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:1rem;pointer-events:none}.cw-header>*{pointer-events:auto}.cw-header>div{display:grid;text-align:center;background:#f8f7eee8;padding:.7rem 1.4rem;border:1px solid #fff8;box-shadow:0 2px 20px #22362712}.cw-header strong{font-size:1.05rem;letter-spacing:-.035em}.cw-header span{font-size:.8125rem;color:#5f6d5e}.cw-back,.cw-compare{background:#f8f7eef0;border:1px solid #fff8;padding:.7rem 1rem;font-size:.875rem;min-height:44px;display:flex;align-items:center}.cw-location{position:absolute;left:1.5rem;top:7rem;display:grid;gap:.25rem;background:#f8f7eee8;padding:.8rem 1rem;max-width:calc(100% - 23rem)}.cw-location span{font-family:Georgia,serif;font-size:1.6rem;line-height:1.15}.cw-location small{font-size:.8125rem}.cw-toolbar{position:absolute;top:7rem;right:1.5rem;display:flex;gap:.5rem}.cw-toolbar button{min-height:44px;padding:.7rem 1rem;border:1px solid #f6f6eb90;background:#f8f7eee8;color:#294c3a;font-size:.875rem}.cw-toolbar button[aria-pressed=true]{background:#294c3a;color:#fff}.cw-panel{position:absolute;top:10.8rem;right:1.5rem;bottom:7rem;max-height:640px;width:280px;background:#f6f5ecf5;overflow:auto;padding:1.2rem;box-shadow:0 8px 32px #29332b18}.cw-panel h2{font:1.5rem Georgia,serif;margin:0 0 .8rem}.cw-panel svg{display:block;width:140px;max-height:195px;margin:0 auto 1rem}.cw-check,.cw-panel svg [role=button]{cursor:pointer}.cw-check{display:flex;align-items:center;gap:.6rem;font-size:.875rem;min-height:44px;border-top:1px solid #c8cfbf}.cw-check input{width:18px;height:18px;accent-color:#294c3a;flex-shrink:0}.cw-help{font-size:.875rem;line-height:1.7;margin:.8rem 0}.cw-study{font-size:.75rem;color:#6b7164}.cw-destinations{position:absolute;bottom:max(1.2rem,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:.35rem;max-width:calc(100% - 2.4rem);background:#f6f5eee8;padding:.4rem;border:1px solid #fff8;overflow-x:auto;scrollbar-width:thin}.cw-destinations button{border:0;background:transparent;padding:.65rem 1rem;min-height:44px;color:#2d483a;white-space:nowrap;font-size:.875rem}.cw-destinations button[aria-pressed=true]{background:#294c3a;color:#fff}.cw-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:5.4rem;background:#f6f5e9e8;padding:.35rem .75rem;margin:0;white-space:nowrap;font-size:.8125rem}.cw-mobile-hint{display:none}.cw-motion{position:absolute;bottom:6rem;left:1.5rem;display:flex;gap:.7rem;align-items:flex-end;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cw-joystick{position:relative;width:112px;height:112px;touch-action:none;border:1px solid #fff9;border-radius:50%;background:#f8f7ee66;cursor:grab;display:grid;place-items:center}.cw-joystick>span{display:block;width:42px;height:42px;border-radius:50%;border:1px solid #fff9;background:#294c3abf;pointer-events:none}.cw-joystick small{position:absolute;bottom:7px;font-size:.75rem;pointer-events:none}.cw-turn{display:flex;gap:.3rem}.cw-turn button{width:44px;height:44px;border:1px solid #fff9;background:#f6f5eed9;color:#2d483a;font-size:1.5rem;touch-action:none}.cw-motion[data-disabled=true]{opacity:.5;pointer-events:none}.cw-loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#d3ddcb,#a8beb6);text-align:center;padding:1.5rem}.cw-loading h1{font:clamp(1.5rem,3vw,2.6rem) Georgia,serif;margin:1.5rem 0 .5rem}.cw-loading p{margin:0}.cw-loading-ring{width:44px;height:44px;border:2px solid #6f8c7938;border-top-color:#385944;border-radius:50%;animation:cw-spin 1.8s linear infinite}.cw-context-status{position:absolute;inset:40% 15% auto;background:#f6f5ee;padding:1.5rem;text-align:center}.cw-context-status button{margin-left:1rem;padding:.5rem}.cw-fallback{height:100%;overflow:auto;padding:8rem max(5vw,1.5rem) 3rem;display:grid;grid-template-columns:1fr minmax(220px,.7fr);gap:5vw;align-items:center;background:#f5f5ec}.cw-fallback h1{font:clamp(1.8rem,4vw,3.5rem)/1.15 Georgia,serif;max-width:650px}.cw-fallback p{max-width:580px;line-height:1.75}.cw-fallback a{display:inline-block;min-height:44px;padding:.6rem 1rem;margin:.5rem .5rem 0 0;background:#294c3a;color:white}.cw-fallback svg{width:100%;max-height:68vh}.cw-label{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase}@keyframes cw-spin{to{transform:rotate(1turn)}}@media(min-width:1000px) and (pointer:fine){.cw-motion{opacity:.75}.cw-joystick{width:90px;height:90px}.cw-turn{display:none}}@media(max-width:700px){.cw-header{left:.7rem;right:.7rem;gap:.4rem}.cw-header>div{padding:.6rem .7rem}.cw-header strong{font-size:.875rem}.cw-header span{font-size:.75rem}.cw-back,.cw-compare{padding:.65rem .6rem;font-size:.8125rem}.cw-location{top:6.3rem;left:.7rem;max-width:calc(100% - 1.4rem);padding:.55rem .75rem}.cw-location span{font-size:1.35rem}.cw-location small{font-size:.75rem}.cw-toolbar{top:auto;bottom:10rem;right:.7rem;flex-direction:column}.cw-toolbar button{padding:.6rem .75rem}.cw-panel{top:11.4rem;right:.7rem;left:.7rem;width:auto;bottom:5.8rem;max-height:none;padding:1rem;z-index:3}.cw-panel svg{width:110px;max-height:145px;float:right;margin:0 0 .5rem .6rem}.cw-panel .cw-help{clear:both}.cw-destinations{bottom:max(.7rem,env(safe-area-inset-bottom));max-width:calc(100% - 1.4rem);width:-moz-max-content;width:max-content}.cw-destinations button{padding:.65rem .75rem}.cw-motion{left:1rem;bottom:6.1rem}.cw-turn{flex-direction:column}.cw-hint{bottom:4.8rem;font-size:.75rem}.cw-desktop-hint{display:none}.cw-mobile-hint{display:inline}.cw-fallback{grid-template-columns:1fr;padding-top:7rem;gap:1.5rem}.cw-fallback svg{max-height:450px}.cw-context-status{inset:35% 1rem auto}}@media(max-width:370px){.cw-header>div strong{font-size:.8125rem}.cw-compare{display:none}.cw-location{top:6rem}.cw-turn{display:none}.cw-toolbar button{max-width:125px}.cw-hint{font-size:.75rem}.cw-panel svg{float:none;width:100px}.cw-panel{top:10.5rem}}@media(max-height:540px) and (min-width:600px){.cw-location{top:5.7rem}.cw-toolbar{top:5.7rem;bottom:auto;flex-direction:row}.cw-panel{top:9rem;bottom:5.8rem}.cw-panel svg{display:none}.cw-motion{bottom:5.5rem}.cw-joystick{width:85px;height:85px}.cw-hint{display:none}}@media(prefers-reduced-motion:reduce){.cw-loading-ring{animation:none}}.cw-panel-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}.cw-panel-title h2{margin:0}.cw-panel-title button{min-width:44px;min-height:44px;border:1px solid #bdc9b7;background:transparent;color:#294c3a;font-size:1.5rem}