:root{--bg:#f8f9fc;--paper:#fff;--ink:#202326;--muted:#9395a7;--green:#00bd72;--green-dark:#008d55;--line:#eff0f5;--soft:#f1f2f7;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}button,input,textarea,select,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #6bdcb0;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #7be1b8;outline-offset:2px}[hidden]{display:none!important}svg{width:24px;height:24px;display:block;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,p{margin:0}h1{font-size:34px;letter-spacing:-1px;font-weight:650}h2{font-size:18px;font-weight:600}small{display:block}button{touch-action:manipulation}.rail{position:fixed;inset:0 auto 0 0;width:228px;border-right:1px solid var(--line);background:#fff;padding:40px 24px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:21px;font-weight:650;white-space:nowrap}.brand small{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:2px;margin-top:8px}.brand-mark{padding:11px;background:#e7f9f0;border-radius:14px;color:var(--green)}.brand-mark svg{width:25px;height:25px}.desktop-nav{display:grid;gap:10px;margin-top:65px}.nav-item{display:flex;align-items:center;gap:16px;text-decoration:none;color:#858899;padding:15px 20px;border-radius:13px;font-size:16px}.nav-item.active{color:var(--green-dark);background:#eaf9f2;font-weight:600}.rail-bottom{display:flex;gap:11px;align-items:center;margin-top:auto;font-size:14px}.avatar,.large-avatar{display:grid;place-items:center;background:#e4f6ed;color:var(--green-dark);border-radius:50%}.avatar{width:38px;height:38px}.rail-bottom small{font-size:10px;color:var(--muted);margin-top:5px}.online-dot{width:7px;height:7px;background:var(--green);border-radius:50%;margin-left:auto}#app{margin-left:228px;padding:0 48px 55px;max-width:1700px}.app-header{height:88px;border-bottom:1px solid #ebedf3;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#9397a5}.header-divider{padding:0 15px;color:#d4d7df}#section-label{letter-spacing:1px}.prototype-badge{background:#edf0f5;padding:7px 11px;border-radius:6px;font-size:10px;letter-spacing:.3px;color:#84899b}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 27px;gap:16px}.eyebrow{font-size:11px;color:var(--muted);letter-spacing:1px;margin-bottom:10px}.heading-date{font-size:12px;color:var(--muted)}.card{background:var(--paper);border-radius:var(--radius);padding:25px;box-shadow:0 5px 24px #35336502}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.calendar-main,.calendar-side{display:flex;flex-direction:column;gap:22px}.today-card{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#fff 45%,#f0faf5);min-height:181px;padding:26px 32px}.muted{color:var(--muted)}.fine{font-size:11px}.big-date{font-size:66px;line-height:1.1;letter-spacing:-3px;margin:8px 0}.big-date span{font-size:18px;margin-left:10px;color:#7c8990;letter-spacing:0}#weekday-label{font-size:12px;color:#7e8b85}.today-right{text-align:right}.soft-label{font-size:10px;padding:5px 9px;background:#f0f5f2;color:#7f9888;border-radius:6px}.today-quote{font-size:16px;line-height:1.8;margin:14px 0}.today-quote strong{font-weight:500}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.month-actions{display:flex;align-items:center;gap:8px}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;padding:6px}.icon-button:hover{background:var(--soft)}.text-button{font-size:12px;padding:8px}.green{color:var(--green)}.weekdays,#month-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{margin:23px 0 12px;color:#a0a5b0;font-size:11px}#month-grid{row-gap:7px}.calendar-day{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:13px;min-height:47px;font-size:13px;border:1px solid transparent}.calendar-day:hover{background:#f4f8f6}.calendar-day.other{color:#cbd0d7}.calendar-day.today{color:var(--green-dark);font-weight:700}.calendar-day.selected{background:var(--green);color:white}.calendar-day .dot{width:4px;height:4px;position:absolute;bottom:5px}.calendar-day.selected .dot{background:white}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#86bda6}.dot.full{background:#d9ae68}.dot.overfull{background:#de8f8f}.dot.leave{background:#83a5d0}.dot.slack{background:#b9a4d1}.calendar-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.calendar-legend i{margin-right:5px}.status-options{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 15px}.status-button{padding:7px 10px;background:#f6f7fa;color:#858998;border:1px solid transparent;border-radius:8px;font-size:12px}.status-button.selected{background:#eaf9f1;color:var(--green-dark);border-color:#b8e8cf}textarea{resize:vertical}#day-note{border:0;background:#f9fafc;border-radius:12px;padding:14px;width:100%;font-size:13px;line-height:1.7;color:#5f6772}::placeholder{color:#a2a6b5}.day-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px}.primary{background:var(--green);color:white;border-radius:12px;padding:13px 20px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:9px}.primary:hover{background:#00a865}.primary.small{padding:9px 15px;font-size:12px;border-radius:9px}.weather-row{display:flex;align-items:center;gap:14px;padding:24px 0;border-bottom:1px solid var(--line)}.weather-row:last-child{padding-bottom:3px;border:0}.weather-row strong{font-size:13px;font-weight:500}.weather-row small{font-size:10px;color:var(--muted);margin-top:8px}.weather-row b{font-weight:400;font-size:26px;letter-spacing:-1px}.sun,.cloud{font-size:28px;margin-left:auto}.sun{color:#eac477}.cloud{color:#b4c8d5}.count{font-size:12px;color:var(--muted);font-weight:400;padding-left:7px}#todo-form{display:flex;border-bottom:1px solid var(--line);margin-top:12px;align-items:center}#todo-input{border:0;padding:13px 0;background:none;min-width:0;width:100%;font-size:12px}.todo-row{display:flex;align-items:flex-start;gap:10px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.todo-row input{appearance:none;width:17px;height:17px;border:1.5px solid #cbd0d9;border-radius:50%;margin:2px 0;flex-shrink:0;cursor:pointer}.todo-row input:checked{background:var(--green);border-color:var(--green)}.todo-row input:checked:after{content:'✓';display:block;color:white;font-size:11px;line-height:14px;text-align:center}.todo-row.done span{text-decoration:line-through;color:#b4b7c2}.todo-row small{color:#b2a088;font-size:10px;margin-top:4px}.todo-hint{margin-top:22px}.quiet-note{display:flex;align-items:center;gap:14px;color:#a7b1ad;padding:9px 20px}.quiet-note p{font-size:11px;line-height:1.9}.notebook-title{display:flex;align-items:center;gap:12px;padding:0;text-align:left}.notebook-title>span{font-size:20px;color:#a2a5b7}.notebook-title svg{width:18px;color:#565963}.notes-search{display:flex;align-items:center;background:#eef0f6;border-radius:28px;padding:12px 20px;gap:13px;max-width:660px;color:#969aaa}.notes-search input{border:0;background:none;width:100%;min-width:0;color:var(--ink);font-size:14px;outline:none}.notes-search kbd{font-size:10px;white-space:nowrap;color:#a6aab7}.notes-workspace{display:grid;grid-template-columns:minmax(0,660px) minmax(170px,1fr);gap:36px;margin-top:28px}.note-month{font-size:13px;color:#a1a4b4;margin:25px 0 12px 10px;font-weight:400}.note-month:first-child{margin-top:0}.note-card{padding:24px;border-radius:21px;background:white;text-align:left;width:100%;display:block;margin-bottom:14px;box-shadow:0 4px 25px #65637c03;transition:box-shadow .15s,transform .15s;border:1px solid transparent}.note-card:hover{box-shadow:0 9px 26px #667c7210;transform:translateY(-2px);border-color:#dbefe5}.note-card h2{font-size:19px;margin-bottom:14px}.note-card p{font-size:14px;color:#9397a8;line-height:1.9;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-card time{font-size:11px;color:#b8becd}.note-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:19px}.note-card-foot span{font-size:10px;color:#acb3bd}.note-card img{width:72px;height:72px;object-fit:cover;border-radius:10px;float:right;margin-left:15px}.notes-aside{align-self:start;position:sticky;top:160px;text-align:center;padding:75px 5px;color:#9ca7a0}.outline-book{display:flex;justify-content:center;color:#c2d9cd}.outline-book svg{width:60px;height:60px;stroke-width:.8}.notes-aside h2{font-size:15px;font-weight:400;margin:24px 0 13px}.notes-aside p{font-size:12px;line-height:2;color:#a8b0ac}.notes-aside button{margin-top:25px}.new-note{position:fixed;bottom:40px;right:48px;border-radius:40px;box-shadow:0 6px 20px #00bd7230;padding:17px 26px;z-index:4}.empty-state{padding:80px 20px;text-align:center;color:var(--muted);font-size:14px}.profile-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;max-width:1000px}.profile-card{text-align:center;padding-top:36px}.large-avatar{width:78px;height:78px;font-size:30px;margin:0 auto 17px}.profile-card h2{font-size:24px;margin-bottom:9px}.profile-card>p{font-size:12px}.profile-stats{display:flex;margin-top:32px;border-top:1px solid var(--line);padding-top:25px;justify-content:space-around}.profile-stats strong{display:block;font-size:23px;font-weight:500}.profile-stats span{font-size:10px;color:var(--muted);display:block;margin-top:8px}.profile-caption{text-align:center;color:#a7aebb;font-size:11px;margin-top:20px}.settings-card{margin-bottom:22px;padding-bottom:8px}.settings-card>h2{font-size:13px;color:var(--muted);font-weight:400;margin-bottom:8px}.settings-row{display:flex;align-items:center;width:100%;text-align:left;padding:20px 0;gap:14px;border-bottom:1px solid var(--line);font-size:14px}.settings-row:last-child{border-bottom:0}.settings-row>svg:last-child{margin-left:auto;color:#bdc2cb;width:17px}.settings-row small{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.5}.setting-icon{color:#8a9a93}.prototype-note{color:#909baa;font-size:11px;line-height:1.9;padding:0 6px}.prototype-note strong{font-weight:500}.prototype-note p{margin-top:6px}footer{font-size:12px;color:#a1a7b4;margin-top:65px;text-align:center;line-height:2.2}footer span{padding:0 9px}footer small{font-size:10px}.mobile-nav{display:none}dialog{border:0;padding:0;color:var(--ink);box-shadow:0 22px 100px #223b3a22}dialog::backdrop{background:#15251f55;backdrop-filter:blur(3px)}.sheet{width:480px;max-height:85dvh;border-radius:26px;background:var(--bg)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 26px;border-bottom:1px solid var(--line)}.dialog-heading h2{font-size:19px}.sheet-body{padding:20px}.all-notes{display:flex;align-items:center;gap:14px;background:white;width:100%;border-radius:16px;padding:20px;margin-bottom:18px}.all-notes .muted{margin-left:auto;font-size:14px}.all-notes>svg{color:#8b91a1}.book-panel{padding:20px;background:white;border-radius:17px}.book-row{display:flex;align-items:center;gap:13px;padding:17px 0;width:100%;text-align:left;font-size:15px}.book-row svg{color:#9aa1ae;width:21px}.book-row .book-count{font-size:12px;color:#a5acb7}.book-row.selected{color:var(--green-dark)}.book-row.selected>svg{color:var(--green)}.book-row .selected-check{margin-left:auto;color:var(--green)}.sheet-body>p{padding:18px 4px 0}.editor{width:850px;max-width:100%;height:90dvh;max-height:100dvh;border-radius:20px;background:white;overflow:hidden}.editor[open]{display:flex;flex-direction:column}.editor-header{display:flex;align-items:center;padding:17px 22px;gap:12px;border-bottom:1px solid var(--line);flex-shrink:0}.editor-state{font-size:10px;color:#a1a9b4;flex:1}.editor-header>.text-button{color:#a3a7b3}.editor-scroll{overflow-y:auto;padding:26px 48px;flex:1}.editor-meta{display:flex;align-items:center;gap:8px;color:#8d949e;font-size:12px}.editor-meta svg{width:19px}.editor-meta select{border:0;background:none;color:#8d949e;padding:5px;max-width:200px}.editor-meta>span:last-child{margin-left:auto;font-size:10px;color:#b5bbc4}#editor-title{width:100%;font-size:29px;font-weight:650;border:0;margin:23px 0 28px;color:var(--ink);padding:3px 0;background:none;outline:none}#editor-body{min-height:300px;font-size:17px;line-height:1.9;outline:none;padding-bottom:50px;overflow-wrap:anywhere}#editor-body:empty:before{content:attr(data-placeholder);color:#c1c6cf;pointer-events:none}#editor-body p{margin:0 0 20px}#editor-body h2{font-size:23px;margin:22px 0 14px}#editor-body table{width:100%;border-collapse:collapse;margin:18px 0;table-layout:fixed}#editor-body td,#editor-body th{border:1px solid #dce3df;padding:8px;font-size:14px;min-width:50px}#editor-body th{background:#f4f8f5}#editor-body img{max-width:100%;height:auto;border-radius:10px}#editor-body a{color:var(--green-dark)}.check-item{display:flex;gap:10px;align-items:baseline;margin:8px 0}.check-item input{accent-color:var(--green);width:17px;height:17px}.check-item:has(input:checked)>span{text-decoration:line-through;color:#9aa4a0}.editor-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 18px;border-top:1px solid var(--line);background:white;flex-shrink:0}.editor-toolbar button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:19px;color:#737b88}.editor-toolbar button:hover{background:#eef9f3;color:var(--green)}.editor-toolbar svg{width:21px;height:21px}.toolbar-divider{height:22px;width:1px;background:var(--line);margin:0 4px}.info-dialog{width:470px;max-width:calc(100% - 32px);border-radius:22px}.info-dialog #info-body{padding:24px 26px;font-size:14px;line-height:1.9;color:#747f88;white-space:pre-line}.info-dialog #input-label{display:block;margin:20px 26px 10px;font-size:12px;color:var(--muted)}#input-value{margin:0 26px;width:calc(100% - 52px);padding:12px;border:1px solid #dce4df;border-radius:9px}.input-actions{display:flex;justify-content:flex-end;gap:14px;padding:22px 26px}#toast{position:fixed;left:calc(50% + 114px);bottom:28px;transform:translateX(-50%) translateY(20px);opacity:0;transition:.2s;z-index:100;background:#263e33;color:white;padding:12px 22px;border-radius:30px;font-size:12px;pointer-events:none;max-width:90vw;box-shadow:0 4px 20px #223b3a20}#toast.visible{transform:translateX(-50%);opacity:1}.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}@media(min-width:1550px){#app{padding-left:70px;padding-right:70px}.calendar-layout{grid-template-columns:minmax(0,780px) 330px}}@media(max-width:1150px){.rail{width:190px;padding:35px 17px}.brand{font-size:18px;gap:9px}.brand-mark{padding:8px}.brand small{font-size:9px;letter-spacing:1px}#app{margin-left:190px;padding-left:30px;padding-right:30px}.calendar-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.card{padding:21px}.notes-workspace{grid-template-columns:1fr}.notes-aside{display:none}.profile-layout{grid-template-columns:280px 1fr;gap:20px}#toast{left:calc(50% + 95px)}}@media(max-width:850px){.calendar-layout{grid-template-columns:1fr}.calendar-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.quiet-note{display:none}.profile-layout{grid-template-columns:1fr}.profile-card{max-width:none}.new-note{right:30px}}@media(max-width:600px){.rail{display:none}#app{margin:0;padding:0 20px 110px}.app-header{height:62px;font-size:9px;letter-spacing:1px;border:0}.header-divider{padding:0 8px}.prototype-badge{font-size:9px;padding:6px 8px}.page-heading{margin:18px 4px 25px}h1{font-size:29px}.eyebrow{font-size:10px;margin-bottom:10px}.heading-date{font-size:10px}.calendar-layout{gap:20px}.calendar-main{gap:16px}.card{padding:22px;border-radius:20px}.today-card{min-height:164px;padding:23px}.big-date{font-size:58px}.today-quote{font-size:14px}.today-right>.fine{font-size:9px}.calendar-side{display:flex;gap:16px}.calendar-side>.card{width:100%}.calendar-day{min-height:44px}.calendar-legend{gap:13px}.weather-card .weather-row{padding:18px 0}.weather-row small{font-size:11px}.weather-row:last-child{padding-bottom:0}.todo-row{font-size:14px}#todo-input{font-size:13px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:12px 12px calc(10px + env(safe-area-inset-bottom));background:#fcfcfeee;backdrop-filter:blur(15px);border-top:1px solid #eff0f680;z-index:6}.nav-item{display:flex;flex-direction:column;gap:5px;padding:0 27px;font-size:11px;border-radius:0;color:#9c9cb5}.nav-item svg{width:26px;height:26px}.nav-item.active{background:none;color:var(--green);font-weight:400}.notes-search{padding:13px 16px;gap:10px;margin:0 4px}.notes-search input{font-size:15px}.notes-search kbd{display:none}.notes-workspace{margin-top:26px}.note-month{font-size:13px;margin-left:10px}.note-card{padding:22px;border-radius:21px;margin-bottom:13px}.note-card h2{font-size:19px}.note-card p{font-size:15px;line-height:1.8}.note-card time{font-size:12px}.new-note{bottom:calc(88px + env(safe-area-inset-bottom));right:23px;padding:15px 21px}.new-note>span:last-child{font-size:13px}.notebook-title>span{font-size:18px}.sheet{margin:auto 0 0;width:100%;max-width:100%;max-height:88dvh;border-radius:23px 23px 0 0}.dialog-heading{padding:22px}.sheet-body{padding:16px}.book-row{padding:19px 0;font-size:17px}.editor{margin:0;width:100%;max-width:100%;height:100dvh;border-radius:0}.editor-header{padding:12px 15px}.editor-scroll{padding:23px}#editor-title{font-size:28px;margin:23px 0 27px}#editor-body{font-size:18px}.editor-meta>span:last-child{display:none}.editor-toolbar{gap:1px;padding:10px 8px calc(10px + env(safe-area-inset-bottom));justify-content:space-around}.editor-toolbar button{width:32px;height:38px;font-size:17px}.editor-toolbar svg{width:20px}.toolbar-divider{margin:0 2px}.profile-layout{gap:16px}.profile-caption{margin:13px 0 5px}.settings-row{font-size:14px}.settings-row small{font-size:11px}footer{margin-top:35px}#toast{left:50%;bottom:100px;white-space:normal;text-align:center;width:max-content}.day-footer>.fine{font-size:10px}.status-options{gap:6px}.status-button{font-size:11px;padding:7px 8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

body.signed-out>.rail,body.signed-out>#app,body.signed-out>.mobile-nav{display:none}#login-gate{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:380px;max-width:100%;display:flex;flex-direction:column;gap:22px;padding:36px}.login-card .brand-mark{align-self:flex-start}.login-card h1{font-size:30px}.login-card a{color:var(--green-dark);font-size:12px;text-align:center}.login-card label,#create-user-form label{display:block;font-size:13px;color:#7b8490}.login-card input,#create-user-form input{display:block;padding:12px;border:1px solid #dce4df;border-radius:9px;width:100%;margin-top:8px}#login-error{color:#b63d3d;font-size:12px}#admin-view{max-width:850px;margin:40px auto;padding:24px}#create-user-form{display:grid;gap:15px}#admin-message{padding-top:15px;font-size:13px}.admin-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-row span{flex:1}.admin-row button{font-size:12px;color:var(--green-dark)}body.admin-mode>.rail,body.admin-mode>#app,body.admin-mode>.mobile-nav{display:none}.editor-state.error{color:#b63d3d}.history-row{display:block;text-align:left;padding:14px 0;border-bottom:1px solid var(--line);width:100%}.input-actions{flex-wrap:wrap}.book-row .book-tools{margin-left:auto;display:flex;gap:8px}.book-tools button{font-size:11px;color:#879187}.editor-toolbar{flex-wrap:wrap}footer a{color:inherit}.profile-stats{gap:12px}.editor-scroll{scroll-padding-bottom:70px}

.toolbar-break{flex-basis:100%;height:0}.editor-toolbar button{white-space:nowrap}

.all-notes #all-count{margin-left:0}.book-row .book-count{align-self:center}
