.scene-3d{background:#2b4652}.scene-3d #world-host{position:absolute;inset:0;overflow:hidden}.world-canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.world-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0a202552,transparent 24%,transparent 77%,#0a202548)}.scene-3d .scene-heading{z-index:3;top:24px;left:30px}.scene-3d .scene-heading h1{font-size:40px}.scene-3d .scene-objective{z-index:3;top:24px;right:28px;background:#142c30a8;backdrop-filter:blur(8px);padding:13px 16px;border:1px solid #b9cba32b;border-radius:3px;text-align:left;max-width:268px;pointer-events:none}.scene-3d .scene-objective .eyebrow{font-size:10px}.scene-3d .scene-objective p{font-size:13px;line-height:1.65}.world-marker-layer{position:absolute;inset:0;pointer-events:none;z-index:4}.world-marker{position:absolute;top:0;left:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:6px;white-space:nowrap;padding:7px;min-height:44px;font-size:12px;color:#f4efd7;will-change:transform}.world-marker[hidden]{display:none}.world-marker-dot{height:30px;width:30px;display:grid;place-items:center;font-size:24px;line-height:1;border:1px solid #e3d7b3c7;border-radius:50%;background:#133438c9;box-shadow:0 0 0 5px #17353730;transition:background .2s}.world-marker.near .world-marker-dot{color:#153539;background:#e0c88f;box-shadow:0 0 0 5px #c6b17b24}.world-marker-name{font-size:12px;background:#123036ed;border:1px solid #e0d2a82b;padding:4px 9px;box-shadow:0 3px 10px #001c2533;border-radius:2px}.world-marker.quiet .world-marker-name{opacity:0}.world-marker:hover .world-marker-name,.world-marker:focus-visible .world-marker-name{opacity:1}.world-marker:hover .world-marker-dot{transform:scale(1.12)}.world-marker.done .world-marker-dot{border-style:dashed}.world-compass{position:absolute;right:26px;bottom:24px;border:1px solid #c9cfb44a;pointer-events:none;background:#102a30cc;z-index:3}.world-minimap{display:block;height:122px;width:122px}.world-place{display:block;font-size:9px;letter-spacing:.13em;text-align:center;padding:4px 0 7px;color:#d2d4ba}.world-interact{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:13px;min-height:52px;padding:9px 17px;background:#102d33eb;border:1px solid #d5c28b91;border-radius:4px;box-shadow:0 5px 28px #08202766;color:#f5e9c9;white-space:nowrap}.world-interact:disabled{opacity:.85;border-color:#a5b8aa44;cursor:default}.world-interact kbd{font:12px var(--sans);background:#d9c697;color:#243c36;border-radius:2px;padding:5px 7px;min-width:26px;text-align:center}.world-interact span{font-size:14px}.world-interact small{font-size:10px;color:#aec3b6}.world-controls{min-height:43px;justify-content:center;gap:22px;padding:7px 16px;background:#12262a;font-size:11px;color:#b1c0b7}.world-controls>span{display:flex;align-items:center;gap:7px}.world-controls kbd{font:10px var(--sans);border:1px solid #b4c3ac40;border-radius:3px;padding:2px 6px;color:#e1d3af}.world-controls .mouse-hint{color:#839f97;font-size:10px}.world-rotate{position:absolute;right:28px;top:172px;width:37px;height:37px;background:#133139e0;border:1px solid #b5b89466;border-radius:50%;color:#eadcb9;font-size:25px;z-index:5;line-height:1}.world-joystick{display:none}.ritual-shade{background:linear-gradient(0deg,#071e2766,transparent 65%);backdrop-filter:none;align-items:end;padding:0 20px 125px;pointer-events:none}.ritual-card{pointer-events:auto;width:min(610px,100%);padding:20px 25px 13px;background:#112d33ef;max-height:65dvh}.ritual-card .modal-header{margin-bottom:9px}.ritual-card .modal-header h2{font-size:30px}.ritual-card .modal-header .eyebrow{font-size:10px}.ritual-card .modal-header .icon-btn{width:32px;height:32px}.ritual-card .modal-description{font-size:12px;text-align:left;margin:0 0 10px}.ritual-card .pool-stage{display:none}.ritual-card .pool-phrase{font-size:21px;min-height:24px}.ritual-card .pool-progress{margin:13px 0}.ritual-card .pool-hold{min-height:43px;padding:10px 15px;font-size:13px}.ritual-card .pool-small{margin-top:5px}.ritual-card .pool-small button{min-height:31px;font-size:11px}.game:has(.scene-3d) .dialogue-shade{padding-bottom:130px}
.world-ritual .world-marker-layer,.world-ritual .world-compass,.world-ritual .scene-objective,.world-ritual .world-joystick,.world-ritual .world-interact,.world-ritual .world-rotate{display:none}
.world-controls .touch-hint{display:none}
body:has(.scene-3d) .dialogue-shade{padding-bottom:130px}
@media(max-width:900px){.world-controls{gap:16px}.world-controls .mouse-hint{display:none}.world-minimap{height:95px;width:95px}.world-compass{right:17px;bottom:20px}.scene-3d .scene-heading h1{font-size:35px}.scene-3d .scene-objective{max-width:220px}.scene-3d .scene-objective p{font-size:12px}}
@media(max-width:680px){.game:has(.scene-3d){min-height:580px}.scene-3d .scene-heading{left:20px;top:21px;max-width:80%}.scene-3d .scene-heading h1{font-size:33px}.scene-3d .scene-heading .eyebrow{font-size:9px}.scene-3d .scene-objective{left:20px;right:20px;top:112px;bottom:auto;padding:9px 11px;max-width:290px;background:#123238ab}.scene-3d .scene-objective .eyebrow{display:none}.scene-3d .scene-objective p{font-size:11px;line-height:1.45}.world-rotate{top:22px;right:17px;width:35px;height:35px}.world-compass{right:17px;top:175px;bottom:auto;opacity:.8}.world-minimap{height:79px;width:79px}.world-place{font-size:8px;letter-spacing:.06em}.world-controls{min-height:35px;font-size:10px;padding:4px 9px;gap:13px}.world-controls>span:first-child{display:none}.world-controls kbd{font-size:9px}.world-interact{bottom:30px;left:auto;right:16px;transform:none;gap:7px;max-width:205px;min-height:50px;padding:8px 11px;white-space:normal}.world-interact kbd{display:none}.world-interact span{font-size:12px;max-width:165px;text-align:left}.world-interact small{display:none}.world-interact:disabled{max-width:150px}.world-marker-name{font-size:10px;max-width:155px;white-space:normal;text-align:center}.world-marker-dot{height:26px;width:26px;font-size:21px}.world-joystick{position:absolute;display:grid;place-items:center;left:22px;bottom:22px;width:94px;height:94px;border:1px solid #c5d0b765;background:#15363b8c;border-radius:50%;z-index:5;touch-action:none;user-select:none}.world-joystick::before{content:'';position:absolute;inset:12px;border:1px solid #b4c4ae22;border-radius:50%}.world-joystick span{width:40px;height:40px;border:1px solid #e4d4a9b3;background:#b7b6975c;border-radius:50%;box-shadow:0 2px 15px #14313466}.ritual-shade{padding:0 12px 104px}.ritual-card{padding:15px 17px 9px}.ritual-card .modal-header h2{font-size:27px}.ritual-card .modal-description{font-size:11px;line-height:1.6}.ritual-card .pool-phrase{font-size:19px}.ritual-card .pool-small button{font-size:10px}.ritual-card .pool-hold{font-size:12px}}
@media(pointer:coarse) and (min-width:681px){.world-joystick{position:absolute;display:grid;place-items:center;left:28px;bottom:28px;width:95px;height:95px;border:1px solid #c5d0b765;background:#15363b8c;border-radius:50%;z-index:5;touch-action:none}.world-joystick span{width:40px;height:40px;border:1px solid #e4d4a9b3;background:#b7b6975c;border-radius:50%}}
@media(max-width:680px),(pointer:coarse){.world-controls>span{display:none}.world-controls .touch-hint{display:block;font-size:11px}}
.game.night .scene-3d{background:#060d10}.game.night .world-shade{background:radial-gradient(ellipse 82% 78% at 50% 54%,transparent 46%,#01070bb8 100%),linear-gradient(180deg,#01070aa6,transparent 24%,transparent 78%,#01070a99)}.game.night .scene-3d .scene-objective{background:#0b1c20c7;border-color:#b9cba31f}.game.night .world-compass{background:#08181ccc}.game.night .world-controls{background:#0a1719}
.world-marker-name{transition:opacity .18s}.world-marker.crowded:not(:hover):not(:focus-visible) .world-marker-name{opacity:0}
/* On the lake in 3D the scene is the map: a compact card over the water, and no walking HUD. */
.lake-card{pointer-events:auto;width:min(620px,100%);padding:18px 23px 11px;background:#112d33ef;max-height:62dvh}.lake-card .lake-stage{display:none}.lake-card .modal-header{margin-bottom:8px}.lake-card .modal-header h2{font-size:28px}.lake-card .modal-header .eyebrow{font-size:10px}.lake-card .modal-header .icon-btn{width:32px;height:32px}.lake-card .modal-description{font-size:12px;text-align:left;margin:0 0 8px}.lake-card .lake-phrase{font-size:19px;min-height:46px}.lake-card .pool-small{margin-top:4px}.lake-card .pool-small button{min-height:31px;font-size:11px}
.world-lake .world-marker-layer,.world-lake .world-compass,.world-lake .scene-objective,.world-lake .world-joystick,.world-lake .world-interact,.world-lake .world-rotate{display:none}
@media(max-width:680px){.lake-card{padding:14px 15px 8px}.lake-card .modal-header h2{font-size:24px}.lake-card .modal-description{font-size:11px;line-height:1.55}.lake-card .lake-phrase{font-size:16px;min-height:40px}}
