:root{--bg:#f5f5ef;--paper:#fff;--ink:#1e3530;--muted:#6e7b72;--line:#e3e8df;--green:#244d40;--lime:#d4ef99;--soft:#eaf0e6;--orange:#f2ddbe;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}a{color:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8fbd62;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #8fbd62;outline-offset:1px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.85rem,3vw,2.6rem);line-height:1.18;letter-spacing:-.055em;font-weight:650;margin-bottom:12px}h2{font-size:1.25rem;letter-spacing:-.025em;line-height:1.4;margin-bottom:12px}h3{font-size:1rem;line-height:1.4}p{line-height:1.65}small,.hint{color:var(--muted);font-size:.79rem;line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:.64rem;font-weight:750;letter-spacing:.15em;color:var(--muted);margin-bottom:14px}.brand{display:flex;gap:10px;align-items:center;color:var(--green);font-size:1.8rem;text-decoration:none}.brand b{font-size:1.45rem;font-weight:700;letter-spacing:-.07em}.brand span{font-size:.83rem;color:var(--muted);font-weight:400;letter-spacing:-.015em}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:32px 20px;border-right:1px solid var(--line);background:#fafbf6;display:flex;flex-direction:column;z-index:5}.nav-label{font-size:.61rem;letter-spacing:.12em;color:#8b958c;font-weight:700;margin:54px 12px 16px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:14px;border-radius:11px;text-decoration:none;color:var(--muted);font-size:1.1rem}.sidebar nav a span{font-size:.87rem;font-weight:550}.sidebar nav a.active{background:#e8eedf;color:var(--green)}.sidebar-foot{margin-top:auto;padding:24px 10px 0}.sidebar-foot b{font-size:1.1rem;font-weight:550;line-height:1.5;letter-spacing:-.02em}.sidebar-foot p{font-size:.78rem;color:var(--muted);margin-top:10px}.sidebar-foot button{padding-left:0}#main{margin-left:224px;max-width:1650px;padding:40px clamp(22px,3.5vw,56px) 60px;min-height:100vh}.page-head{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:32px}.page-head p:last-child{font-size:.9rem;margin-bottom:0}.date-chip{font-size:.73rem;padding:10px 13px;border:1px solid var(--line);border-radius:22px;white-space:nowrap;background:#fafbf7;margin-top:6px}.focus-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(275px,1fr);gap:24px}.focus-main,.mentor-column,.lower-grid>*{min-width:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:25px}.mentor-column{display:grid;gap:18px;align-content:start}.timer-card{padding:28px 32px;background:var(--green);border:1px solid var(--green);border-radius:22px;color:#f9fcef;text-align:center;position:relative;overflow:hidden}.timer-card .eyebrow{color:#b0c8a7}.timer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.timer-top p{margin:0}.timer-card .text-button{color:#cbddbf;font-size:.74rem}.timer-digits{font-variant-numeric:tabular-nums;font-size:clamp(4.5rem,7.5vw,7.3rem);line-height:1.1;letter-spacing:-.06em;font-weight:450;margin:30px 0 22px}.timer-digits span{color:#86a278}.timer-card h2{font-size:1.35rem;font-weight:550;margin:0 0 9px}.timer-card p:not(.eyebrow){color:#c3d5be;font-size:.85rem;line-height:1.6}.timer-card input:not([type=checkbox]){background:#fff;color:var(--ink);border:0}.timer-card form>input{margin:6px 0 0;border-radius:10px;height:50px;font-size:.87rem}.timer-card .primary{width:100%;justify-content:space-between;margin:20px 0 0}.timer-card .timer-caption{font-size:.69rem;margin:18px 0 0;color:#b1c8ab}.timer-card .pill{color:#d7edbe;background:#39604d;border:0}.timer-card .intention{margin:26px auto 0;max-width:36ch;font-size:1.3rem}.ready-list{display:flex;gap:16px;justify-content:center;margin-top:17px;text-align:left;flex-wrap:wrap}.ready-list label{display:flex;align-items:center;font-size:.73rem;font-weight:450;color:#d4e3cc;gap:6px}.ready-list input{width:15px;min-height:15px;height:15px;margin:0;accent-color:var(--lime)}.primary,.secondary{border:0;border-radius:10px;display:inline-flex;justify-content:center;align-items:center;gap:12px;font-weight:650;padding:12px 17px;min-height:43px;font-size:.85rem;text-decoration:none}.primary{background:var(--green);color:#fff}.primary:hover{filter:brightness(1.1)}.primary.light{background:var(--lime);color:#233d20}.secondary{background:#edf1e7;color:var(--green)}.text-button,.text-link{border:0;background:none;padding:8px 0;font-size:.83rem;color:var(--green)}.text-link{font-weight:650;text-decoration:none}.timer-actions{display:flex;gap:10px;justify-content:center}.timer-actions .primary{width:auto;margin:0}.timer-actions .secondary{background:#426552;color:#e4eddd}.parking{margin-top:30px;text-align:left;padding-top:22px;border-top:1px solid #52735e}.parking label{font-size:.77rem;color:#d4e3cc}.parking small{color:#afc5a8;font-size:.69rem;display:block;margin-top:8px}.input-action{display:flex;gap:8px;margin-top:8px}.input-action input{min-width:0;font-size:.8rem}.input-action button{white-space:nowrap}.discard{margin-top:16px;opacity:.85}.daily-goal{margin:22px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:22px 0 0}.daily-goal .eyebrow{margin-bottom:6px}.daily-goal h2{font-size:1.8rem;margin:0;font-weight:550}.daily-goal h2 small{font-size:1rem;font-weight:400}.goal-right{margin-left:auto;display:grid;gap:4px;text-align:right}.goal-right b{font-size:1rem}.goal-right span{font-size:.7rem;color:var(--muted)}.session-dots{display:flex;width:100%;gap:6px;margin-top:12px}.session-dots span{height:8px;flex:1;border-radius:10px;background:#dfe6d9}.session-dots .filled{background:#476e45}.session-dots .partial{background:#a8c382}.daily-goal>p{font-size:.72rem;color:var(--muted);margin:5px 0 0;width:100%}.break-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 22px}.break-options span{font-size:.73rem;color:var(--muted)}.break-options button{font-size:.73rem}.mentor{background:#edf1e2;border-color:#e5ead8}.mentor p:not(.eyebrow){font-size:.86rem;margin-bottom:14px}.mentor small{font-size:.66rem}.lesson-mini h2{font-size:1.2rem}.lesson-mini p{font-size:.85rem;color:#63705e}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-top h2,.section-top .eyebrow{margin-bottom:0}.section-top{margin-bottom:20px}.pill{font-size:.65rem;border:1px solid var(--line);background:#f6f8f0;color:var(--muted);border-radius:20px;padding:6px 9px;white-space:nowrap}.gentle-note{padding:8px 10px;color:var(--muted);font-size:.83rem}.gentle-note b{color:#54634f;font-weight:550}.gentle-note p{margin:7px 0}.lower-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(275px,1fr);gap:24px;margin-top:14px}.lower-grid .card{margin-bottom:20px}.soft-card{background:#f0f1e9;border:0}.rhythm{padding-left:20px;margin-bottom:0;line-height:1.9;color:#65705e;font-size:.87rem}.rhythm li{margin-bottom:8px}.planner>summary{list-style:none;display:flex;gap:15px;align-items:center;justify-content:space-between;cursor:pointer}.planner>summary::-webkit-details-marker{display:none}.planner summary h2{margin:0}.planner summary p{margin:4px 0 0;font-size:.8rem}.planner summary>span{font-size:.72rem;color:var(--green);white-space:nowrap}.planner[open]>summary{margin-bottom:22px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}form{display:grid;gap:16px}label{display:grid;gap:7px;font-weight:550;font-size:.8rem;color:#46594b}input,textarea,select{width:100%;border:1px solid #dbe2d6;border-radius:9px;min-height:44px;padding:11px 12px;background:#fbfcf8;color:var(--ink)}textarea{resize:vertical;min-height:106px;line-height:1.6}form .hint{margin:0}form button[type=submit]{justify-self:start}.planned-sessions{display:grid;gap:8px}.planned-sessions>div{display:flex;align-items:center;gap:10px}.planned-sessions>div>span{color:#99a28f;font-size:.7rem}.planned-sessions input{font-size:.78rem;min-width:0}.planned-sessions button{font-size:.75rem;white-space:nowrap}.history{margin-top:20px}.session-row{border-top:1px solid var(--line);padding:15px 0}.session-row:last-child{padding-bottom:0}.session-row summary{cursor:pointer;list-style:none}.session-row summary::-webkit-details-marker{display:none}.session-row summary>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center}.session-row summary b{font-size:.81rem;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.session-row small{font-size:.69rem}.session-status{font-size:.8rem;color:#6d8265}.session-body{font-size:.83rem;margin:18px 0 0 34px}.prewrap{white-space:pre-wrap}.empty{padding:28px 12px;text-align:center;color:var(--muted)}.empty>span{font-size:2rem;color:#9fac8e}.empty h3{margin-top:14px}.empty p{font-size:.82rem;margin-bottom:0}.below{margin-top:24px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.calendar-head h2{margin:0}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays{font-size:.7rem;color:var(--muted);text-align:center;margin-bottom:12px}.calendar-day{min-height:95px;display:flex;flex-direction:column;gap:7px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafbf7;color:var(--ink)}.calendar-day b{font-size:.9rem}.calendar-day span{font-size:.8rem;color:var(--muted)}.calendar-day small{font-size:.6rem;color:inherit}.calendar-day.some{background:#e6efda;border-color:#d8e4ca}.calendar-day.met{background:var(--green);border-color:var(--green);color:#fff}.calendar-day.met span{color:#d5e7bc}.calendar-day.selected{outline:3px solid #a3bd78;outline-offset:1px}.calendar-day.today b{text-decoration:underline;text-underline-offset:4px}.calendar-grid+.hint{margin:24px 0 0}.learning-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:24px;align-items:start}.lesson-full{padding:32px}.lesson-full h2{font-size:1.9rem;margin-top:22px;line-height:1.25}.lesson-full>p{color:#66715f}.practice-box{background:#edf2e3;padding:22px;border-radius:14px;margin:26px 0}.practice-box p:last-child{margin:0;font-size:.94rem}.lesson-navigation{display:flex;justify-content:space-between;margin-top:30px;gap:12px}.course-list{padding:20px;max-height:750px;overflow:auto}.course-list h3{margin:0 0 18px}.course-list button{display:flex;gap:12px;align-items:center;width:100%;background:none;border:0;border-radius:9px;padding:12px 10px;text-align:left;font-size:.8rem;line-height:1.4;color:#63705e}.course-list button span{font-size:.7rem;color:#99a58e}.course-list button.selected{background:#e9efdf;color:var(--green);font-weight:650}.sources{max-width:950px}.sources p{font-size:.84rem}.sources a{color:var(--green)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats-grid p{font-size:.8rem;color:var(--muted);margin-bottom:10px}.stats-grid h2{font-size:2rem;font-weight:500;margin:0}.bar-row{display:grid;grid-template-columns:75px 1fr 70px;gap:14px;align-items:center;margin:15px 0;font-size:.75rem}.bar-row b{font-weight:550;text-align:right}.bar{height:12px;background:#edf1e5;border-radius:10px;overflow:hidden}.bar>span{display:block;background:#749661;height:100%;border-radius:10px}.running-banner{padding:13px 16px;background:#e2eccf;border-radius:10px;font-size:.8rem;margin-bottom:20px}.running-banner a{text-decoration:none}.running-banner b{margin-left:12px}.auth{display:grid;place-items:center;min-height:100vh;padding:32px 16px}.auth-card{width:min(100%,520px);padding:38px;background:#fff;border:1px solid var(--line);border-radius:20px}.auth-card .brand{margin-bottom:38px}.auth-card h1{font-size:2.3rem}.auth-card h2{margin:10px 0 0}.auth-card>.hint{margin:25px 0 0}.error{background:#fff0e6;color:#853e23;padding:14px;border-radius:9px;font-size:.85rem}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#21392d;color:#fff;border-radius:12px;padding:14px 22px;max-width:min(92vw,600px);font-size:.84rem;box-shadow:0 8px 32px #0002;z-index:100;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}#sync-status.visible{position:fixed;top:0;left:224px;right:0;background:#ffedc5;color:#77500d;padding:10px 20px;font-size:.8rem;z-index:90}dialog{border:1px solid var(--line);border-radius:20px;padding:28px;width:min(94vw,520px);max-height:90vh;color:var(--ink);box-shadow:0 25px 80px #0003}dialog::backdrop{background:#14251b99}dialog h2{margin:0}dialog p{margin:0}hr{border:0;border-top:1px solid var(--line);margin:26px 0}.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}.mobile-brand,.mobile-nav{display:none}.zen .sidebar,.zen .mobile-nav,.zen .mobile-brand,.zen .page-head,.zen .focus-secondary{display:none}.zen #main{margin:0;max-width:850px;margin-inline:auto;padding-top:35px}.zen .focus-grid{display:block}.zen .timer-card{min-height:75vh}.zen .timer-digits{font-size:clamp(6rem,14vw,10rem)}[hidden]{display:none!important}
@media(min-width:1600px){#main{margin-right:auto}}@media(max-width:1120px){.sidebar{width:190px;padding-inline:14px}#main{margin-left:190px;padding-inline:24px}.focus-grid,.lower-grid{grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr);gap:18px}.timer-card{padding:24px}.card{padding:21px}#sync-status.visible{left:190px}.timer-top{flex-wrap:wrap}.ready-list{justify-content:start}}
@media(max-width:900px){.sidebar{display:none}#main{margin:0;padding:24px 22px 95px}.mobile-brand{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:#fafbf6}.mobile-brand>span{color:#8c9a82;font-size:.7rem}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;padding:15px 8px max(15px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fafbf6;z-index:30}.mobile-nav a{text-align:center;font-size:.7rem;text-decoration:none;color:var(--green);padding:7px 0}.focus-grid,.lower-grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}#sync-status.visible{left:0}#toast{bottom:82px}.learning-grid{grid-template-columns:1fr}.course-list{max-height:350px}.page-head{margin-bottom:24px}}
@media(max-width:680px){#main{padding:22px 16px 96px}.page-head{display:block}.page-head .date-chip{display:inline-block;margin-top:16px}.page-head h1{font-size:2rem}.focus-grid,.lower-grid{display:block}.mentor-column{margin-top:22px;gap:16px}.gentle-note{display:none}.lower-grid{margin-top:22px}.timer-card{padding:22px}.timer-digits{font-size:5.7rem;margin:30px 0 22px}.timer-card form>input{font-size:.8rem}.timer-card .intention{font-size:1.16rem}.ready-list{gap:10px}.ready-list label{font-size:.7rem}.timer-top{gap:8px}.timer-top .eyebrow{font-size:.6rem}.card{padding:20px;border-radius:15px}.two-col{grid-template-columns:1fr;gap:16px}.stats-grid{gap:8px}.stats-grid .card{padding:13px}.stats-grid h2{font-size:1.4rem}.stats-grid p{font-size:.69rem;min-height:30px}.calendar-grid,.calendar-weekdays{gap:5px}.calendar-day{padding:9px 6px;min-height:75px;border-radius:9px}.calendar-day span{font-size:.63rem}.calendar-day b{font-size:.8rem}.calendar-day small{font-size:.5rem}.calendar-head h2{font-size:1.1rem}.calendar-day.selected{outline-width:2px}.session-row summary>div{grid-template-columns:20px 1fr}.session-row summary small{grid-column:2}.session-body{margin-left:30px}.lesson-full h2{font-size:1.65rem}.lesson-navigation .secondary{font-size:.75rem;padding:11px}.auth-card{padding:28px 22px}.auth-card h1{font-size:2rem}.input-action{flex-wrap:wrap}.input-action input{flex:1;min-width:140px}.day-goal p{font-size:.7rem}.break-options{gap:12px}.break-options span{width:100%}.section-top{align-items:start}.session-dots{gap:4px}.zen #main{padding:15px}.zen .timer-card{min-height:85vh}.zen .timer-digits{font-size:6.5rem}}
/* Goals and timer sound update */
.goals-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.65fr);gap:24px;align-items:start}.goal-card{margin-bottom:18px}.goal-card>p{font-size:.86rem;color:var(--muted)}.goal-metrics{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.goal-metrics b{font-size:1.55rem;font-weight:550}.goal-metrics span{font-size:.76rem;color:var(--muted)}.goal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.goal-edit{border-top:1px solid var(--line);padding-top:16px}.goal-edit summary{cursor:pointer;font-size:.8rem;color:var(--muted)}.goal-edit form{margin-top:16px}.goal-picker{text-align:left;color:#d4e3cc;margin-top:12px}.goal-picker select{background:#f6faf0;color:var(--ink);font-size:.83rem}.linked-goal{margin-top:10px!important;font-size:.78rem!important}.session-goal-form{margin-bottom:20px;padding:12px;background:#f2f5eb;border-radius:10px}.session-goal-form button{font-size:.74rem}.mobile-nav{grid-template-columns:repeat(6,1fr)}@media(max-width:760px){.goals-layout{grid-template-columns:1fr}.mobile-nav a{font-size:.65rem}.goal-actions .primary,.goal-actions .secondary{font-size:.77rem}}
