*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#183133;color:#f9e9cd;font-family:Georgia,serif}#map{width:100%;height:100dvh;overflow:hidden;position:relative;touch-action:none;cursor:grab;outline:none}#map:active{cursor:grabbing}#map:focus-visible{outline:2px solid #edce89;outline-offset:-3px}#world{position:absolute;width:1536px;height:1024px;transform-origin:0 0;will-change:transform}#world>img,#life{position:absolute;inset:0;width:100%;height:100%;user-select:none;pointer-events:none}#landmarks{position:absolute;inset:0;pointer-events:none}.landmark{position:absolute;pointer-events:auto;transform:translate(-50%,-50%) scale(var(--label-scale,1));border:1px solid #efd69b80;background:#162d2deb;color:#ffe7ad;border-radius:30px;padding:10px 16px;min-height:44px;white-space:nowrap;font:15px Georgia,serif;cursor:pointer;box-shadow:0 3px 18px #081b2260}.landmark::before{content:'✦';color:#ffe29a;margin-right:7px}.landmark:hover,.landmark:focus-visible{background:#3c4530;outline:2px solid #ffe4a5;outline-offset:4px}#hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);margin:0;padding:12px 20px;background:#132b2bdb;border-radius:30px;text-align:center;pointer-events:none;font-size:13px;white-space:nowrap;transition:opacity 1s}#hint.dismissed{opacity:0}dialog{max-width:540px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;border:1px solid #b6a078;border-radius:18px;padding:38px;background:linear-gradient(135deg,#203b3c,#142728);color:#f3e7d2;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#07171888;backdrop-filter:blur(5px)}dialog form{float:right}dialog button{border:0;background:none;color:#edd8ae;font-size:30px;cursor:pointer;width:44px;height:44px}dialog h1{font-size:34px;font-weight:400}dialog p{line-height:1.7}dialog a{color:#ffe0a1;text-underline-offset:5px}#eyebrow,.return{font-size:12px;color:#c4b896}.return{margin-top:30px}@media(max-width:600px){#hint{white-space:normal;width:85%;font-size:12px}dialog{padding:24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#world{backface-visibility:hidden}.story-action{width:auto!important;height:auto!important;min-height:44px;font:16px Georgia,serif!important;border:1px solid #d3b77e!important;border-radius:8px;padding:10px 14px!important}.palette{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.palette button[data-color]{width:44px;height:44px;border-radius:50%;border:2px solid #fff7}#sketch{display:block;width:100%;height:auto;border-radius:10px;touch-action:none;background:#f6ebd7}#sketch.star-sky{background:#111b35}.palette button:focus-visible,.story-action:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* The city is a still atlas; navigation belongs to its landmarks. */
#map{cursor:default;background:#172d32;isolation:isolate;touch-action:manipulation}#map:active{cursor:default}#map::before{content:'';position:absolute;inset:-40px;z-index:-1;background:linear-gradient(#10292aab,#11232edb),url('veleno-painted.png') center/cover;filter:blur(25px);pointer-events:none}#map.in-room{touch-action:none;cursor:grab}#map.in-room:active{cursor:grabbing}#map.in-room::before{display:none}
.landmark{display:grid;place-items:center;width:46px;height:46px;min-height:46px;padding:0;border:0;background:transparent;border-radius:50%;box-shadow:none;color:#fff0bd;white-space:normal;isolation:isolate}.landmark::before{content:'';position:absolute;inset:8px;border:1px solid #f5d18c;background:linear-gradient(135deg,#304945ee,#10212fee);transform:rotate(45deg);border-radius:5px;margin:0;box-shadow:0 0 16px #ffe7a36b;transition:transform .25s,box-shadow .25s}.landmark::after{content:'';position:absolute;inset:-22px;background:radial-gradient(circle,#ffd87945,transparent 68%);z-index:-1;opacity:.25;transition:opacity .25s,transform .25s;pointer-events:none}.marker-symbol{font:22px Georgia,serif;z-index:1;text-shadow:0 1px 6px #000;pointer-events:none}.marker-label{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px);width:max-content;max-width:190px;text-align:center;font:14px/1.3 Georgia,serif;color:#fff1d2;background:#172b2de8;border:1px solid #dbbd7c50;border-radius:4px;padding:7px 10px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.landmark:hover,.landmark:focus-visible{background:transparent;outline:0;z-index:5}.landmark:hover::before,.landmark:focus-visible::before{transform:rotate(135deg);box-shadow:0 0 25px #ffdd9cad;border-color:#fff4d3}.landmark:hover::after,.landmark:focus-visible::after{opacity:1;transform:scale(1.8)}.landmark:hover .marker-label,.landmark:focus-visible .marker-label{opacity:1;transform:translate(-50%,0)}.landmark:focus-visible{outline:2px solid #fff1b7;outline-offset:4px}.landmark:active .marker-symbol{transform:scale(.85)}
@media(hover:none),(max-width:600px){.marker-label{opacity:1;transform:translate(-50%,0);font-size:10px;max-width:100px;padding:4px 6px;top:100%;background:#152728df}.landmark[data-place=prompts] .marker-label{left:0;transform:none}.landmark[data-place=exit] .marker-label{left:auto;right:0;transform:none}#map:not(.in-room) #hint{bottom:calc(50% - 190px)}}
@media(prefers-reduced-motion:reduce){.landmark::before,.landmark::after,.marker-label{transition:none}}

#map.in-room,#map.in-room:active{cursor:default;touch-action:manipulation}#map.in-room::before{display:block}#map.lamplit #world>img{filter:brightness(.72) saturate(.88)}#world>img{transition:filter .8s}.activity-label{display:block;margin:16px 0;line-height:1.6}.activity-label select{display:block;width:100%;font:16px Georgia,serif;color:#f6e5c4;background:#193335;border:1px solid #b09a6b;padding:12px;border-radius:8px}.activity-result{background:#ffffff08;border-left:2px solid #d1b579;padding:14px;line-height:1.7}.activity-choices{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.activity-choices button[aria-pressed=true]{background:#715635}.tea-cup{text-align:center;font-size:70px}.tea-cup i{display:block;color:#e5dbc7;font-size:45px;font-style:normal;animation:steam 3s ease-in-out infinite}.fiction-label{font-size:12px;color:#beaecb}#story-page{font-size:19px;line-height:1.9;min-height:140px}#lock-rings button{font-size:32px!important;min-width:64px}@keyframes steam{50%{transform:translateY(-8px);opacity:.35}}@media(prefers-reduced-motion:reduce){.tea-cup i{animation:none}#world>img{transition:none}}

#map::before{background-image:linear-gradient(#10292aab,#11232edb),var(--scene-background,url('veleno-painted.png'))}

.prompt-gallery{width:min(1060px,calc(100% - 32px));max-width:1060px;max-height:92dvh}.gallery-controls{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 12px}.gallery-controls input,.gallery-controls select{min-height:46px;background:#11292a;border:1px solid #b49b6b;border-radius:8px;color:#f4e4ca;font:16px Georgia,serif;padding:10px 14px}.gallery-controls input{flex:1;min-width:180px}.gallery-count{font-size:13px;color:#c7b898}.prompt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.prompt-grid .prompt-card{width:100%;height:auto;padding:0;overflow:hidden;display:flex;flex-direction:column;text-align:left;background:#102627;border:1px solid #c1a47740;border-radius:10px;cursor:pointer;transition:transform .2s,border-color .2s}.prompt-card:hover{transform:translateY(-3px);border-color:#ead09d}.prompt-card img{width:100%;height:230px;object-fit:cover;object-position:top}.prompt-card-title{font:18px Georgia,serif;padding:15px 14px 6px;color:#f4e0b8}.prompt-card-style{font:12px Georgia,serif;padding:0 14px 18px;color:#beac8e}.prompt-examples{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin:24px 0}.prompt-examples img{max-width:100%;max-height:65dvh;object-fit:contain;border-radius:8px}.prompt-notes{white-space:pre-wrap;border-left:2px solid #e3c281;padding-left:16px}.prompt-text{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.8 Georgia,serif;background:#0e2324;border:1px solid #b39b6740;border-radius:10px;padding:24px}.copy-feedback{font-size:14px;color:#e3cb9a}.prompt-gallery h2{font-size:20px;font-weight:400}.prompt-gallery button:focus-visible,.gallery-controls input:focus-visible,.gallery-controls select:focus-visible{outline:2px solid #ffdf9f;outline-offset:4px}@media(max-width:700px){.prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.prompt-card img{height:175px}.prompt-card-title{font-size:15px}.prompt-gallery{padding:20px}.gallery-controls select{width:100%}.prompt-text{padding:16px;font-size:14px}}@media(max-width:370px){.prompt-grid{grid-template-columns:1fr}}

.copy-fallback{display:block;width:100%;min-height:80px;margin-top:10px;background:#122a2b;color:#f8eacb;border:1px solid #ac946b;padding:10px;font:14px Georgia,serif}

.template-section{margin-top:32px;padding-top:20px;border-top:1px solid #c5ad7655}

/* Phone exploration has one focal point, one label, and a comfortable action. */
#scene-header,#scene-card{display:none}
.events-panel{max-width:850px;width:calc(100% - 28px);background:linear-gradient(140deg,#2f3030,#171f24)}
.events-intro{color:#c9baa0}.event-filters{display:flex;gap:8px;margin:22px 0;flex-wrap:wrap}
.calendar-days a{display:grid;place-items:center;min-height:40px;background:#d1b075;color:#172426;border-radius:3px;font-size:14px;text-decoration:none}.calendar-days a:hover,.calendar-days a:focus-visible{outline:2px solid #fff;outline-offset:1px;background:#efdab6}
#calendar-agenda{list-style:none;padding:0;margin:20px 0}#calendar-agenda li{border-bottom:1px solid #ccb78030}#calendar-agenda a{display:flex;gap:14px;flex-wrap:wrap;padding:12px 0;color:#ead5ad;text-decoration:none}#calendar-agenda span{min-width:132px;font-size:13px}#calendar-agenda strong{font-size:14px;font-weight:400}
.chronicle-shelf{padding:24px 16px 0;border-bottom:15px solid #63452f;box-shadow:0 12px 15px #0005;background:linear-gradient(#101b20,#263132);display:flex;justify-content:center;margin:24px 0 30px}.chronicle-volume{display:block;position:relative;width:min(100%,300px);min-height:360px;border:2px solid #a58a54;border-left:12px solid #6e5934;border-radius:4px 9px 3px 3px;color:#f8e8c8!important;box-shadow:10px 2px 15px #0008;text-decoration:none;overflow:hidden}.chronicle-volume>img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.5}.volume-label{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:23px;padding:34px 20px;min-height:360px;background:linear-gradient(transparent,#0b171deb)}.volume-label small{font-size:11px;text-transform:uppercase;letter-spacing:1px}.volume-label strong{font-size:29px;line-height:1.15;font-weight:400}.volume-label>span{font-size:16px}.volume-label b{font-size:14px;margin-top:auto}.chronicle-volume:hover,.chronicle-volume:focus-visible{outline:2px solid #ead5ad;outline-offset:5px}
.event-filters button{font-size:14px!important}.event-filters [aria-pressed=true]{background:#dcc08b;color:#1c2626}
.event-invitation{display:grid;grid-template-columns:38% 1fr;overflow:hidden;border:1px solid #c0a26b70;border-radius:10px;background:#111e20;box-shadow:0 12px 30px #0003}
.event-invitation>img{width:100%;height:100%;object-fit:cover;min-height:310px}.event-invitation>div{padding:26px}
.event-invitation h2{font-size:28px;font-weight:400;line-height:1.15;margin:12px 0}.event-invitation p{font-size:14px;line-height:1.7}
.event-invitation .event-season{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;color:#d9bc82}.event-date{color:#bcae98}
.event-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;padding:12px 18px;border:1px solid #d1b075;border-radius:5px;text-decoration:none;background:#d1b075;color:#172426!important;font-size:16px}
.event-link:hover{background:#ebd0a0}.event-empty{padding:28px 20px;border:1px solid #c0a26b50;border-radius:10px;color:#c8bba5}
.event-calendar{margin-top:26px;border-top:1px solid #ccb78040;padding-top:20px}.event-calendar summary{cursor:pointer;min-height:44px;color:#dfc695}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between}.calendar-toolbar h2{font-size:19px;font-weight:400}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:5px}.calendar-week{font-size:12px;color:#bda97d;margin:12px 0}.calendar-days span{display:grid;place-items:center;min-height:34px;background:#ffffff04;border-radius:3px;font-size:13px}#calendar-note{font-size:13px;color:#bcae98}
@media(max-width:700px), (max-width:950px) and (max-height:500px){
 #map{background:#111f25;touch-action:manipulation}
 #map::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0a192caa,transparent 24%,transparent 57%,#0e1d23 85%);z-index:1}
 #world{transition:transform .65s cubic-bezier(.22,.61,.36,1)}
 #landmarks .landmark{visibility:hidden;pointer-events:none}
 #landmarks .landmark.is-selected{visibility:visible;pointer-events:auto}
 #landmarks .marker-label{display:none!important}
 #landmarks .landmark.is-selected::before{border-color:#ffe6ac;box-shadow:0 0 25px #ffe2a478}
 #hint{display:none}
 #scene-header{display:block;position:absolute;top:calc(23px + env(safe-area-inset-top));left:26px;right:26px;z-index:2;pointer-events:none;text-shadow:0 2px 14px #000}
 #scene-header>span{font:9px/1.5 Georgia,serif;letter-spacing:3.5px;color:#e6cfa2}
 #scene-header h1{font-size:30px;font-weight:400;margin:6px 0;max-width:78%}
 #scene-back{pointer-events:auto;position:absolute;right:0;top:0;min-width:64px;min-height:44px;color:#f5e4c1;background:#16252cdf;border:1px solid #c6ad7a66;border-radius:25px;font:12px Georgia,serif}
 #scene-card{display:block;position:absolute;z-index:3;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:480px;color:#efdfbe;background:linear-gradient(150deg,#203135f5,#132027f7);border:1px solid #ccb07955;border-radius:17px;padding:15px 12px 7px;box-shadow:0 12px 35px #0005;backdrop-filter:blur(15px);touch-action:pan-y}
 .scene-card-top{display:flex;justify-content:space-between;padding:0 7px;color:#bba985;font:9px Georgia,serif;letter-spacing:2px}
 .scene-selector{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:4px;margin:9px 0 10px;text-align:center}
 .scene-selector button{min-height:44px;width:40px;background:transparent;border:0;color:#e3c993;font:32px Georgia,serif;cursor:pointer}
 .scene-selector h2{font-size:20px;font-weight:400;margin:3px 0 5px;line-height:1.15}
 .scene-selector p{font:12px/1.4 Georgia,serif;color:#bdb59f;margin:0;min-height:34px}
 #place-enter{display:block;min-height:44px;width:calc(100% - 26px);margin:auto;color:#17292c;background:linear-gradient(120deg,#eed9aa,#c6a76b);border:1px solid #e5c997;border-radius:7px;font:14px Georgia,serif;cursor:pointer}
 #scene-dots{display:flex;justify-content:center;gap:0;margin-top:1px}
 .scene-dot{position:relative;width:44px;height:44px;border:0;background:none;cursor:pointer}
 .scene-dot::before{content:'';position:absolute;inset:20px 19px;border-radius:5px;background:#887c66}
 .scene-dot[aria-pressed=true]::before{background:#eed3a0;inset:19px 15px;box-shadow:0 0 8px #ddc39855}
 #scene-card button:focus-visible,#scene-back:focus-visible{outline:2px solid #fff0c0;outline-offset:2px}
 dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain;padding:23px;border-radius:15px}
 dialog h1{font-size:28px}dialog p{font-size:15px}
 dialog{scrollbar-width:thin;scrollbar-color:#a58b5d #1a282b}
 dialog form{position:sticky;top:0;z-index:4;background:#1b292ce8;border-radius:50%}
 .events-panel{padding:22px}.event-invitation{grid-template-columns:1fr}.event-invitation>img{height:170px;min-height:0;object-position:center 42%}.event-invitation>div{padding:20px}.event-invitation h2{font-size:25px}.event-link{width:100%}
}
@media(max-width:950px) and (max-height:550px){#scene-header{top:12px}#scene-header h1{font-size:22px}#scene-card{padding:9px 10px 3px}.scene-card-top,.scene-selector p,#scene-dots{display:none}.scene-selector{margin:0 0 5px}.scene-selector h2{font-size:18px}#place-enter{min-height:40px}}
@media(prefers-reduced-motion:reduce){#world{transition:none!important}}

.template-cover{width:100%;height:230px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(ellipse at top,#74597866,transparent),linear-gradient(145deg,#263e40,#132325);border-bottom:1px solid #c1a47740}.template-emblem{font:40px Georgia,serif;color:#e7c583}.template-cover-title{font:10px Georgia,serif;letter-spacing:3px;color:#dcc59e}.template-cover-fields{white-space:pre-line;font:13px/1.8 Georgia,serif;color:#c6bdcf;text-align:center}@media(max-width:700px){.template-cover{height:175px;gap:8px;padding:10px}.template-emblem{font-size:28px}.template-cover-fields{font-size:11px}}
