:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif;color:#35493b;--green:#607d57}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#d9e2cf}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:wait}button:focus-visible{outline:2px solid #668755;outline-offset:4px}#viewport{position:fixed;inset:0}#viewport canvas{display:block;touch-action:none;width:100%;height:100%}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:27px 36px;pointer-events:none;background:linear-gradient(#f8faedbb,transparent)}header>*{pointer-events:auto}.brand{display:flex;gap:13px;align-items:center}.brand>span{font-size:37px;color:#64835d}.brand h1{font-family:'Songti SC',SimSun,serif;font-size:26px;letter-spacing:5px;font-weight:500;margin:0}.brand p{font-size:10px;letter-spacing:3px;margin:7px 0 0;color:#6e8067}.top-controls{display:flex;align-items:center;gap:9px}.top-controls button{border:1px solid #ffffff99;background:#fafcf0c9;border-radius:30px;height:38px;padding:0 15px;font-size:12px;box-shadow:0 3px 16px #4c64440a}.weather{font-size:12px;margin-right:13px;color:#708365}#help{width:38px;padding:0}.scene-caption{position:fixed;right:35px;top:104px;color:#708468;font-size:11px;letter-spacing:2px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8ca67c;margin-right:8px}#collection{position:fixed;left:30px;top:133px;width:215px;background:#fbfcf0c9;backdrop-filter:blur(16px);border:1px solid #ffffffbb;border-radius:16px;padding:20px;box-shadow:0 12px 35px #5369400b;max-height:calc(100dvh - 200px);overflow:auto}.list-head{display:flex;align-items:center;justify-content:space-between}.list-head h2{font-size:13px;font-weight:500;letter-spacing:2px;margin:0}.list-head small{font-size:10px;color:#8e9d80;margin-left:5px}.list-caption{font-size:10px;color:#97a18c;margin:10px 0 20px;letter-spacing:1px}#cards{display:grid;gap:8px}.card{display:flex;align-items:center;gap:11px;text-align:left;padding:13px 10px;background:#fffdf44d;border:1px solid #dce2d166;border-radius:10px;width:100%}.card.active{background:#e6eddabf;border-color:#99af89}.card-icon{font-size:22px;color:#829771}.card b{font-weight:500;font-size:12px;display:block;max-width:120px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card small{display:block;font-size:9px;color:#8a9980;margin-top:6px}.add{border:1px dashed #aabd97;background:#ffffff20;border-radius:10px;width:100%;font-size:11px;padding:13px 5px;color:#748b64;margin-top:12px}.storage-note{font-size:9px;color:#99a38f;line-height:1.8;margin-top:19px;text-align:center}.mobile-list,#list-close{display:none}#movement-hint{position:fixed;bottom:239px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:1px;color:#5d7656;text-align:center;white-space:nowrap;background:#f6fae680;border:1px solid #ffffff60;padding:8px 15px;border-radius:30px;pointer-events:none}#dock{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:470px;background:#fffef2ed;backdrop-filter:blur(20px);border:1px solid #ffffffd9;border-radius:19px;box-shadow:0 13px 60px #344a3425;padding:19px 24px 13px}.selected{display:flex;justify-content:space-between;align-items:center}.dock-eyebrow{font-size:9px;color:#93a087;letter-spacing:3px;margin-bottom:6px}.selected h2{font:21px 'Songti SC',SimSun,serif;letter-spacing:3px;font-weight:500;margin:0}.selected p{font-size:10px;letter-spacing:1px;color:#94a087;margin:6px 0 0;max-width:355px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#edit{background:transparent;border:1px solid #dce3ce;border-radius:50%;width:29px;height:29px;color:#8c9d7b}.actions{display:flex;justify-content:space-around;align-items:center;margin:15px 0 13px}.actions button{position:relative;border:0;background:transparent;display:flex;align-items:center;gap:8px;font-size:12px;padding:8px 11px;border-radius:10px}.actions button:hover{background:#e4ecd7}.action-icon{font-size:24px;color:#758e65}.actions i{position:absolute;top:0;right:0;font-style:normal;font-size:10px;color:#709063}.action-divider{height:26px;border-left:1px solid #dde4d0}.dock-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4e8d7;padding-top:11px;font-size:9px;color:#98a18c;gap:6px}.dock-bottom button{border:0;background:transparent;font-size:10px;color:#829673;white-space:nowrap}#status{max-width:320px;line-height:1.7}#toast{position:fixed;top:105px;left:50%;transform:translateX(-50%);background:#3b563ced;color:white;font-size:12px;line-height:1.7;border-radius:25px;padding:12px 24px;max-width:90%;text-align:center;z-index:50;box-shadow:0 6px 30px #314a3320}.hidden{display:none!important}#loading{position:fixed;inset:0;background:#eef1e5;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.loading-flower{font-size:45px;color:#829976;animation:turn 10s linear infinite}#loading h2{font:23px 'Songti SC',serif;letter-spacing:4px;font-weight:400}#loading p{color:#9aa68f;font-size:12px;letter-spacing:2px}@keyframes turn{to{transform:rotate(360deg)}}dialog{position:fixed;width:min(420px,92vw);max-height:88dvh;overflow:auto;border:1px solid #eef0e3;border-radius:20px;background:#fffef5;color:#41543d;padding:31px;box-shadow:0 25px 100px #253b2e38}dialog::backdrop{background:#243c3055;backdrop-filter:blur(5px)}dialog h2{font:24px 'Songti SC',SimSun,serif;letter-spacing:2px;font-weight:500;margin:12px 0 13px}dialog p{font-size:12px;color:#8e9b82;line-height:1.9}.eyebrow{font-size:9px;letter-spacing:2px;color:#97a48c}.close{position:absolute;top:13px;right:15px;border:0;background:transparent;color:#94a18a;font-size:23px}label{display:block;font-size:12px;margin:22px 0 9px}input,textarea{width:100%;border:1px solid #dce3ce;background:#f6f8ee;border-radius:9px;padding:12px;color:#41543d;outline-color:#89a275}textarea{min-height:130px;resize:vertical}.dialog-actions{display:flex;gap:10px;margin-top:24px}.primary,.secondary{border-radius:9px;padding:13px 18px;font-size:12px}.primary{border:0;background:#69865d;color:#fff;flex:1}.secondary{border:1px solid #dce3d0;background:transparent}.danger{border:0;background:transparent;color:#af8070;font-size:10px;padding:17px 0 0}.flower-options{display:flex;gap:9px;margin-top:25px}.flower-options button{flex:1;border:1px solid #dfe6d2;background:#f2f6e9;border-radius:12px;padding:19px 5px;font-size:12px}.flower-options b{font-size:32px;display:block;margin-bottom:12px}.help-row{border-bottom:1px solid #e6ebda;padding:13px 0}.help-row b{font-size:12px;font-weight:500}.help-row p{margin:6px 0}.help-row:last-of-type{border:0;margin-bottom:14px}#instructions>.primary{width:100%}@media(max-width:700px){header{padding:20px 18px}.brand{gap:8px}.brand h1{font-size:21px;letter-spacing:3px}.brand>span{font-size:31px}.brand p{font-size:8px;letter-spacing:2px}.weather{display:none}.top-controls{gap:6px}.top-controls button{height:33px;padding:0 11px}.top-controls button span{display:none}#help{width:33px}.scene-caption{right:18px;top:98px;font-size:9px;letter-spacing:1px}.mobile-list{display:block;position:fixed;left:18px;top:92px;border:1px solid #ffffffaa;background:#f8fbecb8;border-radius:25px;padding:9px 12px;font-size:10px;color:#6d855e}#collection{display:none;left:18px;top:138px;width:226px;z-index:15;max-height:calc(100dvh - 400px);background:#fcfdf1f5}#collection.open{display:block}#list-close{display:block;border:0;background:transparent;font-size:20px;color:#8fa17f}#dock{width:calc(100% - 28px);max-width:430px;bottom:max(15px,env(safe-area-inset-bottom));padding:16px 19px 12px}.selected h2{font-size:20px}.selected p{max-width:calc(100vw - 110px);font-size:9px}.dock-eyebrow{font-size:8px}.actions{margin:13px 0 10px}.actions button{font-size:11px;padding:7px 6px;gap:7px}.action-icon{font-size:23px}.dock-bottom{font-size:8px}#status{max-width:245px}#movement-hint{bottom:222px;font-size:9px;padding:7px 12px;letter-spacing:0}#toast{top:140px;width:max-content;max-width:87%;font-size:11px;padding:10px 18px}}@media(max-height:550px){#collection{top:100px;max-height:calc(100dvh - 130px)}#dock{left:auto;right:15px;transform:none;width:350px;bottom:15px}#movement-hint{display:none}header{padding:15px 25px}}
/* Quiet, optional music controls above the garden. */
.music-panel[hidden]{display:none}.music-panel{position:fixed;z-index:40;top:88px;right:35px;width:342px;max-width:calc(100vw - 30px);padding:25px 22px 19px;background:#fffef4f7;backdrop-filter:blur(18px);border:1px solid #ffffffd9;border-radius:18px;box-shadow:0 18px 70px #30463226}.music-panel h2{font:23px 'Songti SC',SimSun,serif;letter-spacing:3px;font-weight:500;margin:13px 0 11px}.music-description{font-size:10px;color:#8b9a7e;margin:0 0 18px;line-height:1.8}.music-close{position:absolute;top:12px;right:13px;border:0;background:none;font-size:22px;color:#93a286}.music-track{display:flex;width:100%;align-items:center;gap:13px;border:1px solid transparent;border-radius:10px;background:transparent;padding:12px 10px;text-align:left;margin:5px 0}.music-track:hover{background:#edf2e3}.music-track.active{border-color:#bdcdae;background:#eaf0e0}.music-track-number{font:13px Georgia,serif;color:#96a588}.music-track b{display:block;font-size:12px;letter-spacing:1px;font-weight:500}.music-track small{display:block;font-size:9px;color:#95a18a;margin-top:6px}.music-track-state{margin-left:auto;color:#7f976d;font-size:16px}.music-now{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 17px;padding-top:18px;border-top:1px solid #e2e9d7}.music-now>span{min-width:0}.music-now b{display:block;font-size:11px;letter-spacing:1px;font-weight:500}.music-now small{display:block;font-size:9px;color:#97a28c;line-height:1.8;margin-top:5px}#music-toggle{flex:none;font-size:11px;padding:10px 14px;border-radius:25px;min-width:100px}.music-volume-row{display:flex;align-items:center;gap:12px}.music-volume-row label{font-size:10px;margin:0;white-space:nowrap;color:#829574}.music-volume-row input{padding:0;accent-color:#819c70;width:100%;height:22px;border:0;background:transparent;cursor:pointer}.music-volume-row output{font-size:10px;color:#8a9c7b;min-width:30px;text-align:right}.music-footnote{font-size:9px;text-align:center;letter-spacing:1px;color:#a3ad99;margin-top:15px}#sound.music-playing{background:#e7efd9;border-color:#adbf9b;color:#526d43}@media(max-width:700px){.music-panel{top:77px;right:15px;width:330px;padding:23px 20px 18px}}@media(max-height:580px){.music-panel{top:68px;max-height:calc(100dvh - 82px);overflow:auto}}
.music-volume-row[hidden]{display:none}.music-system-volume{font-size:11px;text-align:center;color:#839575;margin:14px 0 0}#garden-music{width:100%;height:36px;margin-top:8px}#garden-music[hidden]{display:none}#music-state{max-width:172px;overflow-wrap:anywhere}
.multiplayer-bar{position:fixed;top:100px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#f8fbedcc;border:1px solid #ffffffa6;border-radius:25px;padding:9px 14px;font-size:10px;color:#617853;backdrop-filter:blur(10px);max-width:90vw;white-space:nowrap}.multiplayer-bar button{border:0;border-left:1px solid #cbd8bb;padding:0 0 0 10px;background:transparent;font-size:10px;color:#678459}.multiplayer-bar button[hidden]{display:none}#account-open{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-width{width:100%;margin-top:8px}.auth-switch{display:block;background:none;border:0;text-align:center;width:100%;padding:17px 5px 0;font-size:11px;color:#80956e}.form-error{color:#ad6f5b;min-height:16px;font-size:11px}.room-item{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;padding:15px;border:1px solid #dbe4d0;border-radius:11px;background:#f1f6e8;margin:10px 0}.room-item b{font-weight:500;font-size:13px}.room-item small{display:block;margin-top:7px;color:#96a389;font-size:10px}.room-item>span:last-child{font-size:11px;color:#80996d}.room-create{display:flex;gap:8px}.room-create .primary{white-space:nowrap;flex:none}.field-hint{font-size:10px!important;line-height:1.8;color:#98a58e}.check-label{display:flex;align-items:center;gap:9px;font-size:12px}.check-label input{width:16px;height:16px;accent-color:#789368}#nickname-field[hidden],#visibility-field[hidden]{display:none}@media(max-width:700px){.multiplayer-bar{top:134px;font-size:9px;gap:8px;max-width:94vw}.multiplayer-bar button{font-size:9px}.top-controls #account-open{font-size:10px;max-width:95px;padding:0 9px}.top-controls{gap:4px}.brand h1{font-size:18px;letter-spacing:2px}.brand>span{font-size:25px}.brand p{font-size:7px}header{padding-left:14px;padding-right:14px}.scene-caption{top:103px}.room-create input{min-width:0}}
