:root{--paper:#f7f3eb;--ink:#364c49;--muted:#88918a;--sage:#7e9584;--line:#e2e4d9;--cream:#fffdf8;--peach:#e9c7af;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;transition:transform .15s,background .15s}button:disabled{opacity:.6;cursor:wait}button:hover:not(:disabled){transform:translateY(-1px)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}header{max-width:1260px;margin:auto;padding:29px 35px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:28px;display:flex;gap:12px;align-items:center}.brand span{font-size:19px;font-weight:650;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:400;color:var(--muted);margin-top:5px}.head-right{display:flex;align-items:center;gap:25px;font-size:12px;color:var(--muted)}.quiet{border:0;background:transparent;color:var(--muted);padding:6px}.quiet:hover{color:var(--ink)}main{max-width:1260px;padding:0 35px 24px;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:center;padding:42px 0 28px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--sage);font-weight:650;margin:0 0 13px}h1{font-family:"STSong","SimSun",serif;font-size:36px;letter-spacing:2px;font-weight:500;margin:0 0 12px}h2{font-size:16px;letter-spacing:.8px;font-weight:600;margin:0}p{line-height:1.8}.welcome p:last-child{font-size:13px;color:var(--muted);margin:0}.date-tag{padding:10px 15px;border:1px solid #d5ddd0;border-radius:30px;font-size:12px;color:#778873}.top-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.room-card{border-radius:17px;overflow:hidden;border:1px solid #e0e0d3;background:#f6f0e5;display:flex;flex-direction:column}.room-meta{display:flex;align-items:center;gap:8px;padding:18px 22px;font-size:12px}.live-dot{height:6px;width:6px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px #7e958412}.room-time{margin-left:auto;font-size:10px;color:var(--muted)}.room{flex:1;display:flex;align-items:center}.room svg{width:100%;height:auto;display:block}.whale{animation:breathe 5s ease-in-out infinite;transform-origin:410px 350px}.room.night .window-sky{fill:#536c83}.room.night .sun{fill:#e9e4be}.room-caption{padding:19px 22px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:11px;color:#7a857b;background:#fdfbf666;border-top:1px solid #e4dfd1}.tag{font-size:10px;white-space:nowrap;border:1px solid #dcded2;border-radius:20px;padding:3px 8px}.side-stack{display:flex;flex-direction:column;gap:18px}.card{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:24px}.note-card{background:#edf0e5;flex:1;position:relative}.note-card:before{content:"";height:18px;width:62px;background:#e2d3ba99;position:absolute;top:-6px;left:calc(50% - 31px);transform:rotate(-4deg)}.note-card .eyebrow{font-size:9px;margin-bottom:17px}.hand-note{font-size:14px;line-height:2.1;white-space:pre-wrap;margin:18px 0;color:#5e7263}.tiny{font-size:11px;line-height:1.7}.muted{color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head p{font-size:12px;margin:8px 0 0}.pocket{padding:22px}.pocket h2{font-size:14px}.money{margin:23px 0 15px;font-size:20px;font-family:Georgia,serif}.money strong{font-size:35px;font-weight:400}.money span{font-family:system-ui,sans-serif;font-size:10px;margin-left:12px;color:var(--muted)}.meter{height:5px;border-radius:10px;background:#e8ecdf;overflow:hidden}.meter i{display:block;background:#8a9e83;height:100%;width:100%;transition:width .3s}details{font-size:11px;line-height:1.8}summary{cursor:pointer;color:var(--muted)}.tabs{display:flex;gap:35px;border-bottom:1px solid var(--line);margin-top:40px}.tabs button{border:0;background:none;padding:18px 0;color:var(--muted);font-size:14px;border-bottom:2px solid transparent}.tabs button.active{color:var(--ink);border-bottom-color:var(--sage)}.tabs span{font-size:8px;letter-spacing:1.5px;margin-left:7px;opacity:.7}.panel{padding:30px 0}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.entry{padding:24px;border:1px solid var(--line);border-radius:13px;background:var(--cream)}.entry .entry-date{font-size:10px;color:var(--muted);letter-spacing:1px}.entry h3{font-family:"STSong","SimSun",serif;font-size:19px;font-weight:500;margin:17px 0 12px}.entry p{font-size:13px;line-height:2;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}.entry .entry-kind{font-size:10px;color:var(--sage);margin-top:18px;display:block}.entry.diary{grid-column:span 2}.empty{padding:40px 20px;color:var(--muted);font-size:13px;border:1px dashed #d8ded0;border-radius:12px;grid-column:1/-1;text-align:center;line-height:1.9}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}.picture{background:var(--cream);padding:12px;border:1px solid var(--line);border-radius:12px}.picture img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.picture p{font-size:12px;margin:12px 3px 3px;overflow-wrap:anywhere}.primary{border:0;border-radius:9px;background:var(--sage);color:white;padding:12px 19px;font-size:12px;display:inline-flex;justify-content:center;align-items:center;gap:20px}.primary:hover{background:#6c8774}input,textarea{border:1px solid #dce1d4;border-radius:9px;background:var(--cream);padding:13px 15px;outline:none;color:var(--ink);font-size:13px}input:focus,textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #7e95841a}.memory-add{display:flex;gap:12px;margin-top:24px}.memory-add input{flex:1;min-width:0}.persona-box{margin-top:25px;padding:20px;border:1px solid var(--line);border-radius:12px}.persona-box p{white-space:pre-wrap;font-size:12px}.chat-messages{max-height:480px;overflow:auto;margin:25px 0;padding:10px 4px}.bubble{max-width:80%;border-radius:13px;background:#e8eddf;padding:14px 18px;margin:12px 0;font-size:14px;white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere}.bubble.user{margin-left:auto;background:#f0e7d9}.bubble small{display:block;font-size:9px;opacity:.6;margin-bottom:5px}.bubble a{color:#4a6c93;text-decoration:underline}#chat-form{display:flex;align-items:flex-end;gap:14px}#chat-form textarea{flex:1;resize:vertical;min-width:0}footer{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:24px 0;font-size:10px;color:var(--muted)}#job-status{padding-bottom:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#334b42;color:#fff;padding:15px 24px;border-radius:12px;font-size:13px;box-shadow:0 7px 25px #0002;max-width:90%;z-index:10}.request{background:#f7edda;border-radius:10px;padding:14px;margin:18px 0;font-size:12px}.request p{margin:0 0 12px;white-space:pre-wrap}.request .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.request input{width:80px;padding:8px}.request .primary{padding:9px;font-size:11px}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-card{max-width:440px;width:100%;padding:70px 35px;margin:auto}.little-whale{font-size:45px;margin-bottom:32px}.login-card h1{font-size:43px;line-height:1.5;margin-bottom:20px}.login-card p.muted{font-size:13px;margin-bottom:35px}.login-card label{display:block;font-size:12px;margin-bottom:10px}.login-card input{width:100%;margin-bottom:15px}.login-card .primary{width:100%;justify-content:space-between;padding:16px}.login-art{background:#b7c6b3;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:600px;height:600px;border-radius:50% 50% 0 0;background:#edf0e6;bottom:-220px;left:12%;transform:rotate(-12deg)}.moon{position:absolute;width:150px;height:150px;background:#f3edc8;border-radius:50%;top:18%;left:20%;box-shadow:0 0 90px #f3edc833}.home-line{position:absolute;bottom:12%;left:15%;z-index:1;font-family:serif;color:#6e806c;letter-spacing:4px;writing-mode:vertical-rl;font-size:20px}#login-error{font-size:12px;color:#a66450;min-height:22px}@keyframes breathe{0%,100%{transform:translate(372px,286px)}50%{transform:translate(372px,280px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:950px){.top-grid{grid-template-columns:1fr}.side-stack{display:grid;grid-template-columns:1fr 1fr}.entry-grid{grid-template-columns:1fr 1fr}.tabs{gap:25px}.room svg{max-height:460px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){header{padding:20px}.brand span{font-size:16px}.brand small{font-size:8px}.head-right #clock{display:none}main{padding:0 18px 20px}.welcome{padding:30px 0 22px;align-items:flex-start}h1{font-size:28px}.date-tag{font-size:10px;padding:8px 10px}.welcome .eyebrow{font-size:8px;letter-spacing:2px}.side-stack{grid-template-columns:1fr}.card{padding:22px}.room-meta,.room-caption{padding:14px}.room-caption{font-size:10px}.tabs{gap:0;justify-content:space-between;margin-top:25px}.tabs span{display:none}.tabs button{font-size:13px}.entry-grid{grid-template-columns:1fr}.entry.diary{grid-column:auto}.panel>.section-head{align-items:flex-start;flex-direction:column}.gallery{gap:12px}.picture{padding:8px}.memory-add{flex-direction:column}#chat-form{gap:9px}#chat-form .primary{padding:14px 10px}.bubble{max-width:92%}footer{flex-wrap:wrap}.login-wrap{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:45px 30px}.login-card h1{font-size:38px}.entry{padding:21px}}
