@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Serif+TC:wght@500;600;700&display=swap";:root{color:#272523;background:#f7f3ec;font-family:Manrope,Noto Sans TC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f7f3ec;--surface: #fffdf8;--surface-raised: #fffdf9;--ink: #272523;--ink-soft: #4f4b46;--muted: #817b72;--line: #e8e1d6;--primary: #b65f49;--primary-deep: #874a3d;--sage: #dfe5d4;--deep: #323c3b;--moon: #c9bfae;--on-primary: #fff9f0;--on-deep: #f8f5eb;--control: #faf7f1;--reaction: #f3eee7;--selected: #f5e5de;--overlay: rgba(33, 37, 34, .44);--shadow-card: 0 12px 30px rgba(50, 60, 59, .1);--shadow-float: 0 -10px 50px rgba(31, 38, 37, .27);--motion-fast: .18s}html[data-theme=night]{color:#f5f0e7;background:#182321;--canvas: #182321;--surface: #22312e;--surface-raised: #2c3c38;--ink: #f5f0e7;--ink-soft: #d8d5ca;--muted: #a8b1a4;--line: #40514b;--primary: #d58a71;--primary-deep: #b76a55;--sage: #6f8275;--deep: #101a18;--moon: #e2d9c8;--on-primary: #182321;--on-deep: #f5f0e7;--control: #1d2b28;--reaction: #2a3935;--selected: #4a3933;--overlay: rgba(8, 15, 13, .7);--shadow-card: 0 16px 38px rgba(0, 0, 0, .24);--shadow-float: 0 -10px 50px rgba(0, 0, 0, .38)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas);transition:background .25s ease,color .25s ease}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--surface) 92%,transparent) 0,var(--canvas) 36rem);transition:background .25s ease,color .25s ease}button,textarea,input{font:inherit}button{min-width:44px;min-height:44px;border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:22px 24px 34px}.topbar{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;color:var(--on-deep);border-radius:13px;background:var(--deep);font-size:17px;box-shadow:0 5px 14px color-mix(in srgb,var(--deep) 15%,transparent)}.brand-name{margin:0;font-size:13px;font-weight:800;letter-spacing:.02em}.brand-subtitle{margin:2px 0 0;color:var(--muted);font-family:"Noto Serif TC",serif;font-size:10px}.avatar-button{width:44px;height:44px;margin-left:auto;color:var(--deep);border:1px solid color-mix(in srgb,var(--sage) 80%,var(--line));border-radius:50%;background:var(--sage);font-size:10px;font-weight:700}.intro-section{padding:55px 2px 31px}.eyebrow{margin:0 0 9px;color:var(--primary);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:520px;margin-bottom:17px;font-family:"Noto Serif TC",serif;font-size:clamp(35px,7vw,56px);font-weight:600;letter-spacing:-.08em;line-height:1.17}h1 em{color:var(--primary);font-style:normal}.intro-copy{max-width:520px;margin-bottom:0;color:var(--muted);font-family:"Noto Serif TC",serif;font-size:14px;line-height:1.9}.checkin-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 23px;color:var(--on-deep);border-radius:24px;background:var(--deep);box-shadow:var(--shadow-card)}.card-label{color:color-mix(in srgb,var(--sage) 78%,var(--moon));font-family:DM Mono,monospace;font-size:10px;letter-spacing:.08em}.checkin-card p{margin:8px 0 0;font-family:"Noto Serif TC",serif;font-size:16px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 19px;color:var(--on-primary);border-radius:14px;background:var(--primary);font-size:12px;font-weight:700;box-shadow:0 8px 17px color-mix(in srgb,var(--primary) 26%,transparent);transition:transform var(--motion-fast) ease,background var(--motion-fast) ease}.primary-button:hover{background:var(--primary-deep);transform:translateY(-1px)}.primary-button span{font-size:19px;font-weight:400;line-height:1}.journal-section,.community-section{padding-top:53px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}h2{margin-bottom:0;font-family:"Noto Serif TC",serif;font-size:25px;font-weight:600;letter-spacing:-.05em}.count-pill{padding:6px 10px;color:var(--muted);border:1px solid var(--line);border-radius:99px;font-family:DM Mono,monospace;font-size:9px}.empty-state{display:grid;place-items:center;min-height:124px;color:var(--muted);border:1px dashed color-mix(in srgb,var(--moon) 80%,var(--line));border-radius:20px;text-align:center}.empty-state p{margin:10px 0 0;font-family:"Noto Serif TC",serif;font-size:13px}.empty-icon{color:var(--moon);font-size:21px}.timeline-list{position:relative;display:grid;gap:23px;padding-left:17px}.timeline-list:before{position:absolute;top:4px;bottom:4px;left:3px;width:1px;background:var(--line);content:""}.journal-entry{position:relative;display:grid;grid-template-columns:1fr;gap:6px;padding-left:18px}.timeline-dot{position:absolute;top:4px;left:-1px;width:9px;height:9px;border:2px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 55%,var(--moon))}.entry-meta,.post-meta{display:flex;align-items:center;gap:11px;color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.entry-meta span+span:before,.post-meta span+span:before{margin-right:11px;color:var(--moon);content:"•"}.journal-entry p{max-width:580px;margin:7px 0 0;color:var(--ink-soft);font-family:"Noto Serif TC",serif;font-size:14px;line-height:1.8}.entry-actions{display:flex;gap:2px;margin-top:3px}.calendar-card{margin-top:28px;padding:17px 18px 15px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.calendar-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-topline strong{color:var(--ink-soft);font-family:"Noto Serif TC",serif;font-size:12px;font-weight:600}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-weekdays{margin-bottom:6px;color:var(--muted);font-family:DM Mono,monospace;font-size:8px}.calendar-day{display:grid;place-items:center;height:29px;color:var(--muted);border-radius:9px;font-family:DM Mono,monospace;font-size:9px}.calendar-day.blank{visibility:hidden}.calendar-day.today{color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 60%,var(--line))}.calendar-day.has-entry{color:var(--deep);background:var(--sage);font-weight:700}.live-dot{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.live-dot i{width:6px;height:6px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px color-mix(in srgb,var(--sage) 25%,transparent)}.section-caption{margin:-7px 0 19px;color:var(--muted);font-family:"Noto Serif TC",serif;font-size:12px}.post-list{display:grid;gap:12px}.post-card{padding:19px 19px 14px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 78%,transparent);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) ease;-webkit-user-select:none;user-select:none;touch-action:pan-y}.post-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:var(--shadow-card);transform:translateY(-1px)}.post-body{margin:12px 0 19px;color:var(--ink);font-family:"Noto Serif TC",serif;font-size:14px;line-height:1.9}.post-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.post-actions{display:flex;align-items:center;gap:3px}.reaction-counts{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:11px}.reaction-counts span{padding:5px 7px;border-radius:8px;background:var(--reaction)}.reaction-counts .quiet-count{color:var(--muted);background:transparent;padding-left:0}.text-button{min-width:44px;min-height:44px;padding:6px 0 6px 8px;color:var(--primary);background:transparent;font-size:11px;font-weight:700}.danger-button{color:var(--primary-deep)}.app-footer{display:flex;justify-content:space-between;gap:12px;margin-top:57px;padding-top:17px;color:var(--muted);border-top:1px solid var(--line);font-family:"Noto Serif TC",serif;font-size:10px}.modal-backdrop{position:fixed;z-index:10;inset:0;display:grid;align-items:end;justify-items:center;padding:16px;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.composer-sheet,.reaction-sheet,.settings-sheet{width:min(100%,600px);padding:13px 22px 22px;border-radius:26px 26px 18px 18px;background:var(--surface);box-shadow:var(--shadow-float);animation:sheet-in .22s ease-out}.reaction-sheet,.settings-sheet{padding-top:22px}.sheet-handle{width:42px;height:4px;margin:0 auto 23px;border-radius:20px;background:var(--line)}.sheet-heading{display:flex;align-items:start;justify-content:space-between}.sheet-heading h2,.reaction-sheet h2{margin-bottom:21px;font-size:23px}.close-button{color:var(--muted);background:transparent;font-size:25px;line-height:1}textarea,.recovery-panel input{display:block;width:100%;min-height:155px;resize:vertical;padding:15px;color:var(--ink);border:1px solid var(--line);border-radius:15px;outline:0;background:var(--control);font-family:"Noto Serif TC",serif;font-size:14px;line-height:1.8}textarea:focus,.recovery-panel input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 17px}.publish-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft);font-family:"Noto Serif TC",serif;font-size:11px}.publish-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{display:inline-flex;align-items:center;width:44px;height:24px;padding:3px;border-radius:20px;background:var(--line);transition:background .2s ease}.toggle-track span{width:18px;height:18px;border-radius:50%;background:var(--surface);transition:transform .2s ease}.publish-toggle input:checked+.toggle-track{background:var(--primary)}.publish-toggle input:checked+.toggle-track span{transform:translate(20px)}.character-count{color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.full-width{width:100%}.emoji-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.emoji-button{display:grid;place-items:center;gap:3px;min-height:64px;border:1px solid transparent;border-radius:15px;background:var(--reaction);font-size:25px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.emoji-button:hover,.emoji-button.selected{border-color:var(--primary);background:var(--selected);transform:translateY(-2px)}.emoji-button span{color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.sheet-cancel{display:block;margin:17px auto 0;padding:4px 10px;color:var(--muted);background:transparent;font-size:11px}.theme-options{display:grid;gap:8px;margin:0 0 23px;padding:0;border:0}.theme-options legend{margin-bottom:8px;color:var(--muted);font-family:DM Mono,monospace;font-size:10px}.theme-option{width:100%;padding:8px 13px;color:var(--ink-soft);border:1px solid var(--line);border-radius:14px;background:var(--control);text-align:left;font-size:12px}.theme-option.selected{color:var(--primary-deep);border-color:var(--primary);background:var(--selected)}.recovery-panel{padding-top:19px;border-top:1px solid var(--line)}.recovery-panel p:not(.card-label){margin:8px 0 13px;color:var(--muted);font-family:"Noto Serif TC",serif;font-size:12px;line-height:1.8}.recovery-panel input{min-height:48px;margin-bottom:12px;resize:none}.toast{position:fixed;z-index:20;right:50%;bottom:22px;transform:translate(50%);padding:12px 17px;color:var(--on-deep);border-radius:13px;background:var(--deep);box-shadow:var(--shadow-card);font-size:11px;animation:toast-in .2s ease-out}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(50%,10px)}to{opacity:1;transform:translate(50%)}}@media(max-width:520px){.app-shell{padding-right:17px;padding-left:17px}.intro-section{padding-top:44px}.checkin-card{align-items:start;flex-direction:column}.checkin-card .primary-button{width:100%}.composer-sheet,.reaction-sheet,.settings-sheet{padding-right:17px;padding-left:17px}.app-footer{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
