/* Approved illustration integration. Local layout only; no new animation loop. */
.sq-art{position:relative;display:block;overflow:hidden;flex-shrink:0;isolation:isolate;pointer-events:none;user-select:none;line-height:0;background:linear-gradient(145deg,#24443c,#111f29);border:1px solid #d5b87555;border-radius:12px}
.sq-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none;margin:0;border:0}
.sq-art--thumb{width:64px;height:54px}.sq-art--care{width:64px;height:58px;border-radius:10px}.sq-art--scene{width:150px;height:105px}.sq-art--route{width:168px;height:158px}.sq-art--travel{width:158px;height:148px;float:right;margin:0 0 18px 24px}.sq-art--receipt{width:100px;height:76px;float:right;margin:12px 0 12px 20px}.sq-art--album{width:116px;height:90px;float:right;margin:16px 0 12px 24px}.sq-art--realm{width:120px;height:150px}.sq-art--path{width:132px;height:126px}.sq-art--strip{width:100%;max-width:683px;aspect-ratio:683/154;margin:0 auto}.sq-art--onboarding{width:min(100%,900px);aspect-ratio:3/1;margin:26px auto 0}
.sq-art-failed img{visibility:hidden}.sq-art-failed:after{content:'✦';position:absolute;inset:0;display:grid;place-items:center;color:#d7c391;font-size:32px;line-height:1}
.sq-realm-visual,.sq-path-visual{display:flex;align-items:center;gap:22px;padding:16px;border:1px solid #cfb57738;border-radius:18px;background:linear-gradient(110deg,#223b32,#122730);margin:16px 0 22px;min-width:0}
.sq-realm-visual>div,.sq-path-visual>div{min-width:0}.sq-realm-visual strong,.sq-path-visual strong{display:block;color:#f1dcac;font-size:23px;font-weight:500;line-height:1.4;margin:8px 0}.sq-realm-visual small,.sq-path-visual small{font-size:10px;letter-spacing:1.4px;color:#b8cdbf}.sq-realm-visual p,.sq-path-visual p{font-size:12px!important;line-height:1.7!important;color:#b8c9be!important;margin:8px 0 0!important}
.sq-art-note{font-size:11px!important;line-height:1.7!important;color:#abc1b3!important;margin:10px 0 0!important;clear:both}
.exp-route{display:grid;grid-template-columns:168px minmax(0,1fr) auto;align-items:center}.exp-route>div{min-width:0}.exp-route.is-locked .sq-art{filter:grayscale(.75);opacity:.48}.exp-route.is-locked .sq-art img{filter:brightness(.6)}
.exp-road li{position:relative;padding:0 0 12px;border:1px solid #798b7044;border-top:2px solid #526557;border-radius:12px;overflow:hidden;background:#122821}.exp-road li>.sq-art{width:100%;height:90px;border:0;border-radius:0}.exp-road li>span:not(.sq-art),.exp-road li>strong,.exp-road li>small{margin-inline:12px}.exp-road .is-locked .sq-art{filter:grayscale(1);opacity:.45}
.exp-travel,.exp-arrival,.exp-receipt,.exp-album details{display:flow-root}.exp-travel progress,.exp-options{clear:both}.exp-options button{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:13px;align-items:center}.exp-options button>.sq-art{grid-row:1/3}.exp-options strong,.exp-options span:not(.sq-art){grid-column:2;min-width:0}.exp-options button>.sq-art{grid-column:1}.exp-options button>.sq-art img{grid-column:auto}
.exp-options button>span:not(.sq-art){margin:4px 0}.exp-panel .exp-header{padding-bottom:2px}
.care-options button{display:grid;grid-template-columns:64px minmax(0,1fr);gap:5px 11px;align-items:center;min-height:92px}.care-options button>.sq-art{grid-row:1/3}.care-options button>strong,.care-options button>small{grid-column:2;min-width:0;line-height:1.55}.care-options button>strong{font-size:13px}
.companion-care-row button>.sq-art{display:inline-block;width:33px;height:29px;vertical-align:middle;margin-right:6px;border-radius:7px}.companion-care-row button{line-height:1.4}
.sq-story-image{float:left;margin:4px 20px 12px 0}.story-intro:after{content:'';display:block;clear:both}.life-quiet-card>.sq-art{flex:0 0 100px;width:100px;height:82px}.return-card>.sq-art{width:56px;height:48px}.home-outlook>div>.sq-art{width:72px;height:54px}
.ascension-road article{padding:0 0 18px;overflow:hidden;border-radius:15px}.ascension-road article>.sq-art{width:100%;height:160px;border:0;border-radius:0}.ascension-road article:not(.reached)>.sq-art{filter:grayscale(.9);opacity:.48}.ascension-road article>h2,.ascension-road article>small,.ascension-road article>span:not(.sq-art){display:block;margin:12px 10px 0}.ascension-road article>span:not(.sq-art){font-size:14px;line-height:1.3}
.sq-memory-intro{display:flex;align-items:center;gap:20px;padding:18px 22px;margin:0 0 22px;border:1px solid #c7b77d3d;border-radius:18px;background:linear-gradient(125deg,#2c4135,#142a30)}.sq-memory-intro p{margin:5px 0;color:#bfcebf;line-height:1.8}.sq-memory-intro h2{font-size:23px;color:#e8d4a7;margin:0 0 7px}
@media(max-width:1100px){.exp-route{grid-template-columns:140px minmax(0,1fr)}.exp-route>.sq-art{width:140px;height:134px;grid-row:1/3}.exp-route>button{grid-column:2;justify-self:start}.care-options button{grid-template-columns:48px minmax(0,1fr);gap:4px 8px}.care-options button>.sq-art{width:48px;height:52px}.sq-realm-visual{gap:14px;padding:12px}.sq-realm-visual>.sq-art{width:90px;height:120px}.ascension-road article>.sq-art{height:140px}}
@media(max-width:760px){.exp-route{grid-template-columns:100px minmax(0,1fr);gap:12px}.exp-route>.sq-art{width:100px;height:112px}.exp-travel>.sq-art,.exp-arrival>.sq-art{width:116px;height:110px;margin-left:12px}.exp-road li>.sq-art{height:66px}.exp-road li>span:not(.sq-art),.exp-road li>strong,.exp-road li>small{margin-inline:6px}.sq-memory-intro{align-items:flex-start;gap:12px;padding:15px}.sq-memory-intro>.sq-art{width:96px;height:82px}.life-quiet-card>.sq-art{display:none}}
@media(prefers-reduced-motion:reduce){.sq-art,.sq-art img{animation:none!important;transition:none!important}}
/* Keep faces visible in the short route-strip crops. */
.exp-road li>.sq-art{height:122px}.exp-road li>.sq-art img{object-position:center bottom}
@media(max-width:1100px){.exp-road li>.sq-art{height:104px}}
@media(max-width:760px){.exp-road li>.sq-art{height:76px}}
/* Six realms are full portraits, not cropped banners: keep the hamster visible. */
.ascension-road article>.sq-art{height:182px}
.ascension-road article>.sq-art img{object-fit:contain;object-position:center bottom}
@media(max-width:1100px){.ascension-road article>.sq-art{height:156px}}
/* Legacy timeline styles use display:grid on every span. Keep image sizing independent
   of its intrinsic grid minimum so the full portrait stays inside the reserved frame. */
.sq-art>img{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0}
.ascension-road article>.sq-art{display:block;margin:0}

/* preview18-homecoming-1: contextual, restrained artwork. No chat/model layout overrides. */
/* These small source crops are book illustrations, not full-bleed HD backgrounds. */
.sq-art{border:0;background:transparent;border-radius:3px}
.sq-art img{filter:saturate(.78) contrast(.96)}
.sq-art--route,.sq-art--travel,.sq-art--scene,.sq-art--album{
 mask-image:radial-gradient(ellipse at 52% 50%,#000 42%,#000c 64%,transparent 77%);
 -webkit-mask-image:radial-gradient(ellipse at 52% 50%,#000 42%,#000c 64%,transparent 77%);
}
.sq-art--route{width:168px;height:158px}.sq-art--travel{width:168px;height:158px}
.sq-growth-heading{position:relative;isolation:isolate;min-height:102px;padding:18px 92px 8px 0;margin-top:16px}
.sq-growth-heading>.eyebrow{margin-top:0}.sq-growth-heading>h2{font-size:clamp(24px,2.2vw,32px);margin:12px 0 16px;line-height:1.35}
.sq-realm-visual{display:flex;gap:12px;align-items:center;padding:0;border:0;border-radius:0;background:none;margin:10px 0 18px;min-width:0}
.sq-realm-visual .sq-art--realm{width:72px;height:92px;mask-image:radial-gradient(ellipse,#000 45%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse,#000 45%,transparent 78%)}
.sq-realm-caption{font:500 17px/1.4 var(--sans,system-ui);color:#d4c99f}
.sq-growth-heading>.sq-realm-visual{position:absolute;right:0;top:8px;margin:0;pointer-events:none;opacity:.72}
.sq-growth-heading .sq-realm-caption{display:none}
/* Do not repeat illustrated hamsters on controls next to the actual 3D companion. */
.care-options button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:73px;padding:13px 15px;background:#18352c80;border-color:#b5c9aa2c;border-radius:11px}
.care-options button>strong,.care-options button>small{grid-column:auto}
.care-options button>strong{font-size:13px}.care-options button>small{font-size:11px;line-height:1.6;color:#bac9b6}
.care-options button:hover:not(:disabled){background:#2c493c;border-color:#c5c69b66}
.care-options button:focus-visible,.sq-home-memory summary:focus-visible,.sq-shelf-items summary:focus-visible{outline:2px solid #e2ce95;outline-offset:4px}
.sq-return-mark{color:#d9c79b;font-size:26px;flex:none;align-self:center}
.sq-note-mark{font:30px/1 Georgia,serif;display:inline-grid;place-items:center;width:46px;height:48px;color:#d6c79d;background:#b6aa7912;border-radius:4px;flex:none}
.sq-home-memory{position:relative;z-index:2;margin:0 24px 10px;padding:0;border:0;border-block:1px solid #d0c49233;background:linear-gradient(90deg,#baa16d0a,transparent);color:#eee3c7}
.sq-home-memory summary{cursor:pointer;display:flex;align-items:center;gap:12px;min-height:70px;padding:7px 0;list-style:none}
.sq-home-memory summary::-webkit-details-marker{display:none}
.sq-home-memory summary>span:nth-child(2){flex:1;min-width:0}
.sq-home-memory summary small{display:block;font:10px/1.6 var(--sans,system-ui);letter-spacing:.6px;color:#b7c5b0}
.sq-home-memory summary strong{display:block;margin-top:4px;font:500 14px/1.5 var(--sans,system-ui);color:#ead8ab}
.sq-memory-open{font-size:18px;color:#bdc6aa}.sq-home-memory[open] .sq-memory-open{transform:rotate(45deg)}
.sq-home-memory-body{padding:0 4px 16px 58px}.sq-home-memory-body p{font-size:13px;line-height:1.85;margin:7px 0;color:#d2d9c5}
.sq-home-memory-body .sq-memory-owner{font-size:11px;color:#b6c3a9}.sq-home-memory-body>small{display:block;font-size:10px;line-height:1.7;color:#a9bda8}
/* Acquired keepsake emblems: modest 2D UI shapes; no claim of 3D furniture. */
.sq-keepsake-mark{position:relative;display:inline-block;flex:none;width:46px;height:48px;isolation:isolate;background:radial-gradient(ellipse at 50% 75%,#a5b57518,transparent 70%);pointer-events:none}
.sq-keepsake-mark i,.sq-keepsake-mark b{position:absolute;display:block;box-sizing:border-box}
.sq-keepsake-mark--bamboo i{width:26px;height:18px;left:10px;top:13px;border-radius:0 90% 0 90%;transform:rotate(-40deg);background:linear-gradient(120deg,#bbca88,#638d64);border:1px solid #dddfa4}
.sq-keepsake-mark--bamboo b{width:24px;height:1px;background:#d7dfa7;transform:rotate(-40deg);left:9px;top:24px}
.sq-keepsake-mark--creek i{width:26px;height:14px;border:4px solid #8bbec6;border-radius:50%;left:8px;top:10px;transform:rotate(-20deg)}
.sq-keepsake-mark--creek b{width:20px;height:20px;left:15px;top:20px;background:linear-gradient(90deg,#75a1ab,#a6d1ce);clip-path:polygon(0 0,40% 6%,62% 80%,39% 100%,29% 65%,9% 100%)}
.sq-keepsake-mark--bridge i{width:29px;height:23px;left:8px;top:12px;clip-path:polygon(0 30%,72% 0,100% 66%,27% 100%);background:linear-gradient(140deg,#c6bf87 49%,#819468 50%);border:1px solid #d3cd96}
.sq-keepsake-mark--ember i{width:24px;height:24px;left:11px;top:11px;border-radius:50%;background:radial-gradient(circle at 34% 32%,#f1dba0,#c08c46 50%,#72512f);box-shadow:0 0 12px #d3a35b25}
.sq-keepsake-mark--ember b{width:12px;height:4px;left:17px;top:35px;border-radius:50%;background:#bda87c88}
.sq-keepsake-mark--stars i{width:32px;height:32px;left:6px;top:7px;clip-path:polygon(50% 0,62% 34%,98% 34%,70% 56%,80% 94%,50% 74%,20% 94%,30% 56%,2% 34%,38% 34%);background:linear-gradient(145deg,#e9d9a2 48%,#ab9e79 49%);transform:rotate(8deg)}
.sq-keepsake-shelf{margin:0 0 28px;padding:12px 0 20px;border-bottom:1px solid #c8ba8b3d}
.sq-keepsake-shelf header h3{font:500 20px/1.5 var(--serif,Georgia,serif);color:#e5d7af;margin:0 0 6px}
.sq-keepsake-shelf header p{font-size:12px!important;line-height:1.75;color:#bccbb5!important;margin:0 0 17px!important}
.sq-shelf-items{display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap;padding:0 0 12px;border-bottom:3px solid #88764e55}
.sq-shelf-items details{width:clamp(145px,18%,210px);padding:0!important;border:0!important;background:none!important;margin:0!important}
.sq-shelf-items summary{display:flex;align-items:center;flex-direction:column;gap:3px;cursor:pointer;text-align:center;list-style:none;padding:0 5px 8px!important;min-height:115px}
.sq-shelf-items summary::-webkit-details-marker{display:none}.sq-shelf-items summary strong{font-size:13px;line-height:1.6;color:#e6d6aa}.sq-shelf-items summary small{font-size:10px;line-height:1.6;color:#aebfaa}
.sq-shelf-items details p{font-size:12px;line-height:1.8;color:#c4cfb9}.sq-shelf-items details>small{font-size:10px;color:#b9c4aa}
/* A single scene and one decision area, rather than thumbnail tiles everywhere. */
.exp-panel{border-color:#c3bb8c3c!important;background:linear-gradient(155deg,#233b31c9,#112a26e0)!important}
.exp-road{position:relative;gap:10px!important;padding:12px 0 22px!important;margin:14px 0 12px!important}
.exp-road li{background:none;border:0;border-radius:0;overflow:visible;padding:0 8px 10px;border-bottom:1px solid #b0b58b3d;min-height:75px}
.exp-road li.is-current{border-bottom:2px solid #d6c487}.exp-road li>span:not(.sq-art){display:grid;place-items:center;width:25px;height:25px;border:1px solid #c5bb8a5e;border-radius:50%;font-size:11px;margin:0 0 8px;background:#142c25}
.exp-road li.is-done>span:not(.sq-art){color:#d7dca2;border-color:#afc79e}
.exp-road li>strong,.exp-road li>small{display:block;margin:0;line-height:1.6}.exp-road li>strong{font-size:12px}.exp-road li>small{font-size:10px;opacity:.8}.exp-road li.is-locked{opacity:.52}
.exp-route{grid-template-columns:minmax(0,1fr) 168px;gap:0 20px;position:relative;isolation:isolate;padding:23px 22px;border-color:#c3ba862f;background:#0d251e45;overflow:hidden}
.exp-route>.sq-art--route{grid-column:2;grid-row:1/3;opacity:.86;align-self:center;margin:0}
.exp-route>div{grid-column:1;grid-row:1}.exp-route>button{grid-column:1;grid-row:2;justify-self:start;margin-top:16px}
.exp-route.is-locked{grid-template-columns:minmax(0,1fr) auto;padding:15px 22px;background:none}
.exp-route.is-locked>button{grid-column:2;grid-row:1;margin-top:0}
.sq-story-place{border-left:2px solid #cabc853d!important}
.sq-story-place h3{font-size:23px!important;font-weight:500;line-height:1.45!important;letter-spacing:.1px}
.sq-story-place p{line-height:1.9}.sq-story-place>.sq-art--travel{margin:0 0 16px 24px;opacity:.86}
.exp-arrival,.exp-travel{padding:26px 24px!important;background:linear-gradient(100deg,#0f2c2466,transparent)!important}
.sq-route-purpose{font-size:12px!important;line-height:1.8!important;color:#e0cf9f!important;padding-left:12px;border-left:2px solid #b8ba85;margin:12px 0!important}
.sq-travel-beat{clear:both;padding:17px 0;margin:10px 0 12px;border-block:1px solid #d4c58b2a}
.sq-travel-beat>span{font-size:10px;letter-spacing:1px;color:#d3c48e}
.sq-travel-beat>p{font-size:14px;line-height:1.9;margin:8px 0 14px;color:#e0dcc4}
.sq-travel-beat ol{display:flex;list-style:none;gap:16px;margin:0;padding:0;font-size:11px;color:#a8b9a7}
.sq-travel-beat li:before{content:'·';margin-right:7px}.sq-travel-beat li.is-current{color:#ead8a1}.sq-travel-beat li.is-past:before{content:'✓'}
.exp-options{margin-top:22px;gap:12px!important}.exp-options button{grid-template-columns:29px minmax(0,1fr);padding:17px!important;min-height:108px;background:#263e3199;border:1px solid #b6bc914a;border-radius:10px}
.exp-options button>.sq-choice-mark{grid-column:1;grid-row:1/3;font-style:normal;font-size:22px;color:#e0cd9c;align-self:start;line-height:1.3}
.exp-options button strong,.exp-options button>span:not(.sq-art){grid-column:2;line-height:1.75}.exp-options button strong{font-size:14px}.exp-options button>span:not(.sq-art){font-size:11px;color:#bac8ad}
.exp-options button:hover:not(:disabled){background:#324c3a;border-color:#dfcc91}
.exp-receipt{background:none!important;border:0!important;border-top:1px solid #cab88838!important;padding:14px 0!important;margin:18px 0 0!important}
.exp-receipt>.sq-note-mark{float:right;margin:6px 12px 12px 16px}
.sq-art-about{font-size:11px;color:#a8bba8;border-top:1px solid #bac39423;margin-top:16px;padding-top:12px}.sq-art-about summary{cursor:pointer;line-height:1.8}
.sq-memory-intro{border:0;border-bottom:1px solid #c9bd8d30;background:none;padding:8px 0 22px;border-radius:0}
.sq-memory-intro>.sq-art{mask-image:radial-gradient(ellipse,#000 43%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse,#000 43%,transparent 77%)}
.ascension-road article{background:transparent;border:0;border-top:1px solid #b7b58a3d;border-radius:0;padding-top:12px}
.ascension-road article>.sq-art{height:145px;max-width:150px;margin-inline:auto;mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent)}
@media(max-width:1100px){.exp-route{grid-template-columns:minmax(0,1fr) 145px;gap:12px}.exp-route>.sq-art--route{width:145px;height:140px}.sq-story-place>.sq-art--travel{width:145px;height:140px}.sq-growth-heading{padding-right:76px}.sq-growth-heading .sq-art--realm{width:60px;height:82px}.sq-home-memory{margin-inline:18px}}
@media(max-width:760px){.exp-route,.exp-route.is-locked{grid-template-columns:minmax(0,1fr)}.exp-route>.sq-art--route{grid-column:1;grid-row:1;justify-self:end;width:90px;height:90px;opacity:.25}.exp-route>div{grid-column:1;grid-row:1}.exp-route>button,.exp-route.is-locked>button{grid-column:1;grid-row:2}.sq-shelf-items{gap:12px}.sq-shelf-items details{width:calc(50% - 12px)}.sq-home-memory-body{padding-left:8px}}
@media(prefers-reduced-motion:reduce){.sq-memory-open{transition:none}}
.sq-practice-goal{margin:15px 0;padding:12px 14px;border-left:2px solid #c0b578;background:#b3be8b0b}
.sq-practice-goal small{font-size:9px;letter-spacing:1px;color:#acbba3}.sq-practice-goal strong{display:block;font-size:14px;color:#e6d5a7;margin:7px 0}.sq-practice-goal p{font-size:12px;line-height:1.8;margin:0;color:#c0cdb4}
.sq-route-mark{display:grid;place-items:center;width:38px;font-size:27px;color:#c2c49a}
/* Wider story scenery, extracted from the game's existing high-resolution atlas. */
.sq-story-place{position:relative;isolation:isolate;overflow:hidden;padding-top:170px!important}
.sq-story-place>.sq-scenery-plate{position:absolute;inset:0 0 auto 0!important;width:100%!important;height:225px!important;margin:0!important;opacity:1;z-index:-1;float:none;border:0;border-radius:0;mask-image:linear-gradient(#000 0 50%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0 50%,transparent 100%)}
.sq-story-place>.sq-scenery-plate img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.82) brightness(.72)}
.sq-story-place>.sq-scenery-plate:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d251ee8 0%,#0e261f65 48%,transparent 100%)}
.exp-route.sq-story-place{display:block}.exp-route.sq-story-place>div{position:relative}.exp-route.sq-story-place>button{margin-top:16px}
.sq-story-place>.eyebrow,.sq-story-place>div>.eyebrow{margin-top:0}.sq-story-place h3{margin-top:8px}
.sq-story-place{background-color:#142d25!important}
.exp-arrival.sq-story-place,.exp-travel.sq-story-place{padding-top:170px!important}
@media(max-width:1100px){.sq-story-place{padding-top:140px!important}.exp-arrival.sq-story-place,.exp-travel.sq-story-place{padding-top:140px!important}.sq-story-place>.sq-scenery-plate{height:195px!important}}
/* homecoming-2: a small, owned object on a quiet shelf — not a promo tile. */
.sq-home-memory{position:relative;border-radius:2px 2px 10px 10px;border-top:1px solid #cbb88638;border-bottom:2px solid #8b76563b;background:linear-gradient(150deg,#b9ad7311,transparent 58%);box-shadow:0 12px 22px -22px #000a}
.sq-home-memory summary{padding-top:15px;padding-bottom:15px}
.sq-home-memory summary>span:nth-child(2){min-width:0}
.sq-home-memory summary small{letter-spacing:.7px}
.sq-home-memory summary:focus-visible{outline:2px solid #d7c38b;outline-offset:4px;border-radius:6px}
.sq-home-memory .sq-keepsake-mark{width:48px;height:51px;border-bottom:1px solid #d4bd852b;filter:drop-shadow(0 4px 4px #071d1744)}
.sq-home-memory-body .sq-memory-voice{font:500 15px/1.85 var(--serif,Georgia,serif);color:#e4d8b9;margin:6px 0 13px;padding:11px 15px;border-left:2px solid #b6bd83;background:linear-gradient(90deg,#bfbb7c13,transparent);overflow-wrap:anywhere}
.sq-home-memory-body .sq-memory-voice:before{content:'“';font-size:23px;line-height:0;color:#bdb788;margin-right:3px}
.sq-home-memory-body .sq-memory-voice:after{content:'”';font-size:23px;line-height:0;color:#bdb788;margin-left:3px}
.chat-message>.chat-memory-source{display:block;margin-top:8px;color:#c7d1b9;font:10px/1.6 system-ui;letter-spacing:.1px}
.sq-practice-reflection{border-top:1px solid #bab68c33;margin-top:18px;padding-top:12px;text-align:left;overflow-wrap:anywhere}
.sq-practice-reflection .sq-reflection-observed{font:500 14px/1.8 var(--serif,Georgia,serif);color:#e4dac0;margin:0 0 12px}
.sq-practice-reflection dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 15px}
.sq-practice-reflection dl>div{border-left:1px solid #afb28840;padding-left:12px}
.sq-practice-reflection dt{font-size:10px;line-height:1.7;color:#b1c3af}
.sq-practice-reflection dd{margin:4px 0 0;color:#e5d6ae;font-size:21px;font-variant-numeric:tabular-nums}
.sq-practice-reflection dd small{font-size:11px;margin-left:7px;color:#b4c3a7}
.sq-reflection-next{padding:12px 15px;border-radius:5px;background:#bfbd8910;border-left:2px solid #b7bd8b}
.sq-reflection-next>small{font-size:10px;letter-spacing:.6px;color:#cec68e}
.sq-reflection-next>p{font-size:13px;line-height:1.85;margin:5px 0 0;color:#d4ddc7}
@media(max-width:1100px){.sq-practice-reflection dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── Painted journeys: dedicated approved art, NOT a new gameplay system. ──
   Scope is deliberately limited to existing scenes and keepsake presentations.
   No new controller, animation loop, database field or chat-layout override. */
.sq-story-place[data-place="bamboo"],.sq-memory-vignette[data-place="bamboo"]{--place-glow:164,194,112}
.sq-story-place[data-place="creek"],.sq-memory-vignette[data-place="creek"]{--place-glow:130,198,199}
.sq-story-place[data-place="bridge"],.sq-memory-vignette[data-place="bridge"]{--place-glow:192,190,129}
.sq-story-place[data-place="ember"],.sq-memory-vignette[data-place="ember"]{--place-glow:225,165,87}
.sq-story-place[data-place="stars"],.sq-memory-vignette[data-place="stars"]{--place-glow:177,163,221}
.sq-story-place{--place-glow:164,194,112;padding:clamp(205px,20vw,285px) clamp(22px,3vw,36px) 28px!important;border:1px solid rgba(var(--place-glow),.22)!important;border-radius:17px!important;background:#102720!important;box-shadow:inset 0 -1px 0 #dfd6ad09}
.sq-story-place>.sq-scenery-plate{height:clamp(340px,31vw,445px)!important;z-index:-1;opacity:1;mask-image:linear-gradient(#000 0 53%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0 53%,transparent 100%)}
.sq-story-place>.sq-scenery-plate img{object-position:var(--scene-focus,64% 52%);filter:saturate(.93) brightness(.94)}
.sq-story-place>.sq-scenery-plate:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09231999 0%,#0c282138 48%,#0c282100 100%),linear-gradient(180deg,#061a1800 25%,#1027203b 43%,#102720ed 88%)}
.sq-story-place h3{color:#fff0cc!important;font-size:clamp(25px,2.4vw,33px)!important;text-shadow:0 2px 14px #071b16b0;max-width:30ch}
.sq-story-place>.eyebrow,.sq-story-place>div>.eyebrow{color:#e7e1ba;letter-spacing:.12em;text-shadow:0 1px 8px #061d16}
.sq-story-place>p,.sq-story-place>div>p{max-width:76ch}
.sq-story-place .exp-path-note{color:#bbcdbb!important;font-size:12px!important;border-left:2px solid rgba(var(--place-glow),.38);padding-left:13px}
.sq-story-place .exp-yield,.sq-story-place .exp-guarantee{color:#ead9ae!important}
.sq-story-place .sq-route-purpose{border-color:rgba(var(--place-glow),.6);color:#e1d1a9!important}
.sq-story-place .sq-travel-beat{margin-top:16px;padding:18px 20px;border:1px solid rgba(var(--place-glow),.18);border-radius:10px;background:linear-gradient(110deg,rgba(var(--place-glow),.055),transparent)}
.sq-story-place .exp-options{padding-top:6px;gap:16px!important;align-items:stretch}
.sq-story-place .exp-options button{grid-template-columns:92px minmax(0,1fr);padding:18px!important;min-height:145px;background:linear-gradient(130deg,#29463bb5,#163127e6);box-shadow:inset 0 1px #dfd6ad0b;align-content:center}
.sq-story-place .exp-options button>.sq-choice-mark{width:88px;align-self:center;justify-self:center;font-size:36px;text-align:center;opacity:.84}
.sq-story-place .exp-options button>.sq-choice-art{grid-column:1;grid-row:1/3;margin:0;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;width:88px;pointer-events:none}
.sq-choice-art>small{font:9px/1.5 var(--sans,system-ui);letter-spacing:.04em;color:#c0c8ad;margin-top:4px;text-align:center}
.sq-story-place .exp-options button strong{color:#eee2c3;font-size:15px}
.sq-story-place .exp-options button:hover:not(:disabled){background:linear-gradient(130deg,#345445,#1b382de6);border-color:#d4c28eaa}
.sq-story-place .exp-options button:focus-visible{outline:2px solid #efd390;outline-offset:4px}
.sq-scenery-plate{pointer-events:none;user-select:none}
.sq-scenery-plate.sq-art-failed:after{content:'';inset:0;background:radial-gradient(ellipse at 80% 20%,#56745d55,transparent 65%),linear-gradient(#183c2e,#102720)}
/* Every item is a transparent, contained image: no square fill, cropped cord or
   unrelated hamster illustration. The symbol is only an image-error fallback. */
.sq-keepsake-art{display:inline-flex;align-items:center;justify-content:center;width:76px;height:86px;margin:0;background:none;border:0!important;border-radius:0;overflow:visible;filter:none!important;pointer-events:none;flex-shrink:0;line-height:0;vertical-align:middle}
.sq-keepsake-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:none;border:0;margin:0;filter:drop-shadow(0 5px 6px #061b163d);user-select:none}
.sq-keepsake-fallback{display:none;position:absolute;inset:0;place-items:center;font:32px/1 Georgia,serif;color:#d9c995}
.sq-keepsake-art.sq-art-failed img{visibility:hidden}.sq-keepsake-art.sq-art-failed:after{content:none}.sq-keepsake-art.sq-art-failed .sq-keepsake-fallback{display:grid}
.sq-keepsake--choice{width:88px;height:94px}.sq-keepsake--shelf{width:min(100%,172px);height:184px}.sq-keepsake--hero{width:216px;height:220px}.sq-keepsake--receipt{width:120px;height:132px}
.sq-home-memory{border-top:1px solid #ccba8440;border-bottom:2px solid #8e76553b;background:linear-gradient(110deg,#b5a4740b,transparent 65%)}
.sq-home-memory summary{min-height:96px;gap:16px;padding-block:10px}
.sq-home-memory summary>.sq-keepsake-art{width:76px;height:86px}
.sq-home-memory summary strong{font-size:15px}.sq-home-memory summary small{font-size:10px;line-height:1.7}
.sq-home-memory-body{display:grid;grid-template-columns:1fr;padding:0 0 20px;gap:0}
.sq-memory-vignette{position:relative;isolation:isolate;display:grid;place-items:center;height:240px;overflow:hidden;border-radius:12px;margin:0 0 13px;background:#0d251e}
.sq-memory-vignette>.sq-scenery-plate{position:absolute;inset:0;width:100%;height:100%;float:none;margin:0;border:0;border-radius:0;mask-image:none;-webkit-mask-image:none;z-index:-2}
.sq-memory-vignette>.sq-scenery-plate img{filter:saturate(.7) brightness(.5);object-position:var(--scene-focus,center)}
.sq-memory-vignette:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 45%,rgba(var(--place-glow,180,170,130),.07),#0c241c99 85%)}
.sq-memory-vignette:after{content:'';position:absolute;width:68%;height:1px;bottom:32px;background:linear-gradient(90deg,transparent,#d5bc7144,transparent);z-index:-1}
.sq-memory-vignette>.sq-keepsake--hero{width:216px;height:213px;margin-bottom:18px;border:0;filter:none}
.sq-memory-origin{position:absolute;bottom:12px;left:15px;right:15px;text-align:center;font:10px/1.4 var(--sans,system-ui);letter-spacing:.12em;color:#d6d7b9;pointer-events:none}
.sq-memory-prose{padding:0 4px}.sq-memory-prose>small{font:10px/1.7 var(--sans,system-ui);color:#acbca5;display:block}
.sq-memory-prose .sq-memory-voice{margin:0 0 12px;font-size:15px;line-height:1.9}
.sq-study-page{display:flex;position:relative;flex-direction:column;gap:19px;justify-content:center;width:118px;height:140px;padding:22px;background:linear-gradient(110deg,#cec395,#e4d7ac);border:1px solid #f4e7b07a;border-radius:2px 14px 2px 2px;transform:rotate(-7deg);box-shadow:7px 8px #0a211e44;margin-bottom:20px}
.sq-study-page i{display:block;height:2px;background:#6b7c5270;border-radius:30%}.sq-study-page i:nth-child(2){width:72%}.sq-study-page i:nth-child(3){width:86%}
.sq-keepsake-shelf{padding-top:6px;border-bottom:0}
.sq-shelf-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px 14px;align-items:start;border-bottom:0;padding:0}
.sq-shelf-items details{width:auto;min-width:0}
.sq-shelf-items summary{position:relative;isolation:isolate;padding:0 12px 16px!important;min-height:255px;gap:5px;border-radius:9px;background:radial-gradient(ellipse at 50% 50%,#bb9e4f0b,transparent 70%);border-bottom:2px solid #b8a06d44}
.sq-shelf-items summary:after{content:'';position:absolute;bottom:74px;left:19%;right:19%;height:8px;background:radial-gradient(ellipse,#091c15aa,transparent 68%);z-index:-1}
.sq-shelf-items summary strong{font-size:14px;color:#efddac;font-weight:500}
.sq-shelf-items summary small{font-size:10px;line-height:1.8;color:#b4c6b0}
.sq-shelf-items summary img{transition:transform 160ms ease}
@media(hover:hover){.sq-shelf-items summary:hover img{transform:translateY(-3px)}}
.sq-keepsake-story{padding:12px 14px 14px;border-left:1px solid #cdbb7b44;background:#c8bf7f06}
.sq-keepsake-story p{margin:0 0 9px!important}.sq-keepsake-story small{font-size:10px;color:#afc1aa}
.sq-receipt-art{float:right;display:flex;flex-direction:column;align-items:center;width:136px;margin:8px 8px 14px 20px}
.sq-receipt-art small{font:9px/1.6 var(--sans,system-ui);color:#c6ccae;letter-spacing:.08em}
.exp-album details>.sq-scenery-plate.sq-art--album{float:none;width:100%;height:190px;margin:14px 0 18px;border-radius:9px;mask-image:linear-gradient(#000 0 70%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0 70%,transparent 100%)}
.exp-album details>.sq-scenery-plate.sq-art--album img{object-position:var(--scene-focus);filter:saturate(.9) brightness(.9)}
@media(max-width:1100px){.sq-story-place{padding-top:205px!important}.sq-story-place>.sq-scenery-plate{height:350px!important}.sq-shelf-items{grid-template-columns:repeat(auto-fit,minmax(152px,1fr))}.sq-memory-vignette{height:216px}.sq-memory-vignette>.sq-keepsake--hero{height:190px;width:194px}}
@media(prefers-reduced-motion:reduce){.sq-shelf-items summary img{transition:none;transform:none!important}}
/* The in-game preference is as important as the OS preference. */
html[data-reduced-motion="true"] .sq-shelf-items summary img{transition:none;transform:none!important}
/* Override older generic .exp-options span rules; only failures show the symbol. */
.sq-keepsake-art>.sq-keepsake-fallback{display:none}
.sq-keepsake-art.sq-art-failed>.sq-keepsake-fallback{display:grid}
.sq-choice-art>.sq-keepsake-art{display:inline-flex;grid-column:auto}

/* preview.34: owner's path portraits */
.sq-portrait{display:block;overflow:hidden;background:#0f1a1c;border-radius:18px}
.sq-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.sq-portrait--preview{aspect-ratio:16/9;margin:4px 0 18px;border:1px solid color-mix(in srgb,var(--guide,#d8b46a) 60%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--guide,#d8b46a) 32%,transparent)}
.path-preview{padding-top:26px}.path-preview h2{margin:4px 0 8px}.path-preview .modal-actions{margin-top:20px}
.sq-path-cover{position:relative;margin:0 0 22px;border-radius:20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--guide,#d8b46a) 50%,transparent)}
.sq-portrait--cover{aspect-ratio:16/9;max-height:420px;width:100%;border-radius:0}.sq-portrait--cover img{object-position:50% 18%}
.sq-path-cover-text{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 16px;background:linear-gradient(rgba(8,14,16,0),rgba(8,14,16,.88))}
.sq-path-cover-text .eyebrow{margin:0 0 4px}.sq-path-cover-text h2{margin:0;color:#f6ead0;font-size:clamp(20px,4vw,28px)}
@media(max-width:560px){.sq-path-cover-text{padding:30px 14px 10px}.sq-portrait--preview{margin:0 0 14px}.path-preview .modal-actions{display:flex;flex-direction:column-reverse;align-items:stretch;gap:10px}.path-preview .modal-actions button{width:100%;margin:0}}
