@font-face{font-family:Bodoni Moda;font-style:normal;font-weight:400 500;font-display:swap;src:url(../fonts/bodoni-moda-latin.woff2)format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/instrument-sans-latin.woff2)format("woff2")}:root{--stone:#ece5d8;--paper:#f6f1e7;--sand:#dccfb8;--ink:#1c1611;--field:#2e231b;--earth:#3e2f24;--muted:#6b5a48;--gold-text:#7a5c26;--gold:#c49a53;--red:#881e1e;--red-press:#6e1616;--on-ink:#f3e9d2;--on-ink-soft:#cfc2a6;--font-display:"Bodoni Moda", Didot, "Bodoni 72", Georgia, serif;--font-text:"Instrument Sans", "Helvetica Neue", system-ui, sans-serif;--radius-button:999px;--radius-card:16px}*{box-sizing:border-box;margin:0}html,body{background:var(--stone)}body{color:var(--earth);font-family:var(--font-text);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-size:15px;line-height:1.4}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:root{--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px));--safe-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px))}:root[data-platform=macos]{--safe-top:0px}body{padding-top:var(--safe-top)}.shell{min-height:calc(100vh - var(--safe-top));min-height:calc(100dvh - var(--safe-top));flex-direction:column;display:flex}.screen-wrap{flex-direction:column;flex:1;display:flex}.screen{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex}.shell.nonav .screen{padding-bottom:calc(max(var(--safe-bottom), 12px) + 16px)}.backrow{padding:12px 16px 0}.back{border:1px solid var(--sand);background:var(--paper);height:36px;color:var(--ink);border-radius:999px;align-items:center;gap:2px;padding:0 14px 0 8px;font-size:14px;font-weight:500;display:inline-flex}.back svg{width:18px;height:18px}.backrow+.screen.flush{margin-top:12px}.h1{font-family:var(--font-display);color:var(--ink);font-size:26px;font-weight:400;line-height:1.1}.h2{font-family:var(--font-display);color:var(--ink);font-size:19px;font-weight:400}.muted{color:var(--muted)}.link{color:var(--red);font-size:13px;font-weight:600}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:24px 8px;display:flex}.center p{color:var(--earth);max-width:32ch}.center .logo{width:auto;height:44px;margin-bottom:12px}.btn{border-radius:var(--radius-button);justify-content:center;align-items:center;gap:8px;height:40px;padding:0 18px;font-size:13px;font-weight:600;display:inline-flex}.btn.red{background:var(--red);color:var(--on-ink)}.btn.red:active{background:var(--red-press)}.btn.ghost{color:var(--on-ink);background:#f6f1e729;border:1px solid #f6f1e74d}.btn.line{border:1px solid var(--sand);color:var(--ink);background:var(--paper)}.card{border-radius:var(--radius-card);background:var(--paper);border:1px solid var(--sand);padding:14px}.chip{border:1px solid var(--sand);white-space:nowrap;height:30px;color:var(--ink);background:var(--paper);border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.chip.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.ava{background:var(--sand);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.skeleton{background:var(--sand);opacity:.6;border-radius:12px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.loading{flex:1;place-items:center;min-height:60vh;display:grid}.loading svg{width:96px;height:96px;fill:var(--earth);animation:.3s ease-out .15s backwards appear,3s ease-in-out .45s infinite breathe}@keyframes appear{0%{opacity:0}}@keyframes breathe{50%{opacity:.45;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.skeleton,.loading svg{animation:none}}.sidebar{display:none}.nav{padding:10px 0 max(var(--safe-bottom), 16px);background:var(--paper);border-top:1px solid var(--sand);grid-template-columns:repeat(4,1fr);display:grid;position:sticky;bottom:0}.nav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.nav a[aria-current=page]{color:var(--red);font-weight:600}.nav svg{width:20px;height:20px}.top{justify-content:space-between;align-items:center;display:flex}.topr{align-items:center;gap:8px;display:flex}.help{border:1px solid var(--sand);background:var(--paper);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.brand{width:auto;height:30px}.date{color:var(--gold-text);font-weight:500}.between{justify-content:space-between;align-items:baseline;display:flex}.note{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.45}.cover{background:radial-gradient(circle at 70% 25%,#f6e8cce6,#0000 40%),linear-gradient(160deg,#d9b57a,#9c6b3e 45%,#8e4a34 75%,#4a2e1e)}.cover.b{background:radial-gradient(circle at 30% 30%,#f6e8cccc,#0000 45%),linear-gradient(200deg,#b8a68c,#6b7a5e 60%,#3e2f24)}.live{color:var(--on-ink);border-radius:18px;flex-direction:column;justify-content:flex-end;gap:4px;min-height:168px;padding:16px;display:flex;position:relative;overflow:hidden}.live:before{content:"";background:linear-gradient(#1c161133,#1c16118c 40%,#1c1611e6);position:absolute;top:0;bottom:0;left:0;right:0}.live>*{position:relative}.live .btn{align-self:flex-start;margin-top:10px}.tag{color:var(--gold);font-size:12px;font-weight:600}.live .t{font-family:var(--font-display);font-size:22px;line-height:1.1}.live .m{color:var(--on-ink-soft);font-size:12px}.habits{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.habit{border:1px solid var(--sand);background:var(--paper);height:70px;color:var(--ink);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.weeklink{border:1px solid var(--sand);background:var(--paper);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:8px;padding:0 14px;display:flex}.wk{gap:5px;display:flex}.wk i{background:var(--sand);border-radius:3px;width:12px;height:12px}.wk i.later{box-shadow:inset 0 0 0 1px var(--sand);background:0 0}.wk i.l1{background:#b8a68c}.wk i.l2{background:#8f7b63}.wk i.l3{background:#665340}.wk i.l4{background:var(--earth)}.hero{align-items:center;gap:16px;padding:0 4px;display:flex}.flame{flex:none;width:132px;height:132px}.flame .rest{fill:#b8a68c}.flame .done{fill:var(--red)}.hero b{font-family:var(--font-display);color:var(--ink);font-size:24px;font-weight:400;line-height:1.1;display:block}.hero small{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.4;display:block}.hrows{flex-direction:column;gap:8px;display:flex}.hrow{padding:12px 14px}.hrow b{color:var(--ink);overflow-wrap:anywhere;font-size:15px;font-weight:600}.hrow span{color:var(--muted);white-space:nowrap;font-size:13px}.hrow .between{gap:12px}.strip{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;margin-top:8px;display:grid}.strip i{background:var(--sand);border-radius:2px;height:20px}.strip i.on{background:var(--earth)}.strip i.later{box-shadow:inset 0 0 0 1px var(--sand);background:0 0}.chk{border:2px solid var(--muted);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.chk.on{background:var(--red);color:var(--on-ink);border:0}.jcard{background:var(--paper);border:1px solid var(--sand);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.jcard .ic{background:var(--field);width:36px;height:36px;color:var(--gold);border-radius:50%;flex:none;place-items:center;display:grid}.jcard b{color:var(--ink);font-size:13px;font-weight:600;display:block}.jcard small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.jcard .go{color:var(--red);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:600}.item{align-items:center;gap:12px;display:flex}.thumb{border-radius:10px;flex:none;width:84px;height:64px;position:relative}.thumb span{color:var(--on-ink);background:#1c1611b3;border-radius:6px;padding:1px 5px;font-size:10px;position:absolute;bottom:5px;right:5px}.item b{color:var(--ink);font-size:13px;font-weight:600;display:block}.item small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.fmt{color:var(--gold-text);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);font-size:11px;font-weight:600}.plan{background:var(--field);color:var(--on-ink);border-radius:16px;flex-direction:column;gap:4px;padding:14px;display:flex}.plan .t{font-family:var(--font-display);font-size:20px}.plan small{color:var(--on-ink-soft);font-size:12px}.pill{color:#3f4a33;background:#e2e6d8;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pill.warn{color:var(--red);background:#f1dcd4}.list{background:var(--paper);border:1px solid var(--sand);border-radius:14px;overflow:hidden}.li{color:var(--ink);border-top:1px solid var(--sand);text-align:left;justify-content:space-between;align-items:center;width:100%;padding:11px 14px;font-size:13px;display:flex}.li:first-child{border-top:0}.li span:last-child{color:var(--muted);font-size:12px}.li.danger span:first-child{color:var(--red)}.li-sent{color:var(--ink);flex-direction:column;gap:6px;padding:12px 14px;font-size:13px;display:flex}.li-sent span:last-child{line-height:1.4}.li-msg{color:var(--muted);padding:0 14px 11px;font-size:12px;line-height:1.45}.li:disabled{opacity:.5;cursor:default}.tog{background:var(--red);border-radius:999px;flex:none;width:34px;height:20px;position:relative}.tog:after{content:"";background:var(--paper);border-radius:50%;width:16px;height:16px;position:absolute;top:2px;right:2px}.tog.off{background:var(--sand)}.tog.off:after{left:2px;right:auto}.confirm{color:var(--ink);flex-direction:column;gap:10px;font-size:13px;display:flex}.btn:disabled{opacity:.5;cursor:default}:root{--p-conn:#c49a53;--p-aware:#b8a68c;--p-reg:#a5574c;--p-int:#6b7a5e;--p-center:#1c1611}.seg{background:var(--paper);border:1px solid var(--sand);border-radius:999px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.seg a{text-align:center;color:var(--muted);border-radius:999px;padding:7px 0;font-size:12px;font-weight:600}.seg a.on{background:var(--ink);color:var(--on-ink)}.ritual{border-radius:16px;flex-direction:column;gap:6px;padding:14px;display:flex}.ritual.done{background:var(--paper);border:1px solid var(--sand)}.ritual.next{background:var(--field);color:var(--on-ink)}.ritual .k{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.ritual.next .k{color:var(--gold)}.ritual .t{font-family:var(--font-display);color:var(--ink);font-size:19px}.ritual.next .t{color:var(--on-ink)}.ritual q{quotes:none;font-family:var(--font-display);color:var(--earth);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;font-style:italic;line-height:1.35;display:-webkit-box;overflow:hidden}.ritual small{color:var(--muted);font-size:12px}.ritual.next small{color:var(--on-ink-soft)}.ok{color:var(--red);font-weight:600}.gword b{font-family:var(--font-display);color:var(--ink);overflow-wrap:anywhere;font-size:26px;font-weight:400}.lock{color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.steps{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.steps i{background:var(--sand);border-radius:2px;height:4px}.steps i.on{background:var(--c,var(--ink))}.pillar{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-text);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.pillar b{background:var(--c);border-radius:50%;flex:none;width:10px;height:10px}.qbig{font-family:var(--font-display);color:var(--ink);overflow-wrap:anywhere;font-size:26px;font-weight:400;line-height:1.15}.hint{color:var(--muted);font-size:13px;line-height:1.45}.field{flex-direction:column;gap:6px;display:flex}.field label{font-family:var(--font-display);color:var(--earth);font-size:16px;font-style:italic}.grow{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.field.fill{flex:1}.area{resize:none;background:var(--paper);border:1px solid var(--sand);min-height:160px;font:inherit;color:var(--ink);border-radius:16px;outline:none;flex:1;padding:14px;font-size:16px;line-height:1.5}.area:focus,.wordbox:focus{border-color:var(--red)}.wordbox{border:0;border-bottom:1.5px solid var(--ink);width:100%;font-family:var(--font-display);color:var(--ink);text-align:center;background:0 0;border-radius:0;outline:none;padding:6px 0 10px;font-size:30px}.count{color:var(--muted);align-self:flex-end;font-size:11px}.choices{flex-direction:column;gap:8px;display:flex}.choice{background:var(--paper);border:1px solid var(--sand);color:var(--ink);text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:13px 14px;font-size:14px;display:flex}.choice.on{background:var(--field);border-color:var(--field);color:var(--on-ink)}.choice span:first-child{border:2px solid var(--muted);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.choice.on span:first-child{background:var(--red);color:var(--on-ink);border:0}.closing{font-family:var(--font-display);color:var(--earth);text-align:center;padding:0 8px;font-size:16px;font-style:italic;line-height:1.4}.open{flex-direction:column;flex:1;gap:14px;display:flex}.open .eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);font-size:12px;font-weight:600}.open .big{font-family:var(--font-display);color:var(--ink);font-size:34px;font-weight:400;line-height:1.08}.open p{color:var(--earth);font-size:14px;line-height:1.5}.path{flex-direction:column;margin-top:10px;display:flex;position:relative}.path:before{content:"";background:linear-gradient(var(--p-conn), var(--p-aware) 33%, var(--p-reg) 60%, var(--p-int) 85%, var(--p-center));width:2px;position:absolute;top:29px;bottom:29px;left:19px}.stop{align-items:center;gap:14px;min-height:58px;display:flex;position:relative}.stop .node{flex:none;justify-content:center;width:40px;display:flex}.stop .node i{background:var(--c);width:14px;height:14px;box-shadow:0 0 0 4px var(--stone);border-radius:50%}.stop.core .node span{background:var(--field);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.stop.core .node img{width:34px;height:34px;display:block}.stop b{color:var(--ink);font-size:14px;font-weight:600;display:block}.stop small{color:var(--muted);font-size:12px}.btn.wide{width:100%}.acts{justify-content:space-between;align-items:center;gap:8px;display:flex}.screen.dark{background:var(--field);color:var(--on-ink)}.donewrap{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:0 10px;display:flex}.donewrap .fl{width:110px;height:110px}.donewrap .k{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:12px;font-weight:600}.donewrap .w{font-family:var(--font-display);color:var(--on-ink);overflow-wrap:anywhere;font-size:38px;line-height:1}.donewrap p{color:var(--on-ink-soft);font-size:14px;line-height:1.5}.donewrap q{quotes:none;font-family:var(--font-display);color:var(--on-ink);font-size:17px;font-style:italic;line-height:1.4}.step{border:1px solid var(--sand);background:var(--paper);width:36px;height:36px;color:var(--ink);border-radius:50%;font-size:20px;line-height:1}.step:disabled{opacity:.4;cursor:default}.month{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px 0;display:grid}.month .w{color:var(--muted);padding-bottom:4px;font-size:10px;font-weight:600}.month .d{height:40px;color:var(--ink);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;display:flex}.month .d:disabled{color:#b5a68f;cursor:default}.month .d.sel{background:var(--ink);color:var(--on-ink)}.dots{gap:2px;height:5px;display:flex}.dots b{background:0 0;border-radius:50%;width:5px;height:5px}.dots b.m{background:var(--gold)}.dots b.e{background:var(--red)}.legend{color:var(--muted);gap:14px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend b{border-radius:50%;width:6px;height:6px;display:inline-block}.dayview{flex-direction:column;gap:12px;display:flex}.dhead{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dtitle{font-family:var(--font-display);color:var(--ink);overflow-wrap:anywhere;font-size:22px}.entry{background:var(--paper);border:1px solid var(--sand);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.entry .k{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);font-size:11px;font-weight:600}.daylist{flex-direction:column;gap:9px;display:flex}.ans{flex-direction:column;gap:1px;display:flex}.ans small{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.ans small b{background:var(--c);border-radius:50%;flex:none;width:7px;height:7px}.ans span{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.label+.unsent{flex-direction:column;gap:6px;display:flex}.unsent+.unsent{border-top:1px solid var(--sand);padding-top:10px}.orphan-text{margin-top:4px}.orphan{flex-direction:column;gap:6px;display:flex}.orphan-text{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;font-size:13px;overflow:auto}.note .link{margin-top:6px}.days{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.day{color:var(--muted);border-radius:12px;padding:8px 0;font-size:11px}.day b{color:var(--ink);margin-top:2px;font-size:16px;font-weight:500;display:block}.day.on{background:var(--ink);color:var(--on-ink-soft)}.day.on b{color:var(--on-ink)}.day i{background:var(--red);border-radius:50%;width:4px;height:4px;margin:4px auto 0;display:block}.day.on i{background:var(--gold)}.class{background:var(--paper);border:1px solid var(--sand);border-radius:16px;flex:none;overflow:hidden}.class .cover{height:92px}.class .in{flex-direction:column;gap:4px;padding:12px 14px 14px;display:flex}.class .t{font-family:var(--font-display);color:var(--ink);font-size:18px}.class p{color:var(--muted);font-size:12px;line-height:1.4}.class .time{color:var(--ink);font-size:12px;font-weight:600}.class .join{flex-direction:column;gap:6px;margin-top:8px;display:flex}.class .join .btn{align-self:flex-start}.class.small{display:flex}.class.small .cover{flex:none;width:92px;height:auto}.class.small .in{min-width:0}.chips{scrollbar-width:none;gap:6px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips .chip{flex:none}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rec{min-width:0}.rec .cover{border-radius:12px;height:100px;position:relative}.rec .cover span{color:var(--on-ink);background:#1c1611b3;border-radius:6px;padding:1px 6px;font-size:10px;position:absolute;bottom:6px;right:6px}.rec b{color:var(--ink);overflow-wrap:anywhere;margin-top:6px;font-size:12px;font-weight:600;display:block}.rec small{color:var(--muted);font-size:11px}.search{background:var(--paper);border:1px solid var(--sand);width:100%;height:38px;color:var(--ink);font:inherit;border-radius:999px;outline:none;padding:0 14px;font-size:16px}.search:focus{border-color:var(--red)}.empty{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.empty p{font-size:13px;line-height:1.45}.nextc{border-top:1px solid var(--sand);flex-direction:column;gap:2px;width:100%;padding-top:10px;display:flex}.nextc b{color:var(--ink);font-size:14px}.nextc small{color:var(--muted);font-size:12px}.screen.flush{gap:0;padding:0}.player{aspect-ratio:16/9;background:var(--ink);flex:none;place-items:center;display:grid}.player iframe{border:0;width:100%;height:100%;display:block}.player .soft{color:var(--on-ink-soft);text-align:center;padding:0 16px;font-size:13px}.pad{flex-direction:column;align-items:flex-start;gap:14px;padding:16px;display:flex}.pad .item{width:100%}.h1.sm{overflow-wrap:anywhere;font-size:24px}.desc{color:var(--muted);font-size:13px;line-height:1.45}.reload{color:var(--muted);font-size:12px;font-weight:500;text-decoration:underline}.grid.dim{opacity:.5;transition:opacity .15s}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--paper);border:1px solid var(--sand);border-radius:12px;padding:10px}.stat b{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:400;display:block}.stat small{color:var(--muted);font-size:11px}.fmtrow{border-top:1px solid var(--sand);text-align:left;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.fmtrow:first-child{border-top:0}.fmtrow .thumb{width:56px;height:42px}.fmtrow b{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:600;display:block}.fmtrow small{color:var(--muted);font-size:11px}.fmtrow .go{color:var(--red);margin-left:auto;font-size:12px;font-weight:600}.intro{color:var(--earth);flex-direction:column;gap:8px;font-size:13px;line-height:1.45;display:flex}button.link{padding:0}.amuted{color:var(--muted);font-size:12px}.card.form{flex-direction:column;gap:12px;margin:0;display:flex}.list>.card.form{border:0;border-top:1px solid var(--sand);border-radius:0}.input{background:var(--paper);border:1px solid var(--sand);width:100%;color:var(--ink);font:inherit;border-radius:12px;outline:none;padding:9px 12px;font-size:16px}.input:focus{border-color:var(--red)}.input.file{font-family:var(--font-text);padding:8px 10px;font-size:13px;font-style:normal}.field label.btn{font-family:var(--font-text);color:var(--ink);font-size:13px;font-style:normal}textarea.area-s{resize:vertical;min-height:44px;line-height:1.4}.field>span:first-child{color:var(--earth);font-size:12px;font-weight:600}.field>.hint,.field .hint{font-size:12px}.row{align-items:center;gap:8px;display:flex}.row .input{flex:1}.note.err{color:var(--red);font-weight:500}.problem{display:block}.warnbox{background:var(--paper);border:1px solid var(--gold);color:var(--ink);border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.stepcard,.subcard{flex-direction:column;gap:10px;display:flex}.habitrow{border-top:1px solid var(--sand);flex-direction:column;gap:8px;padding:10px 14px;display:flex}.habitrow:first-child{border-top:0}.habitrow b{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:600}.tools,.vacts{flex-wrap:wrap;gap:14px;display:flex}.tool{color:var(--red);min-width:24px;padding:4px 0;font-size:12px;font-weight:600}.tool.danger{color:var(--red)}.tool:disabled{color:var(--muted);opacity:.5;cursor:default}.vlist{flex-direction:column;gap:10px;display:flex}.vrow{flex-direction:column;gap:8px;display:flex}.vhead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.vhead b{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:600;display:block}.vhead small{color:var(--muted);font-size:12px}.vhead .pill{flex:none;margin-left:0}.progress{color:var(--ink);align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.bar{background:var(--sand);border-radius:999px;flex:1;height:8px;overflow:hidden}.bar i{background:var(--red);border-radius:999px;height:100%;transition:width .2s;display:block}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}label.btn{cursor:pointer;align-self:flex-start;position:relative}.signin{min-height:calc(100vh - var(--safe-top));min-height:calc(100dvh - var(--safe-top));justify-content:center;align-items:center;padding:32px 16px}.signin-box{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.signin-box .logo{align-self:center;width:auto;height:56px;margin-bottom:12px}.signin-title{font-family:var(--font-display);text-align:center;color:var(--ink);font-size:34px;font-weight:400;line-height:1.1}.signin-lead{color:var(--earth);text-align:center;font-size:16px;line-height:1.45}.signin-label{color:var(--ink);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.signin-input{background:var(--paper);height:48px;font:inherit;color:var(--ink);border:1px solid #a8977f;border-radius:12px;outline:none;padding:0 14px;font-size:16px;font-weight:400}.signin-input:focus{border-color:var(--red)}.signin-send{background:var(--red);height:48px;color:var(--on-ink);border-radius:12px;font-size:15px;font-weight:600}.signin-send:active{background:var(--red-press)}.signin-send:disabled{opacity:.5;cursor:default}.signin-foot{color:var(--muted);text-align:center;margin-top:8px;font-size:14px;line-height:1.45}.signin-card{background:var(--paper);border:1px solid var(--sand);color:var(--earth);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.45}.signin-card-title{color:var(--ink);margin-bottom:6px;font-weight:600}.signin-link{color:var(--red)}.signin-other{border:1px solid var(--sand);background:var(--paper);height:44px;color:var(--ink);border-radius:12px;font-size:14px;font-weight:600}.two,.col-main,.col-side,.classes,.filters,.info,.more,.jplain,.jplain>.jmain{display:contents}@media (min-width:900px){.shell{flex-direction:row;align-items:flex-start}.screen-wrap{min-width:0;min-height:inherit;flex:1}.nav{display:none}.sidebar{box-sizing:border-box;width:240px;padding:calc(24px + var(--safe-top)) 16px 24px max(16px, env(safe-area-inset-left));margin-top:calc(-1 * var(--safe-top));height:100vh;background:var(--paper);border-right:1px solid var(--sand);flex-direction:column;flex:none;gap:6px;height:100dvh;display:flex;position:sticky;top:0}.sidebar-logo{align-self:flex-start;width:auto;height:44px;margin:0 0 20px 8px}.sidebar>a:not(.sidebar-member){box-sizing:border-box;height:44px;color:var(--earth);border-radius:12px;align-items:center;gap:12px;padding:0 14px;font-size:15px;display:flex}.sidebar>a[aria-current=page]{background:var(--ink);color:var(--on-ink);font-weight:600}.sidebar svg{flex:none;width:20px;height:20px}.sidebar-member{border-top:1px solid var(--sand);align-items:center;gap:10px;margin-top:auto;padding:14px 8px 0;display:flex}.sidebar-avatar{background:var(--sand);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;display:grid}.sidebar-who{flex-direction:column;min-width:0;display:flex}.sidebar-who b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.sidebar-who small{color:var(--muted);font-size:13px}.screen{padding:32px 40px}.h1{font-size:40px}.screen{position:relative}.screen>.top{position:absolute;top:32px;right:40px}.screen>.top .brand,.screen>.top .topr a[href="#/membership"]{display:none}.two{grid-template-columns:3fr 2fr;align-items:start;gap:24px;display:grid}.col-main{flex-direction:column;gap:24px;min-width:0;display:flex}.col-side{flex-direction:column;gap:16px;min-width:0;display:flex}.col-main .live{gap:8px;min-height:320px;padding:28px}.col-main .live .t{font-size:36px}.col-main .habit{height:92px;font-size:14px}.col-main .habits{gap:10px}.col-side .jcard,.col-side .item{background:var(--paper);border:1px solid var(--sand);border-radius:16px;padding:16px 18px}.weekcard{border-radius:16px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.wc{align-items:center;gap:12px;display:flex}.wc .when{white-space:nowrap;flex:none;width:92px}.wc b{color:var(--ink);font-size:14px;font-weight:600;display:block}.wc small{color:var(--muted);font-size:13px;display:block}.wc .thumb{width:72px;height:48px}.wc .what{min-width:0}.wc .what b{overflow-wrap:anywhere}.days{flex-wrap:wrap;gap:8px;display:flex}.day{box-sizing:border-box;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:76px;height:76px;padding:0;font-size:13px;display:flex}.day b{margin:0;font-size:20px;font-weight:600}.day i{width:5px;height:5px;margin:0}.class:not(.small){border-radius:18px;flex-wrap:wrap;display:flex}.class:not(.small) .cover{flex:340px;height:auto;min-height:300px}.class:not(.small) .in{box-sizing:border-box;flex:340px;gap:8px;padding:28px}.class:not(.small) .t{font-size:34px;line-height:1.1}.class:not(.small) .time,.class:not(.small) p{font-size:14px}.class:not(.small) p{line-height:1.5}.classes{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.class.small{box-sizing:border-box;align-items:center;gap:14px;padding:14px}.class.small .cover{border-radius:10px;width:112px;height:76px}.class.small .in{gap:3px;padding:0}.filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filters .search{border-radius:12px;flex:280px;width:auto;max-width:360px;height:44px;font-size:15px}.filters .chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;overflow:visible}.filters .chip{height:36px;padding:0 14px;font-size:13px}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 16px}.rec{flex-direction:column;gap:4px;display:flex}.rec .cover{border-radius:14px;height:150px;margin-bottom:6px}.rec .cover span{border-radius:7px;padding:2px 7px;font-size:12px;bottom:8px;right:8px}.rec b{margin:0;font-size:15px}.rec small{font-size:13px}.backrow{padding:24px 40px 0}.screen.recording{padding:4px 40px 32px}.screen.recording .two{grid-template-rows:auto 1fr auto;grid-template-columns:3fr 2fr;align-items:start;gap:0 24px}.screen.recording .player{border-radius:18px;grid-area:1/1/span 2;align-self:start;overflow:hidden}.screen.recording .pad{display:contents}.screen.recording .info{box-sizing:border-box;background:var(--paper);border:1px solid var(--sand);border-radius:16px;flex-direction:column;grid-area:1/2;align-self:start;align-items:flex-start;gap:10px;min-width:0;padding:20px;display:flex}.screen.recording .info .h1{font-size:30px}.screen.recording .info .desc{color:var(--earth);font-size:14px;line-height:1.5}.screen.recording .info .btn{height:44px;margin-top:4px}.screen.recording .reload{order:1;grid-area:3/1;place-self:start;min-height:44px;margin-top:10px;font-size:13px;text-decoration:none}.screen.recording .more{flex-direction:column;order:2;grid-area:2/2;align-self:start;gap:16px;min-width:0;margin-top:22px;display:flex}.screen.recording .more .h2{font-size:22px}.screen.recording .more .item{gap:12px;min-width:0}.screen.recording .more .thumb{width:112px;height:72px}.screen.recording .more .item b{overflow-wrap:anywhere;font-size:14px}.screen.recording .more .item small{font-size:13px}.screen>.between.months{justify-content:flex-start;gap:8px}.two.habits{grid-template-columns:1fr;gap:24px}.hero{flex-direction:column;align-items:flex-start;padding:0}.flame{width:260px;height:260px}.hero b{font-size:30px}.hero small{font-size:15px}.hrows{gap:10px;min-width:0}.hrow{padding:14px 16px}.strip{gap:3px}.strip i{border-radius:4px;height:22px}.jwide{flex-wrap:wrap;align-items:flex-start;gap:24px;padding:32px 40px;display:flex}.jhead{flex-wrap:wrap;flex:100%;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.jprivacy{color:var(--muted);font-size:13px}.jcal{flex:3 420px;min-width:0}.jmain{flex-direction:column;flex:2 340px;gap:16px;min-width:0;display:flex}.jwide.writing .jcal{flex:2 340px}.jwide.writing .jmain{flex:3 420px;align-self:stretch}.calpane{flex-direction:column;gap:16px;display:flex}.calcard{box-sizing:border-box;background:var(--paper);border:1px solid var(--sand);border-radius:18px;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.calcard .between{justify-content:flex-start;align-items:center}.calcard .h2{order:-1;margin-right:auto;font-size:24px}.calcard .step{background:0 0;border:0;width:44px;height:44px;font-size:20px}.calcard .month{gap:4px}.calcard .month .w{padding-bottom:0;font-size:12px}.calcard .month .d{border-radius:12px;gap:4px;height:auto;min-height:52px;font-size:15px}.jwide.writing .calcard .month .d{border-radius:10px;gap:3px;min-height:44px;font-size:14px}.calcard .legend{gap:16px;font-size:13px}.jmain .ritual{padding:20px}.jmain .ritual .t{font-size:26px;line-height:1.15}.jmain .ritual small{font-size:14px;line-height:1.45}.jmain .ritual .btn{height:44px}.jmain>.screen{box-sizing:border-box;background:var(--paper);border:1px solid var(--sand);border-radius:18px;flex:none;gap:12px;padding:24px;position:static}.jmain>.screen.dark{background:var(--field);border-color:#0000;min-height:460px}.jmain>.screen .qbig{font-size:30px}.jmain>.screen .hint,.jmain>.screen .open p{font-size:14px}.jmain>.screen .area{min-height:200px}.jmain>.screen .acts{justify-content:flex-end;gap:10px}.jmain>.screen .btn.wide{align-self:flex-end;width:auto}.screen.welcome{box-sizing:border-box;width:100%;max-width:800px;margin:0 auto;padding:24px 40px 32px}.screen.welcome .player{border-radius:18px;overflow:hidden}.screen.welcome .pad{gap:12px;padding:20px 0 0}.screen.welcome .h1.sm{font-size:32px}.screen.welcome .desc{font-size:14px}.screen.welcome .btn{height:44px}.screen.membership,.screen.admin{box-sizing:border-box;width:100%;max-width:800px;margin:0 auto 0 0}.screen.message{min-height:calc(100vh - var(--safe-top));min-height:calc(100dvh - var(--safe-top));justify-content:center}@media (min-width:1200px){.two.habits{grid-template-columns:1fr 2fr;gap:32px}}}
