:root{color-scheme:dark;--bg:#2b2c2c;--surface:#333433;--elevated:#3a3b38;--line:#4c4d47;--text:#f2f0e9;--muted:#bcbdb5;--gold:#ffcc33;--soft-gold:#e5bd64;--error:#ffc2b7;--radius:12px;font-family:"Yu Gothic UI","Meiryo",sans-serif;font-size:16px;line-height:1.85;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5;letter-spacing:.035em}h2{font-size:clamp(1.35rem,2.3vw,1.8rem);font-weight:650}h3{font-size:1.2rem}p{overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a:hover{color:var(--gold)}[hidden]{display:none!important}.container{width:min(1160px,calc(100% - 64px));margin-inline:auto}.header{border-bottom:1px solid var(--line);background:#30312f}.header-inner{max-width:1320px;min-height:100px;margin:auto;padding:16px 32px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none}.brand>span{font-family:"Yu Mincho","YuMincho","Meiryo",serif;font-size:1.45rem;letter-spacing:.08em;line-height:1.4}.brand small{display:block;font-family:"Yu Gothic UI","Meiryo",sans-serif;color:var(--muted);font-size:.65rem;letter-spacing:.16em;margin-top:6px}.header nav{display:flex;gap:27px;margin-left:auto;align-items:center}.header nav a{font-size:.88rem;white-space:nowrap;text-decoration:none;padding-block:10px;border-bottom:2px solid transparent}.header nav a[aria-current=page]{color:var(--gold);border-color:var(--gold)}.header-mine{border:1px solid #78766c;border-radius:6px;padding:9px 16px;white-space:nowrap;text-decoration:none;font-size:.84rem}.menu-toggle{display:none}.skip-link{position:fixed;top:0;left:20px;padding:12px;background:var(--gold);color:#252621;transform:translateY(-120%);z-index:20}.skip-link:focus{transform:translateY(0)}main{min-height:60vh}main:focus{outline:none}.home{padding-top:36px}.hero{position:relative;isolation:isolate;border:1px solid #4c4840;border-radius:var(--radius);overflow:hidden;min-height:510px;display:flex;align-items:center;background:#242525}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(34,35,34,.7) 0%,rgba(34,35,34,.45) 40%,transparent 68%)}.hero-content{padding:44px 48px;max-width:620px}.eyebrow{font-size:.76rem;letter-spacing:.15em;font-weight:550;color:var(--soft-gold);margin-bottom:14px}.hero h1{font-family:"Yu Mincho","YuMincho","Meiryo",serif;font-size:clamp(2.15rem,3.6vw,3.15rem);font-weight:500;line-height:1.55;letter-spacing:.07em;margin-bottom:22px}.hero-description{font-size:.88rem;line-height:2;color:#d5d3cb;margin-bottom:26px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:46px;border:1px solid #74756b;border-radius:7px;background:transparent;color:var(--text);padding:10px 21px;text-decoration:none;font-size:.88rem;font-weight:600;line-height:1.65}.button:hover{background:var(--elevated);color:var(--text)}.button.primary{background:var(--gold);color:#252720;border-color:var(--gold)}.button.primary:hover{background:#ffdb70;border-color:#ffdb70}.button.subtle{border:1px solid var(--line);background:var(--surface)}.button.danger{color:var(--error);border-color:#8b6860}.text-link{font-size:.85rem;text-decoration:none;display:inline-flex;align-items:center;gap:14px;color:var(--soft-gold)}.hero .text-link{color:#f2e5c4}.welcome-note{display:flex;align-items:center;gap:16px;padding:22px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.82rem}.welcome-note p{margin:0}.welcome-note strong{font-weight:400;color:#dedfd5;margin-left:12px}.small-lamp{width:7px;height:7px;border:1px solid var(--gold);border-radius:50%;background:var(--soft-gold);flex-shrink:0}.section{padding-block:48px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading .eyebrow{margin-bottom:9px}.section-heading .text-link{flex-shrink:0}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.entry-card{display:block;text-decoration:none;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .2s,background .2s}.entry-card:hover{border-color:var(--soft-gold);color:var(--text);background:#373833}.entry-number{display:flex;align-items:center;gap:12px;color:var(--soft-gold);font-family:Georgia,serif;font-size:1.3rem}.entry-number>span{font-family:inherit;color:var(--muted);font-size:.66rem;letter-spacing:.18em}.entry-card h3{margin:20px 0 12px}.entry-card p{color:var(--muted);font-size:.85rem;line-height:1.9;margin-bottom:24px}.card-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font-size:.82rem;color:var(--soft-gold)}.home-community{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;border-top:1px solid var(--line)}.home-community h2{font-size:1.4rem}.guide-panel{border-left:2px solid #817043;padding:22px 25px;background:#30322e;align-self:start}.guide-panel h3{font-family:"Yu Mincho","YuMincho",serif;font-size:1.4rem;font-weight:400}.guide-panel p:not(.eyebrow){font-size:.86rem;color:var(--muted)}.community-intro{text-align:center;padding:50px 20px 65px;border-top:1px solid var(--line)}.community-intro h2{font-family:"Yu Mincho","YuMincho",serif;font-size:1.9rem;font-weight:400;margin-bottom:22px;line-height:1.7}.community-intro>p:not(.eyebrow){font-size:.85rem;color:var(--muted);line-height:2}.footer{border-top:1px solid var(--line);background:#272827;margin-top:12px;padding-block:35px 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:30px}.footer .brand>span{font-size:1.15rem}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:.76rem;color:var(--muted)}.footer-bottom{display:flex;gap:20px;border-top:1px solid #44453f;padding-top:20px;align-items:center;font-size:.68rem;color:#adaea4}.footer-bottom p{margin:0}.footer-bottom>a{margin-left:auto}.page{padding-block:38px 60px}.breadcrumb{font-size:.76rem;color:var(--muted);margin-bottom:26px;display:flex;gap:10px;flex-wrap:wrap}.breadcrumb a{text-decoration:none}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.page-title h1{font-family:"Yu Mincho","YuMincho","Meiryo",serif;font-size:2.1rem;font-weight:400;margin-bottom:10px}.page-title p{color:var(--muted);font-size:.88rem;margin-bottom:0}.page-title .eyebrow{margin-bottom:10px;color:var(--soft-gold);font-size:.75rem}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:36px}.two-column>*,.home-community>*{min-width:0}.sidebar{align-self:start;border:1px solid var(--line);border-radius:var(--radius);padding:23px;background:var(--surface)}.sidebar h2,.sidebar h3{font-size:1rem;margin-bottom:16px}.sidebar p,.sidebar li{color:var(--muted);font-size:.82rem}.sidebar ul{padding-left:18px}.sidebar a{display:block;font-size:.8rem;margin-top:14px;color:var(--soft-gold)}.toolbar{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.tab{display:inline-flex;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:8px 15px;font-size:.82rem;min-height:43px;color:var(--muted)}.tab[aria-current=page]{background:#524831;color:var(--gold);border-color:#a78b43}.search-form{display:flex;width:100%;gap:10px}.search-form input{flex:1;min-width:0}.field,input:not([type=checkbox]),select,textarea{background:#272827;color:var(--text);border:1px solid #74766b;border-radius:6px;padding:11px 12px;width:100%;font-size:.9rem}.search-form .button{flex-shrink:0}textarea{min-height:150px;resize:vertical;line-height:1.85}input::placeholder,textarea::placeholder{color:#96978d}label{display:block;font-size:.86rem;margin-bottom:7px}.form-row{margin-bottom:20px}.form-row .help{display:block;color:var(--muted);font-size:.74rem;margin-top:7px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check-label{display:flex;gap:10px;align-items:start;font-size:.8rem;color:var(--muted)}input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:6px;accent-color:var(--gold)}.check-label a{color:var(--soft-gold)}.form-error{color:var(--error);font-size:.86rem;padding:10px 0;margin:0;white-space:pre-line}.form-buttons{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.empty-state{border:1px dashed #64665b;border-radius:var(--radius);padding:36px 28px;text-align:center}.empty-state .empty-title{font-size:1.1rem;color:var(--text);margin-bottom:10px}.empty-state p{font-size:.84rem;color:var(--muted)}.empty-state .button{margin-top:8px}.loading{padding:26px;color:var(--muted);font-size:.84rem}.post-card{padding:25px 0;border-bottom:1px solid var(--line)}.post-card:first-child{border-top:1px solid var(--line)}.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.72rem;color:var(--muted);margin-bottom:11px}.badge{border:1px solid #756a4d;color:var(--soft-gold);padding:2px 8px;border-radius:4px;font-size:.7rem}.post-card h2,.post-card h3{font-size:1.16rem;margin-bottom:10px}.post-card h2 a,.post-card h3 a{text-decoration:none}.post-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.87rem;color:#c9cbc1;white-space:pre-wrap;line-height:1.85;margin-bottom:14px}.post-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.74rem;color:var(--muted)}.post-bottom a{color:var(--soft-gold);text-decoration:none}.tags{display:flex;gap:7px;flex-wrap:wrap}.tag{font-size:.7rem;background:#3b3d36;border-radius:4px;padding:2px 8px;color:#cdd0bf}.entry-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.94rem;line-height:2}.topic-main{border:1px solid var(--line);padding:30px;border-radius:var(--radius);background:var(--surface)}.topic-main h1{font-size:1.55rem;line-height:1.6;margin-bottom:18px;overflow-wrap:anywhere}.entry-actions{display:flex;gap:14px;justify-content:flex-end;margin-top:20px}.link-button{background:none;border:0;color:var(--muted);font-size:.75rem;padding:8px 2px;text-decoration:underline;text-underline-offset:4px;min-height:40px}.link-button:hover{color:var(--gold)}.replies-title{font-size:1.2rem;margin:32px 0 16px}.reply{padding:25px 0;border-bottom:1px solid var(--line)}.reply .entry-body{font-size:.87rem}.reply-form{background:var(--surface);border:1px solid var(--line);padding:25px;border-radius:var(--radius);margin-top:30px}.more-wrap{text-align:center;margin-block:25px}.chat-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:25px}.room-list{display:flex;flex-direction:column;gap:8px}.room-link{border:1px solid transparent;padding:13px 16px;border-radius:7px;text-decoration:none;font-size:.86rem;color:var(--muted)}.room-link[aria-current=page]{border-color:#8e7848;background:#474231;color:var(--gold)}.room-note{color:var(--muted);font-size:.76rem;padding:20px 10px}.chat-room{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#2f302f}.chat-room-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 23px;background:var(--surface);border-bottom:1px solid var(--line)}.chat-room-header h2{font-size:1.05rem;margin:0}.chat-room-header p{font-size:.7rem;color:var(--muted);margin:0}.chat-stream{height:400px;overflow:auto;padding:10px 24px;overscroll-behavior:contain;scrollbar-color:#717465 transparent}.chat-message{padding:16px 0;border-bottom:1px solid #42443c}.chat-message .entry-body{font-size:.87rem;margin-bottom:0}.chat-message .post-meta{margin-bottom:6px}.chat-message .entry-actions{margin:0;gap:12px}.chat-compose{padding:22px;border-top:1px solid var(--line)}.chat-compose textarea{min-height:90px}.chat-compose .form-row{margin-bottom:12px}.chat-compose .form-buttons{margin-top:14px}.chat-compose .check-label{font-size:.73rem}.status-text{font-size:.74rem;color:var(--muted);margin-bottom:0}.article{max-width:780px;margin:auto}.article h1{font-family:"Yu Mincho","YuMincho",serif;font-size:2.1rem;font-weight:400}.article h2{font-size:1.2rem;border-bottom:1px solid var(--line);padding-bottom:14px;margin-top:36px}.article p,.article li{color:#d0d1c8;font-size:.91rem}.article a{color:var(--soft-gold)}.article li{margin-bottom:13px}.article ul,.article ol{padding-left:25px}.article .lead{font-size:1.03rem;line-height:2.1}.callout{border-left:3px solid var(--soft-gold);background:var(--surface);padding:22px 26px;border-radius:0 8px 8px 0;margin:26px 0}.callout p:last-child{margin-bottom:0}.admin-panel{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--surface);margin-bottom:20px}.admin-panel .entry-body{font-size:.84rem}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.admin-actions .button{font-size:.76rem;padding:8px 12px;min-height:40px}.deleted-label{color:var(--error)}dialog{width:min(640px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #747565;border-radius:14px;background:#333531;color:var(--text);box-shadow:0 20px 80px #0007;overflow:auto}dialog::backdrop{background:#10120fcc;backdrop-filter:blur(3px)}.dialog-inner{padding:28px}.dialog-header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.dialog-header h2{margin:0;font-size:1.4rem}.close-dialog{border:1px solid #747565;background:transparent;color:var(--text);border-radius:6px;min-width:60px;min-height:40px;font-size:.76rem;padding:6px 10px}.dialog-note{font-size:.8rem;color:var(--muted);margin-bottom:22px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(560px,calc(100% - 30px));padding:14px 22px;border:1px solid #9c884e;background:#3c3d32;border-radius:9px;box-shadow:0 4px 30px #0005;z-index:100;font-size:.88rem;white-space:pre-line}.noscript{position:fixed;bottom:10px;background:#4b3e27;padding:18px;color:#fff;left:10px;right:10px;z-index:100}details{padding:15px 0;border-top:1px solid var(--line)}summary{cursor:pointer;color:var(--soft-gold);font-size:.85rem}.minor{font-size:.76rem;color:var(--muted)}.divider{border:0;border-top:1px solid var(--line);margin:26px 0}
@media(min-width:1600px){.container{width:min(1240px,calc(100% - 96px))}.hero{min-height:550px}.hero-content{padding:50px 56px}}
@media(max-width:1050px){.header-inner{gap:22px;padding-inline:24px}.header nav{gap:17px}.header-mine{font-size:.75rem;padding:8px 12px}.brand>span{font-size:1.22rem}.home-community{grid-template-columns:minmax(0,1fr) 255px;gap:28px}.hero-content{padding:35px}.two-column{gap:24px;grid-template-columns:minmax(0,1fr) 225px}.footer-links{gap:16px}}
@media(max-width:820px){.container{width:calc(100% - 40px)}.header-inner{min-height:85px;flex-wrap:wrap;gap:16px;padding:15px 20px}.menu-toggle{display:block;margin-left:auto;border:1px solid #6b6d62;background:transparent;color:var(--text);border-radius:6px;padding:8px 12px;min-height:40px;font-size:.78rem}.header-mine{display:none}.header nav{display:none;flex-basis:100%;margin:0;justify-content:flex-start;gap:14px;flex-wrap:wrap}.header nav.is-open{display:flex}.header nav a{font-size:.82rem;padding-inline:7px}.hero{min-height:500px}.hero-content{padding:30px}.hero h1{font-size:2.3rem}.hero-description{font-size:.82rem}.hero:after{background:linear-gradient(90deg,#242525df 0%,#2425259c 40%,#24252522 100%)}.entry-grid{gap:12px}.entry-card{padding:21px}.entry-card h3{font-size:1.05rem}.entry-card p{font-size:.78rem}.home-community{grid-template-columns:1fr;gap:30px}.guide-panel{padding:25px}.two-column{grid-template-columns:1fr}.sidebar{margin-top:10px}.footer-top{align-items:start;gap:24px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.footer-bottom{flex-wrap:wrap;gap:10px 20px}.footer-bottom p{order:3;flex-basis:100%}.chat-shell{grid-template-columns:1fr;gap:18px}.room-list{flex-direction:row;flex-wrap:wrap;gap:8px}.room-link{padding:8px 12px;font-size:.8rem}.room-note{display:none}}
@media(max-width:560px){:root{font-size:16px}.container{width:calc(100% - 32px)}.home{padding-top:20px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-image{position:static;order:0;width:100%;height:210px;object-fit:cover;object-position:70% 60%;z-index:0}.hero:after{display:none}.hero-content{order:1;padding:26px 24px 30px}.hero h1{font-size:2rem;line-height:1.6;margin-bottom:16px}.hero h1 br:nth-of-type(2){display:none}.hero .eyebrow{font-size:.7rem}.hero-description{line-height:1.95;font-size:.82rem}.hero-actions{gap:19px}.hero-actions .button{font-size:.8rem;padding:10px 15px;gap:12px}.hero-actions .text-link{font-size:.76rem;gap:8px}.welcome-note{font-size:.75rem;padding:18px 3px;gap:13px}.welcome-note strong{display:block;margin:3px 0 0}.section{padding-block:32px}.section-heading{gap:13px;align-items:start}.section-heading h2{font-size:1.3rem}.section-heading .text-link{font-size:.72rem;gap:7px;padding-top:5px}.entry-grid{grid-template-columns:1fr;gap:12px}.entry-card{padding:22px 24px}.entry-card h3{font-size:1.2rem;margin:14px 0 10px}.entry-card p{font-size:.84rem;margin-bottom:15px}.entry-card p br{display:none}.entry-number{font-size:1.1rem}.community-intro{padding:36px 0 45px}.community-intro h2{font-size:1.55rem}.community-intro>p:not(.eyebrow){font-size:.82rem}.desktop-only{display:none}.footer-top{flex-direction:column}.footer-links{gap:14px 22px}.footer-bottom{font-size:.65rem}.page{padding-block:25px 42px}.page-title{align-items:start;flex-direction:column;gap:20px;margin-bottom:25px}.page-title h1{font-size:1.9rem}.page-title p{font-size:.82rem}.page-title .button{align-self:stretch}.breadcrumb{font-size:.7rem;margin-bottom:23px}.two-column{gap:25px}.tabs{gap:7px}.tab{font-size:.76rem;padding:7px 11px;min-height:42px}.search-form{gap:8px}.search-form .button{padding:9px 14px;font-size:.82rem}.post-card{padding:22px 0}.post-card h2,.post-card h3{font-size:1.06rem}.post-meta{gap:9px;font-size:.69rem}.post-excerpt{font-size:.83rem}.post-bottom{font-size:.69rem}.topic-main{padding:23px 20px}.topic-main h1{font-size:1.35rem}.entry-body{font-size:.88rem}.reply-form{padding:23px 19px}.form-columns{grid-template-columns:1fr;gap:0}.chat-room-header{padding:16px}.chat-room-header h2{font-size:.95rem}.chat-room-header p{font-size:.65rem}.chat-stream{height:340px;padding:10px 17px}.chat-compose{padding:18px}.chat-compose .form-buttons .button{width:100%}.article h1{font-size:1.8rem}.article p,.article li{font-size:.86rem}.article .lead{font-size:.95rem}.article h2{font-size:1.12rem}.callout{padding:18px 20px}.dialog-inner{padding:23px 20px}.dialog-header h2{font-size:1.2rem}.form-buttons .button{flex:1}.empty-state{padding:28px 20px}.empty-state .empty-title{font-size:1rem}.admin-panel{padding:18px}.toast{bottom:16px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.site-banner{overflow:hidden;background:var(--bg);isolation:isolate}.site-banner img{display:block;width:100%;height:auto;mix-blend-mode:lighten}.intro-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 8px 12px}.intro-row h1{font-family:"Yu Mincho","YuMincho","Meiryo",serif;font-size:1.8rem;font-weight:400;margin-bottom:15px}.intro-row p:not(.eyebrow){font-size:.85rem;color:var(--muted);margin:0;line-height:1.95}.intro-actions{display:flex;flex-direction:column;gap:18px;align-items:center;flex-shrink:0}.intro-row .eyebrow{margin-bottom:10px}@media(max-width:560px){.intro-row{padding:27px 3px 14px;flex-direction:column;align-items:stretch;gap:20px}.intro-row h1{font-size:1.4rem}.intro-row p:not(.eyebrow){font-size:.8rem}.intro-row p br{display:none}.intro-actions{flex-direction:row;flex-wrap:wrap;gap:18px;align-items:center}.intro-actions .button{font-size:.8rem;padding:10px 14px;gap:12px}.intro-actions .text-link{font-size:.76rem;gap:8px}}

.contact-inbox{margin:24px 0 40px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.inquiry-detail{max-width:800px}.receipt{overflow-wrap:anywhere;word-break:break-word}.contact-inbox h2{margin-bottom:10px}.contact-inbox p{margin-bottom:16px}

.directory-section{margin:36px 0}.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.directory-card{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.directory-card p{font-size:.88rem;color:var(--muted)}.directory-card h3{font-size:1.2rem}.directory-card .button{margin-top:5px}@media(max-width:680px){.directory-grid{grid-template-columns:1fr}.directory-card{padding:22px}}

/* Conversation view */
.chat-room{position:relative}.chat-room-header p{margin:4px 0 0;font-size:.75rem;color:var(--muted)}.chat-stream{height:clamp(320px,48vh,600px);padding:22px;overscroll-behavior:contain;scrollbar-gutter:stable}.chat-message{display:flex;align-items:flex-start;gap:12px;border:0;padding:9px 0}.chat-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #696b60;border-radius:50%;font-size:.8rem;color:var(--soft-gold);background:#35382f}.chat-bubble{max-width:87%;min-width:110px;padding:12px 16px;background:#3b3d36;border:1px solid #505348;border-radius:2px 15px 15px 15px}.chat-speaker{display:flex;flex-wrap:wrap;gap:9px;align-items:baseline;font-size:.72rem;color:var(--muted)}.chat-speaker strong{color:var(--text);font-weight:600}.chat-bubble .entry-body{margin:7px 0 0}.chat-bubble .entry-actions{margin-top:5px}.chat-bubble .link-button{font-size:.65rem;min-height:30px}.chat-mine{flex-direction:row-reverse}.chat-mine .chat-avatar{display:none}.chat-mine .chat-bubble{background:#494a37;border-color:#6f704a;border-radius:15px 2px 15px 15px}.chat-compose{padding:18px 22px}.chat-compose>.form-row{max-width:230px}.chat-compose .form-row{margin-bottom:10px}.chat-compose-row{display:flex;gap:12px;align-items:flex-end}.chat-compose-row>.form-row{flex:1;min-width:0}.chat-compose-row textarea{min-height:72px;max-height:160px}.chat-compose-row>.button{margin-bottom:10px}.chat-compose .check-label{font-size:.72rem}.chat-typing{min-height:22px;margin:0 22px;font-size:.72rem;color:var(--muted)}.chat-new{position:absolute;left:50%;top:410px;transform:translateX(-50%);z-index:2;white-space:nowrap;background:#53533b}.chat-compose .minor{margin-bottom:8px}
@media(max-width:560px){.chat-stream{padding:14px 10px;height:42svh;min-height:270px}.chat-compose{padding:14px}.chat-bubble{padding:10px 12px}.chat-compose .check-label{font-size:.7rem}.chat-compose-row>.button{width:auto;min-width:65px;padding:9px 12px}.chat-new{top:290px}.chat-shell>.chat-room{min-width:0}.chat-avatar{width:28px;height:28px;flex-basis:28px}}

.chat-lobby{display:grid;grid-template-columns:minmax(320px,1fr) minmax(300px,1fr);gap:48px;align-items:start}.chat-entry{border:1px solid var(--line);border-radius:14px;padding:28px;background:#33352f}.avatar-picker{border:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 25px}.avatar-picker legend{font-size:.8rem;color:var(--muted);margin-bottom:14px}.avatar-choice{position:relative;cursor:pointer}.avatar-choice input{position:absolute;opacity:0;width:1px;height:1px}.avatar-choice>span{display:flex;align-items:center;flex-direction:column;border:2px solid #57594e;border-radius:12px;background:#292c28;padding:12px 8px;gap:6px}.avatar-choice svg{width:64px;height:64px}.avatar-choice small{font-size:.76rem}.avatar-choice input:checked+span{border-color:var(--gold);background:#464636;box-shadow:0 0 0 2px #ead17d25}.avatar-choice input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}.chat-entry .button{width:100%;margin-top:16px}.chat-room-card{border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:16px}.chat-room-card h3{margin-bottom:8px}.chat-room-card p{font-size:.85rem}.room-faces{display:flex;gap:4px;flex-wrap:wrap}.room-faces svg{width:35px;height:35px}.chat-participants{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 20px;border-bottom:1px solid var(--line);min-height:55px}.chat-person{display:flex;align-items:center;gap:6px;font-size:.76rem}.chat-person svg{width:32px;height:32px}.chat-avatar{border:0;background:none;width:54px;height:54px;flex-basis:54px;padding:0}.chat-avatar svg{width:54px;height:54px}.chat-mine .chat-avatar{display:block}.chat-current-person{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:.78rem;color:var(--muted)}.chat-current-person svg{width:35px;height:35px}.chat-bubble{position:relative}.chat-bubble:before{content:"";position:absolute;left:-9px;top:13px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:9px solid #505348}.chat-mine .chat-bubble:before{left:auto;right:-9px;border-right:0;border-left:9px solid #6f704a}.chat-new{position:relative;top:auto;margin-top:-46px;margin-bottom:0;max-width:95%}
@media(max-width:820px){.chat-lobby{grid-template-columns:1fr;gap:30px}.chat-entry{max-width:600px;width:100%;margin:auto}}@media(max-width:560px){.chat-avatar,.chat-avatar svg{width:42px;height:42px;flex-basis:42px}.chat-message{gap:10px}.chat-bubble{max-width:calc(100% - 52px)}.chat-entry{padding:20px}.avatar-choice svg{width:52px;height:52px}.avatar-choice>span{padding:10px 6px}.chat-person{font-size:.7rem}.chat-stream{min-height:260px}}

.chat-page{padding-top:20px;padding-bottom:25px}.chat-page .breadcrumb{display:none}.chat-page .page-title{margin-bottom:18px}.chat-page .page-title h1{font-size:1.5rem;margin:0}.chat-page .page-title p{display:none}.chat-page .chat-room{height:calc(100dvh - 215px);min-height:550px;display:flex;flex-direction:column;overflow:hidden}.chat-page .chat-stream{height:auto;min-height:150px;flex:1}.chat-room-header{flex-shrink:0}.chat-page .chat-room-header{padding:10px 20px}.chat-page .chat-compose{flex-shrink:0;padding-top:8px;padding-bottom:12px}.chat-page .chat-compose .check-label{margin:5px 0}.chat-page .chat-compose .form-error:empty{display:none}.chat-page .chat-compose .minor{font-size:.68rem}.chat-page .chat-new{flex-shrink:0;align-self:center;left:auto;transform:none}.chat-page .chat-typing{flex-shrink:0}
@media(max-width:820px){.chat-page .chat-shell{gap:10px}.chat-page .chat-shell>aside{display:none}.chat-page .chat-room{height:calc(100dvh - 200px);min-height:540px}.chat-page .page-title{flex-direction:row;align-items:center;margin-bottom:12px}.chat-page .page-title .button{align-self:auto;font-size:.72rem;padding:8px 10px;min-height:38px}.chat-page .chat-participants{padding:6px 12px;min-height:42px}.chat-page .chat-room-header{padding:8px 12px}.chat-page .chat-room-header h2{font-size:.86rem}.chat-page .chat-compose .check-label{font-size:.64rem}.chat-page .chat-current-person{margin-bottom:4px}.chat-page .chat-current-person svg{width:28px;height:28px}}

.header-inner{flex-wrap:wrap;gap:18px}.header nav{gap:19px;flex-wrap:wrap}.rest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.garden-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.garden-heading h1{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:10px}.garden-heading p{font-size:.85rem;color:var(--muted)}.garden-scene{width:100%;height:auto;display:block;border:1px solid #727663;border-radius:18px}.garden-sky-top{stop-color:#26343e}.garden-sky-bottom{stop-color:#5e706e}.garden-scene.dusk .garden-sky-top{stop-color:#656579}.garden-scene.dusk .garden-sky-bottom{stop-color:#bba487}.garden-below{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin:24px 0}.garden-panel{padding:24px;border:1px solid var(--line);border-radius:13px;background:#33362f}.garden-panel h2{font-size:1.12rem}.garden-panel p{font-size:.84rem}.garden-beds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}.garden-beds button{border:1px solid #777b64;border-radius:8px;background:#2b302a;color:var(--text);padding:14px 7px;display:flex;flex-direction:column;gap:5px}.garden-beds button[aria-pressed=true]{border-color:var(--gold);background:#4a4b36}.garden-beds strong{font-size:.79rem}.garden-beds small{font-size:.68rem;color:var(--muted)}.garden-panel progress{width:100%;height:9px;accent-color:#c4c58d;margin-bottom:18px}.garden-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 18px}.garden-pet{text-align:center}.garden-pet-face svg{width:90px;height:90px}.garden-pet h2{margin:9px 0}.garden-panel summary{cursor:pointer;min-height:28px}.garden-panel details[open],.garden-panel form{margin-top:20px}.garden-import{position:relative;overflow:hidden;cursor:pointer}.garden-import input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.garden-message{padding:15px 0;min-height:60px;color:var(--soft-gold)}.garden-panel hr{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:1150px) and (min-width:821px){.header nav{order:3;flex-basis:100%;margin:0;justify-content:center}.header-mine{margin-left:auto}}@media(max-width:560px){.garden-below,.rest-grid{grid-template-columns:1fr;gap:16px}.garden-heading{display:block}.garden-heading .badge{margin-bottom:15px}.garden-panel{padding:19px 16px}.garden-beds{gap:5px}.garden-beds small{font-size:.61rem}.garden-buttons .button{font-size:.78rem;padding-inline:12px}.garden-scene{min-height:0;object-fit:cover}.garden-panel p{font-size:.8rem}}

#music-dock{position:sticky;top:0;z-index:12;background:#262d28;border-bottom:1px solid #82836a;padding:16px}.music-dock-inner{width:min(1160px,100%);margin:auto;display:flex;gap:24px;align-items:center}.music-video{width:480px;flex:0 0 480px;height:270px;min-width:200px;min-height:200px}.music-video iframe{width:100%;height:100%;min-height:200px;border:0;display:block}.music-controls{flex:1;min-width:0}.music-controls strong{font-size:1rem}.music-controls p{font-size:.75rem;margin:7px 0}.music-controls .minor{font-size:.68rem}.music-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.music-buttons .button{min-height:38px;padding:7px 12px;font-size:.73rem}.music-controls .check-label{font-size:.72rem;margin:8px 0}.music-track{display:flex;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.music-track>div:first-child{flex:1;min-width:0}.music-track h2{font-size:1.1rem;margin:12px 0}.music-track p{white-space:pre-wrap;font-size:.85rem}.music-track a{font-size:.78rem}.music-track-actions{width:230px;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:10px;justify-content:center}.music-track-actions .button{font-size:.78rem;padding:9px 12px}.music-track-actions .check-label{font-size:.73rem}.music-recommend{border:1px solid var(--line);border-radius:12px;padding:24px;margin:30px 0}.music-recommend summary{cursor:pointer;color:var(--soft-gold)}.music-recommend form{max-width:760px;margin:25px auto 0}.music-recommend p{font-size:.83rem}.rest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){.music-video{width:360px;flex-basis:360px;height:203px}.music-dock-inner{gap:16px}.music-controls .minor:last-child{display:none}.rest-grid{grid-template-columns:1fr}}@media(max-width:650px){#music-dock{padding:10px 14px}.music-dock-inner{display:grid;grid-template-columns:minmax(200px,1fr);gap:8px}.music-video{width:100%;height:200px;max-width:480px;justify-self:center}.music-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.music-controls strong{font-size:.76rem;flex:1;max-height:2.6em;overflow:hidden}.music-controls>p.minor{display:none}.music-controls #music-player-status{font-size:.65rem;margin:0;flex-basis:100%}.music-buttons{margin:0;gap:5px}.music-buttons .button{font-size:.65rem;min-height:32px;padding:4px 8px}.music-controls .check-label{font-size:.65rem;margin:0}.music-track{display:block}.music-track-actions{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;margin-top:18px}.music-track-actions form{flex-basis:100%}.music-recommend{padding:18px}.music-controls .music-buttons{width:100%}}

/* Gentle garden motion; all movement can be paused and follows OS settings. */
.garden-stage{position:relative}.garden-motion-toggle{display:block;margin:10px 0 0 auto;font-size:.75rem}.garden-pet-face svg{width:128px;height:128px}.garden-scene-pet{cursor:pointer;outline:none}.garden-scene-pet:focus-visible>.garden-companion{filter:drop-shadow(0 0 3px #f4d47b)}.garden-companion{overflow:visible}.pet-idle{transform-origin:80px 144px;animation:pet-breathe 4.8s ease-in-out infinite}.pet-eyes{transform-box:fill-box;transform-origin:center;animation:pet-blink 6.2s infinite}.pet-tail{transform-origin:109px 121px;animation:pet-tail 5s ease-in-out infinite}.garden-plant{transform-box:fill-box;transform-origin:50% 100%;animation:garden-sway 6s ease-in-out infinite}.garden-plant:nth-of-type(2n){animation-delay:-2s}.garden-fireflies circle{animation:garden-glow 5s ease-in-out infinite}.garden-fireflies circle:nth-child(2){animation-delay:-1.8s}.garden-fireflies circle:nth-child(3){animation-delay:-3.3s}.pet-hearts{opacity:0;pointer-events:none}.pet-happy .pet-idle{animation:pet-joy .7s ease-in-out 2}.pet-happy .pet-hearts{animation:pet-love 2s ease-out both}.garden-water-drops{position:absolute;left:var(--water-x,32%);top:53%;width:46px;height:65px;pointer-events:none;opacity:0;transform:translateX(-50%)}.garden-water-drops i{position:absolute;width:5px;height:9px;border-radius:60% 40% 60% 40%;background:#b5dcde;left:5px;animation:water-drop .65s ease-in infinite}.garden-water-drops i:nth-child(2){left:16px;animation-delay:-.3s}.garden-water-drops i:nth-child(3){left:28px;animation-delay:-.5s}.garden-water-drops i:nth-child(4){left:39px;animation-delay:-.15s}.garden-watering .garden-water-drops{animation:water-appear 1.8s both}.garden-tending .garden-plant{transform-box:fill-box;transform-origin:50% 100%;animation:garden-sway 1s ease-in-out 2}
@keyframes pet-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,.978)}}@keyframes pet-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}@keyframes pet-tail{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(7deg)}}@keyframes garden-sway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes garden-glow{0%,100%{opacity:.1;transform:translateY(0)}50%{opacity:.8;transform:translateY(-6px)}}@keyframes pet-joy{0%,100%{transform:translateY(0)}40%{transform:translateY(-7px) rotate(-3deg)}70%{transform:translateY(-3px) rotate(3deg)}}@keyframes pet-love{0%{opacity:0;transform:translateY(8px)}25%,65%{opacity:1}100%{opacity:0;transform:translateY(-16px)}}@keyframes water-drop{from{transform:translateY(0);opacity:0}20%{opacity:.9}to{transform:translateY(54px);opacity:0}}@keyframes water-appear{0%,100%{opacity:0}10%,85%{opacity:1}}
.garden-motion-off *,.garden-motion-off *::before,.garden-motion-off *::after{animation:none!important}.garden-motion-off .pet-happy .pet-hearts{opacity:.8}
@media(prefers-reduced-motion:reduce){.garden-stage *,.garden-pet-face *{animation:none!important}.pet-happy .pet-hearts{opacity:.8}}

/* Persistent, visible mini player. The video itself stays at least 200px high. */
#music-dock.music-floating{position:fixed;inset:auto 18px 18px auto;width:344px;max-width:calc(100vw - 24px);padding:0;border:1px solid #858671;border-radius:12px;box-shadow:0 8px 32px #0006;overflow:hidden;z-index:15}#music-dock.music-floating{padding:12px}#music-dock.music-floating .music-dock-inner{display:flex;flex-direction:column;gap:8px;align-items:stretch;width:100%}#music-dock.music-floating .music-video{width:100%;height:200px;flex:0 0 200px;min-height:200px}#music-dock.music-floating .music-controls{display:block}#music-dock.music-floating .music-controls>p.minor{display:none}#music-dock.music-floating .music-controls strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.78rem;line-height:1.5;max-height:3em}#music-dock.music-floating .music-controls #music-player-status{font-size:.66rem;margin:5px 0;line-height:1.5}#music-dock.music-floating .music-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin:8px 0}#music-dock.music-floating .music-buttons .button{font-size:.67rem;min-height:34px;padding:5px}#music-dock.music-floating [data-player=close]{grid-column:1/-1}#music-dock.music-floating .music-controls .check-label{font-size:.66rem;margin:0;line-height:1.5}#music-dock.music-floating .music-controls .check-label input{margin:0 5px 0 0}#music-dock.music-floating #player-notice{line-height:1.5}
@media(max-width:650px){#music-dock.music-floating{right:12px;bottom:12px;width:320px}.has-music-player{padding-bottom:var(--music-height,452px)}}

.pet-open{animation:pet-open-frame 7s step-end infinite}.pet-closed{opacity:0;animation:pet-closed-frame 7s step-end infinite}.pet-happy .pet-open{animation:none;opacity:0}.pet-happy .pet-closed{animation:none;opacity:1}@keyframes pet-open-frame{0%,47%,51%,100%{opacity:1}48%{opacity:0}}@keyframes pet-closed-frame{0%,47%,51%,100%{opacity:0}48%{opacity:1}}.garden-motion-off .pet-open{opacity:1}.garden-motion-off .pet-closed{opacity:0}@media(prefers-reduced-motion:reduce){.pet-open{opacity:1!important}.pet-closed{opacity:0!important}}
@media(min-width:1100px){.has-music-player main{margin-right:380px}}

.garden-loop{font-size:.78rem;color:var(--muted);margin:0 0 18px}.garden-game{margin:0 0 24px}.garden-game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.garden-game-heading h2{margin:0}.garden-acorns{font-size:.9rem;color:var(--soft-gold);white-space:nowrap}.garden-game>.minor{margin-top:15px}.garden-game-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.garden-game-tabs .button{font-size:.8rem;padding:8px 15px}.garden-game-tabs [aria-pressed=true]{border-color:var(--gold);background:#4a4b36}.garden-shop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.garden-shop-item{display:flex;flex-direction:column;align-items:center;padding:18px 12px;border:1px solid var(--line);border-radius:10px;text-align:center;background:#2d322c}.garden-shop-item img{width:96px;height:96px;object-fit:contain;margin-bottom:10px}.garden-shop-item h3{font-size:.85rem;margin:0 0 8px}.garden-shop-item p{font-size:.76rem;margin:0 0 10px}.garden-shop-item .button{width:100%;font-size:.72rem;padding:7px;margin-top:auto}.garden-shop-item .button:disabled{cursor:default}.garden-place-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.garden-place-controls label,.garden-plant-choice{font-size:.82rem}.garden-place-controls select,.garden-plant-choice select{display:block;width:100%;margin-top:6px}.garden-plant-choice{display:block;max-width:280px;margin:14px 0}.garden-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:center}.garden-collection article{padding:15px 10px;background:#2d322c;border-radius:10px}.garden-collection h3{font-size:.85rem;margin-bottom:8px}.garden-collection p{margin:0 0 10px}.garden-collection .badge{font-size:.65rem}.garden-collection img{object-fit:contain}.garden-decoration{pointer-events:none}
@media(max-width:650px){.garden-shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.garden-shop-item{padding:14px 8px}.garden-shop-item .button{font-size:.68rem}.garden-shop-item h3{font-size:.76rem}.garden-place-controls{grid-template-columns:1fr}.garden-collection{gap:6px}.garden-collection article{padding:12px 4px}.garden-collection h3{font-size:.7rem}.garden-collection .badge{font-size:.56rem}.garden-game-heading{align-items:start}.garden-acorns{font-size:.8rem}.garden-game-tabs{gap:6px}.garden-game-tabs .button{font-size:.72rem;padding-inline:10px}}

.garden-view-button{margin-top:18px}

.chat-pixel-icon{image-rendering:pixelated;border-radius:5px;overflow:hidden;shape-rendering:crispEdges}.avatar-choice .chat-pixel-icon{border:1px solid #66695f}.avatar-choice small{line-height:1.5;text-align:center}
/* Pet home: the companion and care are the main activity. */
.pet-home{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.3fr);gap:28px;margin:24px 0}.pet-portrait{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;padding:25px 18px;border-radius:18px;background:radial-gradient(ellipse at 50% 60%,#65746788,#303a35 72%);text-align:center;overflow:hidden}.pet-stage-label{align-self:center;margin-bottom:12px}.pet-character{display:grid;place-items:end center;min-height:215px}.pet-character svg{width:210px;height:210px;max-width:100%}.pet-stage-baby .pet-character svg{width:170px;height:170px}.pet-stage-grown .pet-character svg{width:235px;height:235px}.pet-wish{max-width:280px;color:#e6e2ce;font-size:.88rem;margin:8px 0}.pet-portrait h2{font-size:1.4rem;margin:10px 0 0}.pet-care{min-width:0}.pet-care>.eyebrow{margin-bottom:8px}.pet-meters{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.pet-meters label{font-size:.78rem}.pet-meters label>span{float:right;color:var(--muted);font-size:.7rem}.pet-meters progress{display:block;height:13px;margin:5px 0 9px}.pet-growth{font-size:.75rem!important;color:var(--soft-gold);border-top:1px solid var(--line);padding-top:12px}.pet-food-choice{font-size:.8rem}.pet-food-choice select{display:block;margin:6px 0 14px}.pet-care-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.pet-care-buttons .button{font-size:.8rem;padding:9px}.pet-play{grid-column:1/-1;border-top:1px solid var(--line);padding-top:23px}.pet-play h3{font-size:1rem}.pet-memory-sequence{list-style-position:inside;display:flex;gap:12px;padding:0;flex-wrap:wrap}.pet-memory-sequence li{display:flex;flex-direction:column;align-items:center;min-width:70px;padding:12px;border:1px solid #8d8666;border-radius:10px;font-size:.8rem;background:#3d4136}.pet-memory-sequence svg,.pet-memory-options svg{width:36px;height:36px;flex-shrink:0}.pet-memory-options{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.pet-memory-options .button{gap:8px}.pet-record{padding:10px 0}.pet-record p{font-size:.76rem;margin:10px 0 0}.pet-garden-details{margin:24px 0}.pet-garden-details>.garden-below{grid-template-columns:1fr}.pet-garden-details>.garden-below .garden-panel{border:0;background:none;padding:0}.pet-ribbon{font-size:.7rem;color:#2f3936;background:#e4c677;padding:3px 14px;border-radius:20px}.garden-scene-pet.pet-stage-baby{transform:translate(125px,60px) scale(.8)}.garden-scene-pet.pet-stage-grown{transform:translate(-62px,-30px) scale(1.1)}.pet-sleep-mark{position:absolute;top:30%;right:18%;font-family:Georgia,serif;color:#e5dba8;animation:pet-sleep 4s ease-in-out infinite}.pet-sleeping .pet-open{opacity:0!important;animation:none}.pet-sleeping .pet-closed{opacity:1!important;animation:none}.pet-sleeping .pet-idle{animation-duration:7s}.pet-action-feed .pet-idle,.pet-action-snack .pet-idle{animation:pet-munch .4s ease-in-out 5}.pet-action-clean .pet-idle{animation:pet-brush .7s ease-in-out 3}.pet-action-clean:after{content:'';position:absolute;inset:35% 18%;border:2px dashed #f1d99b;border-radius:50%;pointer-events:none;animation:pet-spark 2s ease-out both}@keyframes pet-munch{50%{transform:translateY(4px) scale(1.025,.975)}}@keyframes pet-brush{50%{transform:rotate(3deg)}}@keyframes pet-spark{from{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.3)}}@keyframes pet-sleep{50%{transform:translateY(-8px);opacity:.4}}
@media(max-width:700px){.pet-home{grid-template-columns:minmax(0,1fr);gap:23px}.pet-portrait{min-height:300px}.pet-character{min-height:185px}.pet-play{grid-column:1}.pet-memory-options{gap:7px}.pet-memory-options .button{flex:1;font-size:.76rem;flex-direction:column;min-width:65px;padding:8px}.pet-meters{gap:6px 12px}.pet-care-buttons{gap:8px}.pet-care-buttons .button{font-size:.77rem}.pet-portrait h2{font-size:1.2rem}.pet-garden-details{padding:18px 13px}}@media(prefers-reduced-motion:reduce){.pet-home *,.pet-home *::after{animation:none!important}}
.avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr));max-height:430px;overflow-y:auto;overscroll-behavior:contain;padding:5px;scrollbar-gutter:stable}.avatar-choice>span{height:100%;min-height:108px;padding:10px 4px}.avatar-choice small{font-size:.68rem}.avatar-choice svg{width:60px;height:60px}.avatar-picker legend{position:sticky;top:0;background:#33352f;z-index:1;padding:4px 0}.avatar-choice input:checked+span{box-shadow:inset 0 0 0 1px #ead17d}.avatar-choice input:focus-visible+span{outline-offset:0}@media(max-width:560px){.avatar-picker{grid-template-columns:repeat(3,minmax(0,1fr));max-height:390px;gap:8px}.avatar-choice small{font-size:.62rem}.avatar-choice svg{width:52px;height:52px}.avatar-choice>span{min-height:99px}}

.pet-portrait{background-image:linear-gradient(0deg,#28382fe8,transparent 70%),url('/assets/garden-v1/night.webp');background-position:65% center;background-size:cover}.pet-portrait.pet-sky-dusk{background-image:linear-gradient(0deg,#3d4435e8,transparent 70%),url('/assets/garden-v1/dusk.webp')}.pet-wish{background:#29392fcc;padding:8px 12px;border-radius:10px}.pet-portrait h2{color:#fff;text-shadow:0 1px 5px #17291c}.pet-sleep-mark{font-size:1.4rem;text-shadow:0 1px 5px #17291c}
.avatar-filter{font-size:.82rem}.avatar-filter select{margin-top:6px}.avatar-selected{display:flex;align-items:center;gap:12px;min-height:63px;padding:10px 12px;margin:14px 0 12px;border:1px solid #70725e;border-radius:9px;background:#3b4036;font-size:.8rem}.avatar-selected svg{width:42px;height:42px;flex-shrink:0}.avatar-empty{padding:12px}.avatar-picker{margin-bottom:20px}.chat-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chat-header-actions .button{font-size:.72rem;min-height:38px;padding:7px 12px}.chat-header-actions [aria-pressed=true]{border-color:var(--gold);color:var(--soft-gold)}.avatar-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.avatar-admin-card{margin:0;text-align:center;min-width:0;padding:18px 10px}.avatar-admin-card>svg{width:80px;height:80px}.avatar-admin-card h3{font-size:.85rem;margin:10px 0}.avatar-admin-card p{font-size:.73rem;color:var(--muted)}.avatar-admin-card .button{font-size:.75rem;padding:8px 12px}.avatar-editor{margin:25px 0}.avatar-editor-layout{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr);gap:30px}.avatar-editor label{margin:12px 0}.avatar-image-preview{display:grid;place-items:center;min-height:210px;border:1px dashed #8c8c73;border-radius:12px;padding:12px;background:#292d29}.avatar-image-preview>svg,.avatar-image-preview>img{width:192px;height:192px;object-fit:contain;image-rendering:pixelated}.avatar-image-preview p{font-size:.8rem;color:var(--muted);margin:0}.avatar-prompt-builder{margin:24px 0}.avatar-prompt-builder>.form-columns{margin-top:16px}.avatar-prompt-builder .form-columns label{margin:0}.avatar-prompt-builder>.button{margin:16px 0 10px}.avatar-editor textarea{font-size:.84rem}.avatar-editor input[type=file]{font-size:.75rem}.avatar-editor .check-label{margin-top:18px}@media(max-width:820px){.avatar-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.avatar-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.avatar-editor-layout{grid-template-columns:minmax(0,1fr);gap:16px}.avatar-editor{padding:18px 14px}.avatar-image-preview>svg,.avatar-image-preview>img{width:150px;height:150px}.chat-room-header{flex-wrap:wrap;gap:12px}.chat-header-actions{justify-content:flex-start}.chat-header-actions .button{font-size:.69rem}.avatar-selected{font-size:.74rem}}

.admin-chat-badge{display:inline-block;background:#3e5b68;color:#e7f4ed;border:1px solid #a3c7c3;border-radius:4px;padding:0 6px;font-size:.65rem;line-height:1.6}

.chat-admin .chat-bubble{background:#294550;border-color:#8dbdc7;box-shadow:inset 3px 0 0 #87b8c5}.chat-admin .chat-bubble .entry-body{color:#ecf8fa}.chat-admin .chat-speaker strong{color:#c4eaf5}.chat-admin .chat-bubble:before{border-right-color:#8dbdc7}.chat-admin.chat-mine .chat-bubble:before{border-right:0;border-left-color:#8dbdc7}.chat-person-admin{color:#c4eaf5;border:1px solid #719eac;border-radius:6px;padding:2px 7px}


/* Larger avatar portraits, with room for messages on narrow screens. */
.avatar-picker{grid-template-columns:repeat(3,minmax(0,1fr));max-height:480px;gap:12px}
.avatar-choice>span{min-height:132px;padding:12px 6px}
.avatar-choice svg{width:84px;height:84px;max-width:100%}
.avatar-choice small{font-size:.74rem;overflow-wrap:anywhere}
.avatar-selected svg{width:72px;height:72px}
.avatar-admin-card>svg{width:104px;height:104px;max-width:100%}
.chat-avatar,.chat-avatar svg{width:96px;height:96px;flex-basis:96px}
.chat-avatar{flex-shrink:0}
.chat-bubble{min-width:0;max-width:calc(100% - 108px);overflow-wrap:anywhere}
.chat-person svg,.room-faces svg{width:44px;height:44px;flex-shrink:0}
.chat-current-person svg{width:56px;height:56px;flex-shrink:0}
@media(max-width:560px){
  .avatar-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-height:430px;gap:10px}
  .avatar-choice svg{width:80px;height:80px}
  .avatar-choice>span{min-height:128px;padding:10px 5px}
  .avatar-choice small{font-size:.7rem}
  .avatar-selected svg{width:64px;height:64px}
  .chat-avatar,.chat-avatar svg{width:80px;height:80px;flex-basis:80px}
  .chat-bubble{max-width:calc(100% - 90px);padding:10px}
  .chat-person svg,.room-faces svg{width:40px;height:40px}
  .chat-page .chat-current-person svg{width:44px;height:44px}
  .avatar-admin-card>svg{width:96px;height:96px}
}

/* Keep the conversation readable; reveal metadata and actions on demand. */
.chat-speaker{padding-right:32px;min-height:24px;font-size:.8rem;line-height:1.6;align-items:center}
.chat-bubble .entry-body{font-size:.95rem;line-height:1.85;margin:6px 0 0}
.chat-message-menu{padding:0;border:0;margin:0}
.chat-message-menu>summary{position:absolute;top:5px;right:5px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;list-style:none;border-radius:6px;color:var(--muted)}
.chat-message-menu>summary::-webkit-details-marker{display:none}
.chat-message-menu>summary svg{fill:currentColor}
.chat-message-menu>summary:hover,.chat-message-menu>summary:focus-visible{background:#ffffff15;color:var(--text);outline:1px solid #a0a28c}
.chat-message-menu[open]{border-top:1px solid #ffffff25;margin-top:12px;padding-top:10px}
.chat-message-options time{font-size:.68rem;color:var(--muted)}
.chat-message-options .entry-actions{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:5px}
.chat-message-options .link-button{font-size:.72rem;min-height:40px}
