:root{--bg:#f6f2e9;--paper:#fffdfa;--line:#e4ded3;--ink:#26352f;--muted:#768078;--accent:#4a7160;--accent-dark:#365746;--rose:#c98270;--gold:#cfad6a;--shadow:0 8px 42px rgba(52,57,48,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hidden{display:none!important}.app-shell{max-width:1240px;margin:0 auto;min-height:100vh;padding:0 38px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{height:46px;width:46px;display:grid;place-items:center;background:#e1e9df;color:var(--accent);border-radius:14px;font-size:30px;font-weight:400}.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.0;letter-spacing:-.06em;font-weight:600}.brand-dot{color:var(--rose)}.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:750;color:#849085}.header-actions{display:flex;align-items:center;gap:15px}.mode-badge{font-size:11px;border:1px solid #dfdfd5;border-radius:999px;padding:7px 11px;color:#637a66;background:#f5f8f0}.icon-button{display:grid;place-items:center;border:0;background:transparent;color:var(--ink);width:38px;height:38px;border-radius:12px;font-size:27px;line-height:1}.icon-button:hover{background:#e9e5da}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:60px;min-height:650px}.sidebar{border-right:1px solid var(--line);padding:50px 35px 0 0;min-width:0}.sidebar-intro h2{font-family:Georgia,serif;font-size:32px;letter-spacing:-.035em;font-weight:500;margin:10px 0 4px}.sidebar-intro p{font-size:13px;color:var(--muted);margin:0 0 32px}.calendar-panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:17px 16px 19px;box-shadow:var(--shadow)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}.calendar-header .icon-button{width:30px;height:30px;font-size:25px}.calendar-header h3{font-size:13px;font-weight:700;margin:0;text-transform:capitalize}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays{margin-bottom:7px}.weekdays span{text-align:center;font-size:10px;color:#919991;font-weight:700}.calendar-day{border:0;background:none;border-radius:10px;min-height:34px;padding:4px 0;position:relative;color:var(--ink);font-size:12px;line-height:1.3}.calendar-day.outside{color:#b9bdb6}.calendar-day.today{box-shadow:inset 0 0 0 1px #bad0bc}.calendar-day.selected{background:var(--accent);color:white;font-weight:700}.calendar-day:hover:not(.selected){background:#f0f1e9}.calendar-day .indicators{position:absolute;display:flex;bottom:3px;gap:2px;left:50%;transform:translateX(-50%)}.calendar-day .indicators i{width:3.5px;height:3.5px;border-radius:50%;background:var(--accent)}.calendar-day .indicators i.insight-dot{background:var(--rose)}.calendar-day.selected .indicators i{background:#ffffffb0}.calendar-legend{display:flex;justify-content:space-evenly;margin-top:19px;font-size:10px;color:var(--muted)}.calendar-legend>span{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%}.dot-entry{background:var(--accent)}.dot-insight{background:var(--rose)}.soft-button{background:#e8ebe2;color:var(--accent-dark);border:0;border-radius:12px;width:100%;padding:12px;margin-top:15px;font-weight:650;font-size:12px}.sidebar-footer{border-top:1px solid var(--line);margin-top:37px;padding-top:20px;font-size:11px;font-style:italic;color:#9b9d94}.main-content{min-width:0;padding:45px 0 50px}.tabs{display:flex;gap:17px;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:0;border-bottom:2px solid transparent;background:transparent;color:#858b82;padding:0 3px 15px;font-size:13px;font-weight:600}.tab.active{color:var(--accent-dark);border-bottom-color:var(--accent)}.day-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-top:43px;margin-bottom:37px;gap:15px}.day-heading h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,42px);font-weight:500;letter-spacing:-.05em;margin:7px 0 0;line-height:1.1}.day-controls{display:flex;gap:9px;padding-bottom:3px}.outlined{border:1px solid var(--line);background:var(--paper);width:35px;height:35px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-title h2{font-family:Georgia,serif;font-weight:500;font-size:25px;letter-spacing:-.035em;margin:5px 0}.section-title h3{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:4px 0}.private-tag,.insight-tag{font-size:10px;border-radius:999px;padding:7px 11px;background:#eef0e7;color:#64786a;white-space:nowrap}.insight-tag{background:#f7eae5;color:#a46e61}.writing-card{border:1px solid var(--line);border-radius:17px;background:var(--paper);overflow:hidden;box-shadow:var(--shadow)}.writing-card textarea{width:100%;min-height:292px;display:block;resize:vertical;border:0;background:transparent;color:var(--ink);padding:29px 27px;font-size:15px;line-height:1.9;outline:none!important}.writing-card textarea::placeholder,.insight-editor textarea::placeholder{color:#afb4aa}.writing-footer{border-top:1px solid #eeeae1;padding:13px 27px;display:flex;justify-content:space-between;gap:9px;font-size:10px;color:#a0a69d}.action-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:20px}.primary-button{background:var(--accent);color:white;border:1px solid var(--accent);border-radius:11px;padding:12px 20px;font-size:12px;font-weight:700;min-height:43px}.primary-button:hover{background:var(--accent-dark)}.secondary-button{color:var(--accent-dark);background:var(--paper);border:1px solid #cdd8ca;border-radius:11px;padding:11px 16px;font-weight:650;font-size:12px;min-height:43px}.secondary-button:hover{background:#e7efe6}.save-hint{font-size:11px;color:#9aa298}.quote-note{border-left:2px solid var(--gold);padding-left:15px;font:italic 15px Georgia,serif;color:#a0a094;margin-top:51px}.insight-editor,.setup-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;box-shadow:var(--shadow);padding:24px;margin-bottom:20px}.insight-editor>label:first-child,.setup-card label{display:block;font-size:12px;font-weight:700;margin-bottom:10px}.insight-editor textarea{width:100%;min-height:130px;resize:vertical;background:#faf8f3;color:var(--ink);border:1px solid #e8e4da;border-radius:11px;padding:16px;font-size:15px;line-height:1.65}.checkbox-line{display:flex;gap:11px;align-items:flex-start;margin-top:14px;font-size:12px;color:#52685a;cursor:pointer}.checkbox-line input{accent-color:var(--accent);height:17px;width:17px;flex-shrink:0;margin:1px 0 0}.fineprint{font-size:11px;line-height:1.6;color:#8a948c}.friends-block{margin-top:37px}.compact{margin-bottom:12px}.friends-list{display:grid;gap:10px}.friend-card{border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:16px 19px}.friend-card p{margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.friend-meta{display:flex;justify-content:space-between;gap:10px;color:#8a9589;font-size:11px}.muted,.intro-copy{color:#808c82;font-size:13px;line-height:1.8}.intro-copy{max-width:610px;margin:0 0 25px}.setup-card h3{font-family:Georgia,serif;font-size:21px;font-weight:500;margin:0 0 5px}.setup-card p{font-size:13px;line-height:1.75;color:#7d897f}.tag-row{display:flex;flex-wrap:wrap;gap:9px}.tiny-tag{font-size:11px;padding:6px 10px;border-radius:99px;background:#edf2ea;color:#64806b}.input-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.input-row input,.setup-card input[type=text],.login-form input{height:43px;flex:1;min-width:180px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfaf5;color:var(--ink)}.invite-result{display:flex;gap:9px;margin-top:15px;flex-wrap:wrap}.invite-result input{min-width:140px;flex:1}.text-button{border:0;background:none;color:var(--accent);font-size:11px;text-decoration:underline}.danger{color:#a2544a;border-color:#e7c9c3}.global-footer{border-top:1px solid var(--line);padding:20px 0 31px;display:flex;justify-content:space-between;color:#a0a69e;font-size:11px}.global-footer span{color:var(--accent)}.notice{border:1px solid #c4d7c5;background:#e8f0e7;padding:13px 18px;border-radius:13px;color:#375c48;font-size:12px;margin-top:17px}.notice.error{background:#fff1ec;border-color:#ebc2b7;color:#9a5147}.auth-screen{max-width:500px;margin:70px auto 120px;text-align:center}.auth-screen h1{font-family:Georgia,serif;font-size:38px;font-weight:500;line-height:1.2;margin:15px 0}.auth-screen>p{color:var(--muted);font-size:14px;line-height:1.75}.intro-symbol{font-size:56px;color:var(--rose)}.login-form{display:grid;gap:12px;text-align:left;margin:32px auto 0;max-width:365px}.login-form label{font-weight:650;font-size:12px}.login-form .primary-button{width:100%}.login-form .fineprint{text-align:center}.hidden-file{display:none}
@media(max-width:860px){.app-shell{padding:0 19px}.topbar{height:78px}.brand-mark{height:40px;width:40px}.brand-name{font-size:24px}.mode-badge{display:none}.workspace{grid-template-columns:1fr;gap:0}.sidebar{padding:26px 0 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-intro{display:none}.calendar-panel{max-width:100%;padding:13px 14px 14px}.calendar-day{min-height:33px}.sidebar-footer{display:none}.soft-button{margin-top:9px;padding:9px}.main-content{padding:24px 0 50px}.tabs{gap:19px}.tab{font-size:12px;padding-bottom:12px}.day-heading{margin:29px 0 30px}.day-heading h1{font-size:32px}.section-title h2{font-size:22px}.writing-card textarea{min-height:250px;padding:20px}.writing-footer{padding:11px 20px}.quote-note{margin-top:30px}.global-footer{padding-bottom:calc(25px + env(safe-area-inset-bottom))}}
@media(max-width:460px){.section-title{align-items:flex-start}.private-tag,.insight-tag{font-size:9px;white-space:normal}.calendar-day{min-height:32px}.header-actions{gap:0}.day-heading h1{font-size:29px}.action-row .primary-button{flex:1}.section-title h2{font-size:21px}.writing-footer span:last-child{display:none}}
