:root{color:#212e45;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f9fafb;--surface:#fff;--navy:#212e45;--button:#364663;--blue:#1f93fd;--muted:#6c7a91;--line:#e2e4e9;--radius:24px;background:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Noto Sans KR,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:default;opacity:.45}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #1f93fd}input:focus,textarea:focus{outline-offset:2px;outline:2px solid #1f93fd}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.7px;line-height:1.4}ul{margin:0;padding:0;list-style:none}fieldset{border:0;min-width:0;margin:0;padding:0}img{max-width:100%}svg{flex-shrink:0}button{transition:background .16s,color .16s,box-shadow .16s,transform .16s}::selection{background:#d9edff}.site-header{justify-content:space-between;align-items:center;gap:20px;max-width:1184px;margin:auto;padding:24px 32px;display:flex}.brand{text-align:left;align-items:center;gap:10px;padding:0;font-weight:800;line-height:1.1;display:flex}.desktop-nav{align-items:center;gap:32px;font-size:13px;display:flex}.desktop-nav button{color:#7a879a;padding:10px 0}.desktop-nav button.active{color:var(--navy);font-weight:700}.little-label{color:var(--muted);letter-spacing:.1px;font-size:11px;display:block}.button{overflow-wrap:anywhere;border-radius:15px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:12px 20px;font-size:15px;font-weight:600;line-height:1.5;display:inline-flex}.primary{background:var(--button);color:#fff}.primary:hover{background:var(--navy)}.secondary{border:1px solid var(--line);color:var(--navy);background:#fff}.secondary:hover{background:#f0f5fa}.danger{color:#fff;background:#b53f44}.danger:hover{background:#942e32}.danger-text{color:#b0444a!important}.wide{width:100%}.icon-button{border-radius:50%;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:8px;display:inline-flex}.icon-button:hover{background:#edf2f8}.text-button{text-underline-offset:4px;padding:6px 0;font-size:12px;text-decoration:underline}.login-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:90px}.login-card{background:#fff;border:1px solid #eef1f5;border-radius:28px;box-shadow:0 18px 70px #233b5d06}.login-card>p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.9}.google-button{background:#fff;border:1px solid #c6cdd6;width:100%;margin-top:30px;font-weight:500}.google-button:hover{background:#f7f9fc}.dashboard{max-width:1184px;margin:15px auto 70px;padding:0 32px}.page-intro{justify-content:space-between;align-items:center;display:flex}.page-intro h1{letter-spacing:-1.3px;font-weight:700}.intro-date{color:#8290a3;align-self:flex-end;align-items:center;gap:10px;margin-bottom:3px;font-size:11px;display:flex}.intro-date strong{color:#44556f;font-size:13px;font-weight:600}.diary-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:start;gap:38px;display:grid}.calendar-card{border-radius:var(--radius);background:#fff;border:1px solid #edf0f4;padding:26px 26px 20px;box-shadow:0 5px 24px #21314c03}.calendar-heading{justify-content:space-between;align-items:center;gap:5px;margin-bottom:26px;display:flex}.calendar-heading h2{margin-top:4px;font-size:22px}.calendar-controls{align-items:center;gap:1px;display:flex}.calendar-controls .icon-button{min-width:32px;min-height:36px;padding:5px}.today-button{border:1px solid var(--line);border-radius:20px;margin-right:7px;padding:5px 11px;font-size:11px}.today-button:hover{background:#edf4fc}.calendar-weekdays{text-align:center;color:#8a95a8;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:10px;font-size:11px;display:grid}.calendar-weekdays span:first-child{color:#c47572}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 3px;display:grid}.calendar-day{color:#42516a;border-radius:13px;flex-direction:column;align-items:center;gap:3px;min-width:0;height:70px;padding:7px 1px 3px;font-size:13px;display:flex;position:relative}.calendar-day:hover:not(:disabled){background:#f1f6fc}.day-number{font-weight:500;line-height:21px}.calendar-day.is-today .day-number{font-weight:800}.calendar-day.is-today .day-number:after{content:"";background:var(--blue);border-radius:50%;width:3px;height:3px;position:absolute;top:5px;right:calc(50% - 14px)}.calendar-day.is-selected,.calendar-day.is-selected:hover{background:var(--navy);color:#fff;box-shadow:0 4px 10px #212e4515}.day-status{white-space:nowrap;border-radius:4px;padding:1px 4px;font-size:8px;line-height:13px}.day-status.unconfirmed{color:#a26b25;background:#fff3df}.day-status.clear{color:#377c69;background:#eaf5ef}.day-status.recorded{color:#287dbc;background:#e8f3ff}.calendar-day.is-selected .day-status{color:#fff;background:#ffffff16}.calendar-day.other-month{opacity:.2}.calendar-day.future{opacity:.33}.meal-marker{background:0 0;border-radius:50%;width:4px;height:4px;margin-top:1px}.meal-marker.has-meal{background:#8294b2}.is-selected .meal-marker.has-meal{background:#b1cff4}.calendar-legend{color:#7b8799;border-top:1px solid #eef1f4;justify-content:center;gap:15px;margin-top:16px;padding-top:17px;font-size:9px;display:flex}.calendar-legend>span{white-space:nowrap;align-items:center;gap:5px;display:flex}.legend-dot{border-radius:50%;width:6px;height:6px;display:block}.legend-dot.unconfirmed{background:#e7b668}.legend-dot.clear{background:#77b49f}.legend-dot.recorded{background:#65ade3}.legend-meal{background:#8294b2;border-radius:50%;width:4px;height:4px}.day-heading{justify-content:space-between;align-items:center;padding:4px 0 20px;display:flex}.day-heading h2{margin-top:5px;font-size:23px}.add-circle{color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 4px 14px #212e4515}.add-circle:hover{background:#364663}.day-summary{background:linear-gradient(115deg,#f0f7ff,#f8fbff);border:1px solid #deebf8;border-radius:20px;padding:19px 22px}.summary-top{justify-content:space-between;align-items:center;display:flex}.status{border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:4px;height:4px}.status-recorded{color:#327fb8;background:#deedff}.status-clear{color:#367662;background:#dfefe7}.status-unconfirmed{color:#926427;background:#ffedcd}.summary-caption{color:#8a9bb0;font-size:10px}.day-summary p{margin-top:10px;font-size:14px;font-weight:500}.day-summary.clear{background:#f0f8f4;border-color:#dfede5}.day-summary.unconfirmed{background:#fffbf3;border-color:#f0e6d3}.clear-action{background:#fff;border:1px solid #dbdfd5;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;padding:11px;font-size:12px;font-weight:500;display:flex}.clear-action:hover{background:#f0f7f1}.record-actions{gap:12px;margin-top:16px;display:flex}.record-actions>button{background:#fff;border-radius:14px;flex:1;align-items:center;min-width:0;padding:13px 12px;font-size:12px;font-weight:600;display:flex}.record-actions>button>svg{margin-left:auto}.record-actions>button:hover{background:#fcfdff;border-color:#a8c8e7}.list-heading{justify-content:space-between;align-items:center;margin:27px 0 13px;display:flex}.list-heading h3{font-size:13px;font-weight:600}.timeline{flex-direction:column;gap:12px;display:flex}.record-card{text-align:left;background:#fff;border:1px solid #edf0f4;border-radius:19px;width:100%;padding:18px 20px;display:block;box-shadow:0 3px 15px #21314c02}.record-card:hover{border-color:#c5d9ed;box-shadow:0 4px 20px #21314c08}.record-card-top{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.record-kind{color:#7c8ba0;align-items:center;gap:6px;font-size:10px;display:flex}.record-kind.symptom{color:#3b8bca}.record-card time{color:#8a95a8;font-variant-numeric:tabular-nums;font-size:10px}.record-card-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.record-card-main>svg{color:#95a2b4}.symptom-tags{flex-wrap:wrap;gap:8px;display:flex}.symptom-tags>span{color:#47647f;background:#eef5fd;border-radius:8px;padding:5px 9px;font-size:12px}.symptom-tags b{color:#2d7bba;margin-left:5px;font-size:13px}.symptom-tags small{color:#8b9daf;margin-left:2px;font-size:9px}.record-memo{color:#8390a3;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:2;border-top:1px solid #f1f4f8;-webkit-box-orient:vertical;margin-top:13px;padding-top:12px;font-size:11px;line-height:1.8;display:-webkit-box;overflow:hidden}.empty-state{text-align:center;border:1px dashed #e0e7ee;border-radius:20px;padding:40px 15px}.empty-state h3{font-size:14px;font-weight:500}.empty-state p{color:#8a95a8;margin-top:8px;font-size:12px;line-height:1.9}.account-page{max-width:680px;margin:35px auto 100px;padding:0 24px}.account-page h1{font-size:28px}.account-card{background:#fff;border:1px solid #edf0f4;border-radius:24px;margin-top:30px;padding:26px}.account-profile{align-items:center;gap:14px;display:flex}.account-row{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;width:100%;padding:18px 0;font-size:13px;display:flex}.account-row:last-child{border-bottom:0}.account-row svg{color:#90a0b4;width:17px;height:17px}.mobile-nav{display:none}.toast{z-index:10;color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#212e45ed;border-radius:30px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:12px 22px;font-size:12px;transition:all .2s;display:flex;position:fixed;bottom:34px;left:50%;transform:translate(-50%,15px);box-shadow:0 8px 30px #212e4520}.toast.visible{opacity:1;transform:translate(-50%)}.modal{width:calc(100% - 32px);max-width:540px;max-height:90dvh;color:var(--navy);background:var(--bg);overscroll-behavior:contain;border:1px solid #e5ebf3;border-radius:26px;padding:0;overflow:auto;box-shadow:0 25px 100px #101e3c26}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#15243b66}.modal-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;background:#f9fafbf5;border-bottom:1px solid #e9edf3;justify-content:space-between;align-items:center;gap:12px;padding:24px 26px 20px;display:flex;position:sticky;top:0}.modal-header h2{font-size:22px}.close-button{background:#fff;border:1px solid #e5ebf3}.form-body,.detail-body{padding:24px 26px 0}.field-group{margin-bottom:25px}.field-label{margin-bottom:10px;font-size:14px;font-weight:600;display:block}.field-hint{color:#7f8da1;margin:-3px 0 12px;font-size:11px;line-height:1.8}.field-error{color:#b34343;margin-top:9px;font-size:12px}.form-date-time{grid-template-columns:1.1fr 1fr;gap:14px;display:grid}.text-input{color:#26364d;background:#fff;border:1px solid #dfe5ed;border-radius:12px;width:100%;min-width:0;min-height:50px;padding:13px 12px;font-size:16px;line-height:1.6}.text-input::placeholder{color:#99a5b5;font-size:13px}.text-input[aria-invalid=true]{border-color:#cf6767}.segmented{gap:10px;display:flex}.segmented button{border:1px solid var(--line);background:#fff;border-radius:11px;flex:1;padding:12px 6px;font-size:13px}.segmented button.selected{color:#187cc6;background:#f4faff;border-color:#1f93fd;font-weight:600}.food-input-row{gap:8px;display:flex}.food-input-row input{flex:1;min-width:0}.food-input-row .button{padding:10px 15px;font-size:13px}.symptom-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.symptom-option{background:#fff;border:1px solid #e3e8ef;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:74px;padding:9px 2px;font-size:11px;display:flex}.symptom-option>span{color:#9aabba;background:#f0f3f7;border-radius:50%;place-items:center;width:24px;height:24px;font-size:16px;display:grid}.symptom-option.selected{color:#1d75b7;background:#edf6ff;border-color:#62aff0}.symptom-option.selected>span{color:#fff;background:#2b94ea;font-size:12px}.severity-list{flex-direction:column;gap:16px;display:flex}.severity-card{background:#fff;border:1px solid #e3eaf3;border-radius:14px;padding:16px 14px 10px}.severity-card legend{padding:0 5px;font-size:13px;font-weight:600}.severity-card legend>span{color:#458bc0;margin-left:8px;font-size:11px;font-weight:400}.severity-numbers{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.severity-numbers button{color:#74849a;border:1px solid #e1e8f0;border-radius:7px;height:38px;padding:0;font-size:12px}.severity-numbers button.selected{background:var(--button);color:#fff;border-color:var(--button)}.severity-scale{color:#9aa6b5;justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.memo-input{resize:vertical;min-height:105px;max-height:300px}.optional-label{color:#8292a7;background:#eaf0f6;border-radius:4px;margin-left:5px;padding:2px 6px;font-size:10px;font-weight:400}.memo-input+.field-hint{margin-top:7px}.form-actions{background:var(--bg);z-index:1;border-top:1px solid #e8edf3;gap:10px;margin-top:12px;padding:20px 0;display:flex;position:sticky;bottom:0}.form-actions>.button{flex:1;min-width:0}.form-actions>.primary{flex:2}.modal-tip{color:#527494;background:#eaf3fd;margin:0;padding:13px 24px;font-size:12px}.choice-body,.confirm-body{padding:24px 26px}.choice-body>p,.confirm-body>p{color:#728099;margin-bottom:20px;font-size:14px;line-height:1.9}.choice-card{text-align:left;background:linear-gradient(100deg,#fff,#eef6fd);border:1px solid #e3eaf3;border-radius:17px;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:22px;display:flex}.choice-card>svg{color:#6384a5}.choice-card>svg:last-child{margin-left:auto}.choice-card strong{font-size:15px;display:block}.choice-card small{color:#8a95a8;margin-top:4px;font-size:11px;display:block}.detail-date{color:#8795a9;margin-bottom:20px;font-size:13px}.detail-foods{flex-wrap:wrap;margin-bottom:30px}.detail-foods li{overflow-wrap:anywhere;background:#fff;border:1px solid #e0e7f0;border-radius:12px;max-width:100%;padding:12px 17px;font-size:15px}.detail-symptoms{flex-direction:column;gap:14px;margin-bottom:25px;display:flex}.detail-symptoms>div{background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px;font-size:14px;display:flex}.detail-symptoms span{color:#8a95a8;font-size:12px}.detail-symptoms b{color:#408bc4;font-size:16px}.severity-bar{background:#e8eff7;border-radius:5px;width:100%;height:5px;overflow:hidden}.severity-bar i{background:#76b8eb;border-radius:5px;height:100%;display:block}.detail-body h3{margin-bottom:10px;font-size:13px}.detail-memo{white-space:pre-wrap;color:#728199;overflow-wrap:anywhere;background:#fff;border-radius:14px;margin-bottom:20px;padding:16px;font-size:14px;line-height:1.9}@media (width>=1300px){.dashboard{margin-top:32px}.diary-grid{gap:48px}.calendar-card{padding:28px 30px 22px}.calendar-day{height:75px}}@media (width<=900px){.site-header{padding:22px 24px}.dashboard{padding:0 24px}.diary-grid{grid-template-columns:1fr 1fr;gap:22px}.calendar-card{padding:20px 15px 18px}.calendar-controls{gap:0}.calendar-heading h2{font-size:19px}.calendar-legend{gap:9px;font-size:8px}.record-actions{gap:8px}.record-actions>button{gap:6px;padding:11px 8px;font-size:11px}.login-layout{gap:35px;margin-top:50px}.login-card{padding:30px 24px}}@media (width<=700px){.site-header{padding:20px 20px 16px}.brand{font-size:23px}.desktop-nav{display:none}.dashboard{max-width:520px;margin:18px auto 115px;padding:0 18px}.page-intro h1{letter-spacing:-1px}.diary-grid{grid-template-columns:1fr;gap:27px}.calendar-card{border-radius:22px;padding:22px 16px 17px}.calendar-heading{margin-bottom:22px;padding:0 4px}.calendar-heading h2{font-size:21px}.calendar-controls .icon-button{min-width:32px;min-height:40px}.calendar-days{gap:2px 3px}.calendar-legend{gap:16px;margin-top:13px;padding-top:16px;font-size:9px}.day-heading{padding:0 3px 17px}.day-heading h2{font-size:22px}.day-summary{border-radius:18px;padding:18px 19px}.record-actions{gap:10px;margin-top:12px}.list-heading{margin-top:25px}.record-card{padding:18px}.record-kind,.record-card time{font-size:11px}.record-memo{font-size:12px}.mobile-nav{z-index:5;bottom:max(13px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #e0e5ebe6;border-radius:40px;align-items:center;gap:5px;width:235px;height:65px;padding:5px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 28px #212e4512}.mobile-nav button{color:#8a95a8;border-radius:32px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;height:53px;font-size:9px;display:flex}.mobile-nav button.active{color:#1f93fd;background:#e7eff8}.toast{white-space:normal;width:max-content;padding:11px 16px;font-size:11px;bottom:96px}.login-layout{flex-direction:column;gap:30px;max-width:480px;padding:0 24px;display:flex}.login-card{border-radius:24px;width:100%;padding:28px 24px}.login-card>p{font-size:13px}.google-button{margin-top:23px}.account-page{max-width:520px;margin:30px auto 120px;padding:0 20px}.account-card{padding:22px 20px}.account-row{font-size:12px}.account-profile{gap:9px}.account-profile h2{font-size:16px}.modal{border-radius:24px 24px 0 0;width:100%;max-width:520px;max-height:94dvh;margin:auto auto 0}.modal-header{padding:21px 20px 17px}.modal-header h2{font-size:21px}.form-body,.detail-body{padding:22px 20px 0}.form-actions{padding-bottom:max(18px, env(safe-area-inset-bottom));gap:8px}.form-actions .button{font-size:14px}.symptom-grid{gap:7px}.symptom-option{min-height:75px;font-size:10px}.severity-card{padding:14px 9px 10px}.choice-body,.confirm-body{padding:23px 20px}.choice-card{gap:12px;padding:20px 16px}}@media (width<=360px){.calendar-legend{gap:9px}.page-intro h1{font-size:21px}.day-status{padding:1px 3px;font-size:7px}.calendar-card{padding-inline:12px}.login-layout{padding:0 18px}.form-body{padding-inline:15px}.symptom-grid{gap:5px}.severity-numbers{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.severity-numbers button{height:40px}}@media (width<=700px){.calendar-day{height:56px}.severity-numbers{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.severity-numbers button{height:44px;font-size:13px}}.toast:empty{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.login-layout{width:100%;max-width:440px;margin:60px auto;padding:0 24px;display:block}.login-card{padding:30px 26px}.login-card h1{font-size:24px}.login-card>.primary{margin-top:12px}.brand{letter-spacing:-.7px;font-size:22px}.modal-header{padding-block:20px}.account-profile h2{font-size:15px;font-weight:500}.page-intro{margin-bottom:24px}.page-intro h1{font-size:26px}@media (width<=700px){.login-layout{margin:40px auto}.site-header{padding-block:20px}.dashboard{margin-top:12px}.page-intro{margin-bottom:20px}.page-intro h1{font-size:23px}.intro-date{gap:7px;font-size:10px;display:flex}}.summary-symptoms{gap:13px;margin-top:16px;display:grid}.summary-symptoms li{align-items:flex-start;gap:12px;display:flex}.summary-symptoms time{font-variant-numeric:tabular-nums;color:#506b88;flex-shrink:0;padding-top:7px;font-size:12px}.summary-symptoms .symptom-tags>span{background:#fff;border:1px solid #d6e7f9;font-size:13px}.summary-symptoms .symptom-tags b{font-size:15px}.record-actions>button{color:#fff;border:0;justify-content:center;gap:7px;min-height:56px;box-shadow:0 4px 12px #21314c15}.record-actions>button>svg{color:inherit;flex-shrink:0;margin:0}.record-actions>.add-meal{background:#216f62}.record-actions>.add-meal:hover{background:#19584e}.record-actions>.add-symptom{background:#176db5}.record-actions>.add-symptom:hover{background:#11588f}.add-circle{background:#176db5}.record-foods{flex:1;gap:7px;min-width:0;display:grid}.record-foods li{overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:14px;font-size:14px;display:flex}.record-foods small{color:#64738a;flex-shrink:0;max-width:45%;font-size:12px}.detail-foods{gap:10px;display:grid}.detail-foods li{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.detail-foods strong{color:#426d69;flex-shrink:0;max-width:45%;font-size:13px;font-weight:500}.food-amount-list{gap:14px;margin-top:16px;display:grid}.food-amount-card{background:#fff;border:1px solid #dce5ec;border-radius:16px;min-width:0;padding:12px 14px 16px}.food-amount-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.food-amount-heading strong{overflow-wrap:anywhere;min-width:0;font-size:15px}.food-amount-heading button{color:#74849b;flex-shrink:0;font-size:22px}.amount-label{margin-bottom:10px;font-size:12px;font-weight:600}.amount-modes{gap:14px;margin-bottom:13px;display:flex}.amount-modes button{color:#718095;border-bottom:2px solid #0000;padding:5px 0;font-size:12px}.amount-modes button[aria-pressed=true]{color:#216f62;border-color:#216f62;font-weight:600}.portion-options{gap:7px}.portion-options button{min-height:44px;padding:9px 5px}.portion-options button.selected{color:#216f62;background:#edf7f3;border-color:#216f62}.quantity-inputs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quantity-inputs label{color:#617087;min-width:0;font-size:11px}.quantity-inputs input{margin-top:5px}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(20px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.page-enter,.day-enter{animation:.24s ease-out both page-in}.calendar-enter{animation:.2s ease-out both fade-in}.modal[open]{animation:.22s ease-out both dialog-in}.modal[open]::backdrop{animation:.2s ease-out both fade-in}.food-amount-card,.severity-card{animation:.18s ease-out both page-in}button{touch-action:manipulation}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{outline-offset:3px;outline:3px solid #64abed}@media (width<=700px){.day-status{padding-inline:2px;font-size:8px}.record-actions>button{gap:5px;padding:12px 8px;font-size:12px}}.auth-email{overflow-wrap:anywhere}.login-card>.secondary{margin-top:12px}.auth-global-error{color:#9b3030;z-index:15;background:#fff2f2;border:1px solid #edc8c8;border-radius:12px;max-width:calc(100% - 32px);padding:14px 18px;font-size:13px;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.account-profile h2{overflow-wrap:anywhere;min-width:0}.record-actions>button:disabled,.add-circle:disabled,.clear-action:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.record-fields{border:0;min-width:0;margin:0;padding:0}.load-notice{color:#52637b;background:#edf2f7;border-radius:14px;margin-bottom:22px;padding:16px 18px;font-size:13px}.load-notice .button{min-height:42px;margin-top:12px;font-size:12px}.list-tools{color:#718095;align-items:center;gap:12px;font-size:10px;display:flex}.list-tools .text-button{font-size:11px}.save-error{background:#fff1f1;border-radius:10px;padding:12px}.record-fields:disabled{opacity:.7}.form-actions button:disabled{opacity:.6;cursor:wait}.feedback-prompt{background:#fff;border:1px solid #dce5ee;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:18px;padding:12px 16px;font-size:13px;display:flex}.feedback-prompt>span{flex:1}.feedback-link{color:#496785;text-underline-offset:4px;min-height:44px;padding:8px 0;font-size:13px;text-decoration:underline}.feedback-detail{border-top:1px solid #edf0f4;margin-top:22px;padding-top:8px}.feedback-footer{padding:0 24px 20px}.feedback-form{padding:24px 24px 0}.feedback-form fieldset{border:0;min-width:0;margin:0;padding:0}.feedback-question{margin-bottom:18px;font-size:16px;font-weight:600;line-height:1.5}.feedback-ratings{gap:10px;margin-bottom:24px;display:flex}.feedback-ratings button{border:1px solid #dce4ed;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:52px;font-size:14px;display:flex}.feedback-ratings button[aria-pressed=true]{color:#176bb8;background:#e9f3ff;border-color:#2589e8}.feedback-field{flex-direction:column;gap:10px;margin-bottom:10px;font-size:14px;font-weight:500;display:flex}.feedback-field select,.feedback-field textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #d9e1eb;border-radius:12px;padding:12px}.feedback-field select{min-height:46px;margin-bottom:14px}.feedback-field textarea{resize:vertical;min-height:130px;line-height:1.6}.feedback-count{text-align:right;color:#6c7b8e;font-size:12px;display:block}.feedback-form fieldset:disabled{opacity:.65}.account-deletion>p{margin-bottom:16px;line-height:1.8}.delete-confirmation{align-items:flex-start;gap:10px;margin:24px 0;font-size:14px;line-height:1.6;display:flex}.delete-confirmation input{flex-shrink:0;width:18px;height:18px;margin-top:2px}.button:disabled{opacity:.5;cursor:not-allowed}.login-card>.danger-text{margin-top:14px}@media (width<=700px){.feedback-form{padding:22px 20px 0}.feedback-ratings button{font-size:13px}.feedback-prompt{font-size:12px}}.feedback-compact-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-compact-row h3,.feedback-complete h3{font-size:14px;font-weight:600}.feedback-compact-row .feedback-ratings{width:100%;margin:0}.feedback-expansion{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.2,.7,.2,1),opacity .2s,transform .28s;display:grid;transform:translateY(-4px)}.feedback-expansion.is-expanded{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.feedback-expansion-inner{min-height:0;overflow:hidden}.feedback-expanded-content{padding:20px 3px 0}.feedback-form:not(.feedback-inline)>.feedback-compact-row{padding-bottom:22px}.feedback-form:not(.feedback-inline) .feedback-expanded-content{padding-top:0}.feedback-sent{align-items:center;gap:8px;min-height:40px;font-size:13px;display:flex}.feedback-complete{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.day-feedback{color:#715528;background:linear-gradient(115deg,#fff7df,#fffaf0);border:1px solid #ebd9a6;border-radius:20px;margin-top:22px;padding:16px 20px}.day-feedback .feedback-form{padding:0}.day-feedback .feedback-compact-row .feedback-ratings{gap:8px;width:auto}.day-feedback .feedback-ratings button{color:#947039;background:#fffdf6;border:1px solid #e8d7ad;border-radius:12px;flex:none;width:40px;min-height:40px;padding:0}.day-feedback .feedback-ratings button:hover{background:#f9ebc7;border-color:#d8bf7f}.day-feedback .feedback-ratings button[aria-pressed=true]{color:#694a1a;background:#eed79c;border-color:#c9a65c;box-shadow:inset 0 0 0 1px #c9a65c}.day-feedback .feedback-question{color:#715528;margin-bottom:14px;font-size:13px;font-weight:500}.day-feedback .feedback-field{color:#715528;font-size:12px}.day-feedback textarea{background:#fffdf7;border-color:#e8d7ad;min-height:88px;font-size:13px}.day-feedback .feedback-count{color:#897653;font-size:11px}.day-feedback .form-actions{z-index:auto;background:0 0;border:0;justify-content:flex-end;margin-top:14px;padding:0;position:static}.day-feedback .form-actions .button{color:#634819;min-height:40px;box-shadow:none;background:#eed79c;border:1px solid #cfaf6a;flex:none;padding:10px 18px;font-size:12px}.day-feedback .form-actions .button:hover{background:#e6ca83;border-color:#c49e50}.day-feedback button:focus-visible,.day-feedback textarea:focus-visible{outline-offset:3px;outline:3px solid #b28a40}.demo-exit{color:#586d86;white-space:nowrap;border:1px solid #dce3ec;border-radius:20px;margin-left:auto;margin-right:20px;padding:7px 13px;font-size:12px}.demo-start{margin-top:12px}@media (width<=700px){.day-feedback{border-radius:18px;padding:14px 18px}.demo-exit{margin-right:0}}@media (prefers-reduced-motion:reduce){.feedback-expansion{transition:none;transform:none}}.feedback-inline{scroll-margin-block:16px 112px}.feedback-ratings button.rating-easy{--rating-ink:#2e7158;--rating-line:#b9d6c6;--rating-bg:#eff8f1;--rating-hover:#e1f1e7;--rating-selected:#cfe9d8;--rating-selected-line:#76aa8c}.feedback-ratings button.rating-difficult{--rating-ink:#a94444;--rating-line:#e8c3bd;--rating-bg:#fdf1ee;--rating-hover:#f9e4df;--rating-selected:#f3d4ce;--rating-selected-line:#d48d81}.feedback-ratings button:is(.rating-easy,.rating-difficult){color:var(--rating-ink);border-color:var(--rating-line);background:var(--rating-bg)}.feedback-ratings button:is(.rating-easy,.rating-difficult):hover{background:var(--rating-hover);border-color:var(--rating-selected-line)}.feedback-ratings button:is(.rating-easy,.rating-difficult)[aria-pressed=true]{background:var(--rating-selected);border-color:var(--rating-selected-line);color:var(--rating-ink);box-shadow:inset 0 0 0 1px var(--rating-selected-line)}.day-feedback .form-actions .secondary{color:#766847;background:#fffdf6;border-color:#e6ddc9}.day-feedback .form-actions .secondary:hover{background:#f6f0e1;border-color:#d7cbae}.enrollment-card{max-width:520px}.enrollment-card .form-body{padding:0}.enrollment-actions{justify-content:space-between;align-items:center;gap:24px;margin-top:18px;display:flex}.enrollment-actions .text-button{min-height:44px}.enrollment-card h2{margin:24px 0 12px;font-size:17px}.terms-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8fa;border:1px solid #e4e9ec;border-radius:14px;max-height:240px;padding:18px;line-height:1.7;overflow-y:auto}.consent-check{align-items:flex-start;gap:10px;margin:18px 0;line-height:1.6;display:flex}.consent-check input{accent-color:#347b66;flex-shrink:0;width:20px;height:20px;margin-top:3px}.severity-numbers.three-level{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.severity-numbers.three-level button{width:auto;min-height:44px;font-size:14px}.daily-check-card{background:#edf4ef;border:1px solid #d4e6d9;border-radius:20px;margin-top:22px;padding:20px}.daily-check-card h3{margin:0;font-size:17px}.daily-check-card p{margin:12px 0;font-size:14px;line-height:1.7}.daily-check-card .button{margin-top:12px}.daily-check-card .summary-top>span{color:#3c6954;font-size:13px}.check-options{flex-wrap:wrap;gap:8px;display:flex}.check-options button{color:#41534b;background:#fff;border:1px solid #dce4e2;border-radius:12px;min-height:44px;padding:12px 14px;transition:background .18s,border-color .18s,transform .18s}.check-options button[aria-pressed=true]{color:#205b41;background:#e1f0e6;border-color:#679c7f}.check-options button:active{transform:scale(.97)}.daily-check-form .field-group{margin-bottom:24px}@media (prefers-reduced-motion:reduce){.check-options button{transition:none}}
