/* A paper-and-ink frame around a full-bleed, hand-painted world. */
:root{--paper:#fbf6e9;--ink:#405441;--moss:#667d51;--ochre:#ab7651}
.garden-canvas{isolation:isolate;overflow:hidden;background:#b9c8ab}
.storybook-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;pointer-events:none;z-index:-1}
.garden-canvas[data-map-template=coast] .storybook-backdrop{height:150%;top:-48%;object-position:center}
.garden-canvas>canvas{position:relative;z-index:0}
.world-labels{z-index:1}
.map-stage .world-wrap{background:#b8c6a9}
.map-header{background:#fbf6e9;border-color:#d8d6be;box-shadow:0 3px 14px #37472d12}
.map-brand{color:#405541}.map-brand img{filter:sepia(.2) saturate(.7)}
.room-switch{background:#eeecd9;border:1px solid #dedbc4;border-radius:8px}
.map-presence,.world-preferences button,.map-tools{background:#fff9e9f5;border-color:#d7d6bd;box-shadow:0 3px 10px #33482e17}
.map-dock{background:#fbf5e5f7;border:1px solid #cecdb0;box-shadow:0 8px 28px #263c2929,0 1px 0 #fff9eb inset}
.map-dock .zone-bar{border-color:#e2dbc3}.map-dock .zone-button.active{background:#dce4c7;color:#425c37}
.world-person-label{background:#fff7e5ef;color:#48593d;border:1px solid #dfd3ae;box-shadow:0 2px 4px #2f3d2922;text-shadow:none}
.world-person-label.mine{background:#826444;color:#fff7e4;border-color:#b59c74}
.world-person-label.sleeping{background:#e8ecd9e8;color:#65755b}
.primary{background:#8b6847;color:#fff8e9;box-shadow:0 2px 0 #6c503420}
.primary:hover{background:#75583e}.secondary,.menu-back{background:#efeddb;border-color:#ddd7bd;color:#566848}
dialog,.map-stage .people-panel,.editor-right{background:var(--paper);color:var(--ink)}
#dialog>.dialog-top,#dialog>.dialog-top::before{background:var(--paper)}
.profile-relationship{background:#eeead5;border-color:#e3d8ba}
.editor-left{background:linear-gradient(#f8f0d6b8,#ecedd7e0),url('/art/storybook/garden-backdrop.webp') center/cover;border-color:#d9d4b9}
.editor-left::before{opacity:0}.editor-heading,.editor-footer{background:#faf4e5;border-color:#dfd8c0}
.editor-left #avatar-preview{background:transparent}.editor-kicker{color:#78835e}
.template-art{position:relative;background-image:url('/art/storybook/garden-backdrop.webp');background-size:cover;background-position:center;border:1px solid #d9d7c0;text-shadow:0 2px 6px #fff5d8}
.coast .template-art{background-image:url('/art/storybook/coast-backdrop.webp');background-size:cover;background-position:center}
.forest .template-art{background-image:url('/art/storybook/forest-backdrop.webp');background-size:cover;background-position:center}
.template-option{background:#f8f4e5;border-color:#ded9c3}.template-option:has(input:checked){background:#e8edda;border-color:#80946b;box-shadow:0 0 0 1px #80946b}
.welcome-shell{background:#e7e8cd url('/art/storybook/garden-backdrop.webp') center/cover no-repeat}
.welcome-shell::before{content:'';position:fixed;inset:0;background:linear-gradient(90deg,#f8f1dcf0 0%,#f8f1dce8 32%,#f8f1dc35 67%,#f8f1dc00);pointer-events:none}
.welcome-shell header{position:relative;border-bottom:1px solid #f4eed6a3;background:#faf4e6b8;padding:20px 5vw}
.welcome-main{position:relative;max-width:1100px;margin:0 auto;padding:clamp(70px,13vh,150px) 36px;text-align:left}
.welcome-art{display:none}.welcome-main .eyebrow{font-size:10px;letter-spacing:3px;color:#73815d}
.welcome-main h1{font-family:Georgia,'Batang','바탕',serif;font-size:clamp(34px,3.8vw,54px);font-weight:500;line-height:1.55;color:#3b503c;letter-spacing:-1.8px;margin:24px 0}
.welcome-main>p:not(.eyebrow){color:#5e7150;font-size:14px;line-height:2}.welcome-main>.primary{margin:30px 0 8px;padding:15px 24px;border-radius:7px}
.welcome-main>.text-button{margin:22px 0;color:#647955;font-size:12px}.welcome-main>p.welcome-note{max-width:340px;font-size:11px}
@media(max-width:760px){
 .welcome-shell{background-position:60% center}.welcome-shell::before{background:linear-gradient(#f7f0dcd9,#f7f0dce8 68%,#f7f0dc52)}
 .welcome-shell header{padding:17px 18px}.welcome-main{padding:65px 26px 40px}.welcome-main h1{font-size:34px;letter-spacing:-1.5px}.welcome-main>p:not(.eyebrow){font-size:13px}
 .welcome-main>.primary{margin-top:27px}.world-person-label{font-size:11px}.template-art{height:72px}
}
@media(prefers-reduced-motion:reduce){.storybook-backdrop{transition:none}}
