:root{--sea: #2b7fa8;--sea-deep: #1f6485;--sea-light: #7fd4e8;--grass: #7cc45c;--grass-deep: #4f9a3e;--grass-ink: #26433a;--paper: #f7fbf9;--ink: #2f4f4a;--sand: #f0e0b8;--coral: #e2604f;--coral-deep: #c0483a;--panel: rgba(18, 52, 64, .62);--panel-strong: rgba(9, 32, 41, .72);--line: rgba(247, 251, 249, .2);--line-strong: rgba(247, 251, 249, .34);--line-ink: rgba(47, 79, 74, .16);--ink-muted: #5f7d76;--ink-faint: #8aa39b;--shadow: 0 6px 20px rgba(0, 0, 0, .18);--shadow-soft: 0 2px 8px rgba(9, 32, 41, .16);--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--pill: 999px;--footer-h: 0px;--panel-w: 300px;--font-cjk: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-cjk);font-size:14px;line-height:1.6;color:var(--ink);background:var(--sea);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}:focus-visible{outline:2px solid var(--sea-light);outline-offset:2px}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:none}.main-scene{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;overflow:clip}.scene-container{position:absolute;top:0;left:0;width:100%;height:100%}.scene-container canvas{display:block;width:100%!important;height:100%!important}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;pointer-events:none}.ui-overlay>*{pointer-events:auto}.brand{position:absolute;top:14px;right:20px;z-index:3;display:flex;align-items:center;gap:8px}.brand-logo{display:block;width:34px;height:34px;border-radius:50%;filter:drop-shadow(0 2px 6px rgba(58,47,40,.28));user-select:none;-webkit-user-drag:none}.user-chip{display:inline-flex;align-items:center;gap:6px;max-width:42vw;padding:5px 12px;border-radius:var(--pill);background:rgba(247,251,249,.14);border:1px solid var(--line);color:var(--paper);font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .2s ease,border-color .2s ease}.user-chip:before{content:"🌱";font-size:12px;flex:0 0 auto}.user-chip:hover{background:rgba(247,251,249,.22);border-color:var(--line-strong)}.room-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--pill);background:rgba(247,251,249,.14);border:1px solid var(--line);color:var(--paper);font-size:12.5px;line-height:1.4;font-family:inherit;white-space:nowrap;cursor:pointer;transition:background .2s ease,border-color .2s ease}.room-chip:before{content:"🏝";font-size:12px}.room-chip:hover{background:rgba(247,251,249,.24);border-color:var(--line-strong)}.room-chip.full{border-color:rgba(255,178,87,.75);color:#ffd9a3}.room-panel{position:absolute;top:58px;right:20px;z-index:5;width:232px;padding:10px 12px 11px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);color:var(--paper)}.room-panel.hidden{display:none}.room-panel-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:8px;opacity:.92}.room-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.room-row{display:flex;align-items:center;justify-content:space-between;padding:6px 9px;border-radius:var(--r-sm, 8px);border:1px solid transparent;font-size:12.5px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.room-row:hover{background:rgba(247,251,249,.14);border-color:var(--line)}.room-row.here{background:rgba(143,227,221,.16);border-color:rgba(143,227,221,.42);cursor:default}.room-row.full{opacity:.42;cursor:not-allowed}.room-row.muted{opacity:.6;cursor:default;justify-content:center}.room-count{opacity:.75;font-variant-numeric:tabular-nums}.room-panel-tip{margin-top:8px;font-size:11.5px;line-height:1.5;opacity:.6}.growth-hud{position:absolute;right:20px;bottom:66px;z-index:3;width:214px;padding:10px 12px 11px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow);color:var(--paper)}.growth-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.growth-stage{font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.growth-percent{flex:0 0 auto;font-size:12px;color:rgba(247,251,249,.72);font-variant-numeric:tabular-nums}.growth-track{height:8px;margin:8px 0 7px;border-radius:var(--pill);overflow:hidden;background:rgba(9,32,41,.55);border:1px solid rgba(247,251,249,.16)}.growth-fill{width:0%;height:100%;border-radius:var(--pill);background:var(--grass);transition:width .45s ease}.growth-tip{font-size:11.5px;line-height:1.45;color:rgba(247,251,249,.62)}.tree-hint{position:absolute;top:64%;left:50%;z-index:3;transform:translate(-50%,-50%);padding:8px 16px;border-radius:var(--pill);background:var(--panel-strong);border:1px solid var(--line);color:var(--paper);font-size:13.5px;line-height:1.5;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease}.tree-hint.show{opacity:1;transform:translate(-50%,calc(-50% - 6px))}.bubbles-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:4;overflow:hidden;pointer-events:none}.bubble-chip{position:absolute;top:34%;right:24px;display:inline-flex;align-items:center;gap:6px;max-width:min(56vw,320px);padding:6px 13px;border-radius:var(--pill);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-soft);color:var(--paper);font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;pointer-events:none;transition:opacity .5s ease,transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform,opacity}.bubble-chip-emoji{flex:0 0 auto;font-size:14px;line-height:1}.bubble-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel{position:absolute;top:66px;left:18px;bottom:26px;z-index:5;display:flex;flex-direction:column;width:var(--panel-w);border-radius:var(--r-lg);overflow:hidden;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow);transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .26s ease,visibility 0s linear 0s}.chat-panel.collapsed{transform:translate(calc(-100% - 40px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .26s ease,visibility 0s linear .32s}.chat-panel.minimized{bottom:auto;height:auto}.chat-panel.minimized .chat-messages,.chat-panel.minimized .chat-input-container{display:none}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;padding:10px 12px;background:rgba(9,32,41,.42);border-bottom:1px solid var(--line)}.chat-title{display:flex;align-items:center;gap:8px;min-width:0}.chat-title h4{font-size:13.5px;font-weight:600;line-height:1.4;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--ink-faint);transition:background .25s ease,box-shadow .25s ease}.chat-dot.online{background:var(--grass);box-shadow:0 0 0 3px rgba(124,196,92,.25)}.chat-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}.chat-status{font-size:11.5px;line-height:1.4;color:rgba(247,251,249,.72);white-space:nowrap}.chat-toggle-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(247,251,249,.1);border:1px solid var(--line);color:rgba(247,251,249,.88);font-size:15px;line-height:1;transition:background .18s ease,color .18s ease,border-color .18s ease}.chat-toggle-btn:hover{background:rgba(247,251,249,.24);border-color:var(--line-strong);color:var(--paper)}.chat-toggle-btn:active{background:rgba(247,251,249,.32)}.chat-messages{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;padding:10px 10px 12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(127,212,232,.42) rgba(9,32,41,.35)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:rgba(9,32,41,.35);border-radius:var(--pill)}.chat-messages::-webkit-scrollbar-thumb{background:rgba(127,212,232,.42);border-radius:var(--pill)}.chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(127,212,232,.62)}.chat-messages:empty:after{content:"还没有人说话，海面很安静…";margin:auto;padding:4px 10px;color:rgba(247,251,249,.45);font-size:12.5px;text-align:center}.chat-msg{max-width:88%;align-self:flex-start;padding:7px 11px;border-radius:12px 12px 12px 4px;background:rgba(247,251,249,.95);border:1px solid rgba(47,79,74,.1);color:var(--ink);font-size:13px;line-height:1.55;box-shadow:var(--shadow-soft);overflow-wrap:anywhere}.chat-msg-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px;font-size:11px;line-height:1.4}.chat-msg-name{font-weight:600;color:var(--grass-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-msg-time{flex:0 0 auto;color:var(--ink-faint);font-variant-numeric:tabular-nums}.chat-msg-text{font-size:13px;line-height:1.55;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg-self{align-self:flex-end;border-radius:12px 12px 4px;background:var(--sea);border-color:var(--sea-deep);color:var(--paper)}.chat-msg-self .chat-msg-meta{flex-direction:row-reverse}.chat-msg-self .chat-msg-name{color:#eaf7f2}.chat-msg-self .chat-msg-time{color:rgba(247,251,249,.72)}.chat-system{align-self:center;max-width:92%;padding:3px 10px;border-radius:var(--pill);background:rgba(240,224,184,.14);border:1px solid rgba(240,224,184,.22);color:rgba(240,224,184,.92);font-size:11.5px;line-height:1.5;text-align:center}.chat-input-container{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px;background:rgba(9,32,41,.42);border-top:1px solid var(--line)}#chat-input{flex:1 1 auto;min-width:0;height:36px;padding:0 12px;border-radius:var(--r-sm);background:rgba(247,251,249,.1);border:1px solid var(--line);color:var(--paper);font-size:13.5px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}#chat-input::placeholder{color:rgba(247,251,249,.48)}#chat-input:hover{background:rgba(247,251,249,.16)}#chat-input:focus{outline:none;background:rgba(247,251,249,.18);border-color:var(--grass);box-shadow:0 0 0 3px rgba(124,196,92,.22)}#chat-input:focus-visible{outline:2px solid var(--grass);outline-offset:2px}.chat-send-btn{flex:0 0 auto;height:36px;padding:0 14px;border-radius:var(--r-sm);background:var(--grass-deep);border:1px solid #3d7a2f;color:var(--paper);font-size:13.5px;font-weight:600;transition:background .18s ease,transform .12s ease,border-color .18s ease}.chat-send-btn:hover{background:#5fae4a}.chat-send-btn:active{background:#468a37;transform:translateY(1px)}.chat-float-btn{position:absolute;left:20px;bottom:14px;z-index:6;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--panel-strong);border:1px solid var(--line);color:var(--paper);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow);transition:transform .18s ease,background .18s ease,border-color .18s ease,opacity .22s ease}.chat-float-icon{font-size:22px;line-height:1}.chat-float-btn:hover{background:var(--sea);border-color:var(--sea-deep);transform:translateY(-2px)}.chat-float-btn:active{transform:translateY(0)}.chat-panel:not(.collapsed):not(.hidden)~.chat-float-btn{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.9)}#chat-unread{position:absolute;top:-4px;left:-4px;display:flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:var(--pill);background:var(--coral);border:2px solid rgba(9,32,41,.75);color:#fff;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.chat-log{position:absolute;left:20px;bottom:78px;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:min(360px,48vw);max-height:min(48vh,430px);overflow:hidden;pointer-events:none;transition:opacity .26s ease,visibility 0s linear 0s}.chat-log-item{flex:0 0 auto;max-width:100%;padding:1px 0;font-size:14px;line-height:1.45;text-align:left;color:rgba(247,251,249,.95);text-shadow:0 1px 3px rgba(4,20,28,.95),0 0 1px rgba(4,20,28,.9),0 0 10px rgba(4,20,28,.55);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;animation:chat-log-in .28s cubic-bezier(.22,.61,.36,1) both}.chat-log-name{font-weight:600;color:var(--grass)}.chat-log-item.is-self .chat-log-name{color:var(--sea-light)}.chat-panel:not(.collapsed):not(.hidden)~.chat-log{opacity:0;visibility:hidden;transition:opacity .26s ease,visibility 0s linear .26s}@keyframes chat-log-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.floating-controls{position:absolute;right:20px;bottom:16px;z-index:3;display:flex;align-items:center;gap:10px}.control-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--paper);font-size:16px;line-height:1;transition:background .18s ease,transform .12s ease,border-color .18s ease}.control-btn:hover{background:rgba(247,251,249,.24);border-color:var(--line-strong);transform:translateY(-1px)}.control-btn:active{transform:translateY(0);background:rgba(124,196,92,.55)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:6000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(9,28,36,.6);opacity:0;visibility:hidden;transition:opacity .24s ease,visibility 0s linear .24s}.modal:not(.hidden){opacity:1;visibility:visible;transition:opacity .24s ease,visibility 0s linear 0s}.modal-content{width:min(480px,100%);max-height:min(84vh,720px);overflow-y:auto;padding:22px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line-ink);color:var(--ink);box-shadow:var(--shadow);transform:translateY(8px) scale(.985);transition:transform .24s ease}.modal:not(.hidden) .modal-content{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.modal-header h3{font-size:16px;font-weight:700;line-height:1.5;color:var(--ink)}.close-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(47,79,74,.06);border:1px solid transparent;color:var(--ink-muted);font-size:18px;line-height:1;transition:background .18s ease,color .18s ease,border-color .18s ease}.close-btn:hover{background:rgba(226,96,79,.12);border-color:rgba(226,96,79,.35);color:var(--coral-deep)}.modal-body p{margin-bottom:10px;font-size:14px;line-height:1.7;color:var(--ink)}.modal-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:16px}.submit-btn,.cancel-btn{padding:10px 20px;border-radius:var(--pill);font-size:14px;line-height:1.4;transition:background .18s ease,transform .12s ease,border-color .18s ease}.submit-btn{background:var(--grass-deep);border:1px solid #3d7a2f;color:var(--paper);font-weight:600}.submit-btn:hover{background:#5fae4a;transform:translateY(-1px)}.submit-btn:active{background:#468a37;transform:translateY(0)}.cancel-btn{background:rgba(47,79,74,.07);border:1px solid var(--line-ink);color:var(--ink)}.cancel-btn:hover{background:rgba(47,79,74,.13)}#message-input{display:block;width:100%;min-height:120px;padding:12px 14px;border-radius:12px;background:#fbfdfc;border:1px solid rgba(47,79,74,.22);color:var(--ink);font-size:14px;line-height:1.6;resize:vertical;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}#message-input::placeholder{color:var(--ink-faint)}#message-input:hover{border-color:rgba(47,79,74,.34)}#message-input:focus{outline:none;background:#fff;border-color:var(--grass-deep);box-shadow:0 0 0 3px rgba(124,196,92,.24)}#message-input:focus-visible{outline:2px solid var(--grass-deep);outline-offset:2px}.char-count{margin:6px 2px 14px;text-align:right;font-size:12px;line-height:1.5;color:var(--ink-muted);font-variant-numeric:tabular-nums}.emotion-tags{margin-bottom:4px}.emotion-tags label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--ink)}.tags-container{display:flex;flex-wrap:wrap;gap:8px}.emotion-tag{padding:6px 12px;border-radius:var(--pill);background:#fff;border:1px solid rgba(47,79,74,.22);color:var(--ink);font-size:13px;line-height:1.4;transition:background .16s ease,border-color .16s ease,transform .12s ease}.emotion-tag:hover{background:rgba(124,196,92,.12);border-color:var(--grass-deep);transform:translateY(-1px)}.emotion-tag.selected{background:var(--grass);border-color:var(--grass-deep);color:var(--grass-ink);font-weight:600}.credits{margin-top:6px;padding-top:10px;border-top:1px dashed rgba(47,79,74,.18);text-align:center}.credits p{margin:0;font-size:12px;color:var(--ink-faint)}.message-detail-modal{max-width:480px}.message-content{padding:14px 16px;margin-bottom:12px;border-radius:12px;border-left:3px solid var(--sea);background:rgba(43,127,168,.08)}.message-content p{margin:0;font-size:14px;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:8px 0;border-top:1px dashed rgba(47,79,74,.18);border-bottom:1px dashed rgba(47,79,74,.18);font-size:12.5px;color:var(--ink-muted)}.message-actions{display:flex;justify-content:center}.like-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--pill);background:transparent;border:1px solid rgba(226,96,79,.5);color:var(--coral-deep);font-size:13.5px;line-height:1.4;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}.like-btn:hover{background:rgba(226,96,79,.12);border-color:var(--coral);transform:translateY(-1px)}.like-btn.liked{background:var(--coral);border-color:var(--coral-deep);color:#fff}.nickname-modal{z-index:9600;background:rgba(9,26,34,.78)}.nickname-content{width:min(420px,100%);max-width:420px;padding:26px;text-align:center;border-radius:var(--r-lg)}.nickname-orbit{position:relative;width:112px;height:112px;margin:2px auto 16px;border-radius:50%;border:1px dashed rgba(79,154,62,.42);background:rgba(124,196,92,.1)}.nickname-orbit:after{content:"🌳";position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1}.orbit-leaf{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin:-10px 0 0 -10px;font-size:16px;line-height:1;animation:leaf-orbit 14s linear infinite}@keyframes leaf-orbit{0%{transform:rotate(0) translateY(-56px) rotate(0)}to{transform:rotate(360deg) translateY(-56px) rotate(-360deg)}}.nickname-title{margin-bottom:8px;font-size:19px;font-weight:700;line-height:1.4;color:var(--ink)}.nickname-desc{margin-bottom:18px;font-size:13px;line-height:1.65;color:var(--ink-muted)}.nickname-field{display:flex;align-items:stretch;gap:10px}#nickname-input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;border-radius:12px;background:#fff;border:1px solid rgba(47,79,74,.28);color:var(--ink);font-size:15px;transition:border-color .18s ease,box-shadow .18s ease}#nickname-input::placeholder{color:var(--ink-faint)}#nickname-input:hover{border-color:rgba(47,79,74,.4)}#nickname-input:focus{outline:none;border-color:var(--grass-deep);box-shadow:0 0 0 3px rgba(124,196,92,.28)}#nickname-input:focus-visible{outline:2px solid var(--grass-deep);outline-offset:2px}.nickname-btn{flex:0 0 auto;height:44px;padding:0 20px;border-radius:12px;background:var(--sea);border:1px solid var(--sea-deep);color:var(--paper);font-size:14.5px;font-weight:600;white-space:nowrap;transition:background .18s ease,transform .12s ease}.nickname-btn:hover{background:#3a92bd}.nickname-btn:active{background:var(--sea-deep);transform:translateY(1px)}.nickname-cancel{display:block;margin:14px auto 0;padding:6px 12px;background:none;border:none;border-radius:var(--r-sm);color:var(--ink-faint);font-family:inherit;font-size:13px;cursor:pointer;transition:color .18s ease}.nickname-cancel:hover{color:var(--ink);text-decoration:underline}.nickname-error{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--coral-deep)}.toast-message{position:fixed;top:76px;left:50%;z-index:7000;transform:translate(-50%);padding:9px 18px;border-radius:var(--pill);background:var(--panel-strong);border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--paper);font-size:13px;line-height:1.5;box-shadow:var(--shadow);animation:toast-in .28s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 820px){:root{--footer-h: 0px;--panel-w: 100%}.brand{top:10px;right:12px}.brand-logo{width:30px;height:30px}.user-chip{max-width:46vw;padding:4px 10px;font-size:12.5px}.growth-hud{right:12px;bottom:60px;width:min(212px,62vw);padding:8px 10px 9px}.growth-stage{font-size:12.5px}.growth-tip{font-size:11px}.tree-hint{top:58%;font-size:13px;padding:7px 14px}.bubble-chip{right:12px;max-width:74vw;font-size:12.5px}.chat-panel{top:auto;left:0;right:0;bottom:0;width:100%;height:58vh;max-height:58vh;border-radius:var(--r-lg) var(--r-lg) 0 0;border-left:none;border-right:none;border-bottom:none}.chat-panel.collapsed{transform:translateY(calc(100% + 24px))}.chat-messages{padding:8px 8px 10px}.chat-msg{max-width:92%}.chat-float-btn{left:14px;bottom:12px;width:46px;height:46px}.chat-float-icon{font-size:20px}.chat-log{left:14px;bottom:150px;width:min(300px,74vw);max-height:40vh}.chat-log-item{font-size:13px}.floating-controls{right:12px;bottom:12px;gap:8px}.control-btn{width:34px;height:34px;font-size:15px}.modal{padding:14px}.modal-content{padding:18px 16px;border-radius:var(--r-md)}.tags-container{gap:6px}.emotion-tag{padding:5px 10px;font-size:12.5px}.nickname-content{padding:22px 18px}.nickname-orbit{width:92px;height:92px;margin-bottom:14px}.nickname-orbit:after{font-size:28px}.orbit-leaf{animation-name:leaf-orbit-sm}.nickname-title{font-size:17.5px}.nickname-desc{font-size:12.5px}}@keyframes leaf-orbit-sm{0%{transform:rotate(0) translateY(-46px) rotate(0)}to{transform:rotate(360deg) translateY(-46px) rotate(-360deg)}}@media (prefers-reduced-motion: reduce){.chat-panel,.chat-float-btn,.chat-log,.chat-log-item,.growth-fill,.tree-hint,.bubble-chip,.modal,.modal-content,.toast-message{transition-duration:.01ms!important;animation:none!important}.orbit-leaf{animation:none!important}}
