@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f4f8;--surface:#fff;--surface-2:#f2f4f8;--border:#b8c2d7;--line:#e5e9f0;--text:#3b4252;--text-muted:#4c566a;--accent:#88c0d0;--on-accent:#2e3440;--focus:#5e81ac;--shadow:0 6px 9px #b8c2d759;--tooltip-shadow:0 4px 14px #4c566a40;--cursor:#2e34400f;--good:#4c7a35;--bad:#a3473f;--zh:#bf616a;--ko:#a3be8c;--jp:#5e81ac;--reading:#c08a1e;--listening:#8f6a9c;--neutral:#5e81ac;--chart-bar:#5e81ac;--chart-line:#5e81ac;--chart-sleep:#5e81ac;--chart-trend:#2e3440;--tone-violet:#8f6a9c;--couch-0:#5e81ac;--couch-1:#cc6f9c;--couch-2:#5e9c66;--couch-3:#4f9cb0;--couch-4:#bf616a;--tone-blue:#5e81ac;--tone-green:#6f9a56;--tone-amber:#c0694f;--heat-0:#e5e9f0;--heat-1:#b5d4f8;--heat-2:#70a9e8;--heat-3:#3880ca;--heat-4:#14599b}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e222a;--surface:#2e3440;--surface-2:#3b4252;--border:#4c566a;--line:#434c5e;--text:#eceff4;--text-muted:#c3cad8;--focus:#88c0d0;--shadow:0 6px 9px #0f111559;--tooltip-shadow:0 4px 14px #0006;--cursor:#ffffff0d;--good:#a3be8c;--bad:#d08770;--reading:#ebcb8b;--listening:#b48ead;--neutral:#81a1c1;--chart-bar:#81a1c1;--chart-line:#88c0d0;--chart-trend:#eceff4;--tone-violet:#b48ead;--couch-0:#5e81ac;--couch-1:#e8a0bf;--couch-2:#a8d5a2;--couch-3:#88c0d0;--couch-4:#bf616a;--tone-blue:#81a1c1;--tone-green:#a3be8c;--tone-amber:#d08770;--heat-0:#262a32;--heat-1:#285077;--heat-2:#3a75af;--heat-3:#64a0dd;--heat-4:#a6cffa}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans CJK JP,sans-serif}h1,h2,p{margin:0}h1{font-size:1.75rem;font-weight:700}.page-name{font-size:1.75rem;font-weight:700;line-height:1.2}.page-head h1.page-range{color:var(--text-muted);margin-top:.15rem;font-size:1rem;font-weight:500}h2{font-size:1.35rem;font-weight:500}.muted{color:var(--text-muted)}.small{font-size:.82rem}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page{grid-template-columns:minmax(0,1fr);gap:1rem;max-width:1160px;margin:0 auto;padding:1.75rem 1rem 4.5rem;display:grid}.page-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-message{color:var(--text-muted);padding:2rem}.filters{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1.5rem;display:flex}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.time-chips{position:relative}.couch-filter{margin-bottom:1.5rem}.couch-table{margin-top:1rem}.couch-emoji{text-align:center;font-size:2.5rem;line-height:1}.year-slider{justify-content:center;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.88rem;display:flex}.year-arrow{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:.1rem .4rem}.year-arrow:hover:not(:disabled){background:var(--surface-2)}.year-arrow:disabled{opacity:.3;cursor:default}.couch-day{fill:var(--heat-0)}.couch-day-on{fill:var(--heat-3)}.couch-fill-0{fill:var(--couch-0)}.couch-fill-1{fill:var(--couch-1)}.couch-fill-2{fill:var(--couch-2)}.couch-fill-3{fill:var(--couch-3)}.couch-fill-4{fill:var(--couch-4)}.couch-dot-0{background:var(--couch-0)}.couch-dot-1{background:var(--couch-1)}.couch-dot-2{background:var(--couch-2)}.couch-dot-3{background:var(--couch-3)}.couch-dot-4{background:var(--couch-4)}.couch-day-future{opacity:.4}.couch-day-today{stroke:var(--text);stroke-width:1.5px}.filter-button{place-items:center;padding-inline:.65rem;display:grid}.filter-popup{z-index:20;background:var(--surface);border:1px solid var(--border);width:min(22rem,100%);box-shadow:var(--tooltip-shadow);border-radius:8px;gap:.75rem;padding:.75rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0}.filter-popup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.filter-popup .custom-range{gap:.5rem}.filter-popup .custom-range label{flex:8rem;gap:.2rem;min-width:0;font-size:.85rem;display:grid}.filter-popup .custom-range input{width:100%}.chip{color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .8rem;font-size:.9rem}.chip:hover{background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip:focus-visible,.primary:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.custom-range{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.custom-range input,.login-form input{background:var(--surface-2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:.45rem .6rem}.dot{vertical-align:.08em;border-radius:50%;flex:none;width:8px;height:8px;margin-right:.15rem;display:inline-block}.dot-jp{background:var(--jp)}.dot-zh{background:var(--zh)}.dot-ko{background:var(--ko)}.dot-neutral{background:var(--neutral)}.fill-jp{background:var(--jp)}.fill-zh{background:var(--zh)}.fill-ko{background:var(--ko)}.fill-practice{background:var(--heat-3)}.dot-reading{background:var(--reading)}.dot-listening{background:var(--listening)}.fill-reading{background:var(--reading)}.fill-listening{background:var(--listening)}.kind-share-wrap{cursor:default;margin-bottom:.6rem;padding:.4rem 0;position:relative}.kind-share{border-radius:4px;gap:2px;height:12px;display:flex;overflow:hidden}.kind-share-tooltip{white-space:nowrap;z-index:10;pointer-events:none;position:absolute;bottom:100%;transform:translate(-50%)}.stats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.stat{background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:1fr auto 1fr;gap:.25rem;min-height:160px;padding:1.25rem;display:grid}.stat-top{justify-content:space-between;align-self:start;align-items:center;gap:.5rem;display:flex}.stat-value{font-size:2.3rem;font-weight:500;line-height:1.1}.stat-note{color:var(--text-muted);align-self:end;font-size:.82rem}.stat-icon{width:40px;height:40px;color:var(--tone);background:color-mix(in srgb, var(--tone) 40%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.stat-violet{--tone:var(--tone-violet)}.stat-blue{--tone:var(--tone-blue)}.stat-green{--tone:var(--tone-green)}.stat-amber{--tone:var(--tone-amber)}.panel{background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:1.25rem 1.5rem}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.heat-scroll{overflow-x:auto}.heat-inner{margin:0 auto;position:relative}.heat-inner svg{display:block}.heat-label{fill:var(--text-muted);font-size:11px}.heat-0{fill:var(--heat-0);background:var(--heat-0)}.heat-1{fill:var(--heat-1);background:var(--heat-1)}.heat-2{fill:var(--heat-2);background:var(--heat-2)}.heat-3{fill:var(--heat-3);background:var(--heat-3)}.heat-4{fill:var(--heat-4);background:var(--heat-4)}.heat-future{opacity:.4}.heat-today{stroke:var(--text);stroke-width:1.5px}.heat-legend{align-items:center;gap:4px;display:flex}.heat-swatch{border-radius:3px;width:12px;height:12px}.heat-legend .muted:first-child{margin-right:2px}.heat-legend .muted:last-child{margin-left:2px}.tooltip{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--tooltip-shadow);pointer-events:none;border-radius:8px;padding:.45rem .65rem;font-size:.85rem}.tooltip-title{color:var(--text-muted);margin-bottom:.2rem}.tooltip-row{justify-content:space-between;gap:1.25rem;display:flex}.heat-tooltip{white-space:nowrap;z-index:10;position:fixed;transform:translate(-50%,calc(-100% - 6px))}.heat-tooltip-below{transform:translate(-50%,6px)}.chart{height:260px}.legend{color:var(--text-muted);flex-wrap:wrap;gap:.25rem 1rem;font-size:.85rem;display:flex}.data-table{margin-top:.75rem}.data-table summary{cursor:pointer;color:var(--text-muted);font-size:.88rem}.amounts{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.75rem;display:grid}.amount{background:var(--surface-2);border-radius:8px;padding:.8rem 1rem}.amount-name{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.amount-value{font-size:1.5rem;line-height:1.5}.sleep-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:.6rem;margin-bottom:1rem;display:grid}.sleep-number{font-size:2.1rem;font-weight:500;line-height:1.2}.sleep-method{margin-top:.5rem}.review-tile{flex-direction:column;justify-content:flex-start;gap:.4rem;min-width:0;min-height:170px;padding:2.25rem 1.1rem 1rem;display:flex}.review-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:.75rem;display:grid}@media (width>=1000px){.review-tiles{grid-template-columns:repeat(3,minmax(0,240px))}}.review-value{align-items:baseline;gap:.4rem;min-width:0;display:flex}.review-value>.nowrap{color:var(--text);font-size:2.1rem;font-weight:500;line-height:1.15}.amount-extra{color:var(--text-muted);min-width:0;font-size:.9rem}.change-row{gap:.75rem;min-width:0;display:flex}.change-row>*{min-width:0}.change-up{color:var(--good)}.change-down{color:var(--bad)}.top-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1rem;display:grid}.top-pair>.panel{min-width:0}.top-list{grid-template-columns:minmax(0,1fr);gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.top-row{justify-content:space-between;gap:1rem;display:flex}.top-name{align-items:center;gap:.35rem;min-width:0;display:flex}.goal-count{margin-bottom:.5rem;font-size:1.75rem;font-weight:600;line-height:1.2}.goal-track{background:var(--surface-2);border-radius:4px;height:8px;margin-bottom:.75rem}.goal-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin:0 0 1rem;display:grid}.goal-fact{background:var(--surface-2);border-radius:8px;padding:.6rem .8rem}.goal-fact dd{margin:.15rem 0 0}.goal-fact strong,.goal-fact dd span{display:block}.goal-heatmap{margin-top:1rem}.top-track{background:var(--surface-2);border-radius:4px;height:4px;margin-top:.25rem}.top-bar{border-radius:4px;height:100%}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th{text-align:left;color:var(--text-muted);white-space:nowrap;font-weight:500}th,td{border-bottom:1px solid var(--line);padding:.5rem .75rem .5rem 0}th.num+th:not(.num),td.num+td:not(.num){padding-left:1.5rem}tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:0}.cell-title,.cell-creator{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.cell-creator{max-width:11rem}.corner-actions{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:5;flex-direction:column;gap:.5rem;display:flex;position:fixed}.corner-button{background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow);border-radius:50%;place-items:center;padding:0;display:grid}.page-nav{flex-wrap:wrap;justify-content:flex-end;gap:.4rem 1rem;display:flex}.exercise-select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;max-width:100%;padding:.45rem .6rem}.exercise-select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.status{align-items:center;gap:.3rem;font-weight:500;display:inline-flex}.status-ok{color:var(--good)}.status-problem{color:var(--bad)}.status-unknown{color:var(--text-muted)}.status-detail{min-width:12rem}.login-link{white-space:nowrap;text-decoration:none}.login-paste{justify-items:start;gap:.5rem;margin-top:.6rem;display:grid}.login-paste input{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:.45rem .6rem}.login-message{margin-top:.5rem}.login-form{gap:.6rem;width:100%;max-width:22rem;margin-inline:auto;display:grid}.login-form input{width:100%}.login-error{color:var(--bad);font-size:.88rem}.primary{background:var(--accent);color:var(--on-accent);font:inherit;cursor:pointer;border:0;border-radius:8px;margin-top:.4rem;padding:.6rem 1rem;font-weight:500}.primary:disabled{opacity:.6;cursor:wait}.label-short,.tab-bar{display:none}@media (width<=640px){.page{gap:.9rem;padding:1.1rem 1rem 1.5rem}.page-head{flex-direction:column;gap:0}.page-nav{display:none}.panel{border-radius:10px;padding:1rem}.corner-actions{flex-direction:row;gap:.1rem;position:absolute;top:1.15rem;bottom:auto;right:.6rem}.corner-button{width:36px;height:36px;box-shadow:none;color:var(--text-muted);background:0 0;border:0}.corner-button[aria-pressed=true]{color:var(--text);background:0 0}.theme-toggle{display:none}html,body,#root{height:100%;overflow:hidden}html{scrollbar-gutter:auto}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-scroll{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;position:relative;overflow-y:auto}.tab-bar{z-index:6;background:var(--surface);border-top:1px solid var(--line);flex:none;padding:.4rem 0;display:flex;position:relative}.tab-bar button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.3rem 0;font-size:.68rem;display:flex}.tab-bar button[aria-current=page]{color:var(--text);opacity:1;font-weight:500}.filters{flex-direction:column;align-items:stretch;gap:.6rem}.chips.segmented{border-bottom:1px solid var(--line);flex-wrap:nowrap;gap:0}.chips.segmented .chip{min-width:0;color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-radius:0;flex:auto;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .3rem;font-size:.85rem;display:inline-flex}.chips.segmented .chip[aria-pressed=true]{color:var(--text);box-shadow:inset 0 -2px 0 var(--text);background:0 0;font-weight:500}.chips.segmented .filter-button{flex:0 0 2.6rem}.chips.segmented .wide-only{display:none}.chips.segmented .filter-button.pressed-on-phone{color:var(--text);box-shadow:inset 0 -2px 0 var(--text)}.chips.segmented.quiet{border-bottom:0;justify-content:flex-start;gap:1.1rem}.chips.segmented.quiet .chip{flex:none;padding:.2rem 0}.chips.segmented.quiet .chip[aria-pressed=true]{box-shadow:none}.label-full{display:none}.label-short{display:inline}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.stat{grid-template-rows:auto auto auto;gap:.35rem;min-height:0;padding:.9rem}.stat-value{font-size:1.6rem}.stat-icon{display:none}.review-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.review-tile{min-height:0;padding:.9rem .8rem}.review-value{flex-wrap:wrap;row-gap:0}.review-value>.nowrap{font-size:1.5rem}.change-row{flex-direction:column;gap:.1rem}.amounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.amount-value{font-size:1.25rem}.wide-only-cell{display:none}.table-scroll.couch-table table{width:100%}.table-scroll.couch-table td:first-child{white-space:normal;overflow-wrap:anywhere}.table-scroll table{width:max-content;min-width:100%}.table-scroll th,.table-scroll td{white-space:nowrap}.table-scroll th+th,.table-scroll td+td{padding-left:.9rem}}
