
:root{font-family:'DM Sans',sans-serif;color:#35382e;background:#eee9df;--ink:#35382e;--paper:#f8f5ee;--line:#ded8ca;--olive:#4e5946;--muted:#827a6c}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#f8f5eeee;border-radius:40px;padding:12px 18px;font-size:12px}button:hover{filter:brightness(.97)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a28e6d;outline-offset:3px}input[type=range]{accent-color:var(--olive);cursor:pointer;padding:0}#world{width:100vw;height:100dvh;display:block;touch-action:none}header{position:fixed;inset:0 0 auto;z-index:4;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;background:linear-gradient(#f5f1e8c9,transparent)}header>*{pointer-events:auto}.brand{font:27px 'Playfair Display',Georgia,serif;text-decoration:none;color:var(--ink)}.brand span{display:block;font:7px 'DM Sans',sans-serif;letter-spacing:2.4px;margin-top:8px}.top-actions{display:flex;align-items:center;gap:8px}.top-actions button{font-size:11px}.round{width:36px;height:36px;padding:0}.intro{position:fixed;left:7%;top:50%;transform:translateY(-43%);max-width:660px;padding:28px;border-radius:16px;background:linear-gradient(90deg,#f4f0e9ed,#f4f0e9aa 80%,transparent)}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.2px;margin:0 0 18px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,5.4vw,78px);line-height:1.12;letter-spacing:-2.5px;margin:0 0 24px}.sub{color:#6f6b5f;font-size:14px;line-height:1.8}.intro-actions{display:flex;gap:20px;align-items:center;margin-top:28px}.primary{background:var(--olive);color:#fff;border:0;border-radius:7px;padding:17px 23px;font-size:13px}.primary span{margin-left:28px}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;padding:12px 0;font-size:11px}.intro-foot{font-size:9px;letter-spacing:.4px;color:#837b6c;margin-top:30px}.chapter{position:fixed;top:106px;left:32px;pointer-events:none;background:#f8f5eec9;padding:15px 20px;border:1px solid #e7dfcf;border-radius:10px;max-width:310px}.chapter>span{font-size:9px;letter-spacing:2px}.chapter h2{font-size:25px;margin:8px 0}.chapter p{font-size:10px;color:#776f60;margin:0;line-height:1.6}.route{position:fixed;right:35px;top:118px;display:flex;align-items:center;gap:10px}.route span{width:28px;height:28px;border-radius:50%;background:#f8f5eed9;display:grid;place-items:center;font-size:9px;border:1px solid #d5cbb8}.route span.active{background:var(--olive);color:white}.route i{width:12px;height:1px;background:#a99e8a}.bottom-bar{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:5px;border:1px solid #dfd6c5;background:#f8f5eeed;border-radius:50px;white-space:nowrap}.bottom-bar button{border:0;background:transparent;padding:10px 16px;font-size:17px}.bottom-bar span{font-size:10px;margin-left:6px}#walkHint{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);padding:8px 15px;border-radius:30px;background:#f8f5eec9;font-size:10px;color:#746a58;white-space:nowrap}.joystick{display:none;position:fixed;bottom:110px;width:96px;height:96px;border-radius:50%;background:#f8f5ee30;border:1px solid #f8f5eea0;touch-action:none;user-select:none}.joystick>span{position:absolute;top:-23px;width:100%;text-align:center;font-size:8px;letter-spacing:2px;color:#5f594d;text-shadow:0 1px 5px white}.stick{width:40px;height:40px;position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);border-radius:50%;border:1px solid #fff;background:#faf6eab5;box-shadow:0 4px 12px #0001}#moveJoy{left:24px}#lookJoy{right:24px}#interact{position:fixed;bottom:116px;left:50%;transform:translateX(-50%);background:var(--olive);color:white;border:0;box-shadow:0 4px 16px #0002;white-space:nowrap}dialog{position:fixed;max-height:90dvh;max-width:580px;width:calc(100% - 24px);border:1px solid var(--line);border-radius:16px;padding:30px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0004;overscroll-behavior:contain}dialog::backdrop{background:#25282088;backdrop-filter:blur(7px)}dialog h2{font-size:32px;line-height:1.2;margin:10px 0 15px}dialog p{font-size:12px;line-height:1.8;color:#766e60}.close{position:absolute;top:10px;right:12px;font-size:25px;border:0;padding:0;width:32px;height:32px;z-index:2}.muted{font-size:11px;color:var(--muted);line-height:1.8}.tiny{font-size:10px!important;color:var(--muted);line-height:1.7}.notice{padding:12px;border:1px solid #c6b48d;background:#f6ebd5;border-radius:7px;font-size:11px;line-height:1.7}.avatar-layout{display:grid;grid-template-columns:220px 1fr;gap:28px}#avatarDialog{max-width:760px;padding:35px}.avatar-stage{background:#eae6dc;border-radius:100px 100px 12px 12px;padding:25px 10px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start}.avatar-stage .eyebrow{font-size:7px;text-align:center;letter-spacing:1.3px}.avatar-stage svg{width:100%;height:290px}.avatar-stage>span{font-size:11px;font-weight:500}.choice-row{display:flex;gap:10px;margin:22px 0}.choice-row button{flex:1;border-radius:7px;padding:16px}.choice-row button[aria-pressed=true]{background:var(--olive);color:white;border-color:var(--olive)}label{display:block;font-size:11px;font-weight:600;margin:18px 0 8px}input:not([type=checkbox]),textarea,select{display:block;width:100%;background:#fffcf7;border:1px solid #d8cebd;border-radius:6px;padding:12px;font-size:12px;color:var(--ink)}textarea{resize:vertical}input[type=range]{padding:0;border:0;height:22px;background:transparent}output{float:right;font-size:10px;color:var(--muted);font-weight:400}.swatches{display:flex;gap:10px;margin-top:12px}.swatches button{width:28px;height:28px;padding:0;border:3px solid var(--paper);box-shadow:0 0 0 1px #d2c7b5}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--olive)}.check{display:flex;align-items:center;gap:6px;font-size:10px;flex-wrap:wrap;font-weight:400}.check input{accent-color:var(--olive)}.check span{font-size:9px;color:var(--muted)}#avatarForm>.eyebrow{margin-top:12px}#avatarForm .primary{width:100%;margin-top:8px}.editor-head{border-bottom:1px solid var(--line);padding:8px 0 18px}.editor-tabs{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.4px;color:#807460;margin-top:20px}#editForm section{border-bottom:1px solid var(--line);padding:20px 0}h3{font-size:10px;font-weight:400;color:#a28c65;margin:0 0 15px;display:flex;gap:12px;align-items:center}h3 span{font-size:14px;font-weight:500;color:var(--ink)}h3 em{margin-left:auto;font-style:normal;font-size:10px;color:var(--muted)}.upload{padding:15px;border:1px dashed #b3a387;border-radius:8px;text-align:center}.upload label{margin:0;padding:12px;cursor:pointer}.upload input{display:none}.upload small{font-size:10px;color:var(--muted)}#photoList{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.photo-tile{position:relative}.photo-tile>button:first-child{width:100%;border-radius:7px;background:#e8e1d6;padding:12px 14px 6px}.photo-tile canvas{max-width:100%;width:auto;height:105px;object-fit:contain;border:6px solid #8d6c4b;box-shadow:0 3px 7px #0002;background:#fff}.photo-tile span{display:block;font-size:9px;padding:9px 0 2px}.remove-photo{position:absolute;top:3px;right:3px;border:0;background:#fffdf0;border-radius:50%;width:23px;height:23px;padding:0;font-size:16px}.reorder{display:flex;justify-content:space-between}.reorder button{background:none;border:0;padding:3px 10px;font-size:13px}#cropPanel{background:#eee9df;border-radius:10px;padding:16px;margin-bottom:16px}.crop-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.crop-head button{padding:7px 13px;font-size:10px}.frame-preview{width:max-content;max-width:100%;margin:20px auto 12px;padding:10px;border:10px solid #8d6c4b;background:#faf5e9;box-shadow:0 9px 25px #0002;touch-action:none}.frame-preview canvas{display:block;max-width:100%;width:auto;height:210px;touch-action:none}#cropPanel .tiny{text-align:center}.video-upload{border:1px dashed #b3a387;border-radius:8px;padding:18px;text-align:center;cursor:pointer}#videoStatus{margin:10px 0}#videoPreview{max-width:100%;max-height:200px;border-radius:7px}#editForm>.primary{width:100%;margin-top:10px}#restore{display:block;margin:5px auto}#photoDialog{padding:0;max-width:760px}#largePhoto{display:block;width:100%;max-height:68dvh;object-fit:contain;background:#e7e0d3}.photo-caption{padding:22px 28px}.photo-caption h2{font-size:24px;margin:8px 0}.photo-caption .eyebrow{margin:0}#letterText{white-space:pre-wrap;font-size:17px;line-height:1.9;font-family:Georgia,serif}#toast{position:fixed;top:90px;left:50%;transform:translateX(-50%);max-width:90%;border-radius:10px;padding:13px 20px;background:#3c4937;color:white;font-size:11px;line-height:1.6;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s}#cinemaVideo{position:fixed;width:1px;height:1px;left:0;bottom:0;opacity:.001;pointer-events:none;z-index:-1}@media(pointer:coarse){.joystick{display:block}#walkHint{display:none}}@media(max-width:650px){header{padding:max(16px,env(safe-area-inset-top)) 16px 14px;align-items:start}.brand{font-size:22px}.brand span{font-size:6px;letter-spacing:1.2px}.top-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:210px}.top-actions button{padding:9px 10px;font-size:10px}.top-actions .round{width:30px;height:30px;padding:0}body.exploring #edit{display:none}.top-actions #sound span{display:none}#camera span{font-size:9px}.intro{left:12px;right:12px;padding:18px;top:48%;}.intro h1{font-size:47px}.intro .eyebrow{font-size:7px}.sub{font-size:12px}.intro-actions{gap:15px}.primary{font-size:11px;padding:16px}.primary span{margin-left:12px}.intro-foot{font-size:8px;line-height:1.9}.chapter{left:16px;top:100px;max-width:235px;padding:12px 15px}.chapter h2{font-size:21px}.chapter p{font-size:9px}.route{right:16px;top:110px;gap:4px}.route span{width:23px;height:23px;font-size:8px}.route i{width:5px}.bottom-bar button{padding:10px 12px}.bottom-bar span{font-size:9px}#moveJoy{left:20px}#lookJoy{right:20px}.joystick{width:82px;height:82px;bottom:102px}#interact{bottom:204px;font-size:11px}dialog{padding:23px;max-height:92dvh}#avatarDialog{padding:26px 22px}.avatar-layout{grid-template-columns:1fr;gap:15px}.avatar-stage{width:100%;border-radius:10px;min-height:140px;padding:8px;position:relative;flex-direction:row}.avatar-stage svg{width:100px;height:150px}.avatar-stage .eyebrow{position:absolute;left:15px;top:18px;max-width:85px;line-height:1.8}.avatar-stage>span{position:absolute;right:15px;bottom:18px;max-width:80px}.choice-row{margin:16px 0}dialog h2{font-size:27px}#avatarForm>.eyebrow{display:none}.frame-preview canvas{height:180px}#photoList{gap:8px}.photo-tile canvas{height:80px}.photo-tile>button:first-child{padding:9px 7px 3px}.editor-tabs{font-size:8px}}@media(max-height:520px) and (min-width:651px){header{padding:12px 22px}.brand{font-size:21px}.brand span{display:none}.intro{top:54%;padding:15px}.intro h1{font-size:40px;margin-bottom:12px}.intro .eyebrow{margin-bottom:10px}.intro .sub{font-size:11px;margin:0}.intro-actions{margin-top:12px}.intro-foot{margin-top:12px}.chapter{top:70px;left:22px}.chapter p{display:none}.route{top:80px}.joystick{bottom:65px;width:76px;height:76px}#interact{bottom:75px}.bottom-bar{bottom:8px}#walkHint{display:none}#avatarDialog{max-height:94dvh;padding:22px}.avatar-stage svg{height:230px}.avatar-layout{grid-template-columns:190px 1fr}.top-actions button{padding:8px 12px}}
/* A restrained museum interface; the gallery itself stays in focus. */
body.exploring header{background:linear-gradient(#14161180,transparent)}body.exploring .brand{color:#f4eedf}body.exploring .brand span{display:none}.chapter,.route,#lookJoy{display:none!important}#backToWalk,#standUp{position:fixed;left:50%;transform:translateX(-50%);bottom:95px;background:#f7f2e8f5;z-index:3}#standUp{left:auto;right:22px;transform:none}#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25px;color:#fff;pointer-events:none;text-shadow:0 1px 3px #000}#avatarRender{width:100%;height:310px;position:relative}#avatarCanvas{width:100%;height:100%;display:block}#avatarLoadStatus{position:absolute;left:8px;right:8px;bottom:0;text-align:center;background:#eae6dcbf;padding:7px;border-radius:5px}.avatar-stage{min-height:350px;border-radius:12px;padding:10px}.avatar-stage .eyebrow{margin-top:12px}.optional{float:right;font-weight:400;color:#8e8576}.crop-head{position:sticky;top:-16px;background:#eee9df;padding:10px 0;z-index:2}.crop-head button{background:#4e5946;color:#fff;border:0;border-radius:7px;padding:10px 14px}#cropPanel label{margin-top:12px}#cropPanel .text-button{margin-right:20px}#framePreview{border-color:#3a342b!important}.photo-tile canvas{border-color:#3a342b!important}.photo-tile span{font-size:10px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.credits{margin-top:25px;font-size:10px;color:#8a8172}.credits a{color:inherit}.top-actions #camera{max-width:225px}.top-actions #settings{font-size:21px;line-height:1}#settingsDialog .check{font-size:13px}.joystick{opacity:.85}#walkHint{color:#e8e0d1;background:#24291fbb}@media(pointer:coarse){#walkHint{display:none}#crosshair{display:none!important}}@media(max-width:650px){.avatar-stage{min-height:220px;display:block}#avatarRender{height:220px}.avatar-stage .eyebrow{position:static;max-width:none;margin:5px 0 0}#avatarLoadStatus{font-size:9px!important;bottom:-5px}.top-actions{max-width:230px}.top-actions #camera{max-width:180px;padding:9px 11px}.top-actions #camera span{font-size:9px}.brand{font-size:20px}.photo-tile>button:first-child{min-height:125px}#interact{left:auto;right:22px;transform:none;bottom:112px}#backToWalk{bottom:92px}#standUp{bottom:165px}#walkHint{white-space:normal;width:80%;text-align:center}}@media(max-height:520px) and (min-width:651px){.avatar-stage{min-height:280px}#avatarRender{height:260px}}
body.exploring .brand{font-size:21px}body.exploring .top-actions{margin-left:auto}body.exploring #camera{font-size:10px}@media(max-width:650px){body.exploring .brand{font-size:16px}body.exploring header{gap:8px}body.exploring .top-actions{max-width:235px;flex-wrap:nowrap}.top-actions #camera{max-width:160px}body.exploring #help{display:none}body.exploring .top-actions #camera span{font-size:9px;line-height:1.4}}

/* Demo entrance is an opaque, quiet introduction, independent of the 3D background. */
#intro.intro{position:fixed;inset:0;transform:none;margin:0;width:100%;height:100dvh;max-width:none;background:#090909;color:#f7f3ec;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;z-index:8;border-radius:0;box-sizing:border-box}
#intro[hidden]{display:none!important}#intro .eyebrow{color:#c8b69b;font-size:10px;letter-spacing:2px}#intro h1{font-size:clamp(36px,6vw,62px);line-height:1.1;margin:22px 0}#intro .sub{color:#bdb9b1;max-width:520px;font-size:14px;line-height:1.85}#intro .intro-actions{justify-content:center;margin-top:25px}#intro .primary{background:#f1e8d7;color:#27241f;border-color:#f1e8d7}#intro .notice{max-width:440px;color:#302b24}.bottom-bar{display:none!important}#filmControl{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:4;background:#f7f2e8}#world:focus{outline:none}

.preview-tour header,.preview-tour #intro,.preview-tour #hud,.preview-tour #toast{display:none!important}.preview-tour #world{pointer-events:none}.tour-fallback{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#d8ceba;color:#544a3b;text-align:center}.tour-fallback span{font:10px sans-serif;letter-spacing:2px}.tour-fallback p{font:italic 48px/1.1 Georgia,serif}

/* Standalone personalization uses the landing palette; the museum remains unchanged. */
.personalize-price{font-size:15px!important;color:#e5a8bb!important}.personalize-price small{display:block;font-size:11px;color:#b29aa5;line-height:1.7;margin-top:8px}.demo-from-editor{display:block;text-align:center;font-size:12px;padding:20px;color:inherit}.personalize-page{--ink:#f4e9e1;--paper:#171015;--line:#583243;--olive:#ba3d5c;--muted:#b39ca7;background:#100c0e;color:var(--ink)}.personalize-page>#world,.personalize-page>header,.personalize-page>#intro{visibility:hidden}.personalize-page #editor{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 0,#421d3055,transparent 55%),#100c0e;color:#f4e9e1;padding:65px max(25px,calc((100vw - 820px)/2));overflow-y:auto}.personalize-page #editor::backdrop{background:#100c0e}.personalize-page #editor .close{position:fixed;right:24px;top:20px;background:#341b28;border-color:#6e3d51;color:#e9c8d5}.personalize-page #editor h2{font-size:48px;color:#f4e4e8}.personalize-page #editor h3{color:#dc8fa8}.personalize-page #editor p{color:#bda4af}.personalize-page #editor input:not([type=range]),.personalize-page #editor textarea,.personalize-page #editor select{background:#21151d;color:#f1dfe6;border-color:#613a4c}.personalize-page #editor .primary{background:linear-gradient(135deg,#c5435a,#982d46);color:#fff;border:1px solid #d57a90}.personalize-page #editor button:not(.primary){background:#321d2a;color:#efc8d7;border-color:#684055}.personalize-page .upload,.personalize-page .video-upload{background:#24141e;border-color:#81485f;color:#e9b6ca}.personalize-page #cropPanel{background:#1f131b;border-color:#724054;color:#eac9d7}.personalize-page .frame-preview{background:#2b1d25}.personalize-page .editor-tabs{color:#cf839f;border-color:#553245}.personalize-page #editor .eyebrow{color:#d28ca5}.personalize-page #editor input::placeholder,.personalize-page #editor textarea::placeholder{color:#917583}@media(max-width:650px){.personalize-page #editor{padding:65px 22px 35px}.personalize-page #editor h2{font-size:36px}.personalize-page .editor-tabs{font-size:10px}}

.capture-film{background:#000}.capture-film .tour-fallback{display:none}.capture-film #world{cursor:none}.capture-film #filmFade{position:fixed;inset:0;z-index:20;background:#000;opacity:0;pointer-events:none}.capture-film #filmCount{position:fixed;inset:0;z-index:22;display:grid;place-items:center;color:#f2e5dd;font:70px Georgia;pointer-events:none}.capture-film #filmSetup{position:fixed;inset:0;z-index:25;background:#100b0fe8;display:grid;place-items:center;text-align:center;padding:25px;backdrop-filter:blur(12px)}#filmSetup>div{max-width:650px}#filmSetup span{font-size:10px;letter-spacing:3px;color:#d99caf}#filmSetup h1{font:52px/1.05 Georgia;color:#f4e9e1;margin:22px 0}#filmSetup p{font-size:14px;line-height:1.8;color:#cbb6c0}#filmSetup button{margin:12px 5px;background:#97334e;border-color:#cd718d;color:#fff}#filmSetup button:disabled{opacity:.5}#filmSetup small{display:block;color:#a58996;font-size:11px;margin:18px}#filmSetup #filmFull{background:transparent}@media(max-width:650px){#filmSetup h1{font-size:36px}}

.order-summary{background:#1b1119;color:#f1dce5;border:1px solid #874b63;max-width:520px;border-radius:14px;padding:35px}.order-summary h2{color:#f1dce5}.order-summary p{color:#c6abb9;line-height:1.8}.order-summary button{display:block;margin:14px 0;width:100%;background:#733048;color:#f4dfeb;border-color:#a46480}.order-summary button:disabled{opacity:.5}.order-summary a{color:#eab3cc;font-size:12px}.order-summary::backdrop{background:#10080fe8}

.personalize-page #editor h2,.personalize-page #editor h3,.order-summary h2{font-family:'DM Sans',sans-serif;letter-spacing:-.035em}.personalize-page #editor h2{font-size:36px;line-height:1.2}.personalize-page #editor .editor-head>p{line-height:1.8}.personalize-page #editor .editor-tabs{line-height:1.6}@media(max-width:650px){.personalize-page #editor h2{font-size:29px}}
.personalize-page{background:#100d10;color:#fff4f7;--muted:#dfcbd5}.personalize-page #editor{background:#100d10;color:#fff4f7;max-width:none}.personalize-page #editor .editor-head{text-align:left;border-bottom:1px solid #573044;padding-bottom:25px;margin-bottom:25px}.personalize-page #editor h2{font-size:34px;margin:10px 0 16px}.personalize-page #editor p{color:#dfcbd5}.personalize-page #editor input:not([type=range]),.personalize-page #editor textarea,.personalize-page #editor select{background:#261b24;color:#fff4f7;border:1px solid #83566c}.personalize-page #editor input::placeholder,.personalize-page #editor textarea::placeholder{color:#bda4b2}.personalize-page #editor h3{color:#f5adc7;font-size:16px;margin-top:28px}.personalize-page #editor .primary{background:#bc3458;color:white}.personalize-page .upload,.personalize-page .video-upload{background:#251722;border-color:#a56a85}.personalize-page .personalize-price{color:#fff!important}.personalize-price del,.checkout-price del{font-size:16px;color:#bda1b0;margin-right:8px}.personalize-price b{font-size:24px}.launch-tag{display:inline-block;background:#4c2033;color:#ffd5e5;border:1px solid #9e486a;font-size:10px;padding:6px 9px;border-radius:4px;margin-right:10px}.checkout-price{padding:20px 0;color:#fff}.checkout-price b{font-size:24px}.checkout-price>span{display:block;font-size:11px;color:#d9bccb;margin-top:8px}.personalize-page #editor input[type=email]{padding:14px 16px;width:100%;border-radius:5px;font:inherit}.order-summary{background:#21151e}.order-summary p{color:#e0cbd6}@media(max-width:650px){.personalize-page #editor h2{font-size:28px}}
.personalize-page .two-names{display:grid;grid-template-columns:1fr 1fr;gap:18px}.personalize-page .two-names label{font-size:12px}.personalize-page .photo-help{padding:18px;background:#21171f;border:1px solid #614053;border-radius:8px;margin:18px 0;color:#efdce6}.personalize-page .photo-help b{font-size:12px}.personalize-page .photo-help p{font-size:11px;margin:6px 0 12px}.personalize-page .photo-help span{display:inline-block;margin:4px 7px 4px 0;padding:6px 9px;border-radius:5px;background:#382432;font-size:10px}.personalize-page #cinemaNote{margin-top:10px}.green-save{display:inline-flex;background:#12382d;color:#a8ecc4!important;border:1px solid #347653;padding:6px 9px;border-radius:6px;font-size:11px!important;white-space:nowrap}.checkout-price .green-save{margin-left:10px}.checkout-price small{display:block;color:#d6b5c7;font-size:11px;margin-top:12px}.personalize-page #editor .primary{font-weight:600;font-size:14px}.personalize-page #editor input[type=hidden]{display:none!important}@media(max-width:600px){.personalize-page .two-names{gap:12px}.personalize-page .two-names input{min-width:0}}
/* Simple personalization: familiar type, focused fields, no light crop toolbar. */
.personalize-page,.personalize-page #editor,.personalize-page #editor h2,.personalize-page #editor h3,.personalize-page #editor button,.personalize-page #editor input,.personalize-page #editor textarea,.personalize-page #editor select,.personalize-page #editor .green-save{font-family:Arial,Helvetica,sans-serif;font-style:normal;letter-spacing:normal}
.personalize-page #editor{padding-top:65px;--muted:#c9bac2;--line:#573848}.personalize-page #editor h2{font-size:34px;letter-spacing:-.8px}.personalize-page #editor p{font-size:14px;line-height:1.65;color:#cbbdc4}.personalize-page #editor .tiny,.personalize-page #editor .field-hint{font-size:12px;color:#baabb3}.personalize-page #editor .field-hint{margin:5px 0 10px}.personalize-page #editor label{font-size:14px;line-height:1.5}.personalize-page #editor h3{font-size:16px;gap:12px;color:#e5a0b8}.personalize-page #editor h3 span{color:#fff0f5}.personalize-page #editor input:not([type=range]),.personalize-page #editor textarea,.personalize-page #editor select{border-color:#66505c;background:#20191f;border-radius:9px;font-size:15px;line-height:1.5}.personalize-page #editor textarea{padding:14px 16px}.personalize-page .personalize-price{background:#20151c;border:1px solid #624050;border-radius:12px;padding:18px 20px;margin-top:25px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.personalize-page .personalize-price .launch-tag{background:none;border:0;padding:0;margin:0;color:#eeabc2;font-size:12px;font-weight:600}.editor-price-row{display:flex;gap:12px;align-items:center}.personalize-page .personalize-price small{margin:0;font-size:12px;color:#cdb8c2}.personalize-page .personalize-price b{font-size:25px;letter-spacing:-.5px}.personalize-page .personalize-price del{margin:0;font-size:16px}.personalize-page #editor .green-save{font-size:12px!important;line-height:1.3;font-weight:600;letter-spacing:0}.personalize-page .checkout-price .green-save{display:inline-flex}
.personalize-page #cropPanel{border:1px solid #634252;border-radius:12px;padding:18px;background:#1d151b}.personalize-page #cropPanel .crop-head{position:static;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 15px}.personalize-page .crop-head b{font-size:16px;color:#f6e9ef}.personalize-page #editor #closeCrop{background:#b93659;border:1px solid #d56d8c;color:white;border-radius:8px;padding:10px 23px;font-size:13px;font-weight:600}.personalize-page #cropPanel .text-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:transparent;border:1px solid #755465;border-radius:8px;color:#e7d5de;padding:11px 16px;margin:18px 8px 0 0;font-size:12px}.personalize-page #cropPanel .text-button:hover{background:#39232f}.personalize-page .photo-help{background:none;border:0;padding:0;margin:20px 0}.personalize-page .photo-help p{margin:5px 0 8px}.personalize-page .photo-help span{background:#281c24;border:1px solid #49323f;font-size:11px}.personalize-page #editor .cinema-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 24px}.personalize-page #editor .cinema-options button{border:1px solid #614453;border-radius:10px;padding:18px;text-align:left;background:#1d171c;color:#e8d8e0}.cinema-options b,.cinema-options span{display:block}.cinema-options b{font-size:15px;font-weight:600}.cinema-options span{font-size:12px;line-height:1.5;margin-top:7px;color:#c4afb9}.personalize-page #editor .cinema-options button[aria-pressed=true]{border:2px solid #db7a9a;padding:17px;background:#38212c}.personalize-page #cinemaVideoFields,.personalize-page #cinemaMessageFields{padding:3px 0 16px}.personalize-page #videoPreview{max-width:100%;max-height:260px;border-radius:10px}.personalize-page #editor .primary{border-radius:10px;background:#b93659;padding:18px 24px;font-size:15px}.personalize-page #editor .close{border-radius:50%}.personalize-page #editor button:focus-visible{outline:2px solid #f5bfd3;outline-offset:4px}
@media(max-width:600px){.personalize-page #editor{padding:65px 20px 35px}.personalize-page #editor h2{font-size:28px}.personalize-page .personalize-price{gap:12px;padding:16px}.personalize-page .personalize-price small{flex-basis:100%}.personalize-page .personalize-price .launch-tag{flex-basis:100%}.personalize-page #editor .cinema-options{gap:10px}.personalize-page #editor .cinema-options button{padding:15px}.personalize-page #editor .cinema-options button[aria-pressed=true]{padding:14px}.cinema-options span{font-size:11px}.personalize-page #cropPanel{padding:14px}.personalize-page .two-names{grid-template-columns:1fr;gap:8px}}
/* Keep the opening fields compact, including on phones. */
.personalize-page #editor .editor-head{padding-bottom:0;margin-bottom:0;border-bottom:0}.personalize-page .personalize-price{margin-bottom:12px}.personalize-page #editForm .names-section{padding-top:8px;padding-bottom:18px}.personalize-page #editForm .names-section h3{margin-top:8px;margin-bottom:10px}.personalize-page .two-names{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.personalize-page .two-names label{margin:0 0 10px;font-size:13px}.personalize-page .two-names input{min-width:0;margin-top:6px}.personalize-page .names-section>label{margin-top:5px}.personalize-page .names-section .inline-hint{display:inline-block;font-size:11px;font-weight:400;color:#bca9b3;margin-left:8px}.personalize-page .names-section textarea{min-height:85px}.personalize-page .photo-tile{scroll-margin-block:25px}.personalize-page .photo-tile>button:first-child:focus-visible{outline:2px solid #e7a1bd;outline-offset:4px}
@media(max-width:600px){.personalize-page .two-names{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.personalize-page #editor .two-names input{padding:11px 10px;font-size:14px}.personalize-page .names-section .inline-hint{font-size:10px;margin-left:5px}.personalize-page #editForm .names-section h3{margin-top:4px}.personalize-page .personalize-price{margin-top:18px;margin-bottom:10px}}
/* Clear section headings make each step easy to scan. */
.personalize-page #editor #editForm section{padding:25px 0}.personalize-page #editor #editForm section h3{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:0 0 13px;border-bottom:1px solid #674052;color:#ed9cb9;font-size:12px;font-weight:700;line-height:1.4}.personalize-page #editor #editForm section h3 span{font-size:21px;font-weight:700;color:#fff3f8;letter-spacing:-.4px}.personalize-page #editor #editForm .names-section{padding-top:8px}.personalize-page #editor #editForm .names-section h3{margin-bottom:15px}.personalize-page #editor .green-save{font-weight:700!important}.personalize-page #editor #editForm .primary{font-weight:700}
@media(max-width:600px){.personalize-page #editor #editForm section h3 span{font-size:19px}.personalize-page #editor #editForm section h3{gap:10px}.personalize-page #editor #editForm .names-section{padding-top:7px}}
/* Exit stays visible above the scrolling personalizer, within phone safe areas. */
.personalize-page #editor::before{content:'';position:fixed;inset:0 0 auto;height:calc(68px + env(safe-area-inset-top,0px));background:linear-gradient(#100d10 60%,#100d1000);pointer-events:none;z-index:3}.personalize-page #editor .editor-back{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #785365;border-radius:50%;background:#271c24;color:#fff0f6;box-shadow:0 4px 16px #0005;z-index:4}.personalize-page #editor .editor-back:hover{background:#422634}.personalize-page #editor .editor-back svg{display:block;pointer-events:none}.personalize-page #editor{padding-top:calc(78px + env(safe-area-inset-top,0px))}
@media(max-width:600px){.personalize-page #editor .editor-back{right:calc(14px + env(safe-area-inset-right,0px))}.personalize-page #editor{padding-top:calc(76px + env(safe-area-inset-top,0px))}}
@media(pointer:coarse){#moveJoy{left:calc(22px + env(safe-area-inset-left,0px));bottom:calc(30px + env(safe-area-inset-bottom,0px));width:104px;height:104px;background:#171b2290;border:1px solid #ffffff65;box-shadow:inset 0 0 0 12px #ffffff08,0 5px 20px #0003;opacity:.85}#moveJoy:active{opacity:1;border-color:#fff}#moveJoy .stick{width:44px;height:44px;left:calc(50% - 22px);top:calc(50% - 22px);background:#eee9dfdd;border:1px solid #fff;box-shadow:0 3px 10px #0004}#moveJoy>span{color:#fff;text-shadow:0 1px 4px #000;letter-spacing:1px;font-size:9px;top:-22px}#interact{bottom:calc(45px + env(safe-area-inset-bottom,0px));right:calc(22px + env(safe-area-inset-right,0px));min-height:44px}#standUp{bottom:calc(100px + env(safe-area-inset-bottom,0px))}}
@media(pointer:coarse) and (orientation:landscape){#moveJoy{width:88px;height:88px;bottom:calc(22px + env(safe-area-inset-bottom,0px))}body.exploring header{padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left))}}

#moveJoy{pointer-events:none}#moveJoy.stick-hidden{display:none}#moveJoy.stick-used>span{display:none}
@media(pointer:coarse) and (orientation:landscape){#hud #interact,#hud #standUp,#hud #backToWalk{font:600 11px Arial,sans-serif;padding:9px 14px;min-height:38px;min-width:0;width:auto;border-radius:10px;bottom:18px;right:18px;left:auto;transform:none}#hud #standUp{bottom:64px}#hud #filmControl{font-size:11px;padding:9px 14px}}

header .top-actions{gap:6px;flex-wrap:nowrap}header .top-actions button{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;min-height:30px;background:#f8f5eecd;border:1px solid #ded8caa0;box-shadow:none;font:500 10px Arial,sans-serif}header .top-actions .round{padding:0;width:30px;height:30px;flex:0 0 30px}header .top-actions #camera span{font:500 10px Arial,sans-serif}#settings svg{display:block;flex:none;width:16px;height:16px;pointer-events:none}header .top-actions #edit{display:none!important}
/* Recipient entry and character picker share the landing's black/rose palette. */
#intro.intro{background:#100c11;color:#fff3f6;padding:32px 24px}#intro .eyebrow{color:#da91a8;font:700 10px Arial,sans-serif;letter-spacing:2px}#intro h1{font:600 clamp(34px,6vw,56px)/1.13 Arial,sans-serif;letter-spacing:-1.5px;max-width:680px}#intro .sub{color:#c9b8c3;font:15px/1.7 Arial,sans-serif;max-width:400px}#intro .primary{background:#c44265;color:#fff7fa;border:1px solid #df7290;min-height:50px;min-width:220px;border-radius:12px;font:600 14px Arial,sans-serif;box-shadow:0 8px 28px #9d234529}#intro .primary:disabled{opacity:.5;cursor:wait}
#avatarDialog{--ink:#fff1f5;--paper:#171118;--line:#49303f;--muted:#bda8b6;max-width:750px;padding:28px;border:1px solid #5d3a4d;border-radius:22px;background:#171118;color:#fff1f5;font-family:Arial,sans-serif;box-shadow:0 24px 90px #0009}#avatarDialog::backdrop{background:#080609bd;backdrop-filter:blur(12px)}#avatarDialog .close{top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #57394a;background:#291b26;color:#e4c4d3;font:25px/1 Arial,sans-serif;border-radius:50%}#avatarDialog .avatar-layout{grid-template-columns:270px 1fr;gap:28px;align-items:center}#avatarDialog .avatar-stage{background:#211a24;border:1px solid #3e2c39;min-height:360px;border-radius:16px;padding:8px;display:block;width:auto}#avatarDialog .avatar-stage .eyebrow{position:static;max-width:none;text-align:center;color:#d3a3b7;margin:12px 0 0;font:600 9px Arial,sans-serif;letter-spacing:1.6px}#avatarDialog #avatarRender{height:330px}#avatarDialog #avatarLoadStatus{background:#211a24e8;color:#e3bed0;font:12px/1.5 Arial,sans-serif!important;padding:10px;bottom:0}#avatarLoadStatus:empty{display:none}#avatarDialog #avatarForm>.eyebrow{display:block;color:#da8fa8;font:600 9px Arial,sans-serif;letter-spacing:1.5px;margin:10px 0 12px}#avatarDialog h2{color:#fff1f5;font:600 28px/1.15 Arial,sans-serif;letter-spacing:-.7px;margin:0 0 10px;max-width:250px}#avatarDialog .muted{font:13px/1.6 Arial,sans-serif;color:#c0aab9;margin:0}#avatarDialog .choice-row{margin:22px 0;gap:8px}#avatarDialog .choice-row button{background:#211722;border:1px solid #5a3d50;border-radius:10px;color:#cdb6c4;font:600 13px Arial,sans-serif;padding:12px;min-height:44px}#avatarDialog .choice-row button[aria-pressed=true]{background:#512238;border-color:#d3668b;color:#fff1f6;box-shadow:inset 0 0 0 1px #d3668b}#avatarDialog label{font:600 12px Arial,sans-serif;color:#e4cad9;margin:19px 0 12px}#avatarDialog .swatches{gap:9px;margin-top:12px}#avatarDialog .swatches button{width:34px;height:34px;border:4px solid #171118;box-shadow:0 0 0 1px #715267;border-radius:50%}#avatarDialog .swatches button[aria-pressed=true]{box-shadow:0 0 0 2px #f3a1bf}#avatarDialog .primary{background:#c44265;color:#fff;border:1px solid #e17b99;border-radius:11px;min-height:48px;margin-top:22px;font:600 14px Arial,sans-serif;padding:14px}#avatarDialog .primary:disabled{opacity:.45;cursor:wait}#avatarDialog .primary span{margin-left:12px}
@media(max-width:650px){#avatarDialog{padding:22px 20px;max-width:440px;max-height:94dvh}#avatarDialog .avatar-layout{grid-template-columns:1fr;gap:20px}#avatarDialog .avatar-stage{min-height:0;border-radius:13px}#avatarDialog #avatarRender{height:220px}#avatarDialog .avatar-stage .eyebrow{margin:6px 0 0;font-size:8px}#avatarDialog #avatarForm>.eyebrow{display:none}#avatarDialog h2{font-size:24px;max-width:none}#avatarDialog .choice-row{margin:16px 0}#avatarDialog label{margin-top:15px}#avatarDialog .primary{margin-top:18px}#avatarDialog .close{top:10px;right:10px;background:#291b26e8;z-index:5}}
@media(orientation:landscape) and (max-height:550px){#avatarDialog{max-width:700px;padding:20px;max-height:96dvh}#avatarDialog .avatar-layout{grid-template-columns:210px 1fr;gap:22px}#avatarDialog .avatar-stage{min-height:0}#avatarDialog #avatarRender{height:280px}#avatarDialog h2{font-size:23px}#avatarDialog #avatarForm>.eyebrow{display:none}#avatarDialog .choice-row{margin:12px 0}#avatarDialog label{margin-top:12px}#avatarDialog .primary{margin-top:14px}}

#avatarDialog .swatches button{width:40px;height:40px}
/* Crisp wall lettering is rendered at screen resolution, above the WebGL canvas. */
#world,#hud,#hud *,header{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#world{touch-action:none}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
header .top-actions #camera{background:#21151ee8;color:#ffe8f1;border:1px solid #8b4b66;border-radius:12px;min-height:40px;max-width:210px;padding:8px 12px;gap:8px;box-shadow:0 3px 12px #0002}header .top-actions #camera span{font:600 11px/1.3 Arial,sans-serif;white-space:normal;text-align:left}#camera svg{flex:none;width:16px;height:16px}header .top-actions #help{display:none!important}
/* The picker sizes to the visible viewport, including in-app browser toolbars. */
@media(max-width:650px) and (orientation:portrait){
 #avatarDialog{width:calc(100% - 24px);height:min(650px,calc(var(--picker-height,100dvh) - 24px));max-height:calc(var(--picker-height,100dvh) - 24px);padding:14px;margin:auto;overflow:hidden;border-radius:18px}
 #avatarDialog .avatar-layout{height:100%;min-height:0;grid-template-rows:minmax(80px,1fr) auto;gap:12px}
 #avatarDialog .avatar-stage{height:100%;min-height:0;padding:0;display:block;position:relative}#avatarDialog .avatar-stage .eyebrow{display:none}#avatarDialog #avatarRender{height:100%;min-height:0}
 #avatarDialog #avatarForm{min-height:0}#avatarDialog h2{font-size:22px;margin:0 0 4px}#avatarDialog .muted{display:none}
 #avatarDialog .choice-row{margin:10px 0;gap:8px}#avatarDialog .choice-row button{min-height:40px;padding:8px}
 #avatarDialog #avatarOptions label{margin:10px 0 0;font-size:11px}#avatarDialog .swatches{margin-top:8px;gap:12px}#avatarDialog .swatches button{width:36px;height:36px;border-width:3px}
 #avatarDialog .primary{margin-top:14px;min-height:46px;padding:12px;font-size:13px}#avatarDialog .close{width:34px;height:34px;top:9px;right:9px}#avatarDialog .close:focus-visible{outline-color:#ed9cbb}
 header .top-actions #camera{max-width:182px;padding:8px 10px}header .top-actions #camera span{font-size:10px}
}
@media(orientation:landscape) and (max-height:550px){
 #avatarDialog{height:calc(var(--picker-height,100dvh) - 16px);max-height:calc(var(--picker-height,100dvh) - 16px);padding:14px;overflow:hidden}
 #avatarDialog .avatar-layout{height:100%;grid-template-columns:minmax(140px,.8fr) minmax(240px,1.2fr);gap:18px;min-height:0}#avatarDialog .avatar-stage{height:100%;min-height:0;padding:0}#avatarDialog .avatar-stage .eyebrow{display:none}#avatarDialog #avatarRender{height:100%;min-height:0}
 #avatarDialog h2{font-size:19px;margin:0 0 4px}#avatarDialog .muted{display:none}#avatarDialog .choice-row{margin:8px 0}#avatarDialog .choice-row button{min-height:36px;padding:7px}#avatarDialog #avatarOptions label{margin:8px 0 0;font-size:11px}#avatarDialog .swatches{margin-top:7px;gap:12px}#avatarDialog .swatches button{width:32px;height:32px;border-width:3px}#avatarDialog .primary{min-height:40px;margin-top:10px;padding:9px;font-size:12px}
}
@media(orientation:landscape) and (max-height:340px){#avatarDialog h2{display:none}#avatarDialog #avatarOptions{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}#avatarDialog #avatarOptions[hidden]{display:none!important}#avatarDialog #avatarOptions label{margin:0}#avatarDialog .swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:6px}#avatarDialog .swatches button{width:100%;height:auto;aspect-ratio:1;max-width:28px;border-width:2px}#avatarDialog .primary{grid-column:1/-1;width:100%;margin-top:4px;min-height:36px;padding:7px}#avatarDialog .choice-row{margin:0 0 9px}}
/* Consistent action controls with restrained rose accents. */
#hud #interact,#hud #standUp,#hud #backToWalk,#hud #filmControl{min-height:44px;padding:11px 16px;border-radius:11px;border:1px solid #936075;background:#241820ed;color:#fff0f5;box-shadow:0 4px 16px #0003;font:600 12px/1.2 Arial,sans-serif;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);letter-spacing:.1px}
#hud #interact{background:#b43759;border-color:#db718e}#hud button:focus-visible{outline:2px solid #f0abc2;outline-offset:3px}#hud button:active{filter:brightness(.9)}
@media(pointer:coarse){#hud #interact{bottom:calc(30px + env(safe-area-inset-bottom,0px))}#hud #standUp{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
@media(pointer:coarse) and (orientation:landscape){#hud #interact,#hud #standUp,#hud #backToWalk,#hud #filmControl{min-height:38px;padding:9px 13px;font-size:11px;border-radius:10px}#hud #interact{bottom:16px}#hud #standUp{bottom:62px}}

#hud button,header button{touch-action:none}

/* Capture setup fits phone landscape, including Safari safe areas. */
.capture-film #filmSetup{padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:auto;backdrop-filter:none}
#filmSetup>div{width:min(100%,620px);margin:auto}#filmSetup h1{font-size:clamp(28px,5vw,44px);margin:12px 0}#filmSetup p{margin:8px 0;line-height:1.5}#filmSetup ol{max-width:460px;margin:16px auto;text-align:left;color:#cbb6c0;font-size:13px;line-height:1.65;padding-left:22px}#filmSetup li{padding-left:4px;margin:4px 0}#filmSetup #filmOrientation{color:#edb1c8;font-size:13px}#filmSetup button{min-height:46px;touch-action:manipulation;font-size:14px;padding:12px 22px}#filmSetup small{margin:10px 0;font-size:11px}
@media(orientation:landscape) and (max-height:500px){#filmSetup h1{font-size:28px;margin:6px 0}#filmSetup ol{margin:8px auto;font-size:12px;line-height:1.45}#filmSetup p{font-size:12px;margin:5px 0}#filmSetup button{margin:6px 4px}#filmSetup small{margin:5px 0}#filmSetup span{font-size:8px}}

/* Quiet in-game header: keep the museum visible and retain a touchable camera toggle. */
body:has(#world)>header{padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}body:has(#world) header .top-actions{margin-left:auto;max-width:none}header .top-actions #camera{position:relative;width:auto;max-width:140px;min-height:32px;padding:6px 9px;border-radius:9px;gap:5px;box-shadow:none}header .top-actions #camera span,body.exploring .top-actions #camera span{font:500 10px/1.2 Arial,sans-serif;white-space:nowrap}#camera svg{width:14px;height:14px}#camera::before{content:'';position:absolute;inset:-6px;background:transparent}
