:root{color-scheme:dark;--bg:#20201f;--side:#191918;--text:#f4f3ee;--muted:#a3a19e;--purple:#bf8af0;--border:#454543}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;font-size:16px}button,a,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--purple);outline-offset:5px}button:hover,a:hover{color:#fff}aside{width:290px;position:fixed;inset:0 auto 0 0;background:var(--side);padding:30px 20px;display:flex;flex-direction:column;border-right:1px solid #2c2c2a;z-index:20}.wordmark{font-family:Arial,sans-serif;font-weight:800;letter-spacing:.035em;white-space:nowrap}.small{font-size:20px}.side-head{display:flex;align-items:center;gap:9px;padding:0 10px;margin-bottom:40px}.dot{height:9px;width:9px;background:var(--purple);border-radius:50%}.icon{font-size:25px;padding:5px}.side-head .icon{margin-left:auto}nav{display:grid;gap:7px}nav button{display:flex;align-items:center;gap:20px;text-align:left;padding:17px 16px;border-radius:9px;font-size:16px}nav button span{font-size:25px;width:25px;text-align:center}nav button:hover,.hints button:hover{background:#292928}.selected{background:#37303e!important}.hints{margin:36px 14px 0;border-top:1px solid #3b3b38;padding-top:22px}.hints p{font-size:14px;color:var(--muted)}.hints button{display:block;text-align:left;padding:14px 0;width:100%;border-radius:7px}.side-bottom{margin-top:auto;padding:24px 12px 0;border-top:1px solid #3b3b38}.side-bottom .wordmark{display:block;margin-bottom:28px;font-size:17px}.side-bottom button,.side-bottom a{font-size:14px;color:var(--muted);margin-right:16px}main{margin-left:290px;min-height:100dvh;display:flex;flex-direction:column}header{padding:23px 28px;display:flex;justify-content:space-between;align-items:center;gap:15px}#brand{font-size:20px;font-weight:600}#brand span{margin-left:12px;font-weight:400}.outline{border:1px solid #ddd;border-radius:30px;padding:10px 23px;font-size:14px}#menu{display:none}.main-body{width:min(100%,1060px);margin:auto;padding:34px 42px 18px}#welcome{text-align:center;padding-top:22px}h1{font-size:clamp(32px,4.6vw,67px);margin:0 0 18px;font-weight:800}.descriptor{color:var(--muted);font-size:17px;margin:0}h2{font-size:clamp(22px,2.75vw,36px);margin:72px 0 52px;letter-spacing:.015em}#composer{border:1px solid #666662;background:#292928;border-radius:27px;padding:24px}textarea{width:100%;border:0;resize:none;background:none;color:var(--text);font:inherit;font-size:20px;line-height:1.6;outline:none;min-height:58px}textarea::placeholder{color:#aaa8a5}.composer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:7px}.composer-bottom span{font-size:12px;color:#858580}.send{width:48px;height:48px;border-radius:50%;background:var(--purple);color:#17121d;font-size:28px}.send:hover{background:#cba0f3;color:#17121d}#chips{display:flex;gap:12px;justify-content:center;margin-top:23px;flex-wrap:wrap}#chips button{border:1px solid #646461;border-radius:30px;font-size:14px;padding:13px 20px}#chips button:hover{background:#30302e}.helper{text-align:center;font-size:14px;color:var(--muted);margin-top:23px}footer{padding:20px 32px;color:#92928d;font-size:12px}.mobile{display:none}#content{max-width:820px;margin:0 auto 28px}#content h2{margin:0 0 20px;font-size:30px}#content p{line-height:1.9;color:#cccac5}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--purple)!important}.card{background:#292928;border:1px solid #44443f;border-radius:17px;overflow:hidden;margin:22px 0}.card img{width:100%;height:240px;object-fit:cover;display:block}.card-text{padding:23px}.card h3{margin:0;font-size:22px}.card p{margin:12px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button,.actions a{border:1px solid #66665d;border-radius:22px;padding:10px 18px;font-size:14px;display:inline-block}.actions .primary{background:var(--text);color:#20201f;border-color:var(--text)}.message{padding:16px 20px;background:#353033;border-radius:18px;margin:22px 0 30px;max-width:90%;margin-left:auto;white-space:pre-wrap}.reply{margin:0 0 24px}.badge{font-size:12px;color:var(--purple);display:inline-block;margin-bottom:12px}.scrim{display:none}body.conversation .main-body{margin:0 auto}body.conversation #input-area{padding-top:10px}body.conversation #chips{display:none}body.conversation textarea{font-size:17px}body.conversation .helper{display:none}body.conversation #composer{padding:18px 22px}.caption{font-size:12px!important;color:#999!important}.status{font-size:13px;color:#bbb;border:1px solid #555;padding:5px 10px;border-radius:20px;display:inline-block} @media(max-width:1050px){aside{width:250px;padding:25px 13px}.side-head{gap:6px}.small{font-size:17px}main{margin-left:250px}.main-body{padding:35px 25px}h2{margin-top:58px}#chips button{font-size:13px;padding:12px 14px}}@media(max-width:760px){aside{transform:translateX(-100%);transition:transform .2s;width:285px}body.menu-open aside{transform:translateX(0)}body.menu-open .scrim{display:block;position:fixed;inset:0;background:#0009;z-index:15}main{margin-left:0}header{padding:17px 17px}#menu{display:block}#brand{font-size:16px;margin-right:auto}#brand span{display:none}.outline{font-size:12px;padding:9px 12px}.main-body{padding:30px 20px;margin:auto}#welcome{padding-top:0}h1{font-size:clamp(30px,7.5vw,52px);letter-spacing:.015em}.descriptor{font-size:13px;line-height:1.8;margin-top:13px}h2{font-size:25px;line-height:1.7;margin:48px 0 34px}.mobile{display:block}#composer{border-radius:23px;padding:17px}textarea{font-size:16px;min-height:72px}.send{width:43px;height:43px}#chips{gap:8px;margin-top:18px}#chips button{font-size:12px;padding:10px 13px}.helper{font-size:12px;line-height:1.8}footer{text-align:center;font-size:12px;padding:15px 20px;line-height:1.7}.card img{height:200px}.card-text{padding:20px}#content h2{font-size:26px}.message{font-size:15px}body.conversation .main-body{padding-top:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* The conversation scrolls independently; the composer and prompts stay visible. */
main{height:100dvh;min-height:0;overflow:hidden}header{flex-shrink:0}.main-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:24px;margin:0 auto;padding-bottom:28px;width:100%;display:flex;flex-direction:column}#welcome{margin:auto 0;flex-shrink:0}#content{width:100%;margin:0 auto}#input-area{position:fixed;bottom:0;left:290px;right:0;z-index:10;background:var(--bg);padding:18px max(30px,calc((100vw - 290px - 976px)/2));border-top:1px solid #30302d}main{padding-bottom:260px}#composer{padding:16px 20px;border-radius:24px}textarea{min-height:44px;font-size:17px}.composer-bottom{margin-top:0}.helper{margin:12px 0 0}#chips,body.conversation #chips{display:flex;margin-top:13px;gap:8px}#chips button{padding:10px 16px;font-size:14px}body.conversation #input-area{padding-top:14px}footer{display:none}#welcome h2{margin-bottom:25px}.side-head{margin-bottom:25px}.hints{margin-top:22px}aside{overflow-y:auto}.side-bottom{margin-top:30px;padding-top:20px}.side-head .small{font-size:19px}body.conversation #composer{padding:16px 20px}body.conversation .helper{display:block}.reply{padding-bottom:16px}.reply h2{margin-top:8px}
@media(max-width:1050px){#input-area{left:250px;padding:15px 25px}main{padding-bottom:265px}}
@media(max-width:760px){main{height:100dvh;padding-bottom:230px}header{padding-top:max(15px,env(safe-area-inset-top));padding-bottom:13px}.main-body{padding:24px 18px}#input-area{left:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}textarea{min-height:42px;max-height:70px;font-size:16px}#composer,body.conversation #composer{padding:12px 15px;border-radius:21px}.composer-bottom span{font-size:12px}.send{width:38px;height:38px;font-size:24px}#chips,body.conversation #chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:4px;margin-top:11px;scrollbar-width:none}#chips::-webkit-scrollbar{display:none}#chips button{white-space:nowrap;flex-shrink:0;font-size:13px;padding:10px 13px}.helper{font-size:12px;margin:8px 0 0}#welcome h2{margin-top:35px}#welcome{padding:20px 0}.side-head{margin-bottom:25px}.hints button{padding:11px 0}.side-bottom{margin-top:25px}.card img{height:185px}}

#chips .surprise{border-color:#80648f;color:#d8b7ef;background:#bf8af00b}.send{position:relative}.send.pulsing::after{content:"";position:absolute;inset:0;border:1px solid var(--purple);border-radius:50%;animation:send-ring .65s ease-out forwards;pointer-events:none}@keyframes send-ring{from{transform:scale(1);opacity:.65}to{transform:scale(1.65);opacity:0}}.thinking{color:var(--muted)!important;font-size:14px;min-height:50px}.thinking-dots{animation:thinking 1s ease-in-out infinite}@keyframes thinking{50%{opacity:.25}}.play-steps{list-style:none;padding:0;margin:24px 0}.play-steps li{display:flex;gap:20px;padding:16px 0;border-top:1px solid #45423f;line-height:1.7}.play-steps li span{color:#c39ddd;flex-shrink:0;font-size:14px;width:40px}.play-card{border-color:#66506f}.play-card .badge{letter-spacing:.1em}@media(prefers-reduced-motion:reduce){.send.pulsing::after{animation:none;display:none}.thinking-dots{animation:none}}@media(max-width:760px){#welcome h2{min-height:85px;display:flex;align-items:center;justify-content:center}.play-steps li{font-size:15px;gap:12px}}

/* A flex dock, measured against the visual viewport, stays above iOS keyboards. */
html,body{height:100%;overflow:hidden}main{position:fixed;top:var(--visible-top,0px);left:290px;right:0;margin-left:0;height:var(--visible-height,100dvh);padding-bottom:0;min-height:0}#input-area,body.conversation #input-area{position:relative;left:auto;right:auto;bottom:auto;flex:0 0 auto;padding:14px max(30px,calc((100vw - 290px - 976px)/2)) 18px}.main-body{flex:1;min-height:0}textarea{display:block;overflow-y:auto;max-height:100px}#welcome{padding-bottom:20px}
@media(max-width:1050px){main{left:250px}#input-area,body.conversation #input-area{padding:14px 25px 18px}}
@media(max-width:760px){main{left:0;height:var(--visible-height,100dvh);padding-bottom:0}#input-area,body.conversation #input-area{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}body.keyboard-open #input-area{padding-bottom:8px}body.keyboard-open .helper{display:none}body.keyboard-open .composer-bottom span{display:none}body.keyboard-open .composer-bottom{justify-content:flex-end}body.keyboard-open #composer{display:flex;align-items:flex-end;gap:10px;padding:12px 14px}body.keyboard-open textarea{flex:1;min-height:40px;max-height:100px;line-height:1.5}body.keyboard-open #chips{margin-top:8px}body.keyboard-open header{padding-top:10px;padding-bottom:10px}body.keyboard-open .main-body{padding-top:12px}aside{top:var(--visible-top,0px);height:var(--visible-height,100dvh);bottom:auto}}

.logo-crop{position:relative;display:block;width:min(660px,100%);aspect-ratio:716/82;overflow:hidden;margin:0 auto 20px;isolation:isolate}.logo-crop img{position:absolute;display:block;width:214.525%;max-width:none;height:auto;left:-57.12%;top:-550%;filter:grayscale(1) invert(1) contrast(5);mix-blend-mode:screen;pointer-events:none}.logo-small{width:172px;margin:0 0 27px;aspect-ratio:716/82}nav button span{display:flex;align-items:center;justify-content:center;width:25px;height:25px}.side-head .new{display:flex;align-items:center;padding:5px}.side-head .small{font-size:17px;letter-spacing:.04em}#menu{align-items:center;justify-content:center}.card{background:#272726;border-color:#40403d;border-radius:16px;box-shadow:none}.card img{height:auto;aspect-ratio:16/9;object-fit:cover;filter:saturate(.72);border-bottom:1px solid #3b3b38}.card img[src*="butler"]{aspect-ratio:4/3;object-position:center 32%;max-height:340px}.card-text{padding:26px}.card h3{font-size:23px;letter-spacing:.015em}.card p{font-size:16px;line-height:1.9}.card .caption{font-size:12px;line-height:1.7}.actions{gap:10px;margin-top:20px}.actions button,.actions a{font-size:14px;line-height:1.4;padding:11px 18px;border-color:#5b5b56}.actions button:hover,.actions a:hover{border-color:#aaa}.actions .primary:hover{background:#fff}.badge{font-size:12px;letter-spacing:.1em;color:#c5a1df}.reply .eyebrow{font-size:12px;letter-spacing:.13em;color:#b995d1!important}.message{background:#32302f}.card-text .actions:last-child{margin-bottom:0}#content{max-width:800px}
@media(max-width:760px){#menu{display:flex}.logo-crop{width:100%;max-width:440px;margin-bottom:18px}.logo-small{width:172px;margin-bottom:27px}.card-text{padding:21px}.card h3{font-size:21px}.card img{height:auto;aspect-ratio:16/9}.card img[src*="butler"]{aspect-ratio:4/3;max-height:300px}.side-head .small{font-size:18px}}

.logo-crop{aspect-ratio:736/90}.logo-crop img{position:static;width:100%;height:100%;left:auto;top:auto;filter:none;mix-blend-mode:normal;object-fit:contain}.logo-small{aspect-ratio:736/90}

/* Corporate gradient on the supplied wordmark; measured hierarchy in the welcome. */
.logo-crop img{opacity:0}.logo-crop::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#b591ef 0%,#c7a4f5 35%,#dfbbf3 68%,#f0d1ef 100%);-webkit-mask:url('assets/utage-wordmark.svg?v=14') center/contain no-repeat;mask:url('assets/utage-wordmark.svg?v=14') center/contain no-repeat}#welcome{width:100%;max-width:820px;align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 0 38px;margin:auto 0}#welcome .logo-crop{width:82%;max-width:540px;margin:0 auto 21px;flex-shrink:0}.descriptor{font-size:15px;line-height:1.8;letter-spacing:.025em;margin:0;color:#a6a39f}#welcome h2{font-size:clamp(24px,2.45vw,32px);font-weight:600;line-height:1.65;margin:48px 0 0;min-height:0;max-width:100%;text-wrap:balance}.logo-small{width:150px;margin-bottom:23px}.main-body{padding-top:22px;padding-bottom:22px}
@media(max-width:760px){#welcome{padding:24px 0 28px}#welcome .logo-crop{width:86%;max-width:340px;margin-bottom:18px}.descriptor{font-size:12px;line-height:1.8;letter-spacing:0;max-width:100%;white-space:nowrap}#welcome h2{font-size:23px;line-height:1.65;margin-top:35px;min-height:76px;max-width:330px;display:flex;align-items:center;justify-content:center}.logo-small{width:150px}body.keyboard-open #welcome{padding:8px 0}body.keyboard-open #welcome h2{margin-top:18px;font-size:20px;min-height:0}body.keyboard-open #welcome .logo-crop{max-width:260px;margin-bottom:10px}}
@media(max-width:360px){.descriptor{font-size:11px}#welcome h2{font-size:21px}}

.logo-crop::after{background:linear-gradient(110deg,#cbb4ef 0%,#e3d5f3 20%,#eee8f4 38%,#f4f3ee 62%,#f4f3ee 100%)}

.logo-crop::after{background:linear-gradient(110deg,#b591ef 0%,#c7a4f5 35%,#e3c6f4 68%,#f3e8f2 100%)}

/* Balanced reading density: preserve the brand while giving history more room. */
aside{width:248px;padding:22px 16px}.side-head{margin-bottom:18px}.side-head .small{font-size:16px}nav{gap:4px}nav button{padding:12px 12px;gap:14px;font-size:14px}nav button span{width:22px;height:22px}.hints{margin:20px 10px 0;padding-top:14px}.hints button{padding:10px 0;font-size:14px}.side-bottom{padding-top:16px;margin-top:24px}main{left:248px}header{padding:16px 24px}#brand{font-size:17px}.outline{padding:8px 17px}.main-body{padding:20px 32px 24px}#content{max-width:760px}#content p{font-size:16px;line-height:1.7}#content h2{font-size:25px;margin-bottom:14px}.reply{margin-bottom:18px;padding-bottom:8px}.message{padding:12px 16px;margin:16px 0 22px;font-size:16px;line-height:1.6;border-radius:16px}.card{margin:16px 0;border-radius:14px}.card-text{padding:18px 20px}.card h3{font-size:20px}.card p{margin:9px 0;line-height:1.7}.card img{max-height:240px;aspect-ratio:2/1}.card img[src*="butler"]{max-height:220px;aspect-ratio:16/9}.actions{margin-top:14px;gap:8px}.actions button,.actions a{padding:9px 14px}.play-steps{margin:16px 0}.play-steps li{padding:11px 0;gap:14px}#input-area,body.conversation #input-area{padding:10px max(24px,calc((100vw - 248px - 800px)/2)) 12px}#composer,body.conversation #composer{padding:12px 16px;border-radius:21px}textarea,body.conversation textarea{font-size:16px;min-height:32px;line-height:1.5}.send{width:38px;height:38px;font-size:24px}#chips,body.conversation #chips{margin-top:9px;gap:7px}#chips button{padding:8px 13px;font-size:14px}.helper{font-size:12px;margin-top:8px}#welcome{padding:22px 0 26px}#welcome .logo-crop{max-width:450px;margin-bottom:16px}#welcome h2{font-size:clamp(23px,2.2vw,28px);margin-top:32px}.descriptor{font-size:14px}
@media(max-width:760px){aside{width:280px}main{left:0}header{padding:12px 16px}#brand{font-size:15px}.main-body,body.conversation .main-body{padding:16px 18px 20px}#content h2{font-size:23px}#content p{font-size:16px;line-height:1.7}.message{font-size:16px;margin:12px 0 18px;padding:10px 14px}.card-text{padding:16px}.card h3{font-size:19px}.card img{max-height:180px;aspect-ratio:16/9}.card img[src*="butler"]{max-height:180px}#input-area,body.conversation #input-area{padding:8px 14px calc(8px + env(safe-area-inset-bottom))}#composer,body.conversation #composer{padding:10px 13px}textarea{min-height:32px;max-height:80px}.send{width:36px;height:36px}#chips button{padding:8px 12px;font-size:14px}.helper{margin-top:6px}#welcome .logo-crop{max-width:300px}#welcome h2{font-size:22px;min-height:55px;margin-top:28px}.descriptor{font-size:12px}.actions button,.actions a{font-size:14px;padding:9px 13px}}

/* Language is always discoverable; access belongs in the navigation footer. */
header{position:relative;justify-content:center;min-height:64px}.language-switch{display:flex;position:relative;background:#292928;border:1px solid #454543;border-radius:30px;padding:4px;gap:2px}.language-switch button{font-size:14px;padding:8px 19px;border-radius:24px;color:#bbb8b5;transition:background .18s,color .18s}.language-switch button[aria-pressed="true"]{background:#51405f;color:#eee7f4}.side-bottom{margin-top:auto;padding-top:18px}.access-link{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:14px!important}.access-link span:first-child{font-size:22px;color:#b69ac8}#welcome[hidden]{display:none!important}@media(max-width:760px){header{min-height:60px}#menu{position:absolute;left:16px}.language-switch button{padding:7px 17px}.side-bottom{margin-top:26px}html[lang="en"] .descriptor{white-space:normal}}

.new[hidden]{display:none!important}.brand-home{padding:0;text-align:left}.home-link{position:absolute;right:24px;font-size:14px;color:#bdbab6;padding:10px 0;min-height:44px}.home-link:hover{color:var(--text)}#resume{margin-top:20px;font-size:14px;color:#c5a1df;padding:10px 16px;border:1px solid #5b4a67;border-radius:22px}#resume[hidden]{display:none}.side-head{gap:9px}.access-link span:first-child{display:flex;align-items:center}@media(max-width:760px){.home-link{right:16px;font-size:13px}.language-switch button{padding:7px 13px}}

.home-link{font-size:12px;letter-spacing:.1em;font-weight:500;color:#aaa7a3}@media(max-width:760px){.home-link{font-size:12px}}

/* A quiet mascot replaces the text home control. */
.mascot-home{width:48px;height:48px;min-height:48px;padding:2px;display:flex;align-items:center;justify-content:center;letter-spacing:0;border:0;background:none;border-radius:0}
.mascot-home img{display:block;width:44px;height:36px;object-fit:contain;transform-origin:50% 85%;pointer-events:none}
.logo-home{position:absolute;inset:0;width:100%;height:100%;z-index:2;padding:0}
.logo-crop:has(.logo-home:focus-visible){outline:2px solid var(--purple);outline-offset:6px}.logo-home:focus-visible{outline:none}
@media(hover:hover) and (pointer:fine){.mascot-home:hover img{animation:mascot-sway .55s ease-in-out 1}}
.mascot-home:focus-visible img{animation:mascot-sway .55s ease-in-out 1}

@keyframes mascot-sway{0%,100%{transform:rotate(0)}30%{transform:rotate(-7deg)}70%{transform:rotate(6deg)}}
@keyframes mascot-hop{0%,100%{transform:translateY(0) rotate(0)}22%{transform:translateY(1px) scale(1.03,.96)}50%{transform:translateY(-5px) rotate(-6deg)}78%{transform:translateY(0) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.mascot-home img{animation:none!important;transition:none!important}}

.mascot-home{touch-action:manipulation;user-select:none;-webkit-user-select:none}.mascot-home img{will-change:transform}

/* Header controls stay above the scrolling conversation on touch screens. */
header{z-index:12;isolation:isolate;overflow:visible}
header .mascot-home{z-index:2;pointer-events:auto;touch-action:manipulation;-webkit-touch-callout:none}
header .mascot-home img{pointer-events:none}
.main-body{position:relative;z-index:0}
@keyframes mascot-tap-fallback{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-8px) rotate(-8deg)}75%{transform:translateY(0) rotate(4deg)}}

/* Frame-driven mascot feedback stays independent of image animation settings. */
header .mascot-home{will-change:transform;transform-origin:50% 80%}
header .mascot-home img{animation:none!important;transition:none!important}

.activity-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0;padding:0}.activity-list li{border:1px solid #494449;border-radius:20px;padding:6px 12px;color:#d1c7d7;font-size:14px;line-height:1.5}.visit-details{margin:16px 0}.visit-details div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:12px 0;border-top:1px solid #41413e}.visit-details dt{font-size:14px;color:#bca8cc}.visit-details dd{margin:0;font-size:16px;line-height:1.7;color:#cccac5}@media(max-width:760px){.visit-details div{grid-template-columns:80px 1fr;gap:12px}.visit-details dd{font-size:15px}}
/* Eight clear starting points, compact replies and authentic people. */
.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:570px;gap:9px;margin:26px 0 0;text-align:left}.entry-grid button{border:1px solid #45413f;background:#272625;border-radius:13px;padding:12px 16px;min-height:46px;text-align:left;font-size:14px;line-height:1.5}.entry-grid button:hover{border-color:#9c7ab5;background:#302b33}.entry-grid button:focus-visible{outline-offset:2px}#welcome h2{margin-top:25px}#welcome{padding:14px 0 18px}body:not(.conversation) .helper{display:none}.info-detail{margin:16px 0;border-top:1px solid #43413f;border-bottom:1px solid #43413f}.info-detail summary{cursor:pointer;padding:14px 2px;font-size:16px;color:#e4d9ed}.info-detail>div{padding:0 2px 14px}.info-detail .visit-details{margin-top:0}.owner-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #45413f;border-bottom:1px solid #45413f;padding:22px 0;margin:24px 0}.owner-numbers strong{font-size:32px;font-weight:500;color:#d1b3ec;display:block}.owner-numbers span{font-size:14px;color:#b8b4b1}.hibiki-card{display:grid;grid-template-columns:minmax(160px,38%) 1fr}.hibiki-card img{height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:48% 34%}.hibiki-card .card-text{align-self:center}.founder{font-size:14px!important;color:#b9a4c9!important;margin:24px 0}.recommend-item{border-bottom:1px solid #43413f;padding:18px 0}.recommend-item h3{margin:0;font-size:19px}.recommend-item>a{display:inline-block;font-size:14px;color:#ceb0e6;padding:8px 0}.page-heading{font-size:25px;line-height:1.5;margin:0 0 14px;text-align:left}.seo-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;font-size:14px;color:#b7a7c2}.main-body{overscroll-behavior-y:contain}aside{overflow-y:auto}.side-bottom{flex-shrink:0}
@media(max-width:760px){.entry-grid{margin-top:20px;gap:8px;max-width:390px}.entry-grid button{padding:10px 12px;min-height:44px}#welcome h2{margin-top:22px;min-height:0;font-size:21px}#welcome .logo-crop{max-width:280px}.hibiki-card{grid-template-columns:36% 1fr}.hibiki-card img{max-height:none;height:100%}.hibiki-card .card-text{padding:16px 13px}.hibiki-card h3{font-size:18px}.visit-details div{grid-template-columns:75px 1fr}.visit-details dd{font-size:16px}.page-heading{font-size:23px}.descriptor{white-space:normal}.owner-numbers{gap:12px}body.keyboard-open .entry-grid{display:none}}
@media(max-width:370px){.entry-grid button{padding:10px 9px}.hibiki-card{display:block}.hibiki-card img{height:220px;object-position:50% 30%}}
nav>a[data-view]{display:flex;align-items:center;gap:14px;text-align:left;padding:12px;border-radius:9px;font-size:14px}nav>a[data-view]:hover{background:#292928}nav>a[data-view]>span{width:22px;height:22px}.no-script{position:fixed;inset:70px 0 220px 248px;overflow:auto;background:var(--bg);padding:24px;z-index:10}@media(max-width:760px){.no-script{left:0}}
/* Approved A: six unboxed choices, restrained line icons and secondary links. */
.entry-grid{gap:0;max-width:540px;margin-top:24px}.entry-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:0;border-radius:0;background:transparent;padding:20px 8px;min-height:88px;text-align:center;position:relative;font-size:15px}.entry-grid button:nth-child(-n+4){border-bottom:1px solid #44413f}.entry-grid button:nth-child(odd)::after{content:"";position:absolute;right:0;top:14px;bottom:14px;width:1px;background:#44413f}.entry-grid button>svg{width:25px;height:25px;color:#cfb1e8;flex-shrink:0}.entry-grid button:hover{background:#ffffff04;color:#dec9ee}.entry-grid button:focus-visible{outline-offset:-4px;border-radius:5px}.welcome-links{display:flex;justify-content:center;align-items:center;gap:0;margin:20px 0 0;flex-wrap:wrap}.welcome-links>a{font-size:14px;color:#bcb7b4;padding:7px 12px;line-height:1.5}.welcome-links>a+a{border-left:1px solid #484441}.welcome-links>a:hover{color:#dbc1ef}#welcome .logo-crop{max-width:380px}#welcome h2{font-weight:500;margin-top:24px}body:not(.conversation) #chips{display:none}body.keyboard-open .welcome-links{display:none}
@media(max-width:760px){.entry-grid{max-width:360px;margin-top:18px}.entry-grid button{padding:15px 6px;min-height:77px;font-size:14px;gap:8px}.entry-grid button>svg{width:23px;height:23px}#welcome{padding:12px 0 14px}#welcome .logo-crop{max-width:280px}#welcome h2{margin-top:20px;font-size:21px}.welcome-links{margin-top:14px}.welcome-links>a{padding:7px 9px;font-size:14px}}
/* A recognizable villa-and-moon home; the mascot hosts surprise play ideas. */
.villa-home{width:56px;height:56px;min-height:56px;padding:3px;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.villa-home img{width:50px;height:48px;object-fit:contain;display:block;pointer-events:none}.villa-home:hover{opacity:.85}.play-host{display:flex;align-items:center;gap:10px;margin-bottom:12px}.card .play-host img{width:42px;height:34px;max-height:none;aspect-ratio:auto;object-fit:contain}.play-host .badge{margin:0}@media(max-width:760px){header{min-height:64px}.villa-home{right:13px}}
/* Approved rounded 3D mascot + HOME. */
header .labelled-home{width:56px;height:56px;min-height:56px;padding:2px}header .labelled-home img{width:52px;height:52px;object-fit:contain;pointer-events:none}@media(max-width:760px){header .labelled-home{right:13px}}

/* Compact home control: house and clear label. */
header .home-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:40px;min-height:40px;padding:0 15px;border:1px solid #a88bc2;border-radius:999px;background:#272625;color:#f2eee8;font-size:13px;font-weight:600;letter-spacing:.1em;line-height:1;white-space:nowrap;touch-action:manipulation;transition:background .15s,border-color .15s}
header .home-pill svg{display:block;width:17px;height:17px;fill:#b99adc;flex:none;pointer-events:none}header .home-pill span{pointer-events:none}header .home-pill:hover{background:#312b37;border-color:#c5a6e7}header .home-pill:active{background:#3b3145}header .home-pill:focus-visible{outline:2px solid #d3b7ef;outline-offset:3px}
@media(max-width:760px){header .home-pill{right:13px;gap:6px;padding:0 11px;font-size:12px}header .home-pill svg{width:16px;height:16px}.language-switch button{padding:7px 11px}}

/* Mobile: compact rounded-square control, outline house and lavender door. */
header .home-pill .home-outline{display:none}
@media(max-width:760px){header .home-pill{width:46px;height:46px;min-height:46px;padding:5px 0 4px;gap:3px;flex-direction:column;border:1px solid #3d3b39;border-radius:13px;background:linear-gradient(145deg,#30302e,#242423);box-shadow:0 2px 7px #0002;font-size:9px;letter-spacing:.14em;line-height:1}header .home-pill .home-solid{display:none}header .home-pill .home-outline{display:block;width:24px;height:24px;fill:none;stroke:#eee9e3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}header .home-pill .home-outline rect{fill:#ba9bdc;stroke:none}header .home-pill:hover{background:#302b34;border-color:#766183}}
/* Clear recovery without replacing a question with an unrelated page. */
#composer-status{font-size:14px;line-height:1.6;color:#d4c3e1;margin:8px 0 0}#composer-status[hidden]{display:none}.chat-retry{display:inline-block;font-size:14px;border:1px solid #9c7ab5;border-radius:20px;padding:10px 16px;margin:14px 8px 0 0;color:#e3cdef}.chat-retry:disabled{opacity:.5;cursor:wait}.retry-question{padding:12px 16px;border-left:2px solid #9c7ab5;color:#d0c3d8!important}.source-links{margin-top:12px}.send:disabled{opacity:.55;cursor:wait}
