@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:#273a35;background:#f6f3ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}input,textarea,select{outline:none}textarea{resize:vertical}a{color:inherit}p,h1,h2,h3{margin-top:0}p{line-height:1.8}h1,h2,h3{font-weight:600}h1,h2{font-family:DM Sans,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}h1 em,h2 em{font-style:normal;color:#ad7756}::selection{background:#d8c2a7;color:#243e36}:root{--bg:#f6f3ed;--paper:#fffefa;--ink:#273a35;--deep:#24483f;--muted:#7e8982;--line:#e5e3d9;--accent:#bd8965;--pale:#eae7dc;--sage:#d7ded3;--sans:"DM Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#a27658}.section-kicker{display:block;color:#a77956}.brand{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:.08em;color:var(--deep)}.brand small{display:block;font-family:DM Sans,PingFang SC,sans-serif;font-size:10px;font-weight:500;letter-spacing:.2em;color:#899991;margin-top:2px}.brand-mark{display:block;object-fit:contain;width:35px;height:35px;border-radius:10px;box-shadow:0 5px 12px #23483f22}.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;min-height:44px;padding:10px 19px;font-size:13px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s}.primary-button{border:1px solid var(--deep);background:var(--deep);color:#fffef8;box-shadow:0 7px 18px #24483f20}.primary-button:hover:not(:disabled){background:#183a32;transform:translateY(-2px);box-shadow:0 10px 20px #24483f30}.outline-button{border:1px solid #b8c6b9;background:transparent;color:var(--deep)}.outline-button:hover:not(:disabled){background:#e9eee8}.back-button{border:0;background:transparent;color:#556b60;display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;min-height:40px}.back-button:hover{color:var(--deep)}.text-button{border:0;background:none;color:var(--muted);font-size:12px}.form-error,.global-error{border:1px solid #dba9a0;background:#fff3ef;color:#9e4e44;padding:12px 15px;border-radius:9px;font-size:13px;line-height:1.5}.global-error{margin:20px 5vw}.quiet-notice{border-radius:12px;background:#edf0e9;color:#5c7467;padding:16px 18px;font-size:13px;line-height:1.75}.muted-copy{color:var(--muted);font-size:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(300px,49%) 1fr;background:#f7f5ef}.login-illustration{position:relative;overflow:hidden;background:#24483f;min-height:550px}.login-illustration:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,#648b7655,transparent 42%),repeating-linear-gradient(0deg,transparent 0 33px,#ffffff08 34px 35px);opacity:.75}.orb{position:absolute;border:1px solid #cdd8c455;border-radius:50%;filter:blur(.2px)}.orb-one{width:70vw;height:70vw;max-width:850px;max-height:850px;left:-42%;top:-28%;box-shadow:inset 0 0 100px #7697832b,0 0 110px #132f2933}.orb-two{width:380px;height:380px;right:-170px;bottom:-130px;background:radial-gradient(circle,#acc0a823,transparent 70%)}.journal-mark{position:absolute;left:20%;top:25%;width:54%;height:58%;max-width:470px;max-height:520px;border-radius:3px 24px 24px 3px;background:#f4f0e5;box-shadow:16px 21px #d6d9c7,32px 43px 70px #0e2a2580;transform:rotate(-7deg);padding:15%;display:flex;flex-direction:column;justify-content:center;gap:31px}.journal-mark:before{content:"";position:absolute;left:11%;top:0;bottom:0;border-left:1px solid #e3d9c7}.journal-mark span{font-family:var(--sans);font-size:clamp(20px,2.4vw,34px);letter-spacing:.1em;color:#294b40;white-space:nowrap}.journal-mark i{width:100%;height:1px;background:#ced4c7}.journal-mark i:last-child{width:66%}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:8vw clamp(30px,8vw,128px);position:relative}.brand-login{position:absolute;top:7%;left:clamp(30px,8vw,128px)}.login-panel .eyebrow{margin-bottom:24px}.login-panel h1{font-size:clamp(34px,3.3vw,56px);line-height:1.45;letter-spacing:-.04em;margin-bottom:24px;white-space:nowrap}.login-panel>p{font-size:14px;color:#7a8980;max-width:410px;line-height:2}.login-form{margin-top:38px;max-width:420px}.login-form label{display:block;margin-bottom:12px;font-size:12px;color:#5f7468;font-weight:600;letter-spacing:.03em}.login-input-row{display:flex;align-items:center;border:1px solid #dadfd4;border-radius:16px;background:#fffefa;padding:6px 7px 6px 18px;box-shadow:0 8px 28px #2b473508}.login-input-row:focus-within{border-color:#7a9984;box-shadow:0 0 0 3px #aac4aa35}.login-input-row input{flex:1;min-width:0;border:0;background:none;height:42px;color:var(--ink);font-size:14px}.login-input-row button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:11px;background:var(--deep);color:#fff}.login-form .form-error{margin-top:12px}.login-foot{position:absolute;bottom:7%;font-size:11px;color:#a0aca3;letter-spacing:.06em}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;flex:none;position:sticky;top:0;height:100vh;padding:35px 23px 28px;display:flex;flex-direction:column;background:#faf9f4;border-right:1px solid #eae8dd}.sidebar-note{font-family:var(--sans);font-size:23px;line-height:1.6;margin:76px 0 36px 13px;color:#687e70}.side-nav{display:flex;flex-direction:column;gap:7px}.side-nav button{border:0;background:transparent;display:flex;align-items:center;gap:14px;text-align:left;color:#788981;border-radius:11px;padding:12px 16px;min-height:46px;font-size:14px}.side-nav button:hover{background:#eef0e8}.side-nav button.active{background:#e6ece5;color:#24483f;font-weight:600}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:24px 12px 0;font-family:var(--sans);font-size:13px;line-height:1.75;color:#a0ad9e}.sidebar-bottom button{border:0;background:transparent;padding:15px 0 0;color:#8b9b8e;font:11px DM Sans,PingFang SC,sans-serif}.main-wrap{min-width:0;flex:1}.mobile-head,.bottom-nav{display:none}.page{width:min(1240px,100%);margin:0 auto;padding:56px clamp(32px,5vw,78px) 80px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin:12px 0 43px}.page-heading h1{font-size:clamp(32px,3vw,49px);line-height:1.55;margin:18px 0 15px;letter-spacing:-.04em}.page-heading p{color:#819086;font-size:14px;margin:0}.page-heading .primary-button{margin-bottom:10px;white-space:nowrap}.calendar-layout{display:grid;grid-template-columns:minmax(420px,1.16fr) minmax(300px,.84fr);gap:25px}.paper-card{background:var(--paper);border:1px solid #eeece3;box-shadow:0 20px 60px #354f3a0a;border-radius:19px}.calendar-card{padding:30px}.calendar-top{display:flex;justify-content:space-between;align-items:flex-start}.calendar-top h2,.day-panel h2{font-size:26px;letter-spacing:-.04em;margin:6px 0 0}.calendar-controls{display:flex;align-items:center;gap:5px}.calendar-controls button{height:34px;min-width:34px;border:0;background:#f4f4ed;border-radius:9px;color:#657b6e}.calendar-controls button:nth-child(2){padding:0 10px;font-size:11px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-weekdays{margin-top:31px;padding-bottom:12px;border-bottom:1px solid var(--line)}.calendar-weekdays span{font-size:11px;color:#a1aaa1}.calendar-grid{margin-top:10px}.calendar-grid button,.calendar-grid>span{aspect-ratio:1;min-width:0}.calendar-grid button{border:1px solid transparent;background:transparent;border-radius:13px;color:#53655a;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;font:500 13px DM Sans,PingFang SC,sans-serif}.calendar-grid button:hover{background:#eef3ed}.calendar-grid button.today:before{content:"";position:absolute;top:8px;width:3px;height:3px;border-radius:50%;background:#bd8965}.calendar-grid button.selected{background:#24483f;color:#fff}.calendar-grid button.today.selected:before{background:#e7c4a5}.calendar-grid button i{width:5px;height:5px;border-radius:50%;background:#be8e67;position:absolute;bottom:8px;font-style:normal;font-size:8px;line-height:11px;color:#bc865e}.calendar-grid button i:not(:empty){width:16px;height:16px;bottom:3px;background:#e8e6d9}.calendar-grid button.selected i{background:#e9c6a2}.calendar-foot{border-top:1px solid var(--line);margin-top:23px;padding-top:20px;display:flex;align-items:center;gap:9px;font-size:11px;color:#9ba89a}.small-dot{width:6px;height:6px;border-radius:50%;background:#bd8965}.calendar-foot strong{font-weight:600;color:#637a6b;margin-left:auto}.day-panel{padding:25px 12px 10px}.day-panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.day-panel h2 small{font:500 10px DM Sans,PingFang SC,sans-serif;color:#ab8568;margin-left:10px;vertical-align:middle}.small-add{display:flex;align-items:center;gap:5px;border:1px solid #d7dfd4;background:transparent;border-radius:999px;padding:8px 11px;color:#476954;font-size:11px;white-space:nowrap}.day-list{display:grid;gap:12px}.event-card{width:100%;text-align:left;background:#fffefa;border:1px solid #e9e8dc;border-radius:15px;padding:19px 20px;box-shadow:0 5px 15px #334c3807;color:var(--ink);transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #334c3813}.event-card-top,.event-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.event-card-top{font-size:11px;color:#89988b}.category-pill{display:inline-flex;align-items:center;padding:5px 9px;background:#f0f1e9;border-radius:99px;color:#718678;font-size:10px;white-space:nowrap}.event-card strong{display:block;font-family:var(--sans);font-weight:500;font-size:17px;line-height:1.7;margin:14px 0;overflow-wrap:anywhere}.event-card-bottom{font-size:10px;color:#a2ada2}.empty-day{min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#ecf0e8;border-radius:17px;padding:30px}.empty-symbol{font-size:36px;color:#8ba793;margin-bottom:17px}.empty-day h3{font-family:var(--sans);font-size:18px;margin-bottom:5px}.empty-day p{font-size:12px;line-height:1.8;color:#8fa092;max-width:230px}.empty-day button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#416955;font-size:12px;font-weight:600;margin-top:8px}.gentle-line{text-align:center;color:#aaad9c;font-family:var(--sans);font-size:13px;margin:52px 0 0}.gentle-line span{color:#b58d6c;margin-right:7px}.narrow-page{max-width:980px}.narrow-page>h1,.title-row h1{font-size:clamp(32px,3vw,48px);line-height:1.48;margin:17px 0 8px}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.title-row p{color:#88978c;font-size:13px}.title-count{font:500 16px DM Sans,PingFang SC,sans-serif;color:#ad9478;margin-left:12px}.filter-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:24px 0;color:#849385;font-size:12px}.filter-row select{border:0;background:transparent;color:var(--deep);padding:6px;font-size:12px}.records-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.empty-list{background:#edf0e9;border-radius:17px;text-align:center;padding:55px 24px;color:#839286}.empty-list span{font-size:37px;color:#8fab95}.empty-list h2{color:var(--deep);font-size:22px;margin:15px 0 5px}.empty-list p{font-size:13px}.empty-list .primary-button{margin-top:20px}.compose-page{max-width:1040px;padding-top:29px}.compose-top,.detail-actions{display:flex;align-items:center;justify-content:space-between}.compose-top>span{font-size:11px;color:#a4afa2}.compose-intro{margin:40px 0 29px}.compose-intro h1{font-size:clamp(32px,3vw,44px);margin:12px 0 10px}.compose-intro p{font-size:13px;color:#8d9a8f}.writing-sheet{background:#fffefa;border:1px solid #e9e6dc;border-radius:18px;padding:36px clamp(23px,4vw,53px);box-shadow:0 22px 60px #2846350c;position:relative}.writing-sheet:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#d6b496;border-radius:18px 0 0 18px}.composer-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:29px;border-bottom:1px solid #ecebe2;margin-bottom:33px}.composer-meta label{color:#9ba79b;font-size:11px;display:flex;align-items:center;gap:12px}.composer-meta input,.composer-meta select{border:0;background:#f5f6ef;border-radius:8px;color:#456254;padding:8px 11px;font-size:12px;min-height:38px}.field-label{display:block;color:#345a48;font-family:var(--sans);font-size:19px;margin-bottom:15px}.writing-area{display:block;border:0;width:100%;min-height:210px;line-height:2.15;color:#2d3b34;font-family:var(--sans);font-size:17px;background:transparent;resize:vertical;overflow-y:hidden}.writing-area::placeholder{color:#c0c6bb}.composer-tools{border-top:1px dashed #e4e5da;margin-top:28px;padding-top:19px}.composer-tools button{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#557968;font-size:12px;padding:8px 0}.composer-tools span{color:#a7b0a6;margin-left:5px}.image-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:15px}.image-tile{border:1px solid #e3e6db;border-radius:10px;overflow:hidden;background:#f5f6f0}.image-tile img{width:100%;height:120px;object-fit:cover;object-position:top;cursor:zoom-in;display:block}.image-tile>div{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;font-size:10px;color:#829181}.image-tile>div>div{display:flex}.image-tile button{border:0;background:none;color:#597363;font-size:16px;min-width:23px;min-height:25px}.organize-section,.practice-section{margin-top:54px}.organize-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.organize-head h2,.practice-section h2,.detail-section h2{font-size:26px;margin:10px 0 5px;line-height:1.5}.organize-head p,.practice-section>p,.section-subtitle{color:#93a093;font-size:12px}.organize-head .outline-button{white-space:nowrap;margin-bottom:8px}.organize-section .quiet-notice{margin-top:20px}.reflection-question{background:#e7ede5;border-left:3px solid #82a184;padding:16px 19px;margin:21px 0;border-radius:0 8px 8px 0}.reflection-question span{color:#77937e;font-size:10px;letter-spacing:.07em}.reflection-question p{font-family:var(--sans);font-size:15px;line-height:1.7;margin:7px 0 0;color:#456350}.category-suggest{border:0;background:#eee9df;border-radius:8px;padding:10px 14px;color:#927051;margin-top:13px;font-size:11px}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:22px}.analysis-field{display:block;border:1px solid #e8e9dc;background:#fffefa;border-radius:12px;padding:17px}.analysis-field>span{display:block;color:#4c6a58;font-size:13px;font-weight:600}.analysis-field small{display:block;color:#9faa9e;font-size:10px;font-weight:400;margin-top:4px}.analysis-field textarea{border:0;background:transparent;width:100%;margin-top:13px;line-height:1.75;color:var(--ink);font-size:13px;min-height:62px}.analysis-field textarea::placeholder,.practice-section textarea::placeholder,.detail-section textarea::placeholder{color:#bdc4b8}.practice-section{padding:28px 31px 31px;background:#eaece3;border-radius:16px}.suggestions{display:grid;gap:8px;margin:20px 0}.suggestions button{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;border:1px solid #dce2d6;background:#f8f9f4;color:#5b755f;border-radius:9px;padding:12px 15px;font-size:12px;line-height:1.6}.suggestions button.chosen{border-color:#829d83;background:#dfe8dd}.practice-section .field-label{font-size:13px;margin-top:23px}.practice-section textarea{width:100%;background:#fafbf6;border:1px solid #dce2d8;border-radius:9px;padding:13px;line-height:1.7;font-size:13px;color:var(--ink)}.compose-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);margin-top:30px;padding-top:23px}.compose-actions span{font-size:11px;color:#9ba79c}.compose-page>.form-error{margin-top:22px}.detail-page{max-width:1000px;padding-top:28px}.detail-actions>div{display:flex;gap:16px}.detail-actions>div button,.section-head button{border:0;background:none;color:#728773;font-size:12px;padding:8px}.detail-actions .danger-text{color:#b78377}.detail-header{padding:49px 0 33px;border-bottom:1px solid var(--line)}.detail-header h1{font-size:clamp(30px,3vw,43px);line-height:1.55;margin:14px 0 17px;overflow-wrap:anywhere}.detail-header>div:last-child{display:flex;align-items:center;gap:13px;color:#98a599;font-size:11px}.detail-section{padding:34px 0;border-bottom:1px solid var(--line)}.narrative-section p{font-family:var(--sans);font-size:16px;line-height:2.2;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 0}.detail-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:13px;margin-top:17px}.detail-images a{text-decoration:none;border:1px solid #e5e7db;background:#fff;border-radius:10px;overflow:hidden;font-size:11px;color:#789080}.detail-images img{width:100%;height:190px;object-fit:cover;object-position:top;display:block}.detail-images span{display:block;padding:8px 12px}.section-head{display:flex;justify-content:space-between;align-items:center}.detail-analysis{display:grid;gap:17px;margin-top:18px}.detail-analysis>div{display:grid;grid-template-columns:130px 1fr;gap:18px}.detail-analysis span{font-size:11px;color:#8fa08e;padding-top:4px}.detail-analysis p{font-size:13px;line-height:1.85;margin:0;white-space:pre-wrap}.inline-editor{display:flex;gap:12px;margin-top:19px}.inline-editor textarea{flex:1;min-width:0}.detail-section textarea{border:1px solid #e0e5dc;background:#fffefa;border-radius:9px;padding:13px 15px;color:var(--ink);font-size:13px;line-height:1.7}.inline-editor .outline-button{align-self:flex-end}.verification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:22px 0}.verification-grid label{display:flex;flex-direction:column;gap:10px;color:#6f866f;font-size:12px}.verification-grid textarea{width:100%}.reflection-section{border-bottom:0}.reflection-list{display:grid;gap:16px;margin:26px 0}.reflection-list>div{padding:15px 18px;border-radius:13px;max-width:83%}.reflection-list span{font-size:10px;color:#839589}.reflection-list p{font-size:13px;line-height:1.8;margin:6px 0 0;white-space:pre-wrap}.reflection-user{background:#e8eee6;justify-self:end}.reflection-ai{background:#fffefa;border:1px solid #e9e7dc;justify-self:start}.reflection-section>textarea{display:block;width:100%;margin:20px 0 13px}.detail-page>.form-error{margin:20px 0}.patterns-intro{font-size:13px;color:#829186;max-width:570px}.pattern-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pattern-stats>div{padding:25px 20px;display:flex;flex-direction:column;gap:8px}.pattern-stats>div+div{border-left:1px solid var(--line)}.pattern-stats strong{font-family:var(--sans);font-size:29px;font-weight:500;color:var(--deep)}.pattern-stats span{font-size:11px;color:#99a598}.pattern-callout{background:#e8eee5;border-radius:18px;padding:44px 42px;margin-top:36px;position:relative;overflow:hidden}.pattern-callout:after{content:"";width:240px;height:240px;border:1px solid #cadac7;border-radius:50%;position:absolute;right:-90px;top:-80px}.pattern-sun{font-size:32px;color:#84a48a}.pattern-callout h2{font-size:24px;margin:14px 0 6px}.pattern-callout p{font-size:12px;color:#7e9281;max-width:430px}.pattern-callout .primary-button{margin-top:12px}.pattern-callout small{display:block;color:#8da18f;margin-top:15px}.pattern-results{display:grid;gap:17px;margin-top:25px}.pattern-results article{padding:25px 30px;background:#fffefa;border:1px solid var(--line);border-radius:15px}.pattern-results h2{font-size:22px;margin:11px 0}.pattern-results p{font-size:13px;color:#667a6c}.pattern-practice{background:#edf2eb;padding:13px 17px;border-radius:9px;font-size:12px;line-height:1.8}.pattern-practice strong{color:#4d7159;margin-right:10px}.pattern-sources{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:18px;font-size:10px;color:#9ba79b}.pattern-sources button{border:0;border-radius:99px;background:#f1f2eb;color:#597968;padding:6px 10px;font-size:10px}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--sans);font-size:32px;color:var(--deep)}.loading-screen span{font-family:DM Sans,PingFang SC,sans-serif;color:#94a295;font-size:12px;margin-top:20px}@media(max-width:1150px){.sidebar{width:210px}.calendar-layout{grid-template-columns:1fr}.day-panel{padding:5px 0}.day-list{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-day{min-height:200px}.page{padding-inline:38px}}@media(max-width:760px){.sidebar{display:none}.mobile-head{height:60px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:#faf9f4;border-bottom:1px solid #e9e8df}.mobile-head .brand{font-size:18px}.mobile-head .brand-mark{width:29px;height:29px;font-size:15px;border-radius:8px}.bottom-nav{position:fixed;z-index:10;display:flex;align-items:center;justify-content:space-around;bottom:0;left:0;right:0;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fffefbf5;border-top:1px solid #e7e8df;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -7px 26px #2141310a}.bottom-nav button{border:0;background:none;color:#94a397;min-width:60px;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px}.bottom-nav button.active{color:#24483f}.bottom-nav .bottom-add{height:48px;min-height:48px;width:48px;min-width:48px;border-radius:50%;background:#24483f;color:#fff;transform:translateY(-9px);box-shadow:0 7px 16px #24483f35}.page{padding:35px 21px calc(95px + env(safe-area-inset-bottom))}.page-heading{margin-top:6px;margin-bottom:27px}.page-heading h1{font-size:31px;line-height:1.5}.page-heading p{font-size:12px;line-height:1.75}.desktop-add{display:none}.calendar-layout{grid-template-columns:1fr;gap:31px}.calendar-card{padding:21px}.calendar-top h2{font-size:22px}.calendar-grid{gap:3px}.day-list{grid-template-columns:1fr}.day-panel{padding:0}.gentle-line{margin:34px 0}.records-list{grid-template-columns:1fr}.narrow-page>h1,.title-row h1{font-size:31px}.title-row{margin-bottom:24px}.analysis-grid,.verification-grid{grid-template-columns:1fr}.organize-head{align-items:flex-start;flex-direction:column}.compose-page{padding-top:12px}.compose-intro{margin:22px 0}.compose-intro h1{font-size:30px}.writing-sheet{padding:28px 20px}.writing-area{font-size:16px;min-height:220px}.composer-meta{gap:12px;padding-bottom:19px;margin-bottom:24px}.composer-meta label{flex-wrap:wrap;gap:5px}.compose-actions{align-items:stretch;flex-direction:column}.compose-actions .primary-button{width:100%}.practice-section{padding:23px}.detail-page{padding-top:12px}.detail-header{padding-top:25px}.detail-analysis>div{grid-template-columns:1fr;gap:3px}.inline-editor{flex-direction:column}.inline-editor textarea{width:100%}.inline-editor .outline-button{align-self:flex-end}.pattern-callout{padding:30px 25px}.pattern-stats>div{padding:20px 10px}.pattern-stats strong{font-size:25px}.pattern-stats span{font-size:10px}.reflection-list>div{max-width:94%}body:has(.compose-page) .bottom-nav,body:has(.detail-page) .bottom-nav{display:none}body:has(.compose-page) .page,body:has(.detail-page) .page{padding-bottom:calc(36px + env(safe-area-inset-bottom))}}@media(max-width:700px){.login-page{display:block}.login-illustration{display:none}.login-panel{min-height:100vh;padding:120px 30px 100px}.brand-login{top:39px;left:30px}.login-panel h1{font-size:34px}.login-foot{bottom:38px}.login-form{margin-top:28px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.login-panel h1,.page-heading h1,.narrow-page>h1,.title-row h1,.compose-intro h1,.detail-header h1{font-weight:600;letter-spacing:-.025em}.calendar-top h2,.day-panel h2,.organize-head h2,.practice-section h2,.detail-section h2,.pattern-callout h2{font-weight:600;letter-spacing:-.02em}.event-card strong,.empty-day h3,.narrative-section p,.writing-area{font-weight:400;letter-spacing:0}.brand,.sidebar-note,.gentle-line{font-weight:600;letter-spacing:0}.quick-save-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0 8px;padding:15px 4px 25px;border-bottom:1px solid var(--line)}.quick-save-row span{font-size:12px;color:#899a8d}@media(max-width:760px){.quick-save-row{align-items:stretch;flex-direction:column}.quick-save-row .primary-button{width:100%}}.writing-area::placeholder{color:#8b9b8e}.composer-meta label{color:#748879}.intensity-choice{margin-top:18px;border:1px solid #e6e9df;border-radius:12px;background:#fafbf7;padding:12px 16px;color:#617669;font-size:12px}.intensity-choice summary{cursor:pointer;min-height:28px;display:list-item;align-content:center;font-weight:600}.intensity-choice>div{display:flex;align-items:center;gap:13px;margin-top:10px}.intensity-choice input{flex:1;min-width:80px;accent-color:var(--deep)}.intensity-choice span{min-width:76px;text-align:right;color:var(--deep);font-variant-numeric:tabular-nums}.intensity-choice button{border:0;background:transparent;color:#7b8e80;min-height:36px;padding:5px 8px}.intensity-choice p{margin:5px 0 0;color:#9ba89b;font-size:11px}.follow-up-note{width:100%;margin:0 0 22px;padding:17px 20px;border:1px solid #dce6da;border-radius:14px;background:#edf3eb;color:var(--deep);display:flex;align-items:center;gap:15px;text-align:left}.follow-up-note span{font-size:11px;color:#78977c;white-space:nowrap}.follow-up-note strong{flex:1;font-size:13px;line-height:1.6;font-weight:500}.follow-up-note svg{flex:none}@media(max-width:760px){.follow-up-note{align-items:flex-start;gap:8px;flex-wrap:wrap}.follow-up-note strong{flex-basis:calc(100% - 28px)}.intensity-choice>div{gap:7px}}@media(min-width:761px){.page-calendar{width:min(1600px,100%);padding-top:28px;padding-bottom:40px}.page-calendar .page-heading{align-items:center;margin:0 0 25px}.page-calendar .page-heading h1{font-size:clamp(28px,2.15vw,38px);line-height:1.3;margin:7px 0 8px;white-space:nowrap}.page-calendar .page-heading h1 br{display:none}.page-calendar .page-heading p{font-size:13px}.page-calendar .page-heading .primary-button{align-self:flex-start;margin:8px 0 0}.page-calendar .calendar-card{padding:24px 27px 19px}.page-calendar .calendar-top h2{font-size:23px}.page-calendar .calendar-weekdays{margin-top:17px;padding-bottom:9px}.page-calendar .calendar-grid{margin-top:8px;gap:3px}.page-calendar .calendar-grid button,.page-calendar .calendar-grid>span{height:clamp(53px,5.6vh,70px);aspect-ratio:auto}.page-calendar .calendar-foot{margin-top:13px;padding-top:13px}.page-calendar .day-panel{display:flex;flex-direction:column;padding:0}.page-calendar .day-panel-top{min-height:58px;margin-bottom:16px}.page-calendar .empty-day{flex:1;min-height:290px}.page-calendar .gentle-line{margin-top:27px}}@media(min-width:1151px){.page-calendar .calendar-layout{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:32px}}@media(min-width:761px)and (max-width:1150px){.page-calendar .page-heading h1{white-space:normal}.page-calendar .calendar-grid button,.page-calendar .calendar-grid>span{height:58px}}@media(min-width:761px){.compose-page{padding-top:18px}.compose-top{min-height:38px}.compose-intro{margin:10px 0 18px}.compose-intro .eyebrow{display:none}.compose-intro h1{font-size:28px;line-height:1.4;margin:0 0 3px}.compose-intro p{font-size:12px;line-height:1.6;margin:0}.writing-sheet{padding-top:27px}.composer-meta{padding-bottom:19px;margin-bottom:24px}}@media(min-width:761px){.narrow-page,.detail-page{padding-top:28px}.narrow-page>h1,.title-row h1,.detail-header h1{font-size:30px;line-height:1.38;font-weight:500}.title-row{margin-bottom:20px}.title-row h1{margin:6px 0 3px}.title-row p{margin:0}.narrow-page>.section-kicker{margin-bottom:7px}.patterns-page>h1{margin:0 0 6px}.patterns-page>h1 br{display:none}.patterns-intro{max-width:none;margin:0}.pattern-stats{margin-top:23px}.pattern-stats>div{padding:17px 20px}.patterns-page .filter-row,.narrow-page .filter-row{margin:18px 0}.pattern-callout{margin-top:24px;padding:29px 32px}.detail-header{padding:20px 0 23px}.detail-header h1{margin:7px 0 11px}.detail-section{padding:27px 0}.organize-head h2,.practice-section h2,.detail-section h2{font-size:22px}.page-calendar .page-heading h1{font-size:clamp(27px,2vw,32px);font-weight:500}.compose-intro h1{font-weight:500}.login-panel h1{font-size:clamp(30px,2.4vw,37px);line-height:1.38;font-weight:500;margin-bottom:13px}.login-panel .eyebrow{margin-bottom:12px}.login-form{margin-top:25px}.sidebar-note{font-size:19px}}@media(max-width:760px){.page-heading h1,.narrow-page>h1,.title-row h1,.compose-intro h1,.detail-header h1{font-size:25px;line-height:1.4;font-weight:500}.page-heading h1{margin:8px 0}.compose-intro{margin:16px 0}.compose-intro .eyebrow{display:none}.detail-header h1{margin:8px 0 12px}.patterns-page>h1{margin:7px 0}.patterns-page>h1 br{display:none}.pattern-stats{margin-top:24px}.login-panel h1{font-size:29px;line-height:1.42;font-weight:500;margin-bottom:14px}.login-panel{justify-content:flex-start;min-height:100svh;padding-top:175px}.login-panel .eyebrow{margin-bottom:10px}.login-panel>p{font-size:13px;line-height:1.75}.login-form{margin-top:24px}.page-calendar{padding-top:22px}.page-calendar .page-heading{margin-bottom:20px}}.image-tile .image-preview{display:block;width:100%;padding:0;border:0;background:none}.image-lightbox{position:fixed;inset:0;z-index:30;background:#16241ee8;display:flex;align-items:center;justify-content:center;padding:55px 16px 20px}.image-lightbox>img{max-width:min(100%,900px);max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px #07150f80}.image-lightbox>button{position:absolute;right:20px;top:16px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff66;border-radius:50%;background:#ffffff1f;color:#fff}button,select,input[type=date]{touch-action:manipulation}.calendar-controls button,.small-add,.composer-meta input,.composer-meta select{min-height:44px}.sidebar-bottom button{display:block;min-height:36px;padding:8px 0;text-align:left}.mobile-head-actions{display:flex;align-items:center;gap:16px}.mobile-head-actions button{min-height:44px;padding:8px 0}.settings-page{max-width:850px;padding-top:24px}.settings-heading{margin:18px 0 22px}.settings-heading h1{font-size:30px;line-height:1.4;font-weight:500;margin:7px 0 6px}.settings-heading p{font-size:13px;color:var(--muted);margin:0}.settings-card{max-width:590px;background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:30px;display:grid;gap:19px;box-shadow:0 15px 45px #28463509}.settings-card label{display:grid;gap:9px;color:var(--deep);font-size:13px;font-weight:600}.settings-card input{width:100%;min-height:48px;border:1px solid #dce4d9;border-radius:10px;background:#fafbf7;padding:11px 13px;color:var(--ink);font-size:15px;font-weight:400}.settings-card input:focus{border-color:#83a18b;box-shadow:0 0 0 3px #a5c0a540}.settings-card>p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.settings-card>.primary-button{justify-self:start}@media(max-width:760px){.settings-page{padding-top:18px}.settings-heading{margin:13px 0 18px}.settings-heading h1{font-size:25px}.settings-card{padding:22px 19px;gap:17px}.settings-card>.primary-button{justify-self:stretch}}
