:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#24372e;background:#fafbf7;font-synthesis:none;--bg: #fafbf7;--panel: #fff;--muted: #5e6d63;--green: #345c4a;--line: #e0e7de;--soft: #eef3ed;--body-size: 18px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:12px;min-height:44px;padding:10px 16px}button:hover{background:var(--soft)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #7c9c7d;outline-offset:3px}input,select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);color:inherit;max-width:100%;width:100%}textarea{color:inherit}label{display:block;font-size:14px;line-height:22px;margin:16px 0}label input,label select{margin-top:8px}h1{font-size:28px;line-height:38px;letter-spacing:-.5px;font-weight:550;margin:8px 0 24px}h2{font-size:20px;font-weight:500;line-height:30px}p{line-height:1.8}.muted{color:var(--muted);font-size:14px}.fine{font-size:12px;color:var(--muted);line-height:1.8}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted);margin:0}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#284d3c}.text-button{border:0;background:transparent;color:var(--muted);padding:8px 0}.error{background:#fcf0eb;color:#8b352a;border:1px solid #e8bcb0;padding:12px 16px;border-radius:12px;font-size:14px}.notice{background:var(--soft);padding:12px 16px;color:var(--green)}.flash{margin:16px 40px;display:flex;justify-content:space-between;align-items:center}.flash button{border:0;background:none}.loading{padding:80px;text-align:center}.brand{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:2px;text-align:left;border:0;background:none;padding:0}.brand small{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:7px}.brand-mark{display:grid;place-items:center;width:40px;height:44px;border:1px solid #9aaf9a;border-radius:22px 5px;font-size:18px;color:#345c4a}.gate{min-height:100dvh;display:grid;grid-template-columns:46% 54%;background:var(--bg)}.forest{position:relative;overflow:hidden;background:linear-gradient(160deg,#a9b9a4,#d6ddca 44%,#6e8d79);min-height:100dvh}.sun{position:absolute;width:200px;height:200px;background:#f6edcf7a;filter:blur(2px);border-radius:50%;top:15%;left:20%}.hill{position:absolute;width:160%;height:70%;border-radius:50% 50% 0 0;transform:rotate(-18deg);bottom:-28%;left:-30%;background:#3a6053}.h1{bottom:0;left:-10%;background:#87a08a;filter:blur(4px)}.h2{bottom:-15%;left:-40%;background:#557968;transform:rotate(20deg)}.forest:after{content:"把当下真实的自己留下来。";position:absolute;bottom:70px;left:50px;color:#eef1e5;writing-mode:vertical-rl;letter-spacing:5px;font-size:18px;line-height:2}.gate-content{padding:55px clamp(28px,6vw,110px);display:flex;flex-direction:column;justify-content:center}.gate-content>.brand{position:absolute;top:46px}.gate-card{max-width:440px}.gate-card h1{margin-top:16px;margin-bottom:16px}.gate-card form{margin-top:34px}.gate-card .primary{width:100%;margin-top:12px}.gate-actions{display:flex;justify-content:space-between;gap:16px;align-items:center}.file-button input{display:none}.file-button{cursor:pointer}.gate-footer{position:absolute;bottom:30px;font-size:12px;color:#6e806e;letter-spacing:2px}.recovery{white-space:pre-wrap;word-break:break-all;background:var(--soft);border:1px dashed #94aa92;padding:20px;font-size:15px;line-height:1.8}.app{display:flex;min-height:100dvh}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;padding:38px 24px 24px;background:linear-gradient(180deg,#eef3eb,#e5ede2);border-right:1px solid #dce5d7;display:flex;flex-direction:column}.sidebar .brand{font-size:19px;gap:10px}.sidebar nav{margin-top:54px;display:flex;flex-direction:column;gap:10px}.sidebar button:not(.brand){display:flex;gap:14px;align-items:center;background:none;border:0;width:100%;text-align:left;font-size:14px;color:#536657}.sidebar button.selected{background:#dce7d8;color:#254c37}.icon{font-size:21px;font-family:Georgia,serif;width:24px;text-align:center}.sidebar-bottom{margin-top:auto}.sidebar-bottom>p{font-family:serif;font-size:13px;color:#7b8a79;line-height:2.2;padding:20px 12px}.main{margin-left:224px;width:calc(100% - 224px);min-height:100dvh}.page{max-width:816px;margin:0 auto;padding:60px 48px 20px}.page-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-top h1{margin-bottom:12px}.page-top .primary{min-width:80px}.writing{padding-top:64px}.editor{width:100%;min-height:58dvh;border:0;outline:0!important;resize:none;background:transparent;padding:34px 0 0;font-size:var(--body-size);line-height:32px;font-family:inherit}.editor::placeholder{color:#99a498}.editor-footer{display:flex;justify-content:space-between;color:#71816f;font-size:12px;border-top:1px solid var(--line);padding:18px 0}.page-footer{text-align:center;color:#9aa594;font-size:11px;letter-spacing:3px;margin:40px 0}.local-banner{background:#f2f1e8;color:#736d4f;text-align:center;font-size:12px;padding:10px 20px}.search-row{display:flex;gap:12px;margin:24px 0 28px;align-items:flex-start}.search-row>input{flex:1;background:var(--soft);border:0}.search-row details{min-width:64px;position:relative}.search-row details[open]{min-width:190px}.search-row summary{padding:12px;cursor:pointer;font-size:14px}.entry-card{display:block;position:relative;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;padding:28px 0;background:none}.entry-card:hover{background:none}.entry-card time{font-size:12px;color:#768472}.entry-card h2{margin:10px 0}.entry-card p{font-size:14px;color:var(--muted);margin:8px 32px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entry-arrow{position:absolute;right:0;top:50%;color:#91a08b}.empty{text-align:center;padding:80px 20px;color:var(--muted);font-size:14px}.empty>span{font-size:36px;color:#a0b099}.empty h2{font-size:18px;margin-top:20px}.reading{padding-top:40px}.reading>.eyebrow{margin-top:30px}.reading h1{font-size:28px;margin:12px 0 20px}.prose{white-space:pre-wrap;font-size:var(--body-size);line-height:32px;overflow-wrap:anywhere;margin:40px 0}.entry-tools{display:flex;gap:12px;align-items:center}.entry-tools button,.entry-tools summary{font-size:13px;padding:10px 16px}.entry-tools details{position:relative;cursor:pointer}.menu{position:absolute;top:100%;left:0;z-index:5;min-width:180px;background:var(--panel);box-shadow:0 12px 50px #24372e1a;border:1px solid var(--line);padding:8px;border-radius:12px}.menu button{display:block;width:100%;border:0;text-align:left}.danger{color:#a64d40}.insight{border-top:1px solid var(--line);padding:30px 0;margin-top:50px}.insight p:last-child{font-family:serif;color:#48624e;font-size:17px}.tabs{display:inline-flex;padding:4px;border-radius:12px;background:var(--soft);margin:0 0 28px}.tabs button{border:0;background:none;min-width:110px}.tabs .selected{background:var(--panel);box-shadow:0 2px 6px #00000008}.quiet-card{background:#f0f3e9;border:1px solid #e4e9dc;border-radius:16px;text-align:center;padding:48px 20px}.quiet-card h2{font-size:18px}.letter-symbol{font-size:40px;color:#829479}.quiet-card .primary{margin-top:20px}.sources{font-size:13px;color:var(--muted);margin:16px 0}.sources summary{cursor:pointer;min-height:44px;padding:10px 0}.sources button{display:block;border:0;background:var(--soft);width:100%;text-align:left;margin:8px 0}.chat-page{height:calc(100dvh - 37px);display:flex;flex-direction:column;padding-bottom:24px}.conversation{flex:1;overflow:auto;padding:24px 0}.chat-empty{text-align:center;padding-top:10vh;color:#7a8975}.chat-empty>span{font-size:48px;color:#9bac92}.chat-empty h2{font-family:serif;color:#47613f}.chat-empty p{font-size:14px}.bubble{max-width:90%;padding:14px 20px;background:#eef3e9;border-radius:16px;margin:16px 0;font-size:16px;line-height:27px;overflow-wrap:anywhere}.bubble p{white-space:pre-wrap;margin:0}.bubble.user{margin-left:auto;background:#e1eadc}.bubble.assistant{background:none;padding-left:0}.chat-compose{display:flex;align-items:flex-end;gap:12px;border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:12px}.chat-compose textarea{flex:1;min-width:0;height:62px;max-height:180px;resize:vertical;border:0;background:none;outline:0;font-size:16px;line-height:27px}.settings-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;margin:24px 0}.settings-card h2{margin-top:0;font-size:18px}.settings-card .toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0}.toggle input{width:20px;min-height:20px;accent-color:var(--green);margin:0}.button-row{display:flex;flex-wrap:wrap;gap:12px}.settings-card>details{margin-top:24px;font-size:14px}.settings-card summary{min-height:44px;cursor:pointer}.recycle{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.mobile-header,.bottom-nav{display:none}.privacy-lock #root{visibility:hidden}.privacy-lock:after{content:"日记已锁定";position:fixed;inset:0;display:grid;place-items:center;background:#fafbf7;color:#345c4a;z-index:9999}[data-theme=dark]{--bg: #18231d;--panel: #202e25;--muted: #acb9ac;--green: #527b60;--line: #3a4b3d;--soft: #2a3b2e;color:#e3eade;background:var(--bg)}[data-theme=dark] .sidebar{background:#202e25;border-color:var(--line)}[data-theme=dark] .sidebar button:not(.brand){color:#c6d2be}[data-theme=dark] .sidebar button.selected{background:#334b38;color:#e4eddf}[data-theme=dark] .quiet-card,[data-theme=dark] .bubble{background:var(--soft);border-color:var(--line)}[data-theme=dark] .local-banner{background:#353528;color:#d6d0a9}[data-theme=dark] .insight p:last-child{color:#b2c7a9}[data-theme=dark] .gate{background:var(--bg)}[data-theme=dark] .brand-mark{color:#b4cca8}@media(max-width:1199px)and (min-width:768px){.sidebar{width:188px;padding:32px 16px}.main{margin-left:188px;width:calc(100% - 188px)}.page{padding-left:36px;padding-right:36px}.sidebar .brand{font-size:16px}.brand small{font-size:9px}}@media(max-width:767px){.gate{display:block}.forest{position:absolute;inset:0;min-height:100dvh;opacity:.23}.forest:after{display:none}.gate-content{position:relative;min-height:100dvh;padding:120px 24px 90px}.gate-content>.brand{top:32px}.gate-card{max-width:440px;margin:auto;width:100%;padding:24px;background:#fafbf7ed;border-radius:20px;box-shadow:0 15px 70px #294b3210}.gate-card h1{font-size:24px;line-height:34px}.gate-footer{left:0;right:0;text-align:center}.sidebar{display:none}.main{margin:0;width:100%}.mobile-header{display:flex;align-items:center;padding:8px 16px;height:56px;border-bottom:1px solid var(--line)}.mobile-header button{border:0;background:none;padding:8px;min-width:44px;font-size:13px}.mobile-header button:first-child{margin-right:auto;font-size:17px}.local-banner{font-size:11px;padding:8px 16px}.page{padding:28px 20px 20px}.page h1{font-size:24px;line-height:34px}.page-top{gap:12px}.page-top .primary{min-width:64px}.eyebrow{font-size:11px}.editor{font-size:var(--body-size);line-height:31px;min-height:58dvh;padding-top:24px}.prose{font-size:var(--body-size);line-height:31px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-top:1px solid var(--line);height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:10}.bottom-nav button{border:0;background:none;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;color:var(--muted);padding:4px}.bottom-nav button.selected{color:var(--green);background:var(--soft);border-radius:0}.editing .bottom-nav{display:none}.app:not(.editing) .main{padding-bottom:80px}.page-footer{margin:28px 0;font-size:10px}.writing{padding-top:28px}.writing h1{font-size:21px}.entry-card{padding:24px 0}.entry-card h2{font-size:18px}.flash{margin:12px 20px}.settings-card{padding:20px}.chat-page{height:calc(100dvh - 150px)}.chat-page .page-top button{font-size:12px;padding:8px 12px}.chat-compose{position:sticky;bottom:0}.chat-page .chat-compose:focus-within{margin-bottom:0}.search-row details[open]{min-width:140px}.quiet-card{padding:36px 18px}.gate-card .fine{font-size:11px}[data-theme=dark] .gate-card{background:#18231df2}}
