.analytics-filter[data-v-1aab562b]{flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0;display:flex}.analytics-filter label[data-v-1aab562b]{margin:0}.analytics-filter button[data-v-1aab562b]{margin-bottom:0}.analytics-person[data-v-1aab562b]{background:#f7f5ec;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.analytics-person code[data-v-1aab562b]{overflow-wrap:anywhere}.analytics-panel h3[data-v-1aab562b]{margin-top:24px}.analytics-panel h3 small[data-v-1aab562b]{font-size:13px;font-weight:400}.analytics-panel .table-scroll[data-v-1aab562b]{max-height:480px;overflow:auto}.analytics-panel th[data-v-1aab562b]{z-index:1;background:#f7f5ec;position:sticky;top:0}.usage-bar[data-v-1aab562b]{background:#cbe2bc;border-radius:4px;min-width:0;height:4px;margin-bottom:3px;display:block}:root{color:#30382b;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eeeee5;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,.button{cursor:pointer;background:#fffefa;border:1px solid #dddfd2;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 16px;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.button:hover{border-color:#819765}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #749b45}a{color:#4f6b32;text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.8px;margin-bottom:8px;font-size:28px;font-weight:750;line-height:1.35}h2{margin-bottom:12px;font-size:18px;font-weight:650}h3{font-size:16px}small{color:#6c7261;font-size:12px;font-weight:400}label{display:block}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{background:#faf9f3;border:1px solid #dddfd2;border-radius:12px;width:100%;min-width:0;margin-top:6px;padding:11px 12px;font-size:16px;display:block}input[type=checkbox],input[type=radio]{accent-color:#5e7f36;flex-shrink:0;width:19px;height:19px}textarea{resize:vertical;line-height:1.6}.mobile-shell{background:#f8f6ee;max-width:460px;min-height:100dvh;margin:0 auto;padding:0 16px 106px}.app-header{padding:28px 6px 19px}.brand{align-items:center;gap:9px;margin-bottom:13px;display:flex}.brand-icon{background:#e6ecdb;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.eyebrow{color:#70765f;letter-spacing:1.3px;font-size:11px}.app-header p{color:#70765f;margin-bottom:0;font-size:13px}.panel{background:#fffefa;border:1px solid #e3e4d8;border-radius:22px;margin-bottom:16px;padding:20px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.row h2{margin:0}.muted{color:#737766;font-size:12px;line-height:1.6}.icon-btn{width:44px;height:44px;padding:0;font-size:24px}.calendar{padding:16px 12px}.calendar .row{padding:0 3px}.calendar h2{font-size:17px}.calendar-week,.calendar-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar-week{color:#747b69;margin:16px 0 6px;font-size:12px}.calendar-days button{background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;gap:0;min-height:47px;padding:4px 0;font-size:14px;display:flex}.calendar-days button small{color:#525c42;height:14px;font-size:10px;line-height:14px}.calendar-days button.chosen{box-shadow:inset 0 0 0 2px #384e2a}.calendar-days button.today>span{font-weight:750}.calendar-days button.hard,.hard{background:#f0ddbb}.calendar-days button.normal,.normal{background:#dfedbc}.calendar-days button.loose,.loose{background:#e1def7}.legend{color:#747968;flex-wrap:wrap;align-items:center;gap:11px;margin:15px 3px 0;font-size:11px;display:flex}.legend>span{align-items:center;gap:4px;display:inline-flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.choice-row{gap:10px;margin:18px 0 22px;display:flex}.choice-row button{flex:1}.selected{background:#dfedbc!important;border-color:#9eaf85!important}.score{align-items:baseline;gap:5px;display:flex}.score strong{font-variant-numeric:tabular-nums;font-size:39px;font-weight:750;line-height:1.15}.score span{color:#757c66;font-size:12px}.caption{color:#667246;min-height:48px;margin-top:8px;font-size:14px}.range{accent-color:#65883b;cursor:ew-resize;width:100%;height:24px;margin:12px 0 9px;display:block}.scale{color:#6c745e;justify-content:space-between;gap:4px;font-size:10px;display:flex}.count-details{border-top:1px solid #e7e7dd;margin-top:21px;padding-top:12px}summary{cursor:pointer;min-height:44px;padding:10px 0}summary>span{color:#6f785c;margin-left:10px;font-size:12px}.counter{align-items:center;gap:15px;margin:8px 0;display:flex}.counter input[type=number]{text-align:center;width:80px;margin:0}.note-label{justify-content:space-between;gap:8px;margin-top:20px;display:flex}.primary{background:#deecb9;border-color:#cfdfa4;font-weight:650}.wide{width:100%;margin-top:14px;display:flex}.text-button{color:#757967;background:0 0;border:0;margin:8px auto 0;font-size:12px;display:block}.empty-note{color:#6f765f;padding:10px 0;font-size:13px}.footnote{color:#7b806e;margin:12px 6px 18px;font-size:11px;line-height:1.7}.check{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;margin:12px 0;font-size:13px;display:flex}.check a{font-size:12px}.notice,.error{overflow-wrap:anywhere;border-radius:12px;padding:12px 15px;font-size:13px}.notice{color:#476331;background:#eef3e2}.error{color:#9c3e24;background:#f9e5dd}.bottom-nav{z-index:10;width:min(460px,100%);padding:10px 16px max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffefaf5;border-top:1px solid #e1e4d6;gap:8px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{border:0;flex-direction:column;flex:1;gap:2px;min-height:56px;font-size:12px;display:flex}.bottom-nav button>span{font-size:21px;line-height:1.1}.segmented{gap:7px;margin:16px 0;display:flex}.segmented button{flex:1;padding:8px 10px}.preset-row{flex-wrap:wrap;gap:6px;display:flex}.preset-row button{min-height:36px;padding:6px 10px;font-size:12px}.period-row{text-align:center;margin:18px 0;font-size:12px}.metrics{grid-template-columns:1fr 1fr;gap:15px;margin:20px 0;display:grid}.metrics>div>span{color:#7a806d;font-size:12px;display:block}.metrics strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:33px;display:block}.metrics small{font-size:13px}.distribution{grid-template-columns:38px 1fr 45px;align-items:center;gap:12px;margin:17px 0;font-size:12px;display:grid}.track{background:#f2f2e8;border-radius:8px;height:12px;overflow:hidden}.fill{border-radius:8px;height:100%}.stats-list .row{border-bottom:1px solid #eeeee5;padding:12px 0;font-size:12px}.identity{align-items:center;gap:14px;display:flex}.identity h2{margin:0;font-size:17px}.identity p{margin:5px 0 0}.avatar{background:#e4edcf;border-radius:16px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:23px;display:grid}.setting{background:#fffefa;border:1px solid #e3e4d8;border-radius:18px;margin-bottom:12px;padding:0 17px}.setting>summary{padding:17px 0}.setting>form,.setting>div{padding:0 0 19px}.setting form>label:not(.check){margin:14px 0}.time-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.time-row label{min-width:0;font-size:13px}.account-tabs button{padding:8px 6px;font-size:12px}.danger{color:#994e3b;background:#fff4ec;border-color:#e3cabb}.overlay{z-index:100;background:#20251c66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:#fffefa;border-radius:22px;width:100%;max-width:460px;max-height:85dvh;padding:24px;overflow:auto}.dialog p{color:#717865;font-size:13px}.recovery-code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#f0f3e5;padding:15px;display:block}.merge-row{border-top:1px solid #e3e5d9;padding:14px 0}.merge-row label{align-items:center;gap:7px;min-height:44px;font-size:13px;display:flex}.privacy-page{background:#fffefa;border-radius:22px;max-width:760px;margin:30px auto;padding:32px;line-height:1.9}.privacy-page h1{margin-top:20px;font-size:24px}.privacy-page p{font-size:14px}.admin-shell{max-width:1280px;margin:auto;padding:30px}.admin-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.admin-header h1{margin-top:5px;font-size:27px}.admin-header small{margin-left:10px;font-size:15px}.admin-nav{flex-wrap:wrap;gap:9px;margin-bottom:22px;display:flex}.admin-nav button:last-child{margin-left:auto}.admin-login{max-width:460px}.admin-login label{margin:20px 0}.admin-metrics{grid-template-columns:repeat(5,1fr);gap:15px;display:grid}.admin-metrics .panel{border-radius:16px}.admin-metrics span{color:#777f6b;font-size:13px}.admin-metrics strong{margin-top:10px;font-size:34px;display:block}.table-scroll{margin:20px 0;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:640px;font-size:13px}th{color:#717964;background:#f5f5ec;font-weight:600}td,th{border-bottom:1px solid #e8e9df;padding:14px 12px}td{vertical-align:middle}.user-id{margin-top:5px;font-family:monospace;font-size:10px;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.config-form{max-width:960px}.config-form>label{margin:20px 0}.config-form h2:not(:first-child){margin-top:30px}.config-form textarea{font-family:monospace}.admin-shell .notice,.admin-shell .error{z-index:20;position:sticky;bottom:18px;box-shadow:0 5px 25px #30382b18}@media (width<=380px){.mobile-shell{padding-left:10px;padding-right:10px}.panel{padding:16px}.calendar{padding:12px 7px}.calendar-days button{min-height:44px}.legend{gap:8px}.app-header h1{font-size:25px}.scale{font-size:10px}.setting{padding-left:13px;padding-right:13px}}@media (width<=800px){.admin-shell{padding:16px}.admin-metrics{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.admin-header h1{font-size:22px}.admin-header{align-items:flex-start}.privacy-page{border-radius:0;margin:0;padding:24px}}@media (prefers-reduced-motion:no-preference){button,.fill{transition:background .15s,width .2s,border-color .15s}}.record-fields{border:0;min-width:0;margin:0;padding:0}.record-fields:disabled{opacity:.78}.record-fields:disabled input,.record-fields:disabled textarea{color:inherit;-webkit-text-fill-color:currentColor}.record-fields:disabled button{cursor:default}
