@font-face{font-family:GardenSerif;src:local('Noto Serif CJK SC'),local('Songti SC'),local('SimSun')}
:root{color-scheme:light;--ink:#3f5046;--secondary:#7a897b;--paper:#f7f6ef;--glass:rgba(251,251,245,.88);--line:rgba(84,112,86,.15);--active:#dce8d7;--pink:#c78f90;--shadow:0 12px 48px rgba(55,76,61,.08)}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{font:14px/1.6 'Segoe UI','Microsoft YaHei',sans-serif;background:#eef1e7;color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.3;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid #879d85;outline-offset:5px}button{touch-action:manipulation}button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button span[data-icon]{display:flex;align-items:center;justify-content:center}button,[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(62,78,65,.9);color:#fafaf3;font-size:11px;padding:5px 10px;border-radius:6px;pointer-events:none;z-index:20}#garden{position:relative;isolation:isolate;width:100%;height:100%;height:100dvh}#water{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#water.hover-prop{cursor:pointer}#water.dragging{cursor:grabbing}.grain{position:absolute;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.45' filter='url(%23n)'/%3E%3C/svg%3E");z-index:1}.topbar{position:absolute;left:42px;right:42px;top:32px;display:flex;justify-content:space-between;align-items:flex-start;z-index:5;pointer-events:none}.topbar>*{pointer-events:auto}.identity{display:flex;gap:12px;align-items:center}.brand-mark{font-family:Georgia,serif;font-size:47px;font-weight:400;color:#8aa087;transform:rotate(-12deg);line-height:1}.identity h1{font-family:GardenSerif,Georgia,serif;font-size:31px;letter-spacing:.12em;font-weight:400;line-height:1.15;margin:0}.brand-dot{color:#c99591;letter-spacing:0}.wordmark{font-size:9px;letter-spacing:.28em;display:block;margin-top:8px;color:#7e8b7d}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;background:transparent;border-radius:50%}.icon-button:hover{background:rgba(101,129,103,.075)}.icon-button[aria-pressed=true]{background:#dce7d5}.icon-button.small{width:26px;height:26px}.icon-button.small svg{width:17px;height:17px}.quiet-button{display:inline-flex;gap:9px;align-items:center;justify-content:center;border:0;background:transparent;padding:10px 12px;border-radius:30px;font-size:12px;letter-spacing:.05em}.quiet-button:hover{background:rgba(101,129,103,.075)}.quiet-button.enjoy{background:rgba(247,248,239,.75);border:1px solid var(--line);padding:10px 16px}.scene-heading{position:absolute;left:44px;top:137px;z-index:5}.scene-heading>button{display:flex;align-items:center;gap:9px;border:0;padding:0;background:none;font-size:12px;letter-spacing:.11em}.scene-heading>button svg{width:12px;height:12px}.season-dot{width:5px;height:5px;background:var(--pink);border-radius:50%}.scene-heading p{font-family:GardenSerif,serif;font-size:14px;color:var(--secondary);margin:9px 0;letter-spacing:.07em}.popover{position:absolute;left:40px;top:203px;width:294px;padding:18px 20px;background:var(--glass);border:1px solid rgba(255,255,252,.75);box-shadow:var(--shadow);border-radius:15px;backdrop-filter:blur(22px);z-index:12}.panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:15px}.mood-options{display:flex;gap:9px;margin-bottom:18px}.mood-option{flex:1;display:flex;flex-direction:column;gap:8px;align-items:center;padding:8px 3px;background:transparent;border:1px solid transparent;border-radius:8px;font-size:11px}.mood-option[aria-pressed=true]{border-color:#91a68a;background:#e5eddf}.mood-swatch{display:block;width:48px;height:33px;border-radius:5px}.flow-label{display:flex;justify-content:space-between;font-size:12px}.flow-label span{color:var(--secondary)}input[type=range]{appearance:none;-webkit-appearance:none;background:rgba(109,137,103,.16);height:3px;border-radius:3px;accent-color:#839a79;cursor:pointer;width:100%;margin:16px 0 17px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#8da180;border:3px solid #f6f8ee;box-shadow:0 0 0 1px #a3b19b}.scene-files{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}.scene-files button{border:0;background:transparent;font-size:11px;color:#667e63;padding:4px}.storage-note{font-size:10px;color:#839180;line-height:1.8;margin:10px 0 0}.bottom-area{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:15px;z-index:8;max-width:calc(100% - 32px)}.dock{display:flex;align-items:center;justify-content:center;padding:7px 12px;gap:4px;border:1px solid rgba(255,255,255,.83);background:var(--glass);box-shadow:0 8px 38px rgba(66,85,57,.095),inset 0 1px 0 white;border-radius:19px;backdrop-filter:blur(20px)}.dock-tool{width:61px;height:59px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:0;border-radius:12px;font-size:10px;letter-spacing:.06em;transition:background .2s,transform .2s}.dock-tool:hover:not(:disabled){background:#e9eee1;transform:translateY(-2px)}.dock-tool[aria-pressed=true]{background:var(--active);color:#476749}.dock-tool.compact{width:35px}.dock-tool.compact svg{width:18px;height:18px}.dock-divider{width:1px;height:24px;background:var(--line);margin:0 6px}.dock-caption{font-size:10px;color:#879481;letter-spacing:.07em;margin:0;text-align:center;pointer-events:none}#palette{width:596px;max-width:100%;padding:14px 18px 15px;background:var(--glass);border:1px solid rgba(255,255,255,.85);border-radius:17px;box-shadow:var(--shadow);backdrop-filter:blur(24px);animation:rise .25s ease}.palette-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.palette-heading>div{display:flex;align-items:baseline;gap:15px}#palette-title{font-family:GardenSerif,serif;font-size:16px}#palette-hint{font-size:10px;color:#839180}.asset-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#dce3d5 transparent;padding:2px 0 3px}.asset-card{display:flex;flex-direction:column;align-items:center;min-width:84px;flex:1;gap:3px;padding:4px 2px 6px;border:1px solid transparent;border-radius:10px;background:rgba(253,253,249,.2);font-size:11px;transition:background .2s,border-color .2s}.asset-card:hover{background:#e4ecd9;border-color:#d2dfc8}.asset-thumb{width:75px;height:60px;display:block;background-repeat:no-repeat;background-position:center;background-size:contain;object-fit:contain}.asset-card .asset-detail{color:#85927e;font-size:9px}.view-tools{position:absolute;right:37px;bottom:44px;z-index:7;display:flex;align-items:center;background:rgba(250,251,244,.63);border:1px solid rgba(255,255,255,.7);border-radius:25px;padding:4px}.view-tools button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;width:29px;height:29px;border-radius:50%}.view-tools button:hover{background:#e6edde}.view-tools svg{width:15px;height:15px}#reset-view{width:48px;font-size:10px}.garden-status{position:absolute;left:43px;bottom:55px;display:flex;align-items:center;gap:8px;color:#8a967f;font-size:10px;letter-spacing:.02em;z-index:5}.live-dot{height:4px;width:4px;border-radius:50%;background:#92a686}#object-tools{position:absolute;z-index:11;transform:translate(-50%,-100%);padding-bottom:14px;pointer-events:none}#object-tools>*{pointer-events:auto}.object-buttons{display:flex;align-items:center;gap:2px;background:rgba(251,252,243,.94);border:1px solid rgba(255,255,255,.9);box-shadow:0 5px 25px #3b563a12;border-radius:30px;padding:5px 7px;backdrop-filter:blur(12px);white-space:nowrap}.object-buttons button{border:0;background:none;width:29px;height:29px;display:flex;align-items:center;justify-content:center;border-radius:50%}.object-buttons button:hover{background:#e4ecdb}.object-buttons button svg{width:16px;height:16px}.object-buttons .confirm{background:#7e9772;color:white;margin-left:3px}.object-buttons .confirm:hover{background:#66835b}#object-name{font-size:10px;color:#89957f;padding:0 7px}#size-control{padding:12px 16px 5px;border-radius:13px;background:rgba(251,252,243,.96);margin-bottom:9px;box-shadow:var(--shadow)}#size-control label{display:flex;justify-content:space-between;font-size:11px}#size-control input{margin:11px 0 14px}#toast{position:absolute;left:50%;top:98px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;max-width:calc(100% - 38px);background:rgba(60,79,61,.87);color:#fbfcf3;padding:10px 19px;border-radius:26px;font-size:12px;z-index:30;backdrop-filter:blur(12px);box-shadow:0 4px 20px #33533315;animation:toast .25s ease}#toast-action{border:0;border-left:1px solid #ffffff45;padding:0 0 0 14px;color:#e3efc5;background:none;font-size:11px}#exit-zen{position:absolute;right:28px;top:28px;background:rgba(249,251,241,.65);font-size:11px;z-index:15;opacity:.5}#exit-zen:hover{opacity:1}.zen .ui,.zen #object-tools{opacity:0;pointer-events:none!important;visibility:hidden}.ui{transition:opacity .3s ease}.zen #water{cursor:default}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#eef2e8;color:#859580;z-index:50;transition:opacity .7s;pointer-events:none}#loading p{font-family:GardenSerif,serif;letter-spacing:.15em;font-size:15px;margin-top:22px}.loading-ripple{width:38px;height:38px;border:1px solid #acbca2;border-radius:50%;animation:breathe 1.6s infinite ease-in-out}.loaded #loading{opacity:0}.loaded-ready #loading{display:none}[hidden]{display:none!important}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast{from{opacity:0;transform:translate(-50%,-5px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes breathe{50%{transform:scale(1.3);opacity:.3}}@media(max-width:1050px){.garden-status{bottom:20px;left:25px}.view-tools{right:25px;bottom:25px}.bottom-area{bottom:27px}.dock-caption{display:none}.topbar{left:27px;right:25px}.scene-heading{left:29px}.popover{left:25px}.top-actions{gap:5px}}@media(max-width:700px){.topbar{top:22px;left:22px;right:17px}.brand-mark{font-size:36px}.identity{gap:8px}.identity h1{font-size:26px}.wordmark{font-size:7px;margin-top:6px}.top-actions{gap:0}.quiet-button{padding:8px}.quiet-button.enjoy{padding:8px 10px;font-size:10px;gap:5px}.quiet-button svg,.icon-button svg{width:18px;height:18px}.desktop-label{display:none}.scene-heading{left:25px;top:111px}.scene-heading p{font-size:12px}.scene-heading>button{font-size:11px}.popover{left:22px;top:175px;width:280px}.bottom-area{bottom:max(19px,env(safe-area-inset-bottom));max-width:calc(100% - 20px);gap:10px}.dock{gap:1px;padding:5px 7px;border-radius:16px}.dock-tool{width:47px;height:53px;font-size:9px}.dock-tool svg{width:20px;height:20px}.dock-tool.compact{width:28px}.dock-divider{margin:0 3px}.garden-status{display:none}.view-tools{right:17px;bottom:99px;background:#f7f8ef88}.view-tools button{width:26px;height:26px}#reset-view{width:37px;font-size:9px}#palette{padding:12px;width:min(570px,calc(100vw - 24px))}.palette-heading>div{gap:10px}#palette-title{font-size:15px}#palette-hint{font-size:9px}.asset-card{min-width:72px}.asset-thumb{width:64px;height:57px}#toast{top:174px;font-size:11px}#object-name{display:none}.object-buttons button{width:32px;height:34px}.object-buttons{padding:4px 5px}#exit-zen{top:23px;right:22px}.object-buttons button svg{width:17px;height:17px}}@media(max-width:380px){.dock-tool{width:42px}.dock-tool.compact{width:24px}.dock-divider{margin:0 2px}.quiet-button.enjoy span:not([data-icon]){display:none}.topbar{left:18px;right:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* A small picture book of complete gardens, rendered with the actual game artwork. */
.scene-heading>.panorama-entry{display:flex;align-items:center;gap:8px;width:max-content;margin-top:15px;padding:8px 12px;border:1px solid rgba(91,116,91,.18);border-radius:18px;background:rgba(249,250,242,.68);color:#607760;font-size:11px;letter-spacing:.05em;backdrop-filter:blur(10px)}
.panorama-entry svg{width:15px;height:15px}.entry-arrow{margin-left:5px;opacity:.6}
#garden[data-mood="deep"] .panorama-entry{background:rgba(34,63,61,.7);color:#dce7d7;border-color:#a7c0a433}
#panorama-dialog{position:fixed;inset:0;margin:auto;width:min(880px,calc(100vw - 40px));max-height:calc(100dvh - 56px);padding:28px 30px 18px;overflow-y:auto;border:1px solid #d7dfcd;border-radius:23px;background:#f5f5eb;color:#435c4f;box-shadow:0 25px 100px #18382d38}
#panorama-dialog::backdrop{background:rgba(33,54,44,.28);backdrop-filter:blur(9px)}
.panorama-header{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 23px;gap:18px}.panorama-eyebrow{font-size:9px;letter-spacing:.22em;color:#68785f}.panorama-header h2{font-family:Georgia,"Songti SC","SimSun",serif;font-size:28px;font-weight:400;letter-spacing:.14em;margin:10px 0 8px}.panorama-header p{font-size:12px;color:#66745e;margin:0}.panorama-header .icon-button{flex:none}
.panorama-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panorama-card{display:block;text-align:left;padding:0;overflow:hidden;border:1px solid #dfe4d5;border-radius:12px;background:#fcfcf6;color:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.panorama-card:hover{transform:translateY(-3px);border-color:#a9b99d;box-shadow:0 8px 22px #45583f13}.panorama-card:focus-visible{outline:2px solid #728b67;outline-offset:4px}.panorama-card[aria-pressed="true"]{border-color:#95aa88}.panorama-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid #dfe4d580}.panorama-copy{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:15px 17px 14px}.panorama-label{font-size:9px;letter-spacing:.1em;color:#66745e}.panorama-copy strong{font-family:Georgia,"Songti SC","SimSun",serif;font-size:19px;letter-spacing:.09em;font-weight:400}.panorama-description{font-size:11px;line-height:1.7;color:#66745e}.panorama-action{font-size:10px;margin-top:3px;color:#5d7456}.panorama-card:hover .panorama-action{color:#3f6849}#panorama-note{font-size:10px;line-height:1.8;text-align:center;color:#66745e;margin:18px 0 0}
@media(max-width:700px){.scene-heading>.panorama-entry{margin-top:11px;font-size:10px;padding:7px 10px}#panorama-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:21px 17px 16px;border-radius:18px}.panorama-header{margin-bottom:18px}.panorama-header h2{font-size:25px}.panorama-grid{grid-template-columns:1fr;gap:15px}.panorama-copy{padding:13px 15px}.panorama-copy strong{font-size:19px}#panorama-note{text-align:left}}
@media(max-height:500px){#panorama-dialog{max-height:calc(100dvh - 20px)}.scene-heading>.panorama-entry{margin-top:8px}.panorama-header h2{font-size:23px}}
/* Keep contrast and every control available across light, night, and short views. */
.history-tools,.category-tools,.scene-tools{display:flex;align-items:center;gap:4px}
#palette{width:720px}
#palette-count{font-size:10px;color:#7c8c78;white-space:nowrap}
#asset-search{display:block;width:100%;height:33px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,250,.5);padding:5px 11px;margin:2px 0 8px;font-size:11px;color:var(--ink);outline-offset:2px}
#asset-search::placeholder{color:#8b9786}
.asset-filters{display:flex;gap:7px;margin:0 0 8px}.asset-filters button{border:1px solid transparent;border-radius:20px;padding:3px 13px;font-size:10px;background:transparent;color:#687a61}.asset-filters button[aria-pressed=true]{border-color:#d0dcc9;background:#e6edde;color:#455e42}
#asset-empty{color:#84917e;font-size:12px;text-align:center;padding:18px;margin:0}
.asset-card .asset-detail{max-width:95px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-card .asset-new{position:absolute;top:4px;right:5px;font-size:8px;line-height:1.6;padding:0 4px;border-radius:4px;color:#8b9c7f;background:#eaf0e3}
.composition-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px;font-size:12px}
.sound-credit{font-size:10px;color:var(--secondary);margin:-5px 0 15px;line-height:1.7}.sound-credit a{color:inherit;text-underline-offset:2px}
#loading{pointer-events:auto;text-align:center;padding:24px}#loading p{line-height:1.8}#retry-artwork{border:1px solid #aabca0;border-radius:24px;background:#f9fbf2;color:#60785b;padding:10px 20px;font:inherit;font-size:12px;cursor:pointer}#retry-artwork:disabled{opacity:.55;cursor:wait}.loaded #loading{pointer-events:none}
#preset-select{max-width:157px;padding:5px 7px;background:rgba(255,255,250,.5);border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:11px}
@media(max-width:1050px) and (min-width:701px){.dock-tool{width:49px}.dock{padding:7px 9px;gap:2px}.dock-divider{margin:0 3px}.view-tools{bottom:99px}}
@media(max-width:700px){
 .dock{flex-wrap:wrap;width:min(370px,calc(100vw - 24px));gap:0 14px;padding:5px 9px 7px}
 .category-tools{order:0;width:100%;justify-content:space-around;padding-bottom:3px;margin-bottom:3px;border-bottom:1px solid var(--line)}
 .category-tools .dock-tool{width:56px;height:48px}
 .dock>.dock-divider{display:none}
 .history-tools{order:1;gap:8px;margin-right:auto}
 .scene-tools{order:2;gap:8px}
 .history-tools .dock-tool,.scene-tools .dock-tool{height:38px}
 .history-tools .dock-tool{width:32px}
 .scene-tools .dock-tool:not(.compact){width:44px;flex-direction:row;gap:4px}
 .scene-tools .dock-tool:not(.compact)>span:last-child{font-size:9px;white-space:nowrap}
 .scene-tools .dock-tool:not(.compact) svg{width:16px;height:16px}
 .view-tools{bottom:139px}
 #palette{width:min(570px,calc(100vw - 24px))}
 .palette-heading>div{gap:8px;flex-wrap:wrap}
 #palette-hint{flex-basis:100%;line-height:1.2}
 .asset-thumb{height:56px}
}
@media(max-width:380px){.category-tools .dock-tool{width:48px}.dock{gap:0 6px}.scene-tools{gap:7px}.history-tools{gap:2px}}
#garden[data-mood="deep"] .topbar,#garden[data-mood="deep"] .scene-heading>button{color:#e0e8db}
#garden[data-mood="deep"] .scene-heading p,#garden[data-mood="deep"] .wordmark,#garden[data-mood="deep"] .garden-status,#garden[data-mood="deep"] .dock-caption{color:#afc0b2}
#garden[data-mood="deep"] .quiet-button.enjoy{background:rgba(40,66,63,.7);border-color:rgba(206,226,212,.19)}
#garden[data-mood="deep"] .brand-mark{color:#adc3a0}
.popover{max-height:calc(100dvh - 225px);overflow-y:auto}
@media(max-width:700px){.popover{max-height:calc(100dvh - 190px)}}
@media(max-height:500px){.topbar{top:15px}.scene-heading{top:85px}.scene-heading p{display:none}.popover{top:125px;max-height:calc(100dvh - 140px)}.bottom-area{bottom:12px}.dock-tool{height:46px}.dock-caption{display:none}.view-tools{bottom:20px}.garden-status{display:none}.palette-heading{margin-bottom:2px}#palette{padding:9px 14px}.asset-thumb{height:45px}}
/* Typography follows words; controls grow or scroll instead of splitting them. */
html:lang(zh-Hant){--ui-font:'Microsoft JhengHei','PingFang TC','Noto Sans TC','Segoe UI',sans-serif}
html:lang(ja){--ui-font:'Yu Gothic UI','Hiragino Kaku Gothic ProN','Meiryo','Segoe UI',sans-serif}
html:lang(ko){--ui-font:'Malgun Gothic','Apple SD Gothic Neo','Noto Sans KR','Segoe UI',sans-serif}
html:lang(ar){--ui-font:'Segoe UI','Geeza Pro','Noto Sans Arabic','Tahoma',sans-serif}
html:lang(hi){--ui-font:'Nirmala UI','Noto Sans Devanagari','Mangal','Segoe UI',sans-serif}
body{font-family:var(--ui-font,'Segoe UI','Microsoft YaHei',sans-serif)}
button,select,.palette-heading,.panorama-header,.panorama-copy,#toast{word-break:normal;overflow-wrap:normal;hyphens:none}
select{font:inherit}
button span[data-icon],.icon-button,.season-dot,.live-dot{flex:0 0 auto}
.quiet-button{min-height:40px;line-height:1.4}
.identity{direction:ltr;flex-shrink:0}
.language-picker{display:flex;align-items:center;flex-shrink:0;gap:5px;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:20px;background:var(--glass);color:var(--ink)}
.language-picker>span{display:flex;flex:none}.language-picker svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3}
#language-select{width:116px;max-width:116px;min-width:0;min-height:36px;background:transparent;border:0;color:inherit;font-size:12px;cursor:pointer;padding:4px 0}
#language-select:focus-visible{outline:2px solid #879d85;outline-offset:3px;border-radius:3px}
html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) :is(.scene-heading p,#palette-title,#loading p){font-family:Georgia,'Segoe UI',serif;letter-spacing:.015em}
html:is(:lang(ar),:lang(hi)) :is(.scene-heading p,.scene-heading>button,.quiet-button,#palette-title,#loading p,.panorama-header h2,.panorama-copy strong,.panorama-label,.panorama-eyebrow,.dock-tool,.language-picker){font-family:var(--ui-font,'Segoe UI',sans-serif);letter-spacing:normal}
html:lang(ko) :is(button,.palette-heading,.panorama-copy,.panorama-header){word-break:keep-all}

/* Each category keeps its full name. The strip scrolls independently of tools. */
.bottom-area{width:min(1040px,calc(100% - 32px))}
.dock{width:max-content;max-width:100%;gap:7px;padding:7px 10px}
.history-tools,.scene-tools{flex:0 0 auto;gap:6px}
.category-tools{flex:1 1 auto;min-width:0;max-width:100%;gap:4px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#c5d1bb transparent;overscroll-behavior-x:contain;padding:2px}
.dock-tool{height:auto;min-height:62px;font-size:11px;letter-spacing:normal}
.category-tools .dock-tool{flex:0 0 auto;width:max-content;min-width:72px;max-width:none;padding:7px 10px;gap:5px}
.category-tools .dock-tool>svg{flex:0 0 auto;display:block}
.category-tools .dock-tool>span:last-child{white-space:nowrap;line-height:1.3;text-align:center}
.scene-tools .dock-tool:not(.compact){width:max-content;min-width:72px;max-width:none;padding:7px 10px;gap:5px}
.scene-tools .dock-tool>span:last-child{line-height:1.3;text-align:center;white-space:nowrap}
.dock-tool.compact{flex:none;width:40px;min-width:40px;min-height:40px}
.dock-tool:hover:not(:disabled){transform:none}
.garden-status{bottom:119px}.view-tools{bottom:115px}

/* Stable thumbnail and caption rows, with room for an unbroken compound word. */
#palette{width:min(760px,calc(100vw - 32px));max-height:min(48dvh,400px);overflow-y:auto}
.palette-heading{gap:12px;align-items:flex-start}.palette-heading>div{min-width:0;flex:1;flex-wrap:wrap;gap:4px 12px}
#palette-hint{flex-basis:100%;line-height:1.6;max-width:620px;font-size:11px}
#palette-title{line-height:1.4}#palette-count{font-size:11px}
#asset-search{height:40px;font-size:12px}
.asset-list{align-items:stretch;gap:8px;padding:3px 2px 7px}
.asset-card{display:grid;grid-template-rows:64px minmax(2.6em,auto) 1.4em;align-content:start;justify-items:center;align-items:center;flex:0 0 auto;width:132px;min-width:min-content;max-width:none;gap:5px;padding:9px 9px 8px;font-size:12px}
.asset-thumb{width:78px;height:64px;object-fit:contain}
.asset-card>span:not(.asset-detail):not(.asset-new){width:100%;max-width:100%;min-height:2.6em;line-height:1.3;text-align:center;align-content:center;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
.asset-card .asset-detail{width:100%;min-width:0;max-width:114px;font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asset-card .asset-new{font-size:10px;line-height:1.5}
.asset-filters{flex-wrap:wrap;gap:5px;margin-bottom:9px}.asset-filters button{flex:none;min-height:40px;padding:6px 12px;font-size:11px;line-height:1.3;white-space:nowrap}

/* Settings use complete rows, so a translated label cannot steal input space. */
.panel-heading{gap:12px}.panel-heading>span{min-width:0;line-height:1.5}
.mood-options{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin-bottom:16px}
.mood-option{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;min-width:0;min-height:47px;padding:6px 9px;text-align:start;font-size:12px;line-height:1.4}
.mood-swatch{width:48px;height:30px}
.composition-label{flex-direction:column;align-items:stretch;gap:7px;line-height:1.5}
#preset-select{width:100%;max-width:none;min-width:0;min-height:42px;padding:7px 9px;font-size:12px}
.flow-label{gap:12px;line-height:1.5}.flow-label>span:first-child{min-width:0}.flow-label>span:last-child{flex:none;white-space:nowrap}
.scene-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.scene-files button{min-height:44px;font-size:11px;line-height:1.4}
.storage-note,.sound-credit{font-size:11px;line-height:1.7}

.scene-heading{max-width:calc(100vw - 88px)}.scene-heading p{max-width:min(420px,100%);line-height:1.7}
.scene-heading>.panorama-entry{width:fit-content;max-width:100%;min-height:40px;line-height:1.5;letter-spacing:normal}
.panorama-entry>span[data-i18n]{min-width:0;white-space:normal}.entry-arrow{flex:none;margin-inline-start:5px;margin-inline-end:0}
.panorama-header>div{min-width:0}.panorama-header h2{line-height:1.3;text-wrap:balance}.panorama-header p{line-height:1.6}
.panorama-card{text-align:start}.panorama-copy{min-width:0}.panorama-copy strong{display:block;width:100%;line-height:1.35;text-wrap:balance}
.panorama-header h2,.panorama-copy strong{letter-spacing:.025em;word-break:normal;overflow-wrap:normal;hyphens:none}
.panorama-label{line-height:1.5;letter-spacing:.03em}.panorama-description{font-size:12px;line-height:1.7}.panorama-action{font-size:11px;line-height:1.5}
#object-name{max-width:180px;line-height:1.4;white-space:normal;overflow:visible;text-overflow:clip}
.object-buttons button{flex:none;min-width:40px;min-height:40px}
#toast{width:max-content;white-space:normal;text-align:center;line-height:1.5}#toast-text{min-width:0}#toast-action{flex-shrink:0;min-height:36px}

[dir=rtl] .scene-heading{left:auto;right:44px}[dir=rtl] .popover{left:auto;right:40px}[dir=rtl] .view-tools{right:auto;left:37px}[dir=rtl] .garden-status{left:auto;right:43px}
[dir=rtl] .wordmark,[dir=rtl] .scene-heading,[dir=rtl] .dock-tool,[dir=rtl] .panorama-label,[dir=rtl] .panorama-eyebrow,[dir=rtl] .panorama-header h2,[dir=rtl] .panorama-copy strong{letter-spacing:normal}
[dir=rtl] .panorama-copy{align-items:flex-start}[dir=rtl] #toast-action{border-left:0;border-right:1px solid #ffffff45;padding:0 14px 0 0}
@media(max-width:1050px){
 .bottom-area{width:min(720px,calc(100% - 24px))}
 .dock{display:grid;grid-template-columns:86px minmax(0,1fr);width:100%;gap:6px 10px;padding:7px 9px}
 .dock>.dock-divider{display:none}
 .category-tools{grid-column:1/-1;grid-row:1;width:100%;padding:2px 0 7px;margin:0;border-bottom:1px solid var(--line)}
 .category-tools .dock-tool{min-height:54px;padding:6px 10px}
 .history-tools{grid-column:1;grid-row:2;width:auto;gap:6px;margin:0}
 .scene-tools{grid-column:2;grid-row:2;justify-content:flex-end;min-width:0;gap:6px}
 .scene-tools .dock-tool:not(.compact){min-height:46px;flex-direction:row;gap:6px;padding:6px 9px}
 .scene-tools .dock-tool:not(.compact)>span:last-child{font-size:11px;white-space:normal}
 .view-tools{bottom:169px}.garden-status{display:none}
 [dir=rtl] .scene-heading{right:29px}[dir=rtl] .popover{right:25px}[dir=rtl] .view-tools{left:25px}[dir=rtl] .garden-status{right:25px}
}
@media(max-width:700px){
 .language-picker{position:absolute;inset-inline-end:0;top:48px;height:40px;padding:0 7px}#language-select{width:113px;font-size:12px}
 .top-actions .quiet-button{flex-shrink:0}.top-actions .quiet-button.enjoy>span:not([data-icon]){display:none}.top-actions .quiet-button.enjoy{padding:8px}
 .bottom-area{width:calc(100% - 24px);bottom:max(14px,env(safe-area-inset-bottom))}
 .dock{grid-template-columns:82px minmax(0,1fr);gap:5px 7px;padding:6px 8px 7px}
 .category-tools .dock-tool{min-width:74px;min-height:54px;padding:6px 10px;font-size:11px}
 .history-tools{gap:2px}.history-tools .dock-tool{width:40px;height:auto;min-height:40px}
 .scene-tools{display:grid;grid-template-columns:minmax(min-content,1fr) minmax(min-content,1fr) 40px;gap:3px;align-items:center}
 .scene-tools .dock-tool:not(.compact){flex-direction:column;width:auto;min-width:0;min-height:58px;padding:5px 4px;gap:3px;font-size:10px}
 .scene-tools .dock-tool:not(.compact)>span:last-child{font-size:10px;line-height:1.25;white-space:normal}
 .scene-tools .dock-tool:not(.compact) svg{width:17px;height:17px}
 .scene-tools .dock-tool.compact{width:40px;height:auto;min-height:40px}
 .view-tools{bottom:168px}
 #palette{width:100%;padding:12px;max-height:46dvh}.palette-heading>div{gap:4px 9px}
 .asset-card{width:128px;min-width:min-content;max-width:none;padding:8px}.asset-thumb{width:72px;height:64px}
 #palette-hint{font-size:11px;line-height:1.5}
 .scene-heading{max-width:calc(100vw - 44px)}.scene-heading>.panorama-entry{font-size:11px}
 .popover{left:20px;right:20px;width:auto;max-height:calc(100dvh - 195px)}
 #object-name{display:none}
 [dir=rtl] .scene-heading{right:22px}[dir=rtl] .view-tools{left:17px}[dir=rtl] .popover{right:20px;left:20px;width:auto}
}
@media(max-height:500px){
 .bottom-area{bottom:10px}.dock{padding-top:4px;padding-bottom:4px;row-gap:3px}
 .category-tools{padding-bottom:4px}.category-tools .dock-tool{min-height:42px;padding:3px 9px;gap:2px;font-size:10px}.category-tools .dock-tool svg{width:17px;height:17px}
 .scene-tools .dock-tool:not(.compact){min-height:40px;flex-direction:row;gap:5px;padding:4px 8px}.scene-tools .dock-tool:not(.compact)>span:last-child{font-size:10px}
 #palette{max-height:40dvh;padding:10px 12px}#palette-hint{display:none}.asset-filters{margin-bottom:5px}.asset-card{grid-template-rows:45px minmax(2.6em,auto) 1.4em;padding-top:4px;padding-bottom:5px}.asset-thumb{height:45px}
 .view-tools{bottom:122px}.popover{top:125px;max-height:calc(100dvh - 140px)}
}

/* NM integration: preserve the shared language control and RTL return placement. */
.language-picker.shared-language-picker{height:44px;padding:0;border:0;background:none;flex-shrink:0;gap:0}
.topbar:has(.shared-language-picker nm-lang-switch[open]){z-index:40}
html[dir=rtl] vu-universe-button{left:auto;right:calc(12px + env(safe-area-inset-right,0px))}
