:root{--cream:#f8f1e6;--paper:#fffdf8;--cocoa:#40352c;--cocoa-soft:#78695c;--orange:#dd6256;--orange-deep:#b9473e;--green:#526544;--peach:#f7c6c0;--line:#dfd0bc;--calm-blue:#3d6fa8;--calm-blue-soft:#e6eef8;--warn:#b5523b;--radius:22px;--shadow:0 8px 24px #48322117;--tab-h:72px;color:var(--cocoa);background:var(--cream);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Noto Sans Thai,Sukhumvit Set,Thonburi,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:#e8dfd2;margin:0;padding:0;overflow-x:hidden}body{min-height:100dvh;font-size:16px;line-height:1.55}small{font-size:14px}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--orange-deep)}img{max-width:100%}.app{background:var(--cream);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;box-shadow:0 0 40px #3c2d2014}.topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff8eef2;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:18px;font-weight:700}.topbar .back{cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;font-size:22px}.safety-link{background:var(--calm-blue-soft);min-width:44px;min-height:44px;color:var(--calm-blue);border-radius:22px;justify-content:center;align-items:center;font-size:20px;text-decoration:none;display:inline-flex}main.content{padding:16px 16px calc(var(--tab-h) + 24px);flex:1}.tabs{height:var(--tab-h);z-index:6;padding-bottom:env(safe-area-inset-bottom);background:#354434;border-top:1px solid #ffffff1f;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #2a362829}.tabs nav{grid-template-columns:repeat(5,1fr);width:100%;max-width:480px;display:grid}.tabs a{color:#e8e6d8;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;margin:7px 3px;font-size:14px;text-decoration:none;display:flex}.tabs a .ico{font-size:22px;line-height:1}.tabs a.active{color:#3f4b34;background:#fff1d3;font-weight:800}.card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #70574024;margin-bottom:16px;padding:18px}.card h2,.card h3{margin:0 0 8px;font-size:17px}.muted{color:var(--cocoa-soft);font-size:14px}.small{font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:10px;display:flex}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.spacer{flex:1}.center{text-align:center}.btn{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:18px;justify-content:center;align-items:center;gap:6px;min-height:50px;padding:10px 18px;font-size:16px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 5px 14px #aa423924}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.block{width:100%}.btn.secondary{color:var(--cocoa);background:#f4e7d6}.btn.ghost{color:var(--cocoa);border:1.5px solid var(--line);background:0 0}.btn.green{background:var(--green)}.btn.calm{background:var(--calm-blue)}.btn.danger{background:var(--warn)}.btn.sm{border-radius:12px;min-height:44px;padding:7px 12px;font-size:15px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--paper);cursor:pointer;border-radius:22px;min-height:44px;padding:8px 14px;font-size:16px}.chip.on{background:var(--orange);color:#fff;border-color:var(--orange);font-weight:700}.chip:disabled{opacity:.45}.badge{overflow-wrap:anywhere;background:#f4e7d6;border-radius:12px;max-width:100%;padding:3px 10px;font-size:14px;display:inline-block}.badge.lock{color:#5a4b7a;background:#ece6f4}.badge.ok{color:#2f6b3e;background:#e2f0e5}.feedback-item{border-bottom:1px solid var(--line);padding:12px 0}.feedback-item:last-child{border-bottom:0}.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}label.field{flex-direction:column;gap:6px;margin-bottom:14px;font-size:16px;font-weight:600;display:flex}input[type=text],input[type=time],input[type=date],input[type=number],select,textarea{border:1.5px solid var(--line);background:var(--paper);border-radius:12px;width:100%;min-height:48px;padding:10px 12px;font-weight:400}textarea{resize:vertical;min-height:96px}.check{background:var(--paper);border:1.5px solid var(--line);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:10px;padding:12px;display:flex}.check input{width:24px;height:24px;accent-color:var(--orange);flex:none;margin-top:2px}.state{text-align:center;color:var(--cocoa-soft);padding:32px 12px}.state .emoji{font-size:40px}.spinner{border:4px solid var(--line);border-top-color:var(--orange);border-radius:50%;width:36px;height:36px;margin:0 auto 12px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#8a2f22;background:#fbeceb;border-radius:14px;margin-bottom:12px;padding:12px}.toast{left:50%;bottom:calc(var(--tab-h) + 16px);background:var(--cocoa);color:#fff;z-index:10;border-radius:22px;max-width:90vw;padding:10px 18px;font-size:15px;position:fixed;transform:translate(-50%)}.hero{text-align:center;padding:24px 8px 8px}.hero img{width:180px;height:auto}.hero h1{margin:8px 0 4px;font-size:26px}.notice{background:var(--calm-blue-soft);color:#274b75;border-radius:14px;padding:12px 14px;font-size:14px}.cat-card{cursor:pointer;align-items:center;gap:12px;display:flex}.cat-card img{flex:none;width:84px;height:auto}.cat-card.selected{outline:3px solid var(--orange)}.bond-bar{background:#f4e7d6;border-radius:6px;height:12px;overflow:hidden}.bond-bar>div{background:linear-gradient(90deg, var(--orange), #f7b267);border-radius:6px;height:100%}.moods{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.mood-btn{border:1.5px solid var(--line);background:var(--paper);cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:82px;padding:7px 3px;font-size:14px;display:flex}.mood-btn .e{font-size:30px;line-height:1}.mood-btn.on{border-color:var(--orange);background:#fff1e3;font-weight:700}.chat{flex-direction:column;gap:10px;padding-bottom:12px;display:flex}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:18px;max-width:82%;padding:10px 14px}.bubble.user{background:var(--orange);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.bubble.cat{background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:6px;align-self:flex-start}.chat-cat{align-items:flex-end;gap:8px;display:flex}.chat-cat img{flex:none;width:36px;height:auto}.speaker-name{color:var(--orange-deep);margin-bottom:2px;font-size:14px;line-height:1.3;display:block}.bubble.cat>span{display:block}.talk-boundary{margin-bottom:10px;line-height:1.5}.composer{left:0;right:0;bottom:var(--tab-h);background:var(--cream);border-top:1px solid var(--line);z-index:5;padding:8px 12px;position:fixed}.composer form{gap:8px;max-width:456px;margin:0 auto;display:flex}.composer input{flex:1}.talk-pad{height:72px}.safety-banner{background:var(--calm-blue-soft);color:#274b75;border:1.5px solid #bcd0ea;border-radius:14px;margin-bottom:10px;padding:12px}.steps{counter-reset:s;margin:0;padding:0;list-style:none}.steps li{counter-increment:s;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.steps li:before{content:counter(s);background:#f4e7d6;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.timer{text-align:center;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800}.breath{background:radial-gradient(circle,#f7c6c0,#f2994a);border-radius:50%;width:140px;height:140px;margin:16px auto;animation:10s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:scale(.7)}40%{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.breath,.spinner,.wiggle{animation:none}}.wiggle{animation:.6s ease-in-out wiggle}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.occ{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 0;display:flex}.occ:last-child{border-bottom:0}.occ .title{font-weight:700}.occ.done .title{color:var(--cocoa-soft);text-decoration:line-through}.weekday-pick{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-pick .chip{text-align:center;padding:8px 0}.gift-preview{border-radius:var(--radius);background:#f4e7d6;overflow:hidden}.gift-preview img,.gift-preview video{width:100%;height:auto;display:block}.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sticker-tile{border:1.5px solid var(--line);background:var(--paper);min-height:148px;color:var(--cocoa);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex;position:relative}.sticker-tile img{aspect-ratio:1;object-fit:contain;border-radius:10px;width:100%}.sticker-tile span{font-size:14px;line-height:1.35}.sticker-tile small{background:var(--cocoa);color:#fff;border-radius:10px;padding:2px 6px;position:absolute;top:6px;right:6px}.sticker-locked,.sticker-skeleton{aspect-ratio:1;background:#f4e7d6;border-radius:10px;place-items:center;width:100%;font-size:30px;display:grid}.sticker-skeleton{animation:1.2s ease-in-out infinite alternate sticker-pulse}@keyframes sticker-pulse{0%{opacity:.45}to{opacity:.9}}.sticker-sheet{z-index:20;background:var(--cream);border:1px solid var(--line);border-radius:24px 24px 0 0;width:min(100%,480px);max-height:90vh;padding:18px;position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 -12px 35px #3e2f2633}.sticker-sheet img{border-radius:18px;width:min(100%,360px);margin:0 auto;display:block}.sticker-sheet p{text-align:center;font-weight:700}@media (width<=370px){.sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.sticker-skeleton{animation:none}}.plan{border:2px solid var(--line)}.plan.current{border-color:var(--green)}.price{font-size:26px;font-weight:800}.resource{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.resource:last-child{border-bottom:0}.hidden-sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tb-spacer{width:44px;display:inline-block}a.card,a.mood-btn,a.row{color:inherit;text-decoration:none}input[type=password]{border:1.5px solid var(--line);background:var(--paper);border-radius:12px;width:100%;min-height:48px;padding:10px 12px}.legal-document{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:inherit;margin:0}.cat-avatar{border:2px solid var(--line);background:#fff1e3;border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;overflow:hidden}.cat-avatar img{object-fit:cover;width:100%;height:100%;display:block}.house{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.house a{background:var(--paper);border:1.5px solid var(--line);color:inherit;text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:12px 4px;text-decoration:none;display:flex}.house a.active{border-color:var(--orange);background:#fff1e3}.house .job{color:var(--cocoa-soft);font-size:14px;line-height:1.4}.bubble-group{flex-direction:column;gap:6px;display:flex}.quick{flex-wrap:wrap;gap:8px;display:flex}.progress{background:#f4e7d6;border-radius:5px;height:10px;overflow:hidden}.progress>div{background:linear-gradient(90deg, var(--green), #9cc7a4);height:100%}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.list-row:last-child{border-bottom:0}.amount.expense{color:var(--warn);font-variant-numeric:tabular-nums}.amount.income{color:#2f6b3e;font-variant-numeric:tabular-nums}.hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hub a{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);color:inherit;flex-direction:column;gap:4px;min-height:88px;padding:14px;text-decoration:none;display:flex}.hub a b{font-size:16px}.estimate{background:#f4e7d6;border-radius:10px;padding:3px 8px;font-size:14px}.warn-note{color:#6b4b12;background:#fff4e0;border:1px solid #f0d49b;border-radius:12px;padding:8px 10px;font-size:14px}.emergency{color:#8a2f22;background:#fbeceb;border:1.5px solid #e9b7ae;border-radius:14px;padding:12px}.mok-tools{scrollbar-width:none;gap:8px;padding:4px 0 88px;display:flex;overflow-x:auto}.mok-tools .chip{white-space:nowrap;color:var(--cocoa);text-decoration:none}.diary-hero{background:linear-gradient(145deg,#f4f1e8,#e7ecea);border-color:#cad4cf}.diary-hero h2{margin-top:4px;font-size:24px}.month-nav{text-align:center;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;display:grid}.month-nav h2{margin:0}.diary-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:14px;display:grid}.diary-calendar .weekday{text-align:center;color:var(--cocoa-soft);padding:5px 0;font-size:14px}.diary-calendar .day{border:1px solid var(--line);min-height:62px;color:var(--cocoa);background:#fffdfa;border-radius:10px;padding:4px;font-size:14px;text-decoration:none;position:relative;overflow:hidden}.diary-calendar .day.blank{visibility:hidden}.diary-calendar .day.has-entry{border-color:#9eb9ae;box-shadow:0 2px 8px #44504d1f}.diary-calendar .day>span:first-child{z-index:2;background:#ffffffc7;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex;position:relative}.diary-calendar .day small{z-index:2;background:var(--cocoa);color:#fff;border-radius:8px;padding:0 4px;position:absolute;top:3px;right:3px}.lookbook-visual{aspect-ratio:4/3;isolation:isolate;border-radius:18px;width:100%;position:relative;overflow:hidden}.lookbook-visual.compact{aspect-ratio:1;border-radius:8px}.lookbook-visual.placeholder{background:linear-gradient(145deg,#f1eee8,#cbd3cf)}.lookbook-shape{mix-blend-mode:multiply;display:block;position:absolute}.lookbook-shape.arc{background:0 0;border:5px solid;border-bottom-color:#0000!important;border-left-color:#0000!important}.diary-calendar .lookbook-visual{opacity:.78;border-radius:0;position:absolute;inset:0}.diary-list-item{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:58px 1fr;align-items:center;gap:12px;padding:10px 0;text-decoration:none;display:grid}.diary-list-item:last-child{border-bottom:0}.diary-list-item small{color:var(--cocoa-soft);display:block}.mood-field{border:0;margin:0 0 16px;padding:0}.mood-field legend{margin-bottom:8px;font-weight:600}.consent-card{background:#f6faf7;border-color:#9eb9ae}.lookbook-page{box-shadow:var(--shadow);background:#fff;border-radius:24px;margin-bottom:16px;overflow:hidden}.lookbook-page .lookbook-visual{aspect-ratio:4/3;border-radius:0}.lookbook-copy{padding:20px}.lookbook-copy time{color:var(--cocoa-soft);font-size:14px}.lookbook-copy h2{margin:6px 0 12px;font-size:25px;line-height:1.3}.lookbook-copy blockquote{background:#f4f1e8;border-left:3px solid #9eb9ae;border-radius:0 12px 12px 0;margin:18px 0 0;padding:12px 16px}.diary-actions{align-items:stretch}.diary-actions>*{flex:1}@media (width<=370px){.diary-calendar{gap:3px}.diary-calendar .day{min-height:48px;padding:2px}}.app.immersive{background:#f4eadc;max-width:480px}.app.immersive main.content{min-height:100dvh;padding:0}.game-shell,.private-room{color:#3f3329;background:#f3e8d9;min-height:100dvh;padding:18px 14px 96px}.eyebrow{color:#7d6b5a;font-size:14px;font-weight:700;display:block}.house-hud{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.house-hud h1{margin:2px 0 0;font-size:22px;line-height:1.25}.heart-wallet{text-align:center;background:#fffaf2;border:1px solid #4c392b29;border-radius:16px;min-width:84px;padding:8px 10px;font-size:14px;box-shadow:0 4px 14px #48301e17}.heart-wallet b{color:#c4534d;font-size:19px;line-height:1.1;display:block}.economy-guide{color:#5f5044;background:#fffaf2f0;border:1px solid #d5c4ae;border-radius:16px;gap:6px;margin:0 0 12px;padding:11px 12px;font-size:14px;line-height:1.45;display:grid}.economy-guide span{display:block}.economy-guide b{color:#8d433e}.economy-guide.compact{z-index:2;margin:8px 0 0;position:relative}.chat-first-shortcut{color:#493b30;background:#fff6eb;border:2px solid #c9584c;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;min-height:66px;margin-bottom:12px;padding:10px 13px;text-decoration:none;display:flex}.chat-first-shortcut span{flex-direction:column;display:flex}.chat-first-shortcut small{color:#806f60;font-size:14px}.chat-first-shortcut strong{color:#a5473e;white-space:nowrap;flex:none;font-size:15px}.shop-optional{color:#6b5a4c;margin:0 0 12px;font-size:14px}.shop-optional a{color:#8d433e;margin-right:4px;font-weight:800}.hall-preview{color:#fffaf2;background:#5c674c;border:1px solid #d8c6ad;border-radius:22px;justify-content:space-between;align-items:center;gap:10px;min-height:86px;margin-bottom:14px;padding:14px;display:flex;box-shadow:0 8px 20px #3f332924}.hall-preview>span:first-child{flex-direction:column;display:flex}.hall-preview b{font-size:18px}.hall-preview small{color:#e7ecd9;font-size:14px}.hall-cats{flex-direction:row-reverse;display:flex}.hall-cats .cat-avatar{margin-left:-8px;border-color:#fffaf2!important}.room-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.room-door{border:2px solid var(--room-floor);background:var(--room-wall);min-height:164px;color:var(--room-ink);text-align:center;box-shadow:inset 0 -18px 0 var(--room-floor), 0 5px 12px #43301f1c;border-radius:48px 48px 16px 16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;padding:24px 6px 10px;text-decoration:none;display:flex;position:relative;overflow:hidden}.room-door .cat-avatar{box-shadow:0 3px 9px #2e21182e;border-color:var(--room-accent)!important}.room-copy{z-index:1;background:#fffaf2e0;border-radius:10px;flex-direction:column;justify-content:center;width:100%;min-height:42px;padding:2px 5px;display:flex}.room-copy b{font-size:14px;line-height:1.25}.room-copy small{font-size:14px;line-height:1.3}.floor-label{color:var(--room-ink);font-size:14px;font-weight:700;position:absolute;top:7px;left:0;right:0}.primary-pill{background:var(--room-accent);color:#fff;border-radius:8px;padding:2px 5px;font-size:14px;position:absolute;top:27px;right:4px}.mission-shortcut{color:#493b30;background:#fffaf2;border:1px solid #d7c7b3;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;min-height:66px;margin-top:12px;padding:10px 13px;text-decoration:none;display:flex}.mission-shortcut span{flex-direction:column;display:flex}.mission-shortcut small{color:#806f60;font-size:14px}.mission-shortcut strong{color:#a05538;white-space:nowrap;flex:none;font-size:15px}.game-nav{z-index:8;width:min(100%,480px);min-height:74px;padding:7px 6px max(7px, env(safe-area-inset-bottom));background:#344333;border-top:1px solid #ffffff29;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -6px 20px #262a2033}.game-nav a,.game-nav button{color:#f4eddf;text-align:center;background:0 0;border:0;border-radius:12px;place-items:center;min-height:58px;padding:6px 2px;font-size:14px;line-height:1.25;text-decoration:none;display:grid}.game-nav .active{color:#4d4b31;background:#fbefd3;font-weight:800}.game-nav button:disabled{color:#aab09f;opacity:1}.cat-chooser{gap:12px;display:grid}.choose-card{box-shadow:var(--shadow);background:#fff;border:2px solid;border-radius:22px;grid-template-columns:84px 1fr;gap:10px;padding:14px;display:grid}.choose-card h2,.choose-card p{margin:0}.choose-card h2{font-size:19px}.choose-card p{color:var(--cocoa-soft);font-size:14px}.choose-card small{margin-top:3px;font-size:14px;display:block}.choose-card .btn{padding-inline:8px;font-size:15px}.private-room{background:var(--room-wall);color:var(--room-ink);position:relative;overflow:hidden}.private-room:after{content:"";z-index:0;background:var(--room-floor);height:35%;position:absolute;bottom:74px;left:0;right:0}.room-hud,.change-cat,.room-scene,.room-exits{z-index:2;position:relative}.room-hud{background:#fffaf2f0;border:1px solid #49352529;border-radius:22px;grid-template-columns:58px 1fr 70px;align-items:center;gap:9px;min-height:78px;padding:9px;display:grid;box-shadow:0 6px 18px #422f201f}.speaker-avatar{color:#fff;font-weight:800}.bond-copy{flex-direction:column;min-width:0;display:flex}.bond-copy b{font-size:18px}.bond-copy small{font-size:14px}.bond-track{background:#dfd3c4;border-radius:5px;height:8px;margin-top:5px;overflow:hidden}.bond-track span{border-radius:inherit;background:var(--room-accent);height:100%;display:block}.change-cat{float:right;min-height:44px;color:var(--room-ink);background:#fffaf2eb;border:1px solid #49352533;border-radius:18px;margin:8px 2px 0;padding:10px 14px;font-weight:700;text-decoration:none}.room-scene{clear:both;flex-direction:column;align-items:center;min-height:620px;padding-top:14px;display:flex}.room-title{background:#fffaf2e0;border-radius:18px;align-self:flex-start;max-width:290px;padding:12px 16px;box-shadow:0 4px 14px #422f2014}.room-title h1{margin:1px 0 2px;font-size:21px;line-height:1.25}.room-title p{margin:0;font-size:14px}.room-cat{object-fit:cover;object-position:center;border:5px solid #fffaf2cc;border-radius:48% 48% 38% 38%;width:min(54vw,208px);height:208px;margin-top:16px;animation:3.4s ease-in-out infinite room-cat-breathe;box-shadow:0 16px 28px #3a2a1e3d}@keyframes room-cat-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.hotspots{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;margin-top:18px;display:grid}.hotspot{min-height:54px;color:var(--room-ink);background:#fffaf2;border:1px solid #49352533;border-radius:18px;padding:8px 10px;font-weight:750;box-shadow:0 4px 12px #38291e1a}.hotspot.talk{background:var(--room-accent);color:#fff;border-color:var(--room-accent)}.hotspot small{font-size:14px;font-weight:600;line-height:1.25;display:block}.hotspot:disabled{opacity:.72}.room-notice{color:#fff;background:#342e29;border-radius:16px;padding:12px 44px 12px 14px;font-size:14px;position:absolute;bottom:10px;left:8px;right:8px;box-shadow:0 8px 22px #1e18144d}.room-notice button{color:#fff;background:0 0;border:0;min-width:44px;min-height:44px;position:absolute;top:5px;right:6px}.room-exits{gap:8px;margin:12px 0;display:flex}.room-exits a{min-height:46px;color:var(--room-ink);background:#fffaf2f0;border-radius:16px;flex:1;place-items:center;font-weight:700;text-decoration:none;display:grid}@media (width<=370px){.room-door{min-height:136px}.room-door .cat-avatar{width:54px!important;height:54px!important}.room-hud{grid-template-columns:52px 1fr 64px}.room-cat{width:190px;height:190px}}@media (prefers-reduced-motion:reduce){.room-cat{animation:none}}.shop-shell h1,.inventory-shell h1{margin:2px 0 6px;font-size:22px}.shop-filters{scrollbar-width:none;gap:7px;padding:4px 0 12px;display:flex;overflow-x:auto}.shop-filters button{color:#655344;background:#fffaf2;border:1px solid #d6c3ad;border-radius:14px;flex:none;min-width:44px;min-height:44px;padding:7px 11px}.shop-filters button.active{color:#fff;background:#5c674c;border-color:#71805b;font-weight:750}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shop-card{background:#fffaf2;border:1px solid #dbcab6;border-radius:22px;flex-direction:column;gap:6px;min-height:214px;padding:12px;display:flex;box-shadow:0 6px 16px #44312117}.shop-card.locked{box-shadow:none;background:#ede7dd}.shop-product-image{aspect-ratio:1;object-fit:contain;background:radial-gradient(circle,#fffdf8 25%,#eee2d1 100%);border-radius:16px;width:100%}.shop-card h2{margin:2px 0 0;font-size:16px;line-height:1.3}.shop-card small{color:#796a5d;min-height:42px;font-size:14px;line-height:1.35}.shop-card .btn{margin-top:auto;padding:8px 6px;font-size:14px}.item-token{color:#5d4938;text-align:center;background:#ead7bc;border:2px solid #c9a987;border-radius:20px 20px 14px 14px;place-items:center;width:68px;min-height:68px;font-size:14px;font-weight:800;display:grid}.item-token.toy{background:#f1c8a7}.item-token.bed{background:#dfc9da}.item-token.wall{background:#cbd8dc}.item-token.floor{background:#d7c7a9}.item-token.table{background:#c8d5bd}.item-token.centerpiece{background:#dfc09f}.shop-price{color:#b24d48;font-weight:800}.confirm-sheet{z-index:20;background:#261f1980;justify-content:center;align-items:flex-end;padding:14px;display:flex;position:fixed;inset:0}.confirm-sheet>div{background:#fffaf2;border-radius:26px 26px 18px 18px;width:min(100%,452px);padding:20px;box-shadow:0 18px 45px #18120d59}.confirm-sheet h2{margin:0 0 8px}.confirm-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.toast-note{z-index:16;color:#fff;text-align:center;background:#342e29;border-radius:16px;width:min(100% - 28px,452px);padding:12px 15px;position:fixed;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #1e18144d}.room-select{gap:5px;margin:12px 0;font-weight:750;display:grid}.room-select select{color:#493b30;min-height:48px;font:inherit;background:#fffaf2;border:1px solid #ccb99f;border-radius:16px;padding:8px 12px}.layout-preview{background:#e5d4bb;border:1px solid #d2bea3;border-radius:24px;margin-bottom:12px;padding:14px}.layout-preview h2{margin:0 0 8px;font-size:16px}.preview-room{background:#fff8eb;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;min-height:150px;padding:12px;display:flex;box-shadow:inset 0 -38px #b88a5e}.preview-room>span{z-index:1;background:#ffffffeb;border-radius:12px;padding:6px 8px;font-size:14px}.preview-room>span img{object-fit:contain;width:58px;height:58px;margin:0 auto 3px;display:block}.preview-room span button{color:#a34f42;background:0 0;border:0;margin-left:5px;text-decoration:underline}.preview-room .preview-choice{outline:2px dashed #647450;font-weight:750}.inventory-list{gap:9px;display:grid}.inventory-list article{background:#fffaf2;border:1px solid #d9c8b4;border-radius:18px;grid-template-columns:64px 1fr auto;align-items:center;gap:8px;padding:12px;display:grid}.inventory-product-image{object-fit:contain;width:64px;height:64px}.inventory-list article>div{flex-direction:column;display:flex}.inventory-list article small{color:#7b6a5b}.inventory-list article .btn{padding:8px 10px;font-size:14px}.empty-bag{text-align:center;background:#fffaf2;border:1px dashed #bea98f;border-radius:22px;padding:28px 18px}.placed-items{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;min-height:54px;display:flex}.placed-item{z-index:2;text-align:center;background:#fffaf2e6;border:1px solid #4835262b;border-radius:12px;padding:6px 9px;font-size:14px;font-weight:700}.placed-item img{object-fit:contain;width:56px;height:56px;display:block}.room-cat.playing{animation:.45s ease-in-out 2 room-cat-play}@keyframes room-cat-play{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-16px)rotate(4deg)}}@media (prefers-reduced-motion:reduce){.room-cat.playing{animation:none}}.hall-shell{color:#3f3329;background:#e8dcc8;min-height:100dvh;padding:14px 12px 96px}.hall-hud{background:#fffaf2f5;border:1px solid #ccb99e;border-radius:22px;grid-template-columns:64px 1fr 70px;align-items:center;gap:9px;min-height:84px;padding:9px 10px;display:grid;box-shadow:0 7px 18px #3c2c1f1f}.hall-hud h1{margin:0;font-size:20px;line-height:1.2}.hall-hud p{color:#766454;margin:2px 0 0;font-size:14px;line-height:1.35}.hall-back{color:#fff;text-align:center;background:#5c674c;border-radius:14px;place-items:center;min-height:44px;font-size:14px;font-weight:750;text-decoration:none;display:grid}.hall-scene{background:linear-gradient(#e8d9bf 0 62%,#9c744e 62% 100%);border:2px solid #79644d;border-radius:30px 30px 22px 22px;min-height:580px;margin-top:12px;position:relative;overflow:hidden;box-shadow:inset 0 -18px #4b321f21,0 10px 24px #37271b29}.hall-window{background:linear-gradient(145deg,#b9d6d1,#eef1d7);border:8px solid #6e5138;border-radius:64px 64px 10px 10px;width:128px;height:100px;position:absolute;top:28px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 3px #f7ecd9}.hall-rug{background:#909568;border:3px solid #6b7045;border-radius:50%;width:74%;height:150px;position:absolute;bottom:26px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 8px #d7bb83}.hall-placed{z-index:2;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:5px;display:flex;position:absolute;bottom:8px;left:10px;right:10px}.hall-placed span{background:#fffaf2eb;border:1px solid #b99e7c;border-radius:10px;padding:5px 8px;font-size:14px;font-weight:700}.hall-cat{z-index:3;color:#44382e;background:#fffaf2e6;border:2px solid #fffaf2cc;border-radius:30px 30px 16px 16px;width:78px;min-height:102px;padding:4px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 7px 14px #34261b33}.hall-cat img{object-fit:cover;border-radius:50%;width:64px;height:64px;margin:auto;display:block}.hall-cat span{margin-top:3px;font-size:14px;font-weight:800;display:block}.hall-cat.selected{border-color:#d35f4f;outline:3px solid #d35f4f42;transform:translate(-50%,-50%)scale(1.04)}.hall-cat-sheet{z-index:5;background:#fffaf2;border:1px solid #ccb99f;border-radius:20px;grid-template-columns:52px minmax(76px,1fr) auto auto;align-items:center;gap:7px;min-height:80px;margin:-18px 10px 0;padding:10px 36px 10px 10px;display:grid;position:relative;box-shadow:0 9px 22px #2d211733}.hall-cat-sheet div{flex-direction:column;min-width:0;display:flex}.hall-cat-sheet small{color:#766454;font-size:14px;line-height:1.3}.hall-cat-sheet button{color:#fff;background:#5c674c;border:1px solid #697253;border-radius:12px;min-width:44px;min-height:44px;padding:7px 9px;font-weight:750}.hall-cat-sheet .sheet-close{color:#705d4e;background:0 0;border:0;min-width:44px;min-height:44px;font-size:16px;position:absolute;top:2px;right:2px}.hall-actions{grid-template-columns:1.4fr 1fr;gap:9px;margin:12px 0;display:grid}.hall-actions button,.hall-actions a{color:#4c4933;background:#fffaf2;border:1px solid #6b7045;border-radius:18px;place-items:center;min-height:54px;font-weight:800;text-decoration:none;display:grid}.hall-actions .hall-talk{color:#fff;background:#d86657;border-color:#c9584c;box-shadow:0 6px 14px #a43e3433}.hall-chat{background:#fffaf2;border:1px solid #cbb79c;border-radius:24px;margin:10px 0 16px;padding:12px}.hall-chat>header{justify-content:space-between;align-items:center;display:flex}.hall-chat header div{flex-direction:column;display:flex}.hall-chat header small{color:#786757;font-size:14px}.hall-messages{background:#eee3d2;border-radius:16px;flex-direction:column;gap:10px;max-height:420px;margin:12px 0;padding:8px;display:flex;overflow-y:auto}.hall-empty{color:#756353;text-align:center;margin:14px;font-size:14px}.hall-message{align-items:flex-start;gap:8px;display:flex}.hall-message>div{background:#fff;border-radius:6px 16px 16px;max-width:78%;padding:8px 10px}.hall-message b{color:#68704e;font-size:14px}.hall-message p{white-space:pre-wrap;margin:2px 0 0;font-size:14px;line-height:1.5}.hall-message.user{justify-content:flex-end}.hall-message.user>div{background:#dce1c8;border-radius:16px 6px 16px 16px}.hall-chat form label{margin-bottom:5px;font-size:14px;font-weight:750;display:block}.hall-chat form>div{grid-template-columns:1fr 66px;gap:7px;display:grid}.hall-chat textarea{resize:vertical;color:#40342b;min-height:58px;font:inherit;background:#fff;border:1px solid #c8b59c;border-radius:14px;padding:10px}.hall-preview-label{color:#fff;font-weight:800;background:#5c674c!important;padding:12px 16px!important}@media (width<=370px){.hall-hud{grid-template-columns:58px 1fr 64px}.hall-scene{min-height:540px}.hall-cat{width:70px;min-height:94px}.hall-cat img{width:58px;height:58px}.hall-cat-sheet{grid-template-columns:48px 1fr auto;padding-right:36px}.hall-cat-sheet button:not(.sheet-close){grid-column:span 1;font-size:14px}.hall-cat-sheet button:not(.sheet-close):last-of-type{grid-column:2/4}}.gift-cat-art{aspect-ratio:1;object-fit:contain;width:100%;max-width:164px;margin:0 auto .35rem;display:block}.gift-copy-art{object-fit:contain;flex:none;width:96px;height:96px}.gift-studio-product{overflow:hidden}.gift-studio-product>img{aspect-ratio:16/9;object-fit:cover;width:calc(100% + 2rem);max-width:none;margin:-1rem -1rem 1rem;display:block}.concierge-home{background:#f3e8d8;padding:0 0 104px}.concierge-hero{color:#fff9ed;background:#6f4b33 url(/house-products/v1/home-concierge-bg-v1.png) 50%/cover no-repeat;min-height:438px;padding:16px 18px 24px;position:relative;overflow:hidden}.concierge-hero:after{content:"";pointer-events:none;background:#2f1f1447;position:absolute;inset:0}.concierge-topline,.concierge-copy,.featured-cat{z-index:1;position:relative}.concierge-topline{justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:800;display:flex}.concierge-topline>span{align-items:center;gap:6px;display:inline-flex}.concierge-hearts{background:#2d3626c7;border:1px solid #ffffff57;border-radius:22px;min-height:40px;padding:7px 12px}.concierge-copy{text-align:center;text-shadow:0 2px 14px #2f1e1280;margin-top:28px}.concierge-copy .eyebrow{color:#fff4dc;font-size:15px}.concierge-copy h1{margin:5px 0 0;font-size:clamp(34px,9vw,43px);font-weight:850;line-height:1.15}.featured-cat{color:#403128;align-items:center;gap:12px;text-decoration:none;display:flex;position:absolute;bottom:21px;left:50%;transform:translate(-50%)}.featured-cat .cat-avatar{box-shadow:0 14px 34px #2f1e1259;border:5px solid #fff8e9!important}.featured-cat>span:last-child{background:#fffaeff0;border:1px solid #48362729;border-radius:18px;width:158px;padding:10px 13px;box-shadow:0 8px 20px #34231733}.featured-cat b,.featured-cat small{display:block}.featured-cat b{font-size:22px}.featured-cat small{color:#756457;font-size:14px;line-height:1.3}.concierge-ask{z-index:2;background:#fffaf0;border:1px solid #70574029;border-radius:26px;margin:-12px 14px 18px;padding:14px;position:relative;box-shadow:0 12px 28px #47312026}.concierge-ask>label{color:#6d5d50;margin:0 0 7px 4px;font-size:14px;font-weight:800;display:block}.concierge-ask>div{color:#76675a;background:#fff;border:1.5px solid #d9c8b3;border-radius:20px;grid-template-columns:28px 1fr 46px;align-items:center;gap:8px;min-height:54px;padding:5px 6px 5px 14px;display:grid}.concierge-ask input{background:0 0;border:0;min-width:0;min-height:42px;padding:6px 0}.concierge-ask input:focus{outline:0}.concierge-ask>div:focus-within{border-color:#c9574d;box-shadow:0 0 0 3px #c9574d1f}.concierge-ask>div button{color:#fff;background:#526443;border:0;border-radius:16px;place-items:center;width:44px;height:44px;display:grid}.concierge-cta{color:#fff;background:#dd6256;border:0;border-radius:19px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;margin-top:10px;font-size:19px;font-weight:850;display:flex;box-shadow:0 8px 18px #ad443a33}.specialist-section{margin:0 14px 18px}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.section-heading h2{margin:1px 0 0;font-size:21px;line-height:1.25}.section-heading>a{color:#a8473e;flex:none;align-items:center;min-height:42px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.specialist-row{scroll-snap-type:x proximity;scrollbar-width:none;grid-auto-columns:minmax(116px,1fr);grid-auto-flow:column;gap:9px;padding:2px 1px 10px;display:grid;overflow-x:auto}.specialist-row::-webkit-scrollbar{display:none}.specialist-cat{color:#43372e;text-align:center;scroll-snap-align:start;background:#fffaf1;border:1px solid #70574024;border-radius:22px;flex-direction:column;align-items:center;gap:5px;min-height:148px;padding:12px 8px;text-decoration:none;display:flex;box-shadow:0 5px 14px #48322112}.specialist-cat .cat-avatar{border-width:3px}.specialist-cat b{font-size:17px}.specialist-cat small{color:#78695c;font-size:14px;line-height:1.3}.concierge-home .hall-preview,.concierge-home .mission-shortcut,.all-rooms,.economy-details{margin-left:14px;margin-right:14px}.concierge-home .hall-preview{background:#526443;border:0;box-shadow:0 9px 20px #39482f2e}.all-rooms,.economy-details{background:#fffaf1;border:1px solid #70574026;border-radius:21px;margin-bottom:12px;overflow:hidden}.all-rooms>summary,.economy-details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:12px 15px;font-weight:800;list-style:none;display:flex}.all-rooms>summary::-webkit-details-marker{display:none}.economy-details>summary::-webkit-details-marker{display:none}.all-rooms[open]>summary svg{transform:rotate(90deg)}.all-rooms .room-map{padding:4px 10px 12px}.economy-details .economy-guide{box-shadow:none;margin:0 10px 10px}.talk-identity{background:#fffaf1;border:1px solid #70574024;border-radius:23px;grid-template-columns:58px 1fr auto;align-items:center;gap:11px;margin-bottom:10px;padding:12px;display:grid;box-shadow:0 7px 18px #48322114}.talk-identity h1,.talk-identity p{margin:0}.talk-identity h1{font-size:22px;line-height:1.15}.talk-identity p{color:#77675b;font-size:14px;line-height:1.35}.talk-switch{color:#55463a;background:#f2e6d5;border-radius:15px;align-items:center;min-height:42px;padding:8px 10px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.talk-trust{color:#43533a;background:#edf2e9;border:1px solid #ccd7c4;border-radius:16px;margin-bottom:14px;font-size:14px}.talk-trust summary{cursor:pointer;align-items:center;gap:7px;min-height:44px;padding:9px 12px;font-weight:800;list-style:none;display:flex}.talk-trust summary::-webkit-details-marker{display:none}.talk-trust p{margin:0;padding:0 12px 12px}.talk-welcome{text-align:center;color:#6b5c50;padding:24px 8px 16px}.talk-welcome>svg{color:#c9574d}.talk-welcome h2{color:#40352c;margin:7px 0 3px;font-size:22px}.talk-welcome p{max-width:330px;margin:0 auto 14px}.talk-welcome>div{gap:8px;display:grid}.talk-welcome .chip{text-align:left;background:#fffaf1}.bubble{border-radius:20px;max-width:88%;padding:12px 15px;line-height:1.55}.bubble.user{background:#d95d52;border-bottom-right-radius:7px}.bubble.cat{background:#fffaf1;border-color:#dfcfba;border-bottom-left-radius:7px;box-shadow:0 4px 12px #4731200f}.mok-tools{gap:7px;padding:3px 0 8px;display:flex;overflow-x:auto}.mok-tools .chip{flex:none;align-items:center;gap:5px;display:inline-flex}.composer{padding:9px 12px max(9px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f1e6f5}.composer form{background:#fff;border:1px solid #dac8b1;border-radius:21px;align-items:center;padding:5px 5px 5px 12px;box-shadow:0 7px 18px #47312017}.composer input{background:0 0;border:0;min-width:0}.composer input:focus{outline:0}.composer .btn{width:46px;min-height:46px;box-shadow:none;border-radius:16px;padding:0}@media (width<=370px){.concierge-copy h1{font-size:33px}.featured-cat .cat-avatar{width:116px!important;height:116px!important}.featured-cat>span:last-child{width:145px}.talk-identity{grid-template-columns:50px 1fr}.talk-identity .cat-avatar{width:50px!important;height:50px!important}.talk-switch{grid-column:1/-1;justify-content:center;justify-self:stretch}}
