:root,:root[data-season=autumn]{--bg: #11140f;--s1: #1a1f17;--s2: #252c21;--tx: #ece8dc;--mu: #a4a690;--fa: #666c59;--ln: #2b3427;--ac: #d9a441;--acs: #33291a;--gr: #8fb58a;--grs: #1d2a1c;--sl: #cf7a4d}:root[data-season=winter]{--bg: #0e1316;--s1: #151c20;--s2: #1e272c;--tx: #e6edf0;--mu: #9aa9b0;--fa: #5d6b72;--ln: #263137;--ac: #a8cbe0;--acs: #1c2a33;--gr: #86b39a;--grs: #182922;--sl: #d99a8a}:root[data-season=spring]{--bg: #0f1510;--s1: #162017;--s2: #1f2b20;--tx: #e8f0e6;--mu: #9fb29e;--fa: #5f7160;--ln: #273427;--ac: #a3d487;--acs: #1f331c;--gr: #e3a6b8;--grs: #3a2630;--sl: #e39a7a}:root[data-season=summer]{--bg: #12140e;--s1: #1b1e15;--s2: #262b1e;--tx: #efeddf;--mu: #aeb095;--fa: #6c6f58;--ln: #2d3222;--ac: #e6c35c;--acs: #373019;--gr: #6fb7a8;--grs: #183029;--sl: #e08a5a}:root{color-scheme:dark;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tap: 48px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--tx);font:16px/1.45 var(--sans);-webkit-tap-highlight-color:transparent}h1{font:500 1.6rem/1.2 var(--serif);margin:0;text-wrap:balance}p{margin:0}.muted{color:var(--mu)}.error{color:var(--sl)}button{font:inherit;color:inherit;background:var(--s1);border:0;border-radius:12px;min-height:var(--tap);padding:0 18px;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--ac);outline-offset:2px}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--ac);color:var(--bg);font-weight:600;width:100%}button.quiet{background:transparent;color:var(--mu);min-height:40px;padding:0 8px}.center{height:100%;max-width:420px;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}.stack{gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:.9rem;color:var(--mu)}.field input{font:inherit;color:var(--tx);background:var(--s1);border:1px solid var(--ln);border-radius:12px;min-height:var(--tap);padding:0 14px}.shell{height:100%;display:flex;flex-direction:column}.top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 8px}.top .sub{grid-column:1 / -1}.banner{margin:0 16px;padding:10px 12px;border-radius:12px;background:var(--acs);color:var(--ac);font-size:.9rem}.content{flex:1;min-height:0;overflow:hidden;padding:16px;display:flex;flex-direction:column;gap:10px}.hello{font:500 1.25rem/1.3 var(--serif)}.tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ln);background:var(--s1);padding-bottom:env(safe-area-inset-bottom)}.tabs button{background:transparent;border-radius:0;color:var(--fa);font-size:.8rem;min-height:56px;padding:0 4px}.tabs button.on{color:var(--ac)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{position:relative}.top .sub{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:.85rem;margin-top:2px}.top .sub svg{flex:none}.row-card{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 14px;border-radius:14px;background:var(--s1);color:var(--mu)}.row-card b{display:block;font-weight:500;color:var(--tx)}.row-card small{font-size:.8rem}.block-head{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--mu)}button.link{background:transparent;color:var(--ac);padding:0 4px}.empty{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.empty .primary{width:auto}.later{font-size:.8rem;margin-top:auto}.paged{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.paged-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start}.paged-list{display:flex;flex-direction:column;gap:6px}.paged-item{min-width:0}.pager{margin-top:auto;height:52px;display:flex;justify-content:center;align-items:center;gap:12px;color:var(--mu);font-size:.85rem}.pager button{background:transparent;width:48px;padding:0;display:grid;place-items:center}.chip{position:relative;width:100%;height:48px;padding:0 34px 0 12px;border-radius:12px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}.chip .n{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.chip em{font-style:normal;font-size:.75rem;color:var(--mu)}.chip.on{background:var(--grs)}.chip.on .n{color:var(--gr)}.chip .ok{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--gr);display:flex}.screen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.screen-head h2{font:500 1.3rem/1.2 var(--serif);margin:0}.screen-head small{font-size:.8rem}.screen-head button{display:flex;align-items:center;gap:6px;flex:none}.week-head,.hrow{display:grid;grid-template-columns:minmax(0,1fr) 128px 44px;gap:4px;align-items:center}.wk{display:grid;grid-template-columns:repeat(7,14px);gap:5px;justify-content:center;align-items:center}.week-head{font-size:.75rem;color:var(--fa);text-align:center}.week-head .t{color:var(--ac)}.hweek{background:transparent;padding:0;min-height:50px;border-radius:10px}.hrow{min-height:50px;border-radius:12px;background:var(--s1)}.hmain{background:transparent;min-width:0;min-height:50px;padding:4px 4px 4px 12px;text-align:left;display:flex;flex-direction:column;justify-content:center}.hmain b,.hmain small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hmain b{font-weight:500;font-size:.95rem}.hmain small{color:var(--mu);font-size:.75rem}.grow{color:var(--gr);display:inline-flex;align-items:center;gap:2px;vertical-align:-2px}.q{width:14px;height:14px;border-radius:4px}.q.done{background:var(--gr)}.q.missed{background:var(--s2);box-shadow:inset 0 0 0 1px var(--fa)}.q.today{box-shadow:inset 0 0 0 1.5px var(--ac)}.q.today-done{background:var(--gr);box-shadow:0 0 0 1.5px var(--ac)}.q.future{background:var(--s2)}.hedit{background:transparent;color:var(--mu);width:44px;padding:0;display:grid;place-items:center}.toast{position:absolute;left:12px;right:12px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 4px 16px;border-radius:14px;background:var(--s2);box-shadow:0 8px 24px #00000059;font-size:.9rem}.toast button{background:transparent;color:var(--ac);font-weight:600;flex:none}.sheet-backdrop{position:absolute;inset:0;z-index:10;background:#00000080;display:flex;align-items:flex-end}.sheet{width:100%;max-width:520px;margin:0 auto;background:var(--s1);border-radius:18px 18px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sheet h2{font:500 1.2rem var(--serif);margin:0}.input{font:inherit;color:var(--tx);background:var(--bg);border:1px solid var(--ln);border-radius:12px;min-height:var(--tap);padding:0 14px;width:100%}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.days button{padding:0;font-size:.8rem;background:var(--bg)}.days button.on{background:var(--acs);color:var(--ac)}.time{display:flex;flex-direction:column;gap:6px}.time>span:first-child{font-size:.85rem;color:var(--mu)}.time-row{display:flex;gap:8px;align-items:center}.sheet-actions{display:flex;gap:8px;justify-content:flex-end}.sheet-actions .primary{width:auto}.sheet-actions .quiet{margin-right:auto}.recent{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:0 -6px}.recent button{padding:0;min-height:58px;border-radius:12px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.recent button span{font-size:.7rem;color:var(--mu)}.recent button b{font-weight:500;min-height:18px;display:flex;align-items:center}.recent button.on{background:var(--grs);color:var(--gr)}.recent button:disabled{opacity:.35}.sheet-actions .grow{margin-right:auto;align-self:center;gap:4px}:root{--sls: rgb(207 122 77 / .16)}button.row-card{width:100%;text-align:left;border:0;font:inherit}.row-card.mind .go{margin-left:auto;color:var(--ac);font-size:.85rem;display:inline-flex;align-items:center;gap:2px}.mind-screen{position:absolute;inset:0;z-index:8;background:var(--bg);display:flex;flex-direction:column;gap:10px;padding:calc(14px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom))}.mind-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mind-head h2{font:500 1.3rem/1.2 var(--serif);margin:0;display:flex;align-items:center;gap:8px;color:var(--tx)}.mind-head h2 svg{color:var(--ac)}.mind-head small{font-size:.8rem}.mind-tools{display:flex;align-items:center;gap:2px}button.icon{width:48px;padding:0;display:grid;place-items:center}.days-pick button.on{background:var(--acs);color:var(--ac)}.days-pick button.on span{color:var(--ac)}.precept{font:italic 400 .95rem/1.35 var(--serif);color:var(--mu)}.vrow{width:100%;height:48px;padding:0 12px;border-radius:12px;background:var(--s1);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.vrow.x{background:var(--sls);color:var(--sl)}.vname{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}.vname em{font-style:normal;font-size:.7rem;color:var(--ac);background:var(--acs);border-radius:8px;padding:2px 6px}.vdots{display:grid;grid-template-columns:repeat(7,12px);gap:4px;flex:none}.d{width:12px;height:12px;display:grid;place-items:center}.d:after{content:"";border-radius:50%}.d.clean:after{width:4px;height:4px;background:var(--fa)}.d.slip:after{width:9px;height:9px;background:var(--sl)}.d.today{box-shadow:inset 0 0 0 1.5px var(--mu);border-radius:50%}.d.today-slip{box-shadow:inset 0 0 0 1.5px var(--sl);border-radius:50%}.d.today-slip:after{width:6px;height:6px;background:var(--sl)}.d.future:after{width:4px;height:4px;background:var(--s2)}.res{display:flex;flex-direction:column;gap:4px}.res-head{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--mu)}.res-head b{color:var(--tx);font-weight:500}.res-head .link{margin-left:auto;min-height:40px}.res input[type=range]{width:100%;height:40px;margin:0;accent-color:var(--ac);background:transparent}.res input[type=range].unset{opacity:.45}.pressure,.toolbox-btn{width:100%}.pressure{background:var(--sls);color:var(--sl);font-weight:500}.sheet.toolbox,.sheet.editor{max-height:calc(100% - 16px)}.sheet.toolbox{height:calc(100% - 16px)}.sheet-top{display:flex;justify-content:space-between;align-items:center}.anchor{font-size:.85rem;color:var(--mu);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:var(--bg);border-radius:12px;padding:3px}.seg button{background:transparent;min-height:42px;padding:0 6px;font-size:.85rem;color:var(--mu)}.seg button.on{background:var(--s2);color:var(--tx)}.seg.small button{min-height:40px}.vtitle{font:500 1.05rem var(--serif);margin:0}.cards{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.card{flex:1;min-height:0;overflow-y:auto;background:var(--bg);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}.card b{font-weight:500}.card p{line-height:1.5;white-space:pre-wrap}.sheet.toolbox .paged{min-height:120px}.field-label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--mu)}.input.area{padding:10px 14px;resize:none;line-height:1.4;min-height:64px}.grow-area .area{min-height:110px}.top-actions{display:flex;align-items:center;gap:4px;flex:none}.round{width:var(--tap);height:var(--tap);min-height:var(--tap);padding:0;border-radius:50%;display:grid;place-items:center;color:var(--ac)}.sheet a.primary{display:flex;align-items:center;justify-content:center;min-height:var(--tap);border-radius:12px;background:var(--ac);color:var(--bg);font-weight:600;text-decoration:none}.claude-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.claude-row>span{display:flex;flex-direction:column;min-width:0}.claude-row small{font-size:.8rem}.claude-row code{font-size:.85rem;overflow-wrap:anywhere;color:var(--tx)}.claude-row button{flex:none}.connect ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.connect .primary{display:flex;align-items:center;justify-content:center;gap:8px}.connect .small{font-size:.85rem;text-align:center}.connect .quiet{min-height:var(--tap)}
