:root{--safe-b:env(safe-area-inset-bottom);--safe-t:env(safe-area-inset-top);--accent:#3f9b7d;--accent-d:#2f7c63;--ink:#22302b;--ink2:#465650;--ink3:#7d8d86;--bg:#eef4f1;--card:#ffffff;--line:#dce8e2;--soft:#f4f9f6;--warm:#fbeee2;--accent-soft:#e8f3ec;--card-bg:var(--card);--ok:var(--accent);--radius:14px;--r-btn:10px;--app-w:480px;--surface:var(--card);--text:var(--ink);--muted:var(--ink3);--danger:#bb4a33}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;line-height:1.45;min-height:100svh;max-width:100%;overflow-x:clip}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) var(--safe-b) env(safe-area-inset-left)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-d);text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100dvh;background:var(--bg);max-width:var(--app-w);margin-inline:auto}@media (min-width:520px){body{background:#dfe9e4}.app-shell{border-inline:1px solid var(--line);box-shadow:0 0 40px rgba(34,48,43,.06)}}.app-main{flex:1 1;padding-bottom:calc(58px + var(--safe-b))}.launchers{display:flex;gap:6px}.launch{flex:1 1;min-width:0;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 2px;font-family:inherit;font-weight:800;font-size:11px;color:var(--ink2);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px}.launch:active{border-color:var(--accent);color:var(--accent-d)}.launch .lc-i{font-size:16px}.app-head{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}.app-head,.feed-sticky{margin-top:calc(-1 * env(safe-area-inset-top));position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:10}.feed-sticky{padding-top:env(safe-area-inset-top);padding-bottom:6px}.feed-sticky .app-head{position:static;margin-top:0;padding-top:10px}.app-head h2{font-size:18px;margin:0}.app-head .sub{font-size:11.5px;color:var(--ink3);font-weight:700}.back{font-size:26px;color:var(--ink2);cursor:pointer;line-height:1;background:none;border:none;padding:0 2px}.tabbar{position:fixed;left:max(0px,calc(50% - var(--app-w) / 2));right:max(0px,calc(50% - var(--app-w) / 2));bottom:0;border-top:1px solid rgba(220,232,226,.6);background:#fff;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);padding-bottom:var(--safe-b);z-index:40;touch-action:pan-y}.tab-row{position:relative;display:flex;margin-inline:24px}.tab-indicator{position:absolute;top:5px;height:calc(100% - 10px);left:0;width:calc(100% / var(--tab-count, 4));transform:translateX(calc(var(--tab-i, 0) * 100%));transition:transform .28s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:0}.tab-indicator>i{display:block;height:100%;margin:0 3px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.tab{flex:1 1;position:relative;z-index:1;border:none;background:none;font-family:inherit;font-size:10.5px;font-weight:700;color:var(--ink3);padding:9px 6px 11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px}.tab .ti{font-size:18px}.tab.active{color:var(--accent-d)}.fab{position:fixed;right:max(16px,calc(50% - var(--app-w) / 2 + 16px));bottom:calc(64px + var(--safe-b));width:54px;height:54px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(47,124,99,.5);z-index:41;display:flex;align-items:center;justify-content:center}.fab:active{transform:scale(.94)}.fab-bug{right:max(80px,calc(50% - var(--app-w) / 2 + 80px));width:46px;height:46px;bottom:calc(68px + var(--safe-b));background:var(--card);color:var(--ink2);font-size:22px;border:1px solid var(--line);box-shadow:0 4px 12px rgba(0,0,0,.12);z-index:70}.bug-done p{font-size:14px;color:var(--ink);margin:0 0 14px;line-height:1.5}.section{padding:8px 16px 4px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.section-title h3{font-size:14px;margin:0}.link{font-size:12px;color:var(--accent-d);font-weight:700;cursor:pointer;background:none;border:none}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px}.card--soft{background:var(--soft);border-color:transparent}.card--dashed{border-style:dashed}a.card{color:inherit;text-decoration:none}.lbl,a.card{display:block}.lbl{font-size:12px;font-weight:700;color:var(--ink3);margin:12px 0 6px}.lbl:first-child{margin-top:0}.lbl .opt{font-weight:600}.h-card{font-size:14px;font-weight:800;margin:0 0 8px}.h-card,.p{color:var(--ink)}.p{font-size:13.5px;line-height:1.5;margin:0}.note{font-size:12.5px;line-height:1.45}.note,.note-sm{color:var(--ink3);margin:0}.note-sm{font-size:11px;line-height:1.4}.err{font-size:12.5px;font-weight:700;line-height:1.45;margin:6px 0 0}.err,.link.is-danger{color:var(--danger)}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.center{text-align:center}.btn-row{flex-wrap:wrap;align-items:center;margin-top:12px}.btn-row,.field-row{display:flex;gap:8px}.field-row{align-items:flex-start}.field-row .field{flex:1 1;min-width:0}.btn-danger{width:100%;border:1px solid var(--danger);background:var(--card);color:var(--danger);font-family:inherit;font-weight:800;font-size:13px;padding:12px;border-radius:10px;cursor:pointer}.btn-danger.is-fill{background:var(--danger);color:#fff}.btn-danger:disabled,.btn-ghost:disabled{opacity:.55;cursor:default}.seg{display:flex;gap:4px;background:var(--soft);border-radius:14px;padding:3px}.seg-btn{flex:1 1;min-width:0;border:none;background:none;font-family:inherit;font-size:12px;font-weight:700;color:var(--ink2);padding:8px 4px;border-radius:10px;cursor:pointer;min-height:0;white-space:nowrap}.seg-btn.is-on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.seg--icon .seg-btn{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11.5px;padding:7px 2px 6px}.seg--icon .seg-ic{font-size:17px;line-height:1}.icon-btn{width:44px;height:44px;min-height:0;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-family:inherit;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none;cursor:pointer;text-decoration:none}.icon-btn--sm{width:32px;height:32px;font-size:13px}.icon-btn.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}.icon-btn:disabled{opacity:.4;cursor:default}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips+.chips{margin-top:6px}.tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:12px;font-weight:700;color:var(--ink2);background:var(--soft);border:none;border-radius:999px;padding:6px 11px;min-height:0;line-height:1.3}button.chip{cursor:pointer}.chip.is-sel{background:var(--accent-soft);color:var(--accent-d);box-shadow:inset 0 0 0 1px var(--accent)}.chip.tappable{cursor:pointer;opacity:.55}.chip.tappable.is-sel{opacity:1}.chip--add{border:1px dashed var(--ink3);color:var(--ink3)}.chip--add,.chip--filter{background:var(--card);cursor:pointer}.chip--filter{border:1px solid var(--line);min-height:44px;padding:8px 11px;white-space:nowrap}.chip--filter.is-sel{border-color:transparent}.chip.warn{background:#fdf4e3;color:#8a6d1f}.chip.anxiety{background:#fdecd8;color:#b1742a}.chip.guilt{background:#efe7fb;color:#6b4bbf}.chip.anger{background:#fbe0db;color:#b1432f}.chip.sadness{background:#e1ecfa;color:#3b6aa3}.chip.shame{background:#f3e3ee;color:#9a467c}.chip.fear{background:#e9e3fb;color:#5a47b8}.chip.relief{background:#e2f1e8;color:#2f8060}.chip.calm{background:#e2f1e3;color:#2f7c4f}.chip.joy{background:#fcf1d6;color:#9c7a1e}.chip.hope{background:#e3f2e6;color:#2f8060}.chip.confusion{background:#eceef0;color:#6a747c}.badge{display:inline-block;font-size:10.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 8px;line-height:1.3}.badge--warn{color:#8a6d1f;background:#f6efc4}.kv{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--soft);color:var(--ink)}.kv:last-child{border-bottom:none}.kv .k{color:var(--ink2);font-weight:700}.kv .v{font-weight:800;text-align:right}.kv .v.warn{color:#8a6d1f}.kv .v small{color:var(--ink3);font-weight:700}.kv--plain{border-bottom:none;padding:0}.kv-block{margin-top:10px}.kv-block:first-child{margin-top:0}.kv-block .k{display:block;font-size:12px;font-weight:700;color:var(--ink3);margin-bottom:4px}.kv-block .v{font-size:14px;line-height:1.5;color:var(--ink);white-space:pre-wrap}.disclose{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink2);padding:9px 2px;border:none;border-top:1px solid var(--line);background:none;margin-top:6px;cursor:pointer;text-align:left;min-height:44px}.disclose .arr{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--accent-d);font-size:18px;line-height:1}.disclose--card{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px 14px;margin-top:0;font-size:14px;color:var(--ink)}.disclose--plain{border-top:none;margin-top:0}.bar{height:6px;background:var(--line);overflow:hidden}.bar,.bar>i{display:block;border-radius:999px}.bar>i{height:100%;background:var(--accent);transition:width .3s}.field-wrap{position:relative}.field-wrap .field{padding-right:44px}.infield{position:absolute;right:8px;bottom:8px;width:30px;height:30px;min-height:0;border-radius:50%;border:none;background:rgba(63,155,125,.14);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;padding:0}.infield.is-live{background:var(--accent);color:#fff}.infield:disabled{cursor:default}.field-barred .field{display:block;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;margin-bottom:0;resize:none}.field-barred:focus-within .field,.field-barred:focus-within .field-bar{border-color:var(--accent)}.field-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line);border:1px solid var(--line);border-top-style:dashed;border-radius:0 0 10px 10px;background:#fafcfa;padding:6px 8px;position:-webkit-sticky;position:sticky;bottom:0;z-index:1}.field-bar .infield{position:static;margin-left:auto;flex-shrink:0}.field-bar .chip--add{font-size:11.5px}.dictate-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chips-trailing{margin-left:auto;display:inline-flex}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);padding:10px 2px;border:none;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;text-decoration:none;min-height:44px}.row:last-child{border-bottom:none}.row .r{color:var(--ink3);font-weight:700;font-size:12.5px;flex-shrink:0}.row .note{display:inline}.row.is-danger{color:var(--danger)}.row.is-static,.row:disabled{cursor:default}.row:disabled{opacity:.55}.cb{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink2);font-weight:600;cursor:pointer}.cb input{accent-color:var(--accent);width:16px;height:16px;margin:0}.app-head .t{flex:1 1;min-width:0;font-size:18px;font-weight:800;margin:0}.mood-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;border:none;border-radius:14px;padding:12px 14px;margin-bottom:10px;font-family:inherit;font-size:13.5px;font-weight:700;color:var(--ink);text-align:left;cursor:pointer}.mood-strip .link{font-size:12.5px}.field{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-family:inherit;font-size:16px;color:var(--ink);background:#fff;resize:vertical}.field:focus{outline:none;border-color:var(--accent)}.btn-primary{width:100%;border:none;background:var(--accent);color:#fff;font-family:inherit;font-weight:800;font-size:15px;padding:13px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink2);font-family:inherit;font-weight:800;font-size:13px;padding:12px;border-radius:10px;cursor:pointer}.btn-compact{width:auto;padding:9px 14px;flex-shrink:0;white-space:nowrap}.entry{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin-bottom:11px;font-family:inherit;cursor:pointer}.entry-top{gap:10px;margin-bottom:7px}.entry-ico,.entry-top{display:flex;align-items:center}.entry-ico{width:34px;height:34px;border-radius:10px;background:var(--soft);justify-content:center;font-size:17px;flex:none}.entry-date{font-size:13px;font-weight:800}.entry-type{font-size:11px;color:var(--ink3);font-weight:700}.ses-pln{display:flex;gap:7px;align-items:flex-start;font-size:14px;line-height:1.5;margin-top:4px}.ses-pln .m{flex-shrink:0;width:16px;text-align:center;color:var(--accent);font-weight:800}.ses-pln.miss{color:var(--ink3)}.ses-pln.miss .m{color:#c9a13d}.ses-migrated{display:flex;gap:9px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:14px;padding:11px 13px;margin:4px 0 10px;font-size:13px;line-height:1.45}.ses-migrated-x{margin-left:auto;flex-shrink:0;background:none;border:none;color:var(--ink3);font-size:14px;cursor:pointer;padding:0 2px}.entry-text{font-size:13px;color:var(--ink);margin:2px 0 0;line-height:1.5}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.abc{display:flex;flex-direction:column;gap:5px;margin-top:4px}.abc-row{display:flex;gap:9px;font-size:12.5px}.abc-k{flex:none;width:96px;font-weight:800;color:var(--ink3)}.abc-v{color:var(--ink);line-height:1.45}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:14px;padding:22px 18px;margin:8px 16px;color:var(--ink3);font-size:13px;background:#fff}.skel{background:#fff;border:1px solid var(--line);border-radius:14px;height:86px;margin:0 16px 11px;position:relative;overflow:hidden}.skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.04),transparent);animation:skel-shine 1.2s infinite}@keyframes skel-shine{to{transform:translateX(100%)}}.sheet-wrap{position:fixed;inset:0;z-index:60;display:none}.sheet-wrap.open{display:block}.sheet-backdrop{position:absolute;inset:0;background:rgba(20,30,26,.45)}.sheet-dock{position:absolute;left:max(0px,calc(50% - var(--app-w) / 2));right:max(0px,calc(50% - var(--app-w) / 2));bottom:0;display:flex;flex-direction:column;max-height:min(92dvh,calc(var(--kb-vh, 100dvh) - env(safe-area-inset-top) - 8px))}.sheet-dock:after{content:"";position:absolute;left:0;right:0;top:100%;height:60vh;background:#fff;pointer-events:none}.sheet-dock:not(.sheet-dock--docked){transition:bottom .25s cubic-bezier(.2,.7,.3,1),max-height .25s cubic-bezier(.2,.7,.3,1)}@media (prefers-reduced-motion:reduce){.sheet-dock:not(.sheet-dock--docked){transition:none}}.sheet{background:#fff;border-radius:14px 14px 0 0;padding:8px 16px calc(14px + var(--safe-b));box-shadow:0 -8px 24px rgba(0,0,0,.16);overflow-y:auto}.sheet-handle{width:38px;height:4px;border-radius:2px;background:#d4ddd8;margin:2px auto 18px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.sheet-head .h-card{flex:1 1;min-width:0;margin:0}.sheet-head .sheet-title--nav{text-align:center}.sheet-actions{margin-top:14px}.s-scale{display:flex;align-items:center;gap:10px;margin-top:11px}.s-scale .sl{font-size:11.5px;font-weight:800;color:var(--ink2)}.s-scale input[type=range]{flex:1 1;accent-color:var(--accent);min-height:44px}.s-scale .val{font-size:12px;font-weight:800;color:var(--accent-d);min-width:50px;text-align:right}.s-scale .val-unset{color:var(--ink2);opacity:.65;font-weight:600}.cbt-bar{display:flex;align-items:center;gap:8px}.dc-dots{display:flex;gap:5px}.dc-dots i{width:7px;height:7px;border-radius:50%;background:#d4e1da;display:block}.dc-dots i.active{background:var(--accent)}.med-intro{font-size:12.5px;color:var(--ink2);background:var(--soft);border-radius:14px;padding:11px 12px;line-height:1.5}.med-timer-big{font-size:34px;font-weight:800;color:var(--accent-d);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;padding:6px 0}.med-soon{font-size:11px;color:var(--ink3);font-weight:700;background:var(--soft);border-radius:10px;padding:4px 8px}.det-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:8px 16px}.det-editable,.det-input{display:block;width:100%;font-family:inherit;font-size:14px;line-height:1.6;color:var(--ink);background:none;border:none;border-bottom:1px dashed var(--line);border-radius:0;padding:0 0 6px;margin:4px 0 0;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}.det-input{resize:none;outline:none}.det-input:focus{border-bottom-color:var(--accent)}.field--edit{flex:1 1;min-height:0;height:auto;max-height:none;resize:none;overflow-y:auto}.det-read{cursor:text}.det-read-text{font-size:14px;line-height:1.6;color:var(--ink);margin:4px 0 14px;white-space:pre-wrap;overflow-wrap:anywhere}.det-vocab{display:flex;flex-direction:column;gap:6px;margin-top:12px}.det-vocab .cap{font-size:11px;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}.det-card.is-editing .det-editable,.det-card.is-editing .det-input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg)}.det-card.is-editing .det-input:focus{border-color:var(--accent)}.det-editable .note{font-size:13.5px}.det-mark{background:var(--accent-soft);border-radius:4px;padding:0 2px}.det-date-row{padding:6px 0}.det-date{font-family:inherit;font-size:13.5px;font-weight:700;color:var(--ink);background:none;border:none;border-bottom:1px dashed var(--line);padding:2px 0}.ses-mark-btn{background:none;border:none;padding:0;min-height:0;font:inherit;font-weight:800;cursor:pointer}.det-foot{align-items:center;margin-top:14px}.undo-toast{position:fixed;left:max(16px,calc(50% - var(--app-w) / 2 + 16px));right:max(16px,calc(50% - var(--app-w) / 2 + 16px));bottom:calc(70px + var(--safe-b));display:flex;align-items:center;justify-content:space-between;gap:10px;background:#22302b;color:#fff;font-weight:700;font-size:12.5px;border-radius:14px;padding:12px 14px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.25)}.undo-toast button{border:none;background:none;color:#8fd0a0;font-family:inherit;font-weight:800;font-size:12.5px;cursor:pointer;min-height:0}.nfilters{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:6px 16px 2px}.nf-dd{position:relative}.nf-menu{display:none;position:absolute;top:46px;left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;z-index:5;min-width:156px;max-height:256px;overflow-y:auto}.nf-dd.open .nf-menu{display:block}.nf-menu button{display:block;width:100%;text-align:left;border:none;background:none;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink2);padding:11px 10px;border-radius:10px;cursor:pointer;min-height:44px}.nf-menu button.sel,.nf-menu button:hover{background:var(--soft);color:var(--accent-d)}.nf-menu-empty{display:block;padding:10px;font-size:12px;font-weight:700;color:var(--ink3)}.nsearch{display:flex;align-items:center;gap:8px;margin:8px 16px 2px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 11px}.ns-ico{font-size:13px;color:var(--ink3)}.ns-input{flex:1 1;border:none;outline:none;font-family:inherit;font-size:16px;color:var(--ink);background:none;min-height:28px}.ns-input::-webkit-search-cancel-button{display:none}.ns-clear{border:none;background:none;font-size:13px;color:var(--ink3);cursor:pointer;font-weight:800;min-width:44px;min-height:44px}.feed-section{padding:8px 16px 18px}.feed-pending{opacity:.55;transition:opacity .15s ease}.swipe-row{position:relative;overflow:hidden;margin-bottom:10px}.swipe-actions{position:absolute;inset:0 0 0 auto;display:flex;align-items:stretch;gap:0;border-radius:14px;overflow:hidden}.swipe-del,.swipe-edit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:66px;min-height:44px;border:none;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer}.swipe-del span,.swipe-edit span{font-size:10.5px;font-weight:800}.swipe-edit{background:var(--accent-soft);color:var(--accent-d)}.swipe-del{background:#fbe0db;color:#b1432f}.swipe-card{position:relative;z-index:1;background:#fff;border-radius:14px;will-change:transform}.swipe-card .entry{margin-bottom:0}.cbt-table-wrap{padding:6px 12px 18px}.cbt-scroll-hint-wrap{overflow:auto;max-height:calc(100dvh - 200px);min-height:220px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:14px;background:linear-gradient(90deg,transparent 85%,rgba(0,0,0,.04))}.cbt-table{width:100%;min-width:580px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:11px;background:#fff}.cbt-table td,.cbt-table th{border:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top;word-break:break-word;overflow-wrap:anywhere}.cbt-table td:first-child,.cbt-table th:first-child{width:52px;white-space:nowrap}.cbt-table td:nth-child(2),.cbt-table td:nth-child(3),.cbt-table td:nth-child(5),.cbt-table th:nth-child(2),.cbt-table th:nth-child(3),.cbt-table th:nth-child(5){width:140px}.cbt-table td:nth-child(4),.cbt-table th:nth-child(4){width:108px}.cbt-table th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--soft);font-size:10.5px;color:var(--ink3)}.cbt-date{color:var(--ink3);font-weight:700}.cbt-row{cursor:pointer}.cbt-row:hover{background:var(--soft)}.cbt-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cbt-add-row{cursor:pointer}.cbt-add-row:hover{background:var(--soft)}.cbt-add-cell{text-align:center;color:var(--accent);font-weight:600;padding:10px 8px}:root{--mood-1:#dde3e1;--mood-2:#efe7cd;--mood-3:#f6efc4;--mood-4:#d6ecdb;--mood-5:#b0dfbf;--mood-dot-1:#c6cfcc;--mood-dot-2:#e3d7b4;--mood-dot-3:#f0e39b;--mood-dot-4:#b7e0c1;--mood-dot-5:#7cc796;--mood-empty:var(--soft)}.mood-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px}.mood-month{font-weight:700;font-size:16px;color:var(--ink)}.mood-nav{display:flex;gap:6px}.mood-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.mood-dow{text-align:center;font-size:10.5px;color:var(--ink3);padding-bottom:2px}.cal-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--bg);margin-top:calc(-1 * env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-bottom:4px}.cal-sticky .app-head{position:static;margin-top:0;padding-top:10px}.mood-dowrow{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;padding:2px 16px 0}.mood-dowrow.g8{grid-template-columns:repeat(7,1fr) 30px}.mood-cell{position:relative;aspect-ratio:1/1;border-radius:10px;border:1px solid var(--line);background:var(--mood-empty);color:var(--ink2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;padding:0}.mood-cell.pad{visibility:hidden;cursor:default}.mood-cell.today{outline:2px solid var(--accent);outline-offset:-2px}.mood-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mood-grid.g8{grid-template-columns:repeat(7,1fr) 30px}.wkcell{display:flex;align-items:center;justify-content:center;border:none;background:none;padding:0;cursor:pointer;position:relative}.wkcell.static{cursor:default}.wkcell:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.wk-dot{width:8px;height:8px;border-radius:50%;background:#d6ded9}.wk-spark{font-size:16px;filter:drop-shadow(0 1px 2px rgba(47,125,82,.4))}.wk-done{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#3f9b7d;color:#fff;font-size:13px;font-weight:700;line-height:1}.wk-leadin{position:absolute;top:-4px;bottom:50%;left:50%;transform:translateX(-50%);width:3px;background:#8fbfa2}.wk-leadin--cont{top:10px}.wk-leadin--cont:before{content:"";top:-8px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #8fbfa2}.wk-leadin--cont:before,.wk-tail{position:absolute;left:50%;transform:translateX(-50%)}.wk-tail{top:-4px;bottom:-4px;width:3px;border-radius:2px;background:#a8cdb6}.wk-tailst{position:absolute;inset:0}.wk-tailst:before{top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#8fbfa2}.wk-tailst:after,.wk-tailst:before{content:"";position:absolute;left:50%;transform:translateX(-50%)}.wk-tailst:after{top:calc(50% + 5px);bottom:-4px;width:3px;border-radius:2px;background:linear-gradient(#8fbfa2,#a8cdb6)}.wk-contd,.wk-contu{position:absolute;inset:0}.wk-contd:before{top:-4px;bottom:10px;width:3px;border-radius:2px;background:#a8cdb6}.wk-contd:after,.wk-contd:before{content:"";position:absolute;left:50%;transform:translateX(-50%)}.wk-contd:after{bottom:2px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #8fbfa2}.wk-contu:before{top:10px;bottom:-4px;width:3px;border-radius:2px;background:#a8cdb6}.wk-contu:after,.wk-contu:before{content:"";position:absolute;left:50%;transform:translateX(-50%)}.wk-contu:after{top:2px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #8fbfa2}.rev-line{border:none;background:none;font-family:inherit;width:100%;margin-top:10px;padding:8px 2px;cursor:pointer;text-align:left;min-height:44px}.rev-line.on{background:var(--accent-soft);border-radius:10px;padding:8px 10px}.mood-cell.hl{box-shadow:0 0 0 2px var(--accent),0 0 0 4px rgba(47,143,91,.18);transition:box-shadow .15s}.mood-cell.sel{box-shadow:inset 0 0 0 2px var(--accent)}.mood-cell.rng{background:var(--accent-soft)}.mood-cell:disabled{opacity:.35;cursor:default}.period-head{align-items:center;margin-bottom:10px}.period-head .k{color:var(--ink);font-size:13px}.period-nav{display:flex;align-items:center;gap:8px;margin-bottom:8px}.period-nav .h-card{margin:0}.period-presets .link{border:none;background:none;padding:0 4px;min-height:0;font:inherit;font-weight:700;color:var(--accent-d);cursor:pointer}.seg--icons{width:84px;padding:2px;flex:none}.seg--icons .seg-btn{padding:5px 4px;font-size:14px}.mood-sum-line{color:var(--ink);padding:2px 0;min-height:0}.mood-v1{background:var(--mood-1);color:var(--ink)}.mood-v2{background:var(--mood-2);color:var(--ink)}.mood-v3{background:var(--mood-3);color:var(--ink)}.mood-v4{background:var(--mood-4);color:var(--ink)}.mood-v5{background:var(--mood-5);color:var(--ink)}.mood-empty{background:var(--mood-empty)}.mgraph-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 10px}.mgraph-range{font-size:12px;font-weight:700;color:var(--ink2)}.gpanel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 12px 8px;margin-bottom:10px}.gpanel-bio{padding-top:10px}.gpanel .gh{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 8px}.gpanel-bio .gh{margin-bottom:2px}.gpanel .gh b{font-size:13px}.gpanel .gh span{font-size:10.5px;color:var(--ink3);font-weight:700}.gsvg{display:block;width:100%;height:auto;overflow:visible}.mood-scale{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;margin:4px 0}.mood-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;min-height:64px}.mood-dot{width:20px;height:20px;border-radius:50%;border:1px solid var(--line)}.mood-dot-v1{background:var(--mood-dot-1)}.mood-dot-v2{background:var(--mood-dot-2)}.mood-dot-v3{background:var(--mood-dot-3)}.mood-dot-v4{background:var(--mood-dot-4)}.mood-dot-v5{background:var(--mood-dot-5)}.mood-btn.sel .mood-dot{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.mood-btn .l{font-size:10.5px;color:var(--ink2)}.mood-btn.sel{border-color:var(--accent-d);box-shadow:0 0 0 1px var(--accent-d) inset}.mood-btn.sel .l{color:inherit}.mood-btn.sel.mood-v1{background:var(--mood-1);color:var(--ink)}.mood-btn.sel.mood-v2{background:var(--mood-2);color:var(--ink)}.mood-btn.sel.mood-v3{background:var(--mood-3);color:var(--ink)}.mood-btn.sel.mood-v4{background:var(--mood-4);color:var(--ink)}.mood-btn.sel.mood-v5{background:var(--mood-5);color:var(--ink)}.guide-card{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px 14px;margin-bottom:10px}.guide-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.guide-icon{font-size:22px;flex-shrink:0}.guide-titles{flex:1 1;min-width:0}.guide-time{font-size:11.5px;color:var(--ink3);font-weight:700}.guide-stars{font-size:13px;color:var(--accent);flex-shrink:0;letter-spacing:1px}.guide-stars i{font-style:normal;color:var(--line)}.guide-ai{color:var(--ink2)}.switch{flex-shrink:0;width:46px;height:27px;min-height:0;padding:2px;border:1px solid var(--line);border-radius:999px;background:#e3eae5;cursor:pointer;transition:background .18s ease}.switch i{display:block;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s ease}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on i{transform:translateX(19px)}.switch:disabled{opacity:.55}.oura-arc{position:absolute;inset:0;margin:auto;width:34px;height:34px;pointer-events:none}.oura-arc circle{fill:none;stroke-width:2.4;stroke-linecap:round}.oura-arc .track{stroke:rgba(0,0,0,.07)}.oura-arc .val{stroke:var(--oc,#7fae94);transform:rotate(-90deg);transform-origin:center}.mood-cell .cell-num{position:relative;z-index:1}.field-wrap .mood-note{padding-right:44px;margin:0}.infield--inline{position:static;margin-left:auto}.sleep-row{align-items:center}.sleep-row .sleep-field{flex:0 0 120px}.oura-main{display:flex;gap:8px;justify-content:space-around}.oura-ring{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:74px}.oura-ring svg{width:52px;height:52px}.oura-ring-num{font-size:13px;font-weight:800;fill:var(--ink)}.oura-ring-name{font-size:11px;font-weight:700;color:var(--ink2)}.oura-ring-level{font-size:10.5px;font-weight:800}.oura-reveal{animation:oura-fade .35s ease}@keyframes oura-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}.mood-widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:14px}.mood-note{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;resize:vertical;min-height:64px;margin:8px 0;background:var(--card);color:var(--ink)}.ex-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px}.ex-week{display:flex;flex-direction:column;gap:6px}.ex-row{display:grid;grid-template-columns:minmax(96px,1.3fr) repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;align-items:center}.ex-row>*{min-width:0}.ex-head{margin-bottom:2px}.ex-dow{display:flex;flex-direction:column;align-items:center;font-size:10px;color:var(--ink3);line-height:1.1}.ex-dow.today{color:var(--accent-d);font-weight:700}.ex-dow-d{font-size:11px;font-weight:600;color:var(--ink2)}.ex-dow.today .ex-dow-d{color:var(--accent-d)}.ex-name-col{text-align:left;padding:2px 4px}.ex-name-btn{border:none;background:none;cursor:pointer;font:inherit;color:inherit}.ex-name{font-size:13px;font-weight:700;color:var(--ink);line-height:1.2}.ex-freq,.ex-name{overflow-wrap:break-word;word-break:normal}.ex-freq{font-size:10.5px;color:var(--ink3);margin-top:1px}.ex-cell{aspect-ratio:1/1;border-radius:10px;border:1px solid var(--line);background:var(--soft);color:var(--ink3);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.ex-cell.done{background:var(--accent);border-color:var(--accent);color:#fff}.ex-cell.skipped{background:var(--card);color:var(--ink3);border-color:var(--line)}.ex-cell.assigned{color:var(--accent-d)}.ex-cell.today{outline:2px solid var(--accent);outline-offset:-2px}.ex-cell.attn{background:var(--soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.ex-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ex-cell.future,.ex-cell.future:disabled{opacity:.4;cursor:default;background:var(--soft);color:var(--ink3)}.ex-add-btn{margin-top:12px}.ex-state{padding:18px 4px;gap:12px;align-items:stretch}.ex-skeleton,.ex-state{display:flex;flex-direction:column}.ex-skeleton{gap:8px;padding:8px 0}.ex-skel-row{height:44px;border-radius:10px;background:linear-gradient(90deg,var(--soft),var(--line),var(--soft));background-size:200% 100%;animation:ex-shimmer 1.3s ease-in-out infinite}@keyframes ex-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ex-catalog{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ex-catalog::-webkit-scrollbar{width:6px}.ex-catalog::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.ex-cat-item{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.ex-cat-name{font-size:13px;font-weight:700;color:var(--ink)}.ex-cat-desc{font-size:11px;color:var(--ink3)}.ex-freq-kind{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.ex-kind-btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:9px 4px;font:inherit;font-size:12.5px;color:var(--ink2);cursor:pointer}.ex-kind-btn.sel{border-color:var(--accent-d);box-shadow:0 0 0 1px var(--accent-d) inset;color:var(--ink)}.ex-freq-detail{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:13px;color:var(--ink2)}.ex-freq-detail .ex-n{width:72px}.ex-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px;margin-top:8px}.ex-wd{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 2px;font-size:11.5px;color:var(--ink2);cursor:pointer}.ex-wd.sel{border-color:var(--accent-d);background:var(--soft);color:var(--accent-d);font-weight:700}.ex-period{gap:8px}.ex-period,.ex-period label{display:flex;flex-direction:column}.ex-period label{gap:4px;font-size:11px;color:var(--ink3)}.ex-submit{margin-top:14px}.ex-archive-btn{margin-top:8px;color:var(--danger)}.ex-log-date{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}.ex-log-desc{margin:0 0 6px}.ex-log-status{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.ex-status-btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:12px;font:inherit;font-weight:700;font-size:14px;color:var(--ink2);cursor:pointer;min-height:48px}.ex-status-btn.done.sel{border-color:var(--accent);background:var(--accent);color:#fff}.ex-status-btn.skipped.sel{border-color:var(--ink3);background:var(--soft);color:var(--ink2)}.ex-rating{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px}.ex-rate-btn{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 0;font:inherit;font-weight:700;color:var(--ink2);cursor:pointer;min-height:44px}.ex-rate-btn.sel{border-color:var(--accent-d);background:var(--soft);color:var(--accent-d)}.ex-rate-btn:disabled{opacity:.5;cursor:default}.ex-archive-list{display:flex;flex-direction:column;gap:10px}.ex-archive-item{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--card)}.ex-archive-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ex-history-toggle{margin-top:6px}.ex-history{margin-top:8px;border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:4px}.ex-history-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink2)}.ex-history-date{color:var(--ink3);min-width:86px}.ex-history-status.done{color:var(--accent-d);font-weight:700}.ex-history-rating,.ex-history-status.skipped{color:var(--ink3)}.today-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:12px 0}.today-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 2px;border:none;background:none;text-align:left;border-top:1px solid var(--line);cursor:pointer}.today-item:first-of-type{border-top:none}.today-tick{width:22px;height:22px;border-radius:50%;border:2px solid var(--ink3);flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.today-tick.done{border-color:var(--accent);background:var(--accent)}.today-t{flex:1 1;font-size:14px;font-weight:600;color:var(--ink);min-width:0}.today-t small,.today-t.done{color:var(--ink3)}.today-t small{display:block;font-size:11.5px;font-weight:600;margin-top:1px}.today-chev{color:var(--ink3);font-size:15px;flex:none}.ob-overlay{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column}.ob-screen{flex:1 1;display:flex;flex-direction:column;max-width:var(--app-w);width:100%;margin-inline:auto;padding:22px 20px calc(20px + var(--safe-b));position:relative;min-height:0}.ob-skip{position:absolute;top:calc(20px + env(safe-area-inset-top));right:20px;font-size:13px;font-weight:700;color:var(--ink3);background:none;border:none;cursor:pointer;z-index:2}.ob-body{flex:1 1;flex-direction:column;padding:0 6px;min-height:0}.ob-body,.ob-mark{display:flex;justify-content:center}.ob-mark{width:44px;height:44px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--line);margin:0 auto 18px;align-items:center}.ob-mark span{width:16px;height:16px;border-radius:50%;background:var(--accent)}.ob-h{font-size:22px;font-weight:800;line-height:1.3;margin-bottom:12px}.ob-h,.ob-p{text-align:center}.ob-p{font-size:14.5px;color:var(--ink2);line-height:1.6;margin-bottom:8px}.ob-p.strong{color:var(--ink)}.ob-frame{font-size:13px;color:var(--ink3);line-height:1.5;text-align:center;margin-top:10px}.ob-list{margin-top:6px}.ob-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px}.ob-item .t{font-size:13.5px;font-weight:700}.ob-item .t small{display:block;font-weight:600;font-size:12px;color:var(--ink2);margin-top:3px;line-height:1.5}.ob-foot{padding-top:14px}.ob-dots{display:flex;gap:7px;justify-content:center;margin-bottom:14px}.ob-dot{width:7px;height:7px;border-radius:50%;background:#c8d4cc}.ob-dot.on{background:var(--accent)}.ob-pv{margin-top:8px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:8px 10px}.ob-pv-moods{display:flex;gap:6px;align-items:center}.ob-pv-moods i{width:16px;height:16px;border-radius:50%;display:block}.ob-pv-cal{display:flex;gap:3px;margin-left:10px}.ob-pv-cal i{width:9px;height:9px;border-radius:3px;display:block}.ob-chips{display:flex;gap:5px;flex-wrap:wrap}.ob-ex-line{font-size:11.5px;color:var(--ink2);margin:3px 0 5px;line-height:1.4}.ob-voice{display:flex;align-items:center;gap:7px;margin-bottom:4px}.ob-voice .bars{display:flex;gap:2px;align-items:flex-end;height:12px}.ob-voice .bars i{width:3px;border-radius:2px;background:var(--accent);display:block}.ob-voice .vl{font-size:10px;font-weight:800;color:var(--accent)}.ob-ex-item{display:flex;align-items:center;gap:8px}.ob-ex-item .nm{font-size:11.5px;font-weight:700;flex:1 1}.ob-ex-item .wk{display:flex;gap:3px}.ob-ex-item .wk i{width:14px;height:14px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;font-style:normal;color:#fff}.ob-rev-wrap{flex:1 1;min-height:0;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.ob-rev-rt{font-size:10px;font-weight:800;color:var(--accent);margin-top:8px}.ob-rev-rt:first-child{margin-top:0}.ob-rev-rx{font-size:11.5px;color:var(--ink2);line-height:1.5;margin:3px 0 4px;white-space:pre-wrap}.oura-details{margin-top:4px}.oura-grp{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.ms-spark{display:flex;gap:2px;align-items:flex-end;height:26px;overflow-x:auto}.ms-spark i{flex:0 0 auto;width:6px;border-radius:2px;background:#a7cf8e}.ms-spark i.low{background:#e2c98a}.ml-auto{margin-left:auto}.mt-0{margin-top:0}.block{display:block}.btn-row.is-center{justify-content:center}.note.warn{color:#8a6d1f}.char-budget{font-size:11.5px;font-weight:600;color:var(--ink3);margin:2px 2px 6px}.char-budget.is-critical{color:var(--danger)}.char-budget-hint{font-weight:400}.med-intro{position:relative}.med-intro-x{position:absolute;top:2px;right:2px;width:24px;height:24px;min-height:0;line-height:24px;border:none;background:none;color:var(--ink3);font-size:16px;cursor:pointer;padding:0}.drum-wrap{display:flex;justify-content:center}.rec-line{display:flex;align-items:center;gap:10px;margin-bottom:12px}.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--danger);display:inline-block}.rec-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:18px}.ex-cat-toggle{display:flex;flex-direction:column;gap:2px;width:100%;padding:0;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit}.ex-cat-item.is-static{cursor:default}.ob-body--rev{justify-content:flex-start;padding-top:34px}.ob-h--sm{font-size:20px}.ob-skip--left{right:auto;left:20px}.bio-prompt{position:fixed;left:max(12px,calc(50% - var(--app-w) / 2 + 12px));right:max(12px,calc(50% - var(--app-w) / 2 + 12px));bottom:calc(72px + var(--safe-b));z-index:55;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 8px 30px rgba(20,30,26,.18)}.unlock-overlay{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.unlock-title{font-size:22px;margin-bottom:4px}.unlock-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.grow{flex:1 1;min-width:0}.rev-stack{display:flex;flex-direction:column;gap:12px}.section.rev-stack{padding-bottom:24px;gap:16px}.rev-item{flex-direction:column;scroll-margin-top:12px}.rev-item,.rev-meta{display:flex;gap:8px}.rev-meta{justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink3)}.rev-body{font-size:15px;line-height:1.5}.rev-p{margin:0 0 6px}.rev-card{margin-bottom:0}.rev-blk+.rev-blk{margin-top:12px;padding-top:12px;border-top:1px solid var(--soft)}.disclose.is-open{border-bottom:1px solid var(--line);padding-bottom:9px}.rev-foot{margin-top:12px;padding-top:4px}.rev-foot .link{padding:4px 0}.pts .kv{align-items:flex-start}.pts .kv .k{color:var(--ink)}.pts .kv .k,.pts .kv .note-sm{display:block}.pts .kv .v{white-space:nowrap}.pts-head{align-items:center}.pts-head .k{font-size:13.5px;color:var(--ink)}.pts-head .btn-primary.btn-compact{min-height:34px;padding:7px 14px;font-size:12.5px;border-radius:8px}.bullet{display:flex;gap:6px;margin-bottom:6px}.dlink{color:var(--accent);font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px}.stars{display:flex;gap:6px}.star{background:none;border:none;cursor:pointer;padding:0;min-height:0;font-size:26px;line-height:1;filter:grayscale(1) opacity(.4)}.star.is-on{filter:none}a.btn-ghost,a.btn-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.home-review{display:block;padding:2px 4px 12px;color:inherit;text-decoration:none}.home-review .kv{margin-bottom:6px}.fab-bug--solo{right:max(16px,calc(50% - var(--app-w) / 2 + 16px))}.mood-strip-t{border:none;background:none;padding:0;min-height:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.launchers{margin-bottom:10px}.pb-24{padding-bottom:24px}a.row{color:var(--ink)}.modal-backdrop{position:fixed;inset:0;z-index:61;background:rgba(20,30,26,.45);display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--card);border-radius:14px;padding:20px;max-width:360px;width:100%;text-align:center}.modal-ic{font-size:34px}.modal-h{font-size:18px;font-weight:800;margin:8px 0}.modal .note{text-align:left}.fab[hidden]{display:none}.app-head .cal-nav{display:flex;align-items:center;gap:2px;flex:1 1;min-width:0}.app-head .cal-nav h2{flex:1 1;text-align:center;font-size:16.5px}.app-head .cal-nav h2,.mood-sum-line{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mood-cell.rng{background:#cfe6d8;color:var(--ink)}.mood-cell.sel{background:var(--accent);color:#fff;box-shadow:none}@media (orientation:landscape){body.table-wide{--app-w:100vw}body.table-wide .cbt-scroll-hint-wrap{max-height:calc(100dvh - 110px);background:none}body.table-wide .cbt-table-wrap{padding:4px 4px 12px}body.table-wide .cbt-table{min-width:0}body.table-wide .cbt-table td:first-child,body.table-wide .cbt-table th:first-child{width:9%}body.table-wide .cbt-table td:nth-child(2),body.table-wide .cbt-table td:nth-child(3),body.table-wide .cbt-table td:nth-child(5),body.table-wide .cbt-table th:nth-child(2),body.table-wide .cbt-table th:nth-child(3),body.table-wide .cbt-table th:nth-child(5){width:24%}body.table-wide .cbt-table td:nth-child(4),body.table-wide .cbt-table th:nth-child(4){width:19%}}.ai-spark{font-size:13px;filter:grayscale(1);opacity:.45;transition:filter .25s ease,opacity .25s ease}.ai-spark.is-ready{filter:none;opacity:1}.cbt-rotate-hint{margin:0 0 8px;text-align:center}@media (orientation:landscape){.cbt-rotate-hint{display:none}}.sheet-dock--docked.sheet-dock--floor{padding-bottom:calc(var(--safe-b) / 2)}.sheet-dock--floor .sheet--docked{padding-left:20px;padding-right:20px}.sheet-dock--docked{background:#fff;border-radius:14px 14px 0 0;box-shadow:0 600px 0 0 #fff}.sheet--docked{padding:8px 10px 4px;overflow:visible;display:flex;flex-direction:column;min-height:0}.composer-slot{min-height:0}.sheet--composer{min-height:470px;display:flex;flex-direction:column;overflow:hidden}.sheet-dock--kb .sheet--composer{min-height:0}.sheet--composer .dock-body,.sheet--composer>.composer-slot{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.sheet--composer .dock-row{flex:1 1 auto;min-height:44px}.sheet--composer .field--dock{max-height:none;height:100%;overflow-y:auto}.sheet--composer .tag-emotion-row{flex:0 1 auto;min-height:0;display:flex;flex-direction:column;margin-top:8px}.sheet--composer .tag-emotion-row>.chips{flex:0 0 auto}.sheet--composer .tag-emotion-row>.tagpick-scroll{margin-top:8px}.tagpick-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sheet{transition:min-height .25s cubic-bezier(.2,.7,.3,1)}@media (prefers-reduced-motion:reduce){.sheet{transition:none}}.sheet--docked>.composer-slot{flex:1 1 auto;min-height:380px;display:flex;flex-direction:column}.sheet-zone{overflow:hidden;background:#fff;flex:none}.dock-body{position:relative;display:flex;flex-direction:column;gap:8px;flex:none}.dock-alert{position:absolute;left:0;right:0;bottom:100%;margin-bottom:6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:7px 10px;box-shadow:0 6px 18px rgba(20,45,36,.12)}.dock-alert .char-budget,.dock-alert p,.dock-reflect{margin:0}.field--dock{display:block;border-radius:20px;padding:11px 14px;resize:none;overflow-y:auto;background:var(--soft)}.field--dock:focus{background:var(--card)}.dock-row{display:flex;align-items:center;gap:8px}.dock-row>.dock-plus,.dock-row>.dock-primary{width:44px;height:44px}.dock-row>.field--dock{flex:1 1 auto;min-width:0}.dock-actions{display:flex;align-items:center;gap:8px;height:56px;flex:none}.dock-free{flex:1 1;min-width:0}.dock-plus{position:relative;flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-family:inherit;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.dock-plus.is-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.dock-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;font-size:11px;font-weight:700;line-height:1;padding:0 5px}.dock-badge,.dock-primary{background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.dock-primary{flex:none;width:44px;height:44px;border-radius:50%;border:none;font-family:inherit;font-size:18px;cursor:pointer;padding:0}.dock-primary.is-idle{background:var(--soft);color:var(--accent);border:1px solid var(--line)}.dock-primary:disabled{opacity:.5;cursor:default}.rev-q-act{white-space:nowrap;display:inline-flex;align-items:center;gap:5px;vertical-align:middle}.rev-q-ic{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--accent-d);font-size:18px;line-height:1}.ses-root{flex-direction:column}.ses-above,.ses-root{display:flex;flex:1 1 auto;min-height:0}.ses-above{overflow-y:auto;flex-direction:column;gap:6px;margin-bottom:8px;-webkit-overflow-scrolling:touch}.ses-cap{font-size:11.5px;color:var(--ink3);letter-spacing:.02em;flex:none}.ses-date{display:flex;align-items:center;gap:8px;flex:none;font-size:13px}.ses-date .k{color:var(--ink2)}.ses-date input{margin-left:auto;font-size:13px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:4px 8px}.ses-block,.ses-date input{font-family:inherit;color:var(--ink)}.ses-block{flex:none;display:block;width:100%;text-align:left;font-size:12.5px;line-height:1.5;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:7px 9px;cursor:pointer}.ses-block-h{display:flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;color:var(--ink2);margin-bottom:2px}.ses-block-edit{margin-left:auto;color:var(--accent);font-size:18px;line-height:1}.ses-block-body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.dock-blocks{display:flex;flex-wrap:wrap;gap:6px;flex:none}.dock-lbl{font-size:11.5px;font-weight:700;color:var(--ink2);letter-spacing:.02em;flex:none}.dock-rec{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 6px}.dock-rec-cancel{margin-left:auto;border:none;background:none;color:var(--ink2);font-family:inherit;font-size:13px;cursor:pointer;padding:8px 4px}.dock-newrow{gap:6px}.dock-name{flex:1 1;min-width:0;border:1px solid var(--accent);border-radius:10px;font-size:16px;background:var(--card);color:var(--ink);outline:none}.dock-name,.dock-new-ok{padding:10px 12px;font-family:inherit}.dock-new-ok{flex:none;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.dock-new-ok:disabled{opacity:.5;cursor:default}.dock-new-cancel{flex:none;border:none;background:none;color:var(--ink2);font-family:inherit;font-size:13px;padding:10px 4px;cursor:pointer}.dock-palette{position:absolute;left:0;right:0;bottom:60px;display:flex;flex-wrap:wrap;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 10px;box-shadow:0 6px 18px rgba(20,45,36,.12)}.dock-swatch{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer}.dock-swatch[aria-pressed=true]{border-color:var(--ink2)}.tagpanel{height:100%;overflow-y:auto;padding:10px 14px calc(10px + var(--safe-b));display:flex;flex-direction:column;gap:8px}.tagpanel-h{margin:0;font-size:11px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em}.tagpanel-h+.chips{margin-top:0}.tagpanel .chip.tappable.is-on{opacity:1;box-shadow:0 0 0 2px var(--accent)}.chip--new{background:var(--card);border:1px dashed var(--accent);color:var(--accent);cursor:pointer}.dock-ask{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--ink)}.dock-ask-keep,.dock-ask-stop{border:none;border-radius:999px;font-family:inherit;font-size:12.5px;font-weight:700;padding:6px 12px;cursor:pointer}.dock-ask-stop{background:var(--accent);color:#fff}.dock-ask-keep{background:var(--soft);color:var(--ink2)}.vocab-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 0}.vocab-row+.vocab-row{border-top:1px solid var(--line)}.vocab-name{flex:1 1;font-size:14px;color:var(--ink);overflow-wrap:anywhere}.vocab-act{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;background:none;font-family:inherit;font-size:16px;color:var(--ink2);cursor:pointer}.vocab-act--danger{color:var(--danger)}.vocab-act:focus-visible,.vocab-add:focus-visible,.vocab-dot:focus-visible,.vocab-sw:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.vocab-row .vocab-dot{flex:none;width:26px;height:26px;min-height:0;padding:0;gap:0;border:1px solid rgba(20,45,36,.12);border-radius:50%;cursor:pointer}.vocab-rule{margin:-2px 0 6px;font-size:12px;line-height:1.45;color:var(--ink3)}.vocab-add{display:block;width:100%;min-height:44px;margin-top:6px;border:1px dashed var(--ink3);background:none;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.vocab-add,.vocab-locked{border-radius:12px;color:var(--ink2)}.vocab-locked{margin:0;padding:10px 12px;background:var(--soft);font-size:12.5px;line-height:1.5}.vocab-pal{display:flex;flex-wrap:wrap;gap:8px}.vocab-pal .vocab-sw{flex:none;width:32px;height:32px;min-height:0;padding:0;gap:0;border:2px solid transparent;border-radius:50%;cursor:pointer}.vocab-pal .vocab-sw[aria-pressed=true]{border-color:var(--ink2)}.rev-line{align-items:center}.rev-line .k{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rev-line .v{flex:none;white-space:nowrap}.mood-sum-text{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}