/* One coherent room, with purchased props in fixed physical places. */
.home-goals{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.55fr);gap:10px;margin:0 0 12px}.home-goals>.growth-entry{margin:0;min-width:0}.story-entry{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px;font-size:20px;line-height:1.2}.story-entry small{font:16px ShopGowun,sans-serif}.story-complete{border-color:#c6a768;background:#f8edc8}.story-goal>p{font-size:20px;line-height:1.5}.story-goal-list{display:grid;gap:9px;margin:16px 0}.story-goal-list>div{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #ddcdb2;border-radius:12px;background:#fffaf0;font-size:19px}.story-goal-list>div.complete{background:#e5efdb;border-color:#b5c5a3}.story-goal-list>div>span{flex:1}.story-goal-list strong{white-space:nowrap;font-size:20px}.story-goal-actions{display:flex;gap:10px}.story-goal-actions>button{flex:1;min-height:46px}.day-rating{color:#a57a35}.story-pending{color:#70865a}
.shell.view-ending{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:12px 18px}.view-ending>.top{flex:none;margin-bottom:10px}.ending-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 22px}.ending-heading{text-align:center;flex:none}.ending-heading>span{font-size:17px;color:#8b795c}.ending-heading h2{font-size:30px;line-height:1.3;margin:5px 0 0}.ending-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.ending-party{position:relative;min-height:0;border-radius:20px;overflow:hidden;isolation:isolate;background:#f4e7c9}.ending-banner{position:absolute;top:12%;left:7%;right:7%;z-index:6;text-align:center;padding:12px 8px;border:2px solid #d2bb85;border-radius:16px;background:#fff9e8ee;font-size:24px}.ending-guests{position:absolute;left:4%;right:4%;bottom:8%;height:53%;display:flex;align-items:flex-end;z-index:5}.ending-guests>div{width:25%;height:100%;min-width:0;animation:ending-arrival 650ms var(--guest-delay) ease-out both}.ending-guests .special-guest,.ending-guests .customer{display:block;width:100%;height:100%;animation:none}.ending-certificate{border:3px double #c7ab6d;border-radius:18px;background:#fffaf0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;text-align:center;min-height:0}.ending-medal{width:90px;height:95px;flex:none}.ending-certificate>small{font-size:17px;color:#9c8351}.ending-certificate h3{font-size:31px;margin:6px 0;color:#7b603c}.ending-shop-name{font-size:23px;line-height:1.3;overflow-wrap:anywhere}.ending-certificate>p{font-size:20px;line-height:1.5;margin:10px 0}.ending-record{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;color:#8c7c5e;font-size:17px}.ending-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}.ending-footer>p{font-size:18px;line-height:1.4;margin:0}.ending-footer>button{min-height:48px;white-space:nowrap}.ending-petals{position:absolute;inset:0;z-index:7;pointer-events:none}.ending-petals i{position:absolute;top:-20px;left:var(--petal-x);width:9px;height:14px;border-radius:3px;background:#d7b976;animation:ending-petal 3.2s var(--petal-delay) ease-out both}.ending-petals i:nth-child(3n){background:#9dbb9a}.ending-petals i:nth-child(3n + 1){background:#d9afa5}@keyframes ending-arrival{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes ending-petal{0%{translate:0 -20px;rotate:0deg;opacity:0}15%{opacity:.9}100%{translate:15px 45vh;rotate:var(--petal-turn);opacity:0}}
@media(max-height:650px){.home-goals{gap:7px;margin-bottom:6px}.home-goals .growth-entry{min-height:47px;margin:0;padding:6px 9px}.home-goals .growth-entry>span{font-size:19px}.home-goals .story-entry{font-size:18px;min-height:47px;padding:6px}.home-goals .story-entry small{display:none}.story-goal>p{font-size:18px;margin:8px 0}.story-goal-list{gap:6px;margin:10px 0}.story-goal-list>div{font-size:18px;padding:8px 10px}.shell.view-ending{padding:9px 14px}.view-ending>.top{margin-bottom:7px}.ending-panel{padding:10px 12px;gap:8px}.ending-heading>span{font-size:16px}.ending-heading h2{font-size:24px;margin-top:3px}.ending-layout{gap:12px}.ending-banner{font-size:19px;padding:8px 5px;top:10%}.ending-certificate{padding:8px}.ending-medal{width:48px;height:51px}.ending-certificate>small{font-size:16px}.ending-certificate h3{font-size:25px;margin:3px 0}.ending-shop-name{font-size:20px}.ending-certificate>p{font-size:18px;line-height:1.3;margin:6px 0}.ending-record{font-size:16px;gap:2px 8px}.ending-footer{gap:12px}.ending-footer>p{font-size:17px}.ending-footer>button{font-size:19px;min-height:46px;padding:9px 16px}}
@media(prefers-reduced-motion:reduce){.ending-guests>div,.ending-petals i{animation:none}.ending-petals{display:none}}
.view-ending>.top{flex-wrap:nowrap;gap:10px}.view-ending .top .brand{width:auto;flex:1;min-width:130px}.view-ending .top .hud{min-width:100px;width:auto;flex:1}.ending-record{display:grid;grid-template-columns:1fr 1fr;width:100%}.ending-record>span:last-child{grid-column:1/-1}
@media(max-height:650px){.view-ending .top .brand h1{font-size:23px}.view-ending .top .brand .student-switch{font-size:14px}.view-ending .top .hud{min-height:64px}.ending-medal{width:36px;height:38px}.ending-certificate>small{display:none}.ending-record{line-height:1.2}}
.shell.view-reviews{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:12px 18px}.view-reviews>.top{flex:none;margin-bottom:10px}.review-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 22px}.reviews-heading{display:flex;align-items:center;gap:12px;flex:none}.reviews-heading>div{flex:1;min-width:0}.reviews-heading h2{font-size:28px;margin:0 0 4px}.reviews-heading p{font-size:18px;margin:0;color:#857761}.reviews-heading .softbtn{min-height:46px;white-space:nowrap}.review-day-arrow{font-size:30px;padding:2px 12px;min-width:46px}.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;flex:1;min-height:0}.customer-review{border:2px solid #deceb5;border-radius:20px;padding:20px;background:#fffaf0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px;overflow:hidden}.customer-review>header{display:flex;align-items:center;gap:12px;flex:none}.review-avatar{width:72px;height:78px;flex:none}.review-avatar>.customer{width:100%;height:100%;animation:none;background-color:transparent}.customer-review h3{font-size:23px;margin:0 0 3px}.review-stars{color:#bf9444;font-size:22px;letter-spacing:1px;line-height:1.3}.review-visit{font-size:16px;color:#8e836e;align-self:flex-start;margin-left:auto;white-space:nowrap}.review-product{font-size:18px;color:#7e8f71;margin:0;padding-bottom:8px;border-bottom:1px solid #e0d4c2;line-height:1.35}.review-text{font-size:23px;line-height:1.65;margin:0;overflow-wrap:anywhere}.reviews-pager{display:flex;align-items:center;justify-content:center;gap:24px;flex:none;font-size:19px}.reviews-pager button{min-height:44px;min-width:85px}.reviews-empty{grid-column:1/-1;align-self:center;text-align:center;font-size:20px;color:#897e6b}.reviews-empty h3{font-size:24px}.growth-summary .summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.summary-actions>[data-action=start]{grid-column:1/-1;grid-row:1}.summary-actions>.review-entry{background:#e6eed9;border-color:#a4b78b}.growth-summary .summary-actions>.softbtn{font-size:18px;padding:8px 6px;min-height:44px}
.summary-finances{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.summary-finances>.money-line{min-width:0}
.customer-review .review-product{font-size:18px;line-height:1.35;margin:0;padding-bottom:8px}.customer-review .review-text{font-size:23px;line-height:1.65;margin:0}.view-reviews>.top{flex-wrap:nowrap;gap:10px}.view-reviews .top .brand{width:auto;flex:1;min-width:130px}.view-reviews .top .hud{min-width:100px;width:auto;flex:1}
@media(max-height:650px){.customer-review .review-product{font-size:18px;padding-bottom:5px}.customer-review .review-text{font-size:19px;line-height:1.45}.view-reviews .top .hud{min-height:64px}.view-reviews .top .brand h1{font-size:22px}.view-reviews .top .brand .student-switch{font-size:14px}}
@media(max-height:650px){.shell.view-reviews{padding:9px 14px}.view-reviews>.top{margin-bottom:8px}.review-panel{padding:10px 12px;gap:8px}.reviews-heading{gap:8px}.reviews-heading h2{font-size:24px;margin-bottom:2px}.reviews-heading p{font-size:16px}.reviews-heading .softbtn{min-height:44px;font-size:17px;padding:7px 10px}.reviews-heading .review-day-arrow{font-size:27px;min-width:44px;padding:2px 10px}.review-list{gap:10px}.customer-review{padding:12px;gap:6px;justify-content:flex-start}.review-avatar{width:48px;height:52px}.customer-review>header{gap:8px}.customer-review h3{font-size:20px}.review-stars{font-size:19px;letter-spacing:0}.review-visit{font-size:14px}.review-product{font-size:17px;padding-bottom:5px}.review-text{font-size:19px;line-height:1.45}.reviews-pager{gap:18px;font-size:17px}.reviews-pager button{font-size:17px;padding:6px 10px}.view-reviews .top .brand h1{font-size:23px}.reviews-empty{font-size:18px}.reviews-empty h3{font-size:22px}}
.room.special-arrival .special-request-bubble{border:3px solid #819f79;box-shadow:0 0 0 5px #eff5dba6,0 7px 0 #8f6d4720;animation:request-arrival 450ms ease-out}.special-request-badge{display:block;color:#617d58;font-size:17px;margin-bottom:7px}.special-arrival .special-bench-entry{background:#c4dbb5;border-color:#8ca379;box-shadow:0 4px 0 #7e986e;color:#3f5940}.held-service-prop{position:absolute;left:-20%;bottom:0;width:45%;height:47%;filter:drop-shadow(0 3px 1px #66503930)}.held-service-prop>.service-prop{width:100%;height:100%}.special-arrival .customer-spot>.special-guest{width:100%;height:100%}.special-arrival .speech-footer .stage{font-size:15px}.room.special-arrival .speech{top:18%;left:6%;right:6%;max-height:45%;padding-top:14px;padding-bottom:12px}.special-arrival .speech p{font-size:22px;line-height:1.45}.special-arrival .speech .result-fact{font-size:19px}.special-arrival .speech .mood{top:36px}.special-arrival.result-room .speech .mood{top:15px}
@keyframes request-arrival{from{opacity:.3;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-height:650px){.room.special-arrival .speech{top:18%;padding-top:9px;padding-bottom:8px}.special-request-badge{font-size:16px;margin-bottom:3px}.special-arrival .speech p{font-size:19px;line-height:1.35}.special-arrival .speech .result-fact{font-size:17px}.special-arrival .speech-footer .stage{font-size:13px}.special-arrival .speech .mood{top:26px}}
@media(prefers-reduced-motion:reduce){.room.special-arrival .special-request-bubble{animation:none}}
.shop-scenery{position:absolute;inset:0;overflow:hidden;pointer-events:none;isolation:isolate;z-index:0}
.scene-background,.scene-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.scene-foreground{clip-path:polygon(0 74%,100% 74%,100% 100%,0 100%);z-index:3}
.scene-prop{position:absolute;z-index:1;pointer-events:none}
.decor-bitmap{display:block;width:100%;height:100%;min-width:0;min-height:0}
.decor-bitmap>svg{display:block;width:100%;height:100%;overflow:hidden}
.scene-wall{left:26%;top:4%;width:53%;height:59%;opacity:.42;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.scene-wall svg{height:100%;width:100%}
.scene-plant{left:1%;top:7%;width:31%;height:62%;opacity:.4}
.scene-shelf{left:25%;bottom:27%;width:17%;height:43%}
.scene-flowers{left:3%;bottom:27%;width:14%;height:29%}
.scene-lamp{top:2%;width:7%;height:12%}.scene-lamp.lamp-left{left:77%}.scene-lamp.lamp-right{left:91%}
.scene-clock{left:42%;top:2%;width:7%;height:12%}
.scene-garland{left:53%;top:1%;width:22%;height:13%}
.scene-sealer{right:3%;bottom:26%;width:15%;height:12%;z-index:2}
.scene-bell{left:4%;bottom:26%;width:8%;height:11%;z-index:2}
.scene-mint-counter{position:absolute;left:0;right:0;bottom:0;height:28%;z-index:4;display:flex;pointer-events:none}
.scene-mint-counter>.decor-bitmap{flex:1;min-width:0}
.scene-mint-counter svg{overflow:visible}
.scene-floor{left:0;bottom:0;width:100%;height:10%;z-index:5}
.scene-floor svg{overflow:visible}
.scene-sign{position:absolute!important;left:4%!important;top:3%!important;z-index:7;max-width:35%!important;font-family:ShopJua,sans-serif;letter-spacing:0;box-shadow:none!important;white-space:nowrap;overflow:hidden!important}
.room>.scene-sign:not(.wood-sign){padding:8px 13px;font-size:clamp(14px,1.6vw,19px);border:1px solid #dbc5a4;background:#fff9eadd;border-radius:10px}
.room>.scene-sign.wood-sign,.has-sign .room>.scene-sign.wood-sign{width:35%;height:14%;padding:0;background:transparent;border:0;box-shadow:none}
.wood-sign>.decor-bitmap{position:absolute;inset:0}
.wood-sign>.plate-title{position:absolute;left:8%;right:8%;top:34%;bottom:12%;display:flex;align-items:center;justify-content:center;font-size:clamp(14px,1.6vw,19px);overflow:hidden;text-overflow:ellipsis}
.painted-shop-preview{position:relative;overflow:hidden;isolation:isolate;border-radius:16px;aspect-ratio:16/9;container-type:inline-size;background:#f8eedc;width:100%;max-width:none}
.painted-shop-preview .scene-sign:not(.wood-sign){font-size:clamp(9px,2.6cqw,18px);padding:5px 8px;background:#fff9eadd;border:1px solid #dac9ad;border-radius:7px}
.painted-shop-preview .scene-sign.wood-sign{width:35%;height:14%;padding:0;border:0;background:transparent}
.painted-shop-preview .wood-sign>.plate-title{font-size:clamp(9px,2.5cqw,18px)}
.shell.plant .room::before{content:none;display:none}
.view-counter .room,.view-result .room,.has-wall .room,.has-lamp .room,.wall .room{background:#f8eedc;background-blend-mode:normal;box-shadow:0 5px 18px #8f75531c;border:5px solid #fffaf0}
.has-floor .room{border-bottom-width:5px}
.has-counter .counter-actions{background:transparent;border-radius:0;padding:0}
.room>.customer-spot{z-index:2;left:55%;bottom:24%;width:min(320px,47%);height:43%}
.room>.speech{z-index:6}
.room>.counter-actions{z-index:8}
.room>.result-item{z-index:6}
.result-notice{position:absolute;left:4%;top:3%;background:#fff7e8e8;border:1px solid #d9c3a3;border-radius:10px;padding:8px 13px;font-size:17px;z-index:7}
.view-bench .station{background:linear-gradient(#f7f0e2,#e9d4b3);box-shadow:inset 0 -8px 0 #d5b68c44}
.installed-sealer{width:46px;height:34px;margin-right:8px;flex:none}.installed-sealer>.upgrade-art{width:100%;height:100%}
.view-home .intro-visual{padding:18px;gap:16px;background:#f0ead9;justify-content:center}
.view-home .intro-visual>.painted-shop-preview{margin:0;flex:0 1 auto;max-height:none;max-width:none}
.home-stage-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:0 0 auto;width:100%}
.home-stage{min-width:0;background:#fff8e9;border:2px solid #ded2bc;border-radius:10px;overflow:hidden;color:#927c62;text-align:center}
.home-stage img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.home-stage span{display:block;font-size:16px;padding:6px 2px;line-height:1.3;word-break:keep-all}
.home-stage.current{border-color:#8aaf8f;color:#466a4e;background:#e5efdc;box-shadow:0 2px 0 #87a68544}
.home-stage.reached{border-color:#b3c7a4}
.view-home .home-menu-count{font-size:15px;line-height:1.5;margin:8px 0 0;color:#97816c}
.home-practice-links .softbtn{margin-top:0!important}
.growth-card .decor-bitmap{width:80px;height:80px}
.growth-card button{min-height:44px}
.level-trail>span{display:flex;gap:6px;align-items:center}.level-trail b{font-weight:400}.level-trail em{font-style:normal}
.compact-growth .growth-card-grid{grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr))}
.compact-growth .growth-card{grid-template-columns:72px minmax(0,1fr);gap:10px}
.compact-growth .growth-card .decor-bitmap{width:68px;height:80px}
.compact-growth .growth-card p{font-size:18px;line-height:1.4}
.compact-growth .growth-card button{min-height:44px}
@media(min-width:768px) and (orientation:landscape){
 .shell.view-home,.shell.view-growth,.shell.view-summary{height:100dvh;min-height:0;overflow:hidden}
 .view-home .top,.view-growth .top,.view-summary .top{flex-wrap:nowrap}
 .view-home .brand,.view-growth .brand,.view-summary .brand{flex:1;min-width:0}
 .view-home .intro{display:grid;grid-template-columns:1.05fr 1fr;min-height:0}
 .view-home .intro-visual{min-height:0;display:flex;flex-direction:column}
 .growth-panel{min-height:0;flex:1}
 .growth-card-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
 .compact-growth .growth-card-grid{grid-template-rows:minmax(0,1fr)}
 .expansion-layout{grid-template-columns:1fr 1fr}
 .expansion-preview .painted-shop-preview{flex:0 1 auto;height:auto;aspect-ratio:16/9;max-height:none}
}
@media(max-height:620px) and (min-width:768px){
 .shell.view-home,.shell.view-growth{padding:9px 12px}
 .view-home .top,.view-growth .top{margin-bottom:8px;gap:8px}
 .view-home .brand h1,.view-growth .brand h1{font-size:22px}
 .view-home .intro-visual{padding:12px;gap:10px}
 .home-stage-trail{gap:5px}.home-stage span{font-size:14px;padding:4px 1px}.home-stage img{max-height:55px}
 .view-home .intro-copy{padding:12px;justify-content:center}
 .view-home .intro-copy h2{font-size:24px;margin:4px 0 8px}
 .view-home .growth-entry{min-height:46px;padding:7px 10px}.view-home .growth-entry>span{font-size:20px}.view-home .growth-entry small{display:none}
 .view-home .home-menu-count{display:none}
 .view-home .menu-preview{margin:8px 0}.view-home .menu-preview .item{height:30px}.view-home .menu-preview b{font-size:15px;line-height:1.2}
 .view-home .intro-copy .primary{min-height:46px;margin-top:6px;padding:8px 12px}
 .home-practice-links{gap:6px}.home-practice-links button{font-size:16px;min-height:44px;padding:7px}
 .growth-panel{padding:10px 12px}.growth-heading{margin-bottom:7px}.growth-heading small{display:none}.growth-heading h2{font-size:25px}
 .growth-tabs{gap:6px;margin-bottom:8px}.growth-tabs button{font-size:19px;min-height:44px;padding:7px 3px}
 .growth-card{padding:10px}.growth-card h3{font-size:22px}.growth-card small{font-size:14px}
 .growth-pager{min-height:44px;margin:0;gap:16px}.growth-content{gap:7px}
 .expansion-layout{gap:14px}.expansion-preview{padding:10px}.expansion-preview h3{font-size:23px;margin:8px 0}.expansion-preview p{font-size:16px}
 .expansion-preview .painted-shop-preview{flex:1 1 0;height:0;aspect-ratio:auto;min-height:90px}
 .expansion-preview h3,.expansion-preview p{flex-shrink:0}.expansion-preview p{line-height:1.35}
 .expansion-plan h2{font-size:23px;margin:9px 0 6px}.expansion-plan>p{font-size:17px;margin:5px 0}.expansion-needs{margin:8px 0}.expansion-needs li{font-size:17px;padding:5px 0}.expansion-needs span{font-size:15px}
 .expansion-plan>p{display:none}.level-trail em{display:none}
 .level-trail span{font-size:14px;padding:5px}.expansion-plan .primary{font-size:18px;padding:8px;min-height:44px}
 .room>.speech{top:16%;max-height:34%}.room>.customer-spot{bottom:23%;height:42%;left:55%}
 .room>.scene-sign:not(.wood-sign){font-size:14px;padding:5px 9px}.wood-sign>.plate-title{font-size:14px}
}

@media(max-height:650px){
 .shell.view-summary>.growth-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:10px;flex:1;min-height:0}
 .growth-summary>.paper{padding:10px 14px;min-height:0;overflow:hidden}.growth-summary>.paper>small{display:none}.growth-summary>.paper>h2{font-size:23px;line-height:1.25;margin:0 0 5px}
 .growth-summary .ledger-counts{gap:8px;margin:4px 0 6px}.growth-summary .ledger-counts>div{padding:5px 6px;display:flex;align-items:center;justify-content:space-between;gap:5px}.growth-summary .ledger-counts span{font-size:16px;line-height:1.2}.growth-summary .ledger-counts strong{font-size:24px;margin:0;white-space:nowrap}
 .growth-summary .summary-finances{gap:3px 12px}.growth-summary .summary-finances>.money-line{display:flex;flex-direction:column;align-items:flex-start;padding:2px 0;gap:0;font-size:17px;line-height:1.2}.summary-finances .money-line>b{font-size:19px;line-height:1.25}
 .growth-summary .money-line.total{font-size:22px;line-height:1.2;padding:6px 0;margin:2px 0 4px}.growth-summary .waste-line{display:none}.growth-summary .summary-actions{gap:6px;margin-top:auto}.growth-summary .summary-actions>button{min-height:44px;padding:7px;font-size:18px;line-height:1.2}
 .growth-summary-goals .painted-shop-preview{max-height:95px;min-height:0;flex:1}.growth-summary-goals:has(.menu-unlock) .painted-shop-preview{display:none}.growth-summary-goals .growth-entry{min-height:46px;padding:6px 9px;margin:0 0 6px}.growth-summary-goals .growth-entry>span{font-size:19px}.growth-summary-goals .growth-entry small{display:none}.growth-summary-goals .summary-goal{font-size:17px!important;line-height:1.3;margin:6px 0!important}.growth-summary .summary-growth-buttons{gap:6px}.summary-growth-buttons>button{font-size:16px;min-height:44px;padding:6px;line-height:1.2}.growth-summary .menu-unlock{margin-top:5px;padding:5px}.growth-summary .menu-unlock h3{font-size:17px}.growth-summary .menu-unlock b{font-size:15px}.growth-summary .menu-unlock .item{height:35px;width:42px}
}

/* Reviews fill the space formerly used by the shop picture; only the list scrolls. */
.growth-summary .summary-actions{grid-template-columns:1fr}.summary-actions>[data-action=start]{grid-column:auto}
.summary-reviews{display:flex;flex-direction:column;flex:1;min-height:130px;min-width:0;margin:8px 0 12px;padding:10px 12px;border:1px solid #d9cbb5;border-radius:12px;background:#fffaf0}
.summary-reviews>header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;line-height:1.4}
.summary-reviews h3{font-size:20px;margin:0}.summary-reviews h3>span{font-family:ShopGowun,sans-serif;font-size:17px;font-weight:400;color:#857761}.summary-reviews .day-rating{font-size:18px;white-space:nowrap}
.summary-review-scroll{flex:1;min-height:0;height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#a9b795 #eee7da;touch-action:pan-y;outline-offset:3px}
.summary-review-scroll:focus-visible{outline:3px solid #8ca379;border-radius:4px}
.summary-review-row{padding:4px 0;border-bottom:1px solid #e8decd;font-size:18px;line-height:26px;overflow-wrap:anywhere}.summary-review-row:last-child{border:0}.summary-review-row>b{color:#6c5b43}.summary-review-row .review-stars{font-size:17px;line-height:inherit;letter-spacing:0;white-space:nowrap}.summary-review-product{color:#8e806c;font-size:16px}.summary-reviews-empty{font-size:18px;line-height:26px;margin:4px 0;color:#857761}
@media(max-height:850px){.summary-reviews{margin:6px 0 8px;padding:8px 10px}.summary-reviews h3{font-size:19px}.summary-reviews .day-rating{font-size:17px}.summary-reviews>header{margin-bottom:3px}}

.view-summary .top .brand{min-width:240px;flex:1}.view-summary .top .hud{flex:0 1 130px;min-width:90px}.view-summary .top .brand h1{font-size:23px;white-space:nowrap}
@media(max-height:650px){.growth-summary-goals .menu-unlock .item{display:none}.growth-summary-goals .menu-unlock b{font-size:16px;line-height:1.3}.summary-reviews{padding:6px 10px;margin:4px 0 6px}}

/* A review is one aligned row: round portrait/name, rating, and its own text column. */
.summary-review-row,.customer-review{display:grid;grid-template-columns:64px 92px minmax(0,1fr);align-items:start;gap:12px;min-width:0;overflow:visible}
.summary-review-row{padding:10px 0;border-bottom:1px solid #e8decd;font-size:18px;line-height:1.4}
.review-person{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.review-avatar{display:grid;place-items:center;width:54px;height:54px;flex:none;border:2px solid #d9c6a6;border-radius:50%;overflow:hidden;background:#f1eadb;box-sizing:border-box}
.review-avatar>.customer,.review-avatar>.study-child{display:block;position:relative;width:100%;height:100%;max-height:100%;min-height:0;animation:none}
.review-avatar .customer>svg{width:100%;height:100%;transform:scale(1.24);transform-origin:50% 40%}.review-avatar .study-notebook-prop{display:none}
.review-name{display:block;max-width:100%;font-size:15px;line-height:1.3;color:#7a674e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.summary-review-row>.review-stars,.customer-review>.review-stars{display:block;padding-top:13px;white-space:nowrap;font-size:17px;letter-spacing:0;line-height:1.4;color:#b18b3c}
.summary-review-row>.review-text,.customer-review>.review-text{grid-column:3;min-width:0;margin:0;padding-top:10px;font-size:19px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.review-list{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}.customer-review{grid-template-columns:76px 116px minmax(0,1fr);align-content:center;overflow:auto}.customer-review>.review-text{font-size:22px}.customer-review>.review-stars{font-size:21px}.customer-review .review-avatar{width:66px;height:66px}.customer-review .review-name{font-size:17px}
.growth-summary .summary-growth-buttons{grid-template-columns:1fr 1fr;display:grid}
.summary-shop-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:none;margin:6px 0 4px}
.summary-shop-actions>button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:66px;border:2px solid #9eae89;border-radius:14px;background:#e2edd7;box-shadow:0 3px 0 #98a583;color:#4d6242;cursor:pointer;padding:8px 7px}
.summary-shop-actions>.shop-expand-action{border-color:#c7ab79;background:#f5e7c9;box-shadow:0 3px 0 #bda67c;color:#7b603b}.summary-shop-actions b{font:22px ShopJua,sans-serif;line-height:1.2}.summary-shop-actions small{font:16px ShopGowun,sans-serif;line-height:1.2}.summary-shop-actions>button:focus-visible{outline:3px solid #739781;outline-offset:3px}
.shop-guide-target{outline:4px solid #d0a14f!important;outline-offset:4px;background:#f7e9bf!important;box-shadow:0 0 0 8px #f2d88840!important}
@media(max-height:650px){.summary-shop-actions{gap:7px;margin:4px 0}.summary-shop-actions>button{min-height:54px;padding:5px}.summary-shop-actions b{font-size:20px}.summary-shop-actions small{font-size:15px}.growth-summary-goals>.summary-reviews{min-height:90px;margin:6px 0}.summary-review-row{grid-template-columns:49px 72px minmax(0,1fr);gap:7px;padding:8px 0}.summary-review-row .review-avatar{width:44px;height:44px}.summary-review-row .review-name{font-size:14px}.summary-review-row>.review-stars{font-size:15px;padding-top:11px}.summary-review-row>.review-text{font-size:17px;line-height:1.45;padding-top:8px}.customer-review{grid-template-columns:60px 92px minmax(0,1fr);gap:10px}.customer-review .review-avatar{width:48px;height:48px}.customer-review .review-name{font-size:15px}.customer-review>.review-stars{font-size:18px}.customer-review>.review-text{font-size:19px;line-height:1.45}}
/* The pink line and dot are a visible target, and turn green when aligned. */
.robot-target-guide{pointer-events:none}.robot-target-halo{stroke:#fffaf0;stroke-width:10;fill:none;vector-effect:non-scaling-stroke}
.robot-arm-model .robot-height-target{stroke:#c96e87;stroke-width:4;stroke-dasharray:10 7;fill:none;vector-effect:non-scaling-stroke}
.robot-target-point{fill:#fff8eb;stroke:#c96e87;stroke-width:4;vector-effect:non-scaling-stroke}.robot-target-badge{fill:#fff6ec;stroke:#c96e87;stroke-width:2;vector-effect:non-scaling-stroke}
.robot-arm-model .robot-guide-label{fill:#a64f6a;font:28px ShopJua,sans-serif}.robot-grip-center{fill:#fff8ef;stroke:#c96e87;stroke-width:3;pointer-events:none;vector-effect:non-scaling-stroke}
.robot-target-guide.matched .robot-height-target,.robot-target-guide.matched .robot-target-point,.robot-target-guide.matched .robot-target-badge{stroke:#6b9c77}.robot-target-guide.matched .robot-guide-label{fill:#507c5a}

/* Shopping is grouped above the next-day actions in the left ledger. */
.growth-summary>.paper:first-child .summary-shop-actions{margin-top:auto;margin-bottom:0;padding-top:12px}
.growth-summary .summary-actions{margin-top:10px}
@media(max-height:650px){.growth-summary>.paper:first-child .summary-shop-actions{padding-top:6px}.growth-summary .summary-actions{margin-top:8px}}
@media(max-height:580px){.growth-summary .summary-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.growth-summary .summary-actions>button{font-size:17px;padding:6px;min-height:46px}.growth-summary .summary-shop-actions>button{min-height:51px}.growth-summary .summary-shop-actions b{font-size:19px}.growth-summary .summary-shop-actions small{font-size:14px}}
/* A ceremony is a set of pages, read before any customer or payment is created. */
.award-story{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;gap:16px;padding:20px 24px!important;overflow:hidden}
.award-story-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none}.award-story-heading small{font-size:18px;color:#8c785b}.award-story-heading h2{font-size:32px;line-height:1.25;margin:5px 0 0}.award-page-count{font-family:ShopJua,sans-serif;font-size:24px;white-space:nowrap;padding:9px 17px;background:#efe3c7;border-radius:25px;color:#8e7452}
.award-story-layout{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:18px;flex:1;min-height:0}.award-scene{position:relative;isolation:isolate;overflow:hidden;border:2px solid #d4bd96;border-radius:20px;background:#f2e2be}.award-scene>.shop-scenery{z-index:-1}.award-scene .customer{display:block;width:100%;height:100%;background:none;animation:none}
.award-dialogue{display:flex;flex-direction:column;justify-content:center;min-height:0;min-width:0;background:#f7efdd;border:1px solid #ddcdad;border-radius:18px;padding:20px 22px;gap:13px}.award-speaker{align-self:flex-start;display:block;padding:6px 12px;background:#dce7d3;border-radius:10px;color:#657654;font:20px ShopJua,sans-serif}.award-dialogue p{font-size:23px;line-height:1.6;margin:0;word-break:keep-all;overflow-wrap:anywhere;color:#6f604b}
.award-story-footer{display:flex;align-items:center;gap:14px;flex:none}.award-story-footer p{flex:1;margin:0;text-align:center;font-size:18px;color:#958166;line-height:1.4}.award-story-footer button{min-height:52px;white-space:nowrap;font-size:21px}.award-story-footer .primary{padding:10px 20px}
.city-seal{display:block;width:78px;height:78px;flex:none}.award-envelope{position:absolute;left:10%;right:10%;top:20%;bottom:15%;display:flex;align-items:center;justify-content:center}.award-envelope>svg:first-child{position:absolute;inset:0;width:100%;height:100%}.award-envelope>.city-seal{position:absolute;width:22%;height:auto;left:39%;top:42%}.award-envelope>span{position:absolute;left:12%;right:12%;top:15%;text-align:center;font:24px ShopJua,sans-serif;color:#8b7453;transform:rotate(-4deg)}
.award-official{position:absolute;left:15%;bottom:5%;width:55%;height:62%}.award-official>span:last-child{position:absolute;bottom:0;left:15%;right:15%;padding:5px 7px;background:#edf0d9;border:1px solid #bdc59c;border-radius:8px;text-align:center;font:18px ShopJua,sans-serif;color:#6d7958}.award-visitor-bubble{position:absolute;right:7%;top:13%;padding:14px 18px;border:2px solid #d4bd96;border-radius:20px;background:#fff8e8;color:#8a7351;font:24px/1.5 ShopJua,sans-serif;transform:rotate(3deg)}
.award-plaque{position:absolute;top:7%;right:7%;width:65%;height:57%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:15px 10px;background:#fff9e6;border:5px double #bfaa72;border-radius:15px;box-shadow:0 5px 10px #6e4c2b22;text-align:center}.award-plaque .city-seal{width:64px;height:64px}.award-plaque small{font-size:16px;color:#b19a70}.award-plaque b{font:25px ShopJua,sans-serif;color:#8a7042}.award-plaque strong{font:22px ShopJua,sans-serif;color:#6e5b43;overflow-wrap:anywhere}.award-plaque>span{font-size:17px;color:#a48d62}.scene-award .award-official{width:40%;height:48%;left:1%;bottom:3%}
.award-neighbors{position:absolute;left:3%;right:3%;bottom:5%;height:49%;display:flex;gap:0}.award-neighbors>.customer{width:25%;min-width:0}.award-cheer{position:absolute;left:8%;right:8%;top:12%;border:2px solid #d8c29b;border-radius:17px;background:#fff7df;padding:13px 8px;text-align:center;font:26px ShopJua,sans-serif;color:#9a7a45;transform:rotate(-2deg)}
.award-owner{position:absolute;left:6%;bottom:4%;width:61%;height:65%}.award-open-sign{position:absolute;left:7%;right:7%;top:8%;padding:10px 7px;background:#d4e3cd;border:3px solid #9aaf8f;border-radius:10px;text-align:center;font:24px ShopJua,sans-serif;color:#6c7a59}.award-wall-prize{position:absolute;right:8%;top:28%;display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff4d8;border:4px double #bba578;border-radius:10px;padding:12px;text-align:center;font:20px/1.3 ShopJua,sans-serif;color:#94754b}.award-wall-prize .city-seal{width:60px;height:60px}
@media(max-height:700px){.award-story{gap:10px;padding:13px 16px!important}.award-story-heading h2{font-size:27px}.award-story-heading small{font-size:17px}.award-dialogue{padding:15px 17px;gap:10px}.award-dialogue p{font-size:21px;line-height:1.5}.award-speaker{font-size:18px}.award-story-layout{gap:12px}.award-plaque{padding:8px;gap:4px}.award-plaque .city-seal{width:48px;height:48px}.award-plaque b{font-size:21px}.award-plaque strong{font-size:20px}.award-story-footer button{min-height:48px;font-size:19px}.award-story-footer p{font-size:17px}.award-visitor-bubble{font-size:22px;padding:9px 13px}}
@media(max-height:580px){.award-story{gap:8px;padding:10px 13px!important}.award-story-heading h2{font-size:24px;margin-top:2px}.award-story-heading small{font-size:15px}.award-page-count{font-size:20px;padding:6px 13px}.award-dialogue{padding:10px 13px;gap:8px}.award-dialogue p{font-size:19px;line-height:1.42}.award-speaker{font-size:17px;padding:5px 8px}.award-story-footer{gap:8px}.award-story-footer p{font-size:15px}.award-story-footer button{font-size:18px;padding:7px 12px}.award-plaque .city-seal{width:38px;height:38px}.award-plaque{gap:3px;padding:5px}.award-plaque small{display:none}.award-plaque b{font-size:20px}.award-plaque strong{font-size:18px}.award-plaque>span{font-size:15px}.award-official>span:last-child{font-size:15px}.award-envelope>span{font-size:21px}.award-cheer{font-size:23px}.award-open-sign{font-size:20px;padding:7px 4px}.award-wall-prize{padding:7px;font-size:17px}.award-wall-prize .city-seal{width:42px;height:42px}}

/* A wordless framed gold medal stays on the wall beside the window. */
.award-wall-prize{display:block;width:25%;padding:0;border:0;border-radius:0;background:none;aspect-ratio:16/21;filter:drop-shadow(1px 3px 2px #74573035)}
.award-wall-prize>svg{display:block;width:100%;height:100%}
.shop-scenery>.scene-award-plaque{position:absolute;left:30%;top:37%;right:auto;width:13%;max-width:124px;z-index:5}
@media(max-width:940px){.room .shop-scenery>.scene-award-plaque{left:27%;top:49%;width:11%}}
