:root{--sans:"Segoe UI","Microsoft YaHei",sans-serif;--serif:"Songti SC","SimSun",serif}*{box-sizing:border-box}body{color:#41483a;font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased;background:#f7f6f0;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:wait;opacity:.5}button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #778766}.door{background:radial-gradient(at 50% 30%,#eeeeda88,#0000 65%),#f7f6f0;place-items:center;min-height:100dvh;padding:36px 24px;display:grid}.door-card{width:min(340px,100%)}.door-card>img{object-fit:contain;width:140px;height:145px;margin:0 auto 25px;display:block}.door h1{font:400 23px/1.7 var(--serif);text-align:center;letter-spacing:1px;margin:0 0 27px}.door label{color:#7c846d;margin:17px 0 7px;font-size:12px;display:block}.door input{color:#41483a;background:#fffef9;border:1px solid #dce1d1;border-radius:12px;width:100%;min-width:0;padding:12px 15px}.door-members{gap:10px;margin-bottom:22px;display:flex}.door-members>button{background:#fffef9;border:1px solid #dce1d1;border-radius:12px;flex:1;padding:9px}.door-members>button[aria-pressed=true]{background:#e9eddc;border-color:#778766}.door-submit{color:#fff;background:#778766;border-radius:12px;width:100%;margin-top:26px;padding:13px 15px;display:block}.door-hint{color:#8a907d;text-align:center;font-size:12px}.door-error,.door-toast{color:#a66d56;font-size:12px}.door-toast{z-index:200;background:#fffef9;border-radius:10px;padding:12px;position:fixed;bottom:20px;left:20px}.dudu-leave{color:#8a907d;z-index:5;padding:4px 8px;font-size:10px;position:fixed;bottom:12px;right:15px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}:root{--serif:"Noto Serif SC","Songti SC","SimSun",serif;--sans:"Inter","Segoe UI","Microsoft YaHei",sans-serif}html,body{color:#41483a;background:#f7f6f0;margin:0}body:before,body:after{display:none!important}.dudu-room{--du-paper:#f7f6f0;--du-card:#fffef9;--du-ink:#41483a;--du-muted:#8a907d;--du-accent:#778766;--du-soft:#e9eddc;--du-line:#e0e4d5;background:radial-gradient(ellipse at 50% 32%,#eeeeda55,transparent 65%),var(--du-paper);height:100dvh;min-height:480px;color:var(--du-ink);font-family:var(--sans);flex-direction:column;transition:background .4s;display:flex;position:relative;overflow:hidden}.dudu-room[data-mood=sage]{--du-paper:#edf2e9;--du-card:#fcfff8;--du-ink:#355343;--du-muted:#7c9586;--du-accent:#64856c;--du-soft:#dcead8;--du-line:#d1e0cc}.dudu-room[data-mood=blue]{--du-paper:#f0f5f8;--du-card:#fcfeff;--du-ink:#3b5362;--du-muted:#7d95a3;--du-accent:#7295a8;--du-soft:#e0edf4;--du-line:#d5e4ec}.dudu-room button{font-family:inherit}.dudu-room button:focus-visible,.dudu-room textarea:focus-visible{outline:2px solid var(--du-accent);outline-offset:4px}.dudu-top{z-index:2;flex-shrink:0;justify-content:space-between;align-items:center;gap:25px;width:min(1100px,100%);margin:0 auto;padding:24px 35px 15px;display:flex}.dudu-brand{text-align:left;align-items:center;gap:11px;padding:0;display:flex}.dudu-brand>img{object-fit:contain;width:38px;height:42px}.dudu-brand>span{font:600 19px/1.5 var(--serif);color:var(--du-ink);letter-spacing:1px}.dudu-brand small{font:9px/1.5 var(--sans);letter-spacing:.5px;color:var(--du-muted);align-items:center;gap:5px;margin-top:2px;display:flex}.dudu-brand i{background:var(--du-accent);border-radius:50%;width:4px;height:4px;display:block}.dudu-controls{align-items:center;gap:11px;display:flex}.dudu-colors{gap:7px;margin-right:12px;display:flex}.dudu-colors button{border:1px solid #0000000b;border-radius:50%;width:11px;height:11px;padding:0}.dudu-colors button.active{outline:1px solid var(--du-muted);outline-offset:4px}.dudu-colors .cream{background:#cec298}.dudu-colors .sage{background:#8fa17e}.dudu-colors .blue{background:#91afbf}.dudu-control{width:35px;height:35px;color:var(--du-muted);border:1px solid #0000;border-radius:50%;place-items:center;padding:6px;display:grid}.dudu-control:hover{background:var(--du-soft);color:var(--du-ink);border-color:var(--du-line)}.dudu-stage{scrollbar-width:thin;scrollbar-color:var(--du-line) transparent;overscroll-behavior:contain;scroll-behavior:smooth;flex:1;min-height:0;padding:0 24px 35px;overflow-y:auto}.dudu-presence{text-align:center;padding:68px 0 25px;transition:padding .5s}.dudu-presence.has-chat{padding-top:20px;padding-bottom:25px}.dudu-mascot{isolation:isolate;width:200px;height:210px;margin:auto;position:relative}.dudu-mascot>img{object-fit:contain;transform-origin:bottom;width:100%;height:100%;animation:5s ease-in-out infinite dudu-bob}.dudu-floor{z-index:-1;filter:blur(7px);background:#a8af7833;border-radius:50%;height:13px;position:absolute;bottom:6px;left:23%;right:23%}.dudu-presence.has-chat .dudu-mascot{width:130px;height:135px}.dudu-presence>p{font:20px/1.9 var(--serif);letter-spacing:1px;color:var(--du-ink);margin:28px 0 0}.dudu-mascot.is-thinking>img{animation:2s ease-in-out infinite dudu-listen}.dudu-thread{max-width:700px;margin:auto;padding:0 10px}.dudu-message{align-items:flex-start;gap:12px;margin:0 0 26px;animation:.35s dudu-say;display:flex}.dudu-avatar{object-fit:contain;flex-shrink:0;width:32px;height:35px;margin-top:4px}.dudu-message>div{min-width:0;max-width:calc(100% - 46px)}.dudu-words{color:var(--du-ink);overflow-wrap:anywhere;font-size:15px;line-height:2}.dudu-words p{white-space:pre-wrap;color:var(--du-ink);margin:0 0 9px}.dudu-words p:last-child{margin-bottom:0}.dudu-words strong{color:var(--du-ink);font-weight:600}.dudu-message.user{justify-content:flex-end;margin-top:18px}.dudu-message.user>div{background:var(--du-soft);border:1px solid var(--du-line);border-radius:17px 17px 5px;padding:12px 19px}.dudu-message.user .dudu-words{font-size:14px}.dudu-source{vertical-align:middle;width:21px;height:20px;color:var(--du-accent);background:var(--du-soft);border:1px solid var(--du-line);border-radius:5px;justify-content:center;align-items:center;margin:0 3px;display:inline-flex}.dudu-source:hover{color:var(--du-ink);transform:translateY(-2px)}.dudu-invitation{background:var(--du-card);border:1px solid var(--du-line);text-align:left;min-width:240px;color:var(--du-accent);border-radius:12px;align-items:center;gap:13px;margin-top:17px;padding:16px 18px;font-size:13px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 5px 15px #57642b06}.dudu-invitation>span{color:var(--du-ink);flex:1}.dudu-invitation>svg:last-child{width:15px;margin-left:20px}.dudu-invitation.game{color:#a99062;background:#f5ead9;border-color:#e8ddc7}.dudu-invitation.memory{color:#b58c78;background:#f4e8e1;border-color:#eadbd1}.dudu-invitation:hover{transform:translateY(-3px);box-shadow:0 8px 20px #57642b10}.dudu-thinking{align-items:center;gap:5px;padding:8px 0 15px 45px;display:flex}.dudu-thinking span{background:var(--du-accent);border-radius:50%;width:5px;height:5px;animation:1.5s ease-in-out infinite dudu-dot}.dudu-thinking span:nth-child(2){animation-delay:.2s}.dudu-thinking span:nth-child(3){animation-delay:.4s}.dudu-bottom{z-index:2;background:linear-gradient(transparent,var(--du-paper) 20%);flex-shrink:0;width:min(750px,100%);margin:0 auto;padding:12px 25px 21px}.dudu-composer{border:1px solid var(--du-line);background:var(--du-card);border-radius:20px;align-items:flex-end;gap:15px;padding:12px 12px 12px 21px;display:flex;box-shadow:0 8px 35px #5e66430a}.dudu-composer:focus-within{border-color:var(--du-accent);box-shadow:0 7px 28px #5e664310}.dudu-composer>textarea{resize:none;min-width:0;min-height:26px;max-height:125px;line-height:1.7;font:14px/1.8 var(--sans);color:var(--du-ink);background:0 0;border:0;flex:1;padding:7px 0;overflow-y:auto;outline:0!important}.dudu-composer>textarea::placeholder{color:var(--du-muted)}.dudu-composer>button{background:var(--du-accent);color:#fff;border-radius:13px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.dudu-composer>button:disabled{opacity:.35;cursor:default}.dudu-composer>button:not(:disabled):hover{transform:translateY(-2px)}.dudu-room-sign{color:var(--du-muted);letter-spacing:.6px;opacity:.7;justify-content:center;align-items:center;gap:6px;margin-top:15px;font-size:9px;display:flex}.dudu-room-sign>svg{color:#c2927d}.dudu-notice{color:#ad795f;justify-content:space-between;align-items:center;gap:12px;padding:10px 8px 16px;font-size:12px;display:flex}.dudu-notice>button{place-items:center;display:grid}.dudu-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#36402b44;justify-content:center;align-items:center;padding:25px;animation:.25s dudu-say;display:flex;position:fixed;inset:0}.dudu-panel{background:var(--du-card);border:1px solid var(--du-line);border-radius:20px;flex-direction:column;width:min(770px,100%);max-height:90dvh;display:flex;overflow:hidden;box-shadow:0 20px 90px #39472f22}.dudu-panel>header{border-bottom:1px solid var(--du-line);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:15px 20px 15px 25px;display:flex}.dudu-panel>header>span{font:15px/1.6 var(--serif);color:var(--du-ink)}.dudu-panel.game-panel{width:min(950px,100%);height:min(810px,92dvh)}.dudu-panel>iframe{background:var(--du-paper);border:0;flex:1;width:100%;min-height:350px}.dudu-making{color:var(--du-accent);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:55px 30px 65px;display:flex}.dudu-making>img{object-fit:contain;width:120px;height:125px;animation:2s ease-in-out infinite dudu-listen}.dudu-making p{font:17px/1.8 var(--serif);color:var(--du-ink);margin:0}.dudu-photo-view{padding:22px 25px 18px;overflow-y:auto}.dudu-photo-view>img{object-fit:contain;border-radius:8px;max-width:100%;max-height:62dvh;margin:auto}.dudu-photo-view>div{justify-content:space-between;align-items:center;gap:20px;margin-top:19px;display:flex}.dudu-photo-view>div>span{text-align:center;color:var(--du-ink);font-size:12px;line-height:1.8}.dudu-photo-view small{color:var(--du-muted);font-size:9px;display:block}.dudu-memory{padding:28px 35px 40px;overflow-y:auto}.dudu-memory h2{font:24px/1.8 var(--serif);color:var(--du-ink);margin:0 0 25px}.dudu-memory p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--du-ink);margin:0 0 9px;font-size:13px;line-height:2}.dudu-room .spin{animation:1.5s linear infinite spin}@keyframes dudu-bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-7px)rotate(1deg)}}@keyframes dudu-listen{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg)translateY(-3px)}}@keyframes dudu-dot{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}@keyframes dudu-say{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.dudu-top{padding:19px 22px 12px}.dudu-brand>span{font-size:18px}.dudu-brand>img{width:33px;height:37px}.dudu-brand small{font-size:8px}.dudu-controls{gap:5px}.dudu-colors{gap:8px;margin-right:12px}.dudu-colors button{width:9px;height:9px}.dudu-control{width:30px;height:30px}.dudu-stage{padding:0 20px 20px}.dudu-presence{padding-top:65px;padding-bottom:30px}.dudu-presence.has-chat{padding-top:25px;padding-bottom:30px}.dudu-mascot{width:175px;height:185px}.dudu-presence.has-chat .dudu-mascot{width:115px;height:125px}.dudu-presence>p{margin-top:25px;font-size:18px}.dudu-thread{max-width:100%;padding:0}.dudu-words{font-size:14px;line-height:2}.dudu-message{gap:9px;margin-bottom:25px}.dudu-avatar{width:28px;height:31px}.dudu-message>div{max-width:calc(100% - 38px)}.dudu-message.user>div{padding:10px 15px}.dudu-message.user .dudu-words{font-size:13px}.dudu-invitation{border-radius:10px;gap:11px;width:100%;min-width:0;padding:15px;font-size:12px}.dudu-invitation>svg:last-child{margin-left:8px}.dudu-bottom{padding:9px 17px 17px}.dudu-composer{border-radius:17px;gap:10px;padding:9px 9px 9px 16px}.dudu-composer>textarea{padding:6px 0;font-size:14px}.dudu-composer>button{border-radius:11px;width:37px;height:37px}.dudu-room-sign{margin-top:13px;font-size:8px}.dudu-overlay{padding:13px}.dudu-panel{border-radius:15px;max-height:94dvh}.dudu-panel>header{padding:13px 14px 13px 20px}.dudu-panel>header>span{font-size:13px}.dudu-panel.game-panel{height:92dvh}.dudu-photo-view{padding:16px}.dudu-photo-view>img{max-height:65dvh}.dudu-memory{padding:23px 24px 35px}.dudu-memory h2{font-size:20px}.dudu-memory p{font-size:12px}.dudu-making{padding:45px 25px 55px}}@media (prefers-reduced-motion:reduce){.dudu-room *,.dudu-room :before,.dudu-room :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.dudu-speaker{color:var(--du-muted);justify-content:flex-end;align-items:center;gap:10px;margin-bottom:5px;font-size:10px;display:flex}.dudu-speaker time{opacity:.75;font-size:9px}.dudu-composer>.story-composer-button{color:var(--du-accent);background:0 0;width:30px;margin-bottom:1px}.story-context{color:var(--du-accent);align-items:center;gap:8px;padding:5px 12px 10px;font-size:11px;display:flex}.story-context>span{flex:1}.story-context>button{place-items:center;display:grid}.story-compose-panel{width:min(640px,100%)}.story-form{padding:22px 28px 25px;overflow-y:auto}.story-form label{color:var(--du-muted);flex-direction:column;gap:7px;margin-bottom:16px;font-size:12px;display:flex}.story-form input,.story-form textarea{border:1px solid var(--du-line);background:var(--du-paper);width:100%;color:var(--du-ink);resize:vertical;font:13px/1.8 var(--sans);border-radius:10px;outline:none;padding:10px 12px}.story-form textarea{min-height:115px}.story-form label>small{opacity:.8;font-size:10px}.story-fields{grid-template-columns:1fr 1fr;gap:15px;display:grid}.story-photo-drafts{flex-wrap:wrap;gap:10px;margin-bottom:23px;display:flex}.story-photo-drafts>div,.story-add-photo{border-radius:11px;width:94px;height:100px;position:relative;overflow:hidden}.story-photo-drafts>div>img{object-fit:cover;width:100%;height:100%}.story-photo-drafts>div>button{background:#fffef9e6;border-radius:50%;place-items:center;width:23px;height:23px;display:grid;position:absolute;top:5px;right:5px}.story-add-photo{border:1px dashed var(--du-accent);color:var(--du-accent);flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;display:flex}.story-add-photo small{opacity:.6;font-size:9px}.story-save{background:var(--du-accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:100%;padding:13px;font-size:13px;display:flex}.story-save-hint{text-align:center;color:var(--du-muted);margin-top:11px;font-size:10px;display:block}.story-error{color:#a36d54;margin:0 0 15px;font-size:12px}.story-view-panel{width:min(790px,100%)}.story-view-scroll{overflow-y:auto}.story-photo-stage{padding:23px 23px 0}.story-photo-stage>img{object-fit:contain;border-radius:10px;width:100%;max-height:49dvh}.story-photo-stage>div{color:var(--du-muted);justify-content:space-between;align-items:center;margin-top:9px;font-size:10px;display:flex}.story-page{padding:25px 34px 31px}.story-date{color:var(--du-muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.story-page h2{font:26px/1.6 var(--serif);color:var(--du-ink);margin:13px 0 20px}.story-page p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--du-ink);margin:0 0 10px;font-size:14px;line-height:2}.story-tags{flex-wrap:wrap;gap:8px;margin-top:21px;display:flex}.story-tags>span{color:var(--du-accent);background:var(--du-tint);border-radius:20px;padding:4px 10px;font-size:10px}.story-actions{border-top:1px solid var(--du-line);flex-wrap:wrap;gap:22px;margin-top:25px;padding-top:18px;display:flex}.story-actions>button{color:var(--du-accent);align-items:center;gap:7px;font-size:11px;display:flex}.story-card{border:1px solid var(--du-line);background:var(--du-card);text-align:left;width:min(440px,100%);color:var(--du-ink);border-radius:13px;align-items:center;gap:15px;margin-top:15px;padding:12px;display:flex}.story-card>img{object-fit:cover;border-radius:8px;flex-shrink:0;width:86px;height:91px}.story-card>span{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.story-card small{color:var(--du-muted);font-size:9px}.story-card strong{font:17px/1.6 var(--serif)}.story-card>span>span{-webkit-line-clamp:2;color:var(--du-muted);-webkit-box-orient:vertical;font-size:11px;line-height:1.8;display:-webkit-box;overflow:hidden}.story-card>svg{color:var(--du-accent);flex-shrink:0}.story-photo-link{color:var(--du-accent);margin:5px auto 0;font-size:10px;display:block}.story-test{color:var(--du-muted);padding:10px 25px 0;font-size:10px;display:block}@media (max-width:600px){.story-form{padding:20px}.story-photo-drafts>div,.story-add-photo{width:82px;height:88px}.story-photo-drafts{gap:8px}.story-fields{gap:12px}.story-form input{min-width:0}.story-page{padding:22px}.story-page h2{font-size:22px}.story-page p{font-size:13px}.story-photo-stage{padding:17px 17px 0}.story-card{gap:11px;padding:10px}.story-card>img{width:67px;height:79px}.story-card strong{font-size:15px}.story-card>span>span{font-size:10px}.story-card small{font-size:8px}}
