:root{--bg: #FDFBF6;--bg-elevated: #ffffff;--fg: #2B2E1F;--fg-muted: #6B6F55;--primary: #4B5233;--primary-hover: #5C663C;--accent: #5C6B3D;--accent-hover: #6F7F49;--gold: #C5A062;--danger: #A33A21;--danger-hover: #8A3019;--border: #DCD3B8;--border-strong: #C7B98D;--focus-ring: #4B5233;--radius: 16px;--radius-sm: 12px}:root[data-theme=dark]{--bg: #1C1B14;--bg-elevated: #2A2820;--fg: #F3EEDF;--fg-muted: #B8B49C;--primary: #707C46;--primary-hover: #8B9860;--accent: #707C46;--accent-hover: #8B9860;--gold: #D4AF7A;--danger: #D96B4C;--danger-hover: #E88569;--border: #3D3A2C;--border-strong: #55503A;--focus-ring: #8B9860}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1C1B14;--bg-elevated: #2A2820;--fg: #F3EEDF;--fg-muted: #B8B49C;--primary: #707C46;--primary-hover: #8B9860;--accent: #707C46;--accent-hover: #8B9860;--gold: #D4AF7A;--danger: #D96B4C;--danger-hover: #E88569;--border: #3D3A2C;--border-strong: #55503A;--focus-ring: #8B9860}}*{box-sizing:border-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;background:var(--bg);color:var(--fg);transition:background-color .2s ease,color .2s ease}h1,h2,h3{font-family:Playfair Display,Inter,serif;font-weight:600;line-height:1.3;margin:0 0 12px;color:var(--fg)}h1{font-size:26px}h2{font-size:19px}p{margin:0 0 16px;color:var(--fg-muted)}a{color:var(--primary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.theme-toggle{position:fixed;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:50;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease,border-color .15s ease}:root[data-theme=dark] .theme-toggle{background:#26231e;border:1px solid rgba(255,255,255,.08);color:#ffffffb3}:root[data-theme=dark] .theme-toggle:hover{background:#322e27;color:#fff}:root[data-theme=light] .theme-toggle{background:#fff;border:1px solid #E5DFC9;color:#6b6f55}:root[data-theme=light] .theme-toggle:hover{background:#fbf8f0;color:#2b2e1f}.screen{max-width:520px;min-height:100dvh;margin:0 auto;padding:calc(32px + env(safe-area-inset-top)) 20px calc(32px + env(safe-area-inset-bottom))}.brand{display:flex;align-items:center;gap:10px;padding-right:56px;margin-bottom:28px}.account-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:56px;margin-bottom:20px}.account-name{font-size:13px;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-logout{flex-shrink:0;background:none;border:none;min-height:auto;padding:4px 0;color:var(--fg-muted);font-size:13px;font-weight:600;text-decoration:underline}.account-logout:hover{background:none;color:var(--danger)}.brand-side-link{margin-left:auto;font-size:13px;font-weight:600;color:var(--fg-muted);text-decoration:none}.brand-side-link:hover{color:var(--primary)}.tab-nav{display:flex;gap:2px;margin-bottom:24px;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;min-height:auto;background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--fg-muted);text-decoration:none;font-family:inherit;font-weight:600;font-size:15px;white-space:nowrap;cursor:pointer;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}@media(max-width:400px){.tab-btn{padding-left:10px;padding-right:10px}}.tab-btn:hover{background:none;color:var(--fg)}.tab-btn-active{color:var(--primary);border-bottom-color:var(--primary)}.tab-count{font-size:12px;font-weight:700;color:var(--fg-muted);background:color-mix(in srgb,var(--fg-muted) 16%,transparent);border-radius:999px;padding:0 7px;line-height:18px}.tab-btn-active .tab-count{color:var(--primary);background:color-mix(in srgb,var(--primary) 16%,transparent)}.tab-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tab-dot-stale{background:var(--gold)}.tab-dot-pending{background:var(--primary);animation:pulse 1.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.tab-dot-pending{animation:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.status-block{text-align:center;padding-top:6vh}.diary-teaser{text-align:center}.diary-teaser-badge{display:inline-block;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.brand-mark{display:block;width:48px;height:48px;flex-shrink:0;object-fit:contain}.brand-mark-lg{width:104px;height:104px;margin:0 auto 20px}.brand-name{font-family:Playfair Display,serif;font-weight:600;font-size:15px;color:var(--fg-muted)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px;box-shadow:0 1px 2px #0c2a330a}.status-screen{text-align:center;padding-top:12vh}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;margin-bottom:20px}.status-icon.status-icon-pending{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}.status-icon.status-icon-success{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.status-icon.status-icon-danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.status-screen p{max-width:380px;margin-left:auto;margin-right:auto}.field{display:block;margin-bottom:20px}.field>span{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--fg-muted)}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--fg);font:inherit;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-strong)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary)}.field-checkbox{display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 4px;border-bottom:1px solid var(--border);cursor:pointer}.field-checkbox:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.field-checkbox span{flex:1;min-width:0;overflow-wrap:break-word;font-size:15px;color:var(--fg)}.field-checkbox input{width:24px;height:24px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 22px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .15s ease,opacity .15s ease}button:hover,.button:hover{background:var(--accent-hover)}button:active,.button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.button-secondary{background:transparent;color:var(--fg);border:1.5px solid var(--border-strong)}button.button-secondary:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}.button-danger{background:var(--danger)}.button-danger:hover{background:var(--danger-hover)}.progress-track{height:6px;border-radius:999px;background:var(--border);margin-bottom:8px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .25s ease}.step-indicator{font-size:13px;font-weight:500;color:var(--fg-muted);margin-bottom:20px}.wizard-nav{display:flex;gap:12px;margin-top:28px}.wizard-nav button{flex:1}.save-status{margin-top:16px;font-size:13px;color:var(--fg-muted);display:flex;align-items:center;gap:6px}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.save-dot.saving{background:var(--primary)}ul{list-style:none;padding:0;margin:0}li{padding:12px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}li:last-child{border-bottom:none}.user-name{font-weight:600}.user-meta{font-size:13px;color:var(--fg-muted);font-weight:400}.doc-link{background:none;border:none;padding:0;min-height:auto;text-align:left;width:100%;display:block;color:inherit;font:inherit}.doc-link:hover{background:none}.doc-link:hover .user-name{color:var(--primary)}.doc-row{display:flex;align-items:center;gap:8px}.doc-row .doc-link{flex:1;width:auto;min-width:0}.doc-delete{flex-shrink:0;width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--fg-muted)}.doc-delete:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.upload-queue{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);max-height:220px;overflow-y:auto}.upload-queue-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;animation:upload-item-in .25s ease}@keyframes upload-item-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.upload-queue-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;margin-top:1px}.upload-queue-item-done .upload-queue-icon{color:var(--primary)}.upload-queue-item-error .upload-queue-icon{color:var(--danger)}.upload-queue-text{display:flex;flex-direction:column;min-width:0}.upload-queue-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-queue-item-error .upload-queue-name{color:var(--danger)}.upload-queue-error{font-size:12px;color:var(--danger);opacity:.85}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.analysis-pending{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--fg-muted)}.analysis-pending .spinner{flex-shrink:0}.analysis-stale{margin:0 0 12px;padding:10px 14px;border-radius:10px;border:1px solid var(--gold, #C5A062);background:color-mix(in srgb,var(--gold, #C5A062) 12%,transparent);color:var(--fg);font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--border)}.upload-queue-item{animation:none}}.admin{--bg: #1D1B17;--bg-elevated: #26231E;--fg: #F3EFE8;--fg-muted: rgba(255, 255, 255, .65);--primary: #8A9856;--primary-hover: #9CAA68;--accent: #8A9856;--accent-hover: #9CAA68;--danger: #D9695F;--danger-hover: #E38076;--border: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .12);--focus-ring: #8A9856;--input-bg: #2E2A23;--placeholder-color: rgba(255, 255, 255, .35);--radius: 20px;--radius-sm: 14px;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,sans-serif}:root[data-theme=light] .admin{--bg: #FBFAF6;--bg-elevated: #FFFFFF;--fg: #1D1B17;--fg-muted: rgba(29, 27, 23, .65);--primary: #5C6B3D;--primary-hover: #4B5731;--accent: #5C6B3D;--accent-hover: #4B5731;--danger: #A33A21;--danger-hover: #8A3019;--border: rgba(29, 27, 23, .08);--border-strong: rgba(29, 27, 23, .16);--focus-ring: #5C6B3D;--input-bg: #F3F1EA;--placeholder-color: rgba(29, 27, 23, .35)}.admin h1,.admin h2,.admin h3{font-family:Inter,system-ui,sans-serif;font-size:20px;font-weight:600;margin:0}.admin p{font-size:16px}.admin section{margin-bottom:32px}.admin .card{padding:24px}.admin h2{margin-bottom:16px}.card-subtitle{font-size:14px;color:var(--fg-muted);margin:-12px 0 20px}.admin button,.admin .button{min-height:48px;padding:0 24px}.admin .field input,.admin .field textarea,.admin form input{height:48px;background:var(--input-bg);border:1px solid var(--border)}.admin .field textarea{height:auto}.admin input::placeholder{color:var(--placeholder-color)}.admin-header{display:flex;align-items:center;gap:16px;padding-bottom:24px;padding-right:56px;margin-bottom:32px;border-bottom:1px solid var(--border)}.admin-logo{width:56px;height:56px;object-fit:contain;flex-shrink:0}.admin-header-text{margin-left:auto;text-align:right}.admin-header-name{font-size:16px;font-weight:600}.admin-header-role{font-size:14px;font-weight:500;opacity:.7}.header-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg-muted);flex-shrink:0}.header-icon-button:hover{color:var(--fg)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0 8px;color:var(--fg-muted)}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--bg-elevated);color:var(--fg-muted);margin-bottom:16px}.icon-field{position:relative}.icon-field svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--fg-muted);pointer-events:none}.admin .icon-field input{width:100%;height:48px;padding:0 16px 0 44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--input-bg);color:var(--fg);font:inherit;font-size:16px}.admin .icon-field input::placeholder{color:var(--placeholder-color)}.admin form .icon-field{width:100%}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--primary) 24%,var(--bg-elevated));color:var(--fg);font-size:13px;font-weight:600;flex-shrink:0}.section-heading{display:flex;align-items:center;justify-content:space-between}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--bg-elevated);color:var(--fg-muted);font-size:13px;font-weight:600}.list-row{display:flex;align-items:center;gap:16px;width:100%}.list-row .user-link{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.list-row-meta{display:flex;align-items:center;gap:6px}.chevron{color:var(--fg-muted);flex-shrink:0}.show-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:16px;background:none;color:var(--primary);min-height:40px;font-size:14px;font-weight:600}.show-all:hover{background:none;color:var(--primary-hover)}.chat-panel{display:flex;flex-direction:column;margin-top:16px}.chat-messages{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow-y:auto;padding:4px 2px}.chat-empty{color:var(--fg-muted);text-align:center;padding:24px 0}.chat-bubble{max-width:85%;padding:10px 14px;border-radius:var(--radius-sm);font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-bubble-user{align-self:flex-end;background:var(--accent);color:#fff}.chat-bubble-assistant{align-self:flex-start;background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg)}.chat-bubble-pending{opacity:.6}.chat-bubble-time{margin-top:4px;font-size:11px;opacity:.6}.composer{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:10px 12px 8px;border:1px solid var(--border);border-radius:16px;background:var(--input-bg, var(--bg-elevated))}.composer-input{width:100%;resize:none;border:none;outline:none;background:transparent;color:var(--fg);font:inherit;font-size:15px;line-height:1.5;padding:0;max-height:200px;overflow-y:auto}.composer-input::placeholder{color:var(--placeholder-color, var(--fg-muted))}.composer-actions{display:flex;align-items:center;gap:4px}.admin .composer-icon{width:30px;height:30px;min-height:30px;padding:0;border-radius:8px;background:transparent;border:none;color:var(--fg-muted)}.admin .composer-icon:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg)}.composer-icon.is-active{color:var(--danger)}.admin .composer-send{width:32px;height:32px;min-height:32px;padding:0;border-radius:50%}.composer-send:disabled{opacity:.4;cursor:not-allowed}.pending-row{display:flex;flex-direction:column;gap:14px;width:100%}.pending-row .user-link{display:flex;align-items:center;gap:16px}.pending-row .row-actions{display:flex;gap:8px}.pending-row .row-actions button{flex:1}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-approved{background:var(--accent)}.status-dot-pending{background:var(--fg-muted)}.status-dot-rejected{background:var(--danger)}.section-hint{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-muted);margin:16px 0 0}.admin li{padding:16px 0;gap:16px}.admin .row-actions{display:flex;gap:8px}.admin .row-actions button{font-size:14px}.user-link{text-decoration:none;color:inherit;display:block;min-width:0}.user-link:hover .user-name{color:var(--primary)}.back-link{display:inline-block;margin-bottom:20px;color:var(--fg-muted);text-decoration:none;font-size:14px}.back-link:hover{color:var(--primary)}.status-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:14px}.status-badge-pending{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}.status-badge-approved{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.status-badge-rejected{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.admin form{display:flex;flex-direction:column;gap:16px}.admin form input{flex:1;min-width:160px;padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--fg);font:inherit;font-size:16px}.issued-link{margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.issued-link code{word-break:break-all;font-size:13px}.admin li.questionnaire-item{display:block;padding:16px 0}.questionnaire-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px}details.answers-toggle summary{cursor:pointer;color:var(--fg-muted);font-size:13px;font-weight:600;margin-bottom:8px;list-style:none;display:flex;align-items:center;gap:6px}details.answers-toggle summary::-webkit-details-marker{display:none}details.answers-toggle summary:before{content:"▸";display:inline-block;transition:transform .15s ease}details.answers-toggle[open] summary:before{transform:rotate(90deg)}.answer-list{margin:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 14px}.answer-row{padding:10px 0;border-bottom:1px solid var(--border)}.answer-row:last-child{border-bottom:none}.answer-row dt{font-size:13px;color:var(--fg-muted);margin-bottom:2px}.answer-row dd{margin:0;font-size:14px;color:var(--fg);white-space:pre-wrap;word-break:break-word}.login-screen{padding-top:6vh}.login-screen .brand{flex-direction:column;gap:8px;margin-bottom:20px}.login-card{text-align:center}.login-card h1{margin-bottom:8px}.login-lead{color:var(--fg-muted);font-size:15px;margin-bottom:22px}.login-card button,.login-card .button{width:100%}.login-bot-link{margin-top:10px}.code-input{display:flex;justify-content:center;gap:clamp(6px,2vw,10px);margin-bottom:18px}.code-digit{width:clamp(38px,13vw,52px);height:clamp(48px,16vw,62px);padding:0;text-align:center;font-family:inherit;font-size:clamp(20px,6vw,26px);font-weight:600;color:var(--fg);background:var(--bg);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.code-digit:focus{outline:none;border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 20%,transparent)}.code-digit:disabled{opacity:.6}.login-error{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;text-align:left;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent)}.login-install{margin-top:16px;padding:0;overflow:hidden}.install-toggle{width:100%;justify-content:space-between;gap:12px;padding:16px 20px;background:transparent;color:var(--fg);font-weight:600;font-size:15px;text-align:left;border-radius:0}.install-toggle:hover{background:color-mix(in srgb,var(--fg) 5%,transparent)}.install-chevron{display:inline-flex;color:var(--fg-muted);transition:transform .15s ease}.install-chevron-open{transform:rotate(180deg)}.install-steps{padding:0 20px 20px;border-top:1px solid var(--border)}.install-steps ol{margin:16px 0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5}.install-warning{margin:16px 0 0;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;line-height:1.5;background:color-mix(in srgb,var(--gold) 16%,transparent);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent)}.login-footnote{margin-top:18px;text-align:center}.issued-code{display:block;margin-top:8px;font-size:22px;font-weight:700;letter-spacing:.14em}.field select{min-height:48px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 20px center,right 14px center;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}.tz-detected{padding:12px 14px;margin-bottom:18px;border-radius:var(--radius-sm);font-size:14px;color:var(--fg);background:color-mix(in srgb,var(--gold) 14%,transparent);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}.tz-preview{margin:-6px 0 18px;font-size:14px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.diary-grid-hint{margin:0 0 14px}.weekbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.weekbar-range{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.weeknav{min-height:36px;width:36px;padding:0;font-size:17px;line-height:1;background:transparent;color:var(--fg);border:1.5px solid var(--border-strong)}.weeknav:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}.weeknav:disabled{opacity:.35;cursor:not-allowed}.weeknav:disabled:hover{background:transparent}.grid-head{display:flex;padding-left:52px;margin-bottom:4px}.grid-head span{flex:1;font-size:11px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.diary-grid .row{display:flex;align-items:center;height:44px}.row-label{width:52px;flex-shrink:0;font-size:12px;color:var(--fg-muted);font-variant-numeric:tabular-nums}.row-track{position:relative;flex:1;height:44px;background-image:repeating-linear-gradient(to right,var(--border) 0 1px,transparent 1px 25%);border-bottom:1px solid var(--border)}.dot{position:absolute;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;min-height:0;padding:0;border:none;border-radius:50%;background:transparent}.dot:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.dot:before{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg-elevated)}.dot:focus-visible{outline-offset:-4px}.row-gap .row-track,.row-future .row-track{background-image:none}.gap-fill{position:absolute;inset:5px 0;width:100%;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border-strong);border-radius:8px;background:none;color:var(--fg-muted);font-size:12px;font-weight:500}.gap-fill:hover{border-color:var(--gold);color:var(--fg);background:none}.row-marked{position:absolute;inset:0;display:flex;align-items:center;padding-left:4px;font-size:12px;color:var(--fg-muted);opacity:.7}.row-today .row-label{color:var(--fg);font-weight:700}.row-future .row-label{opacity:.45}.diary-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;color:var(--fg-muted)}.diary-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:1px}.diary-legend u{display:inline-block;width:14px;height:9px;border:1px dashed var(--border-strong);border-radius:3px;margin-right:6px;vertical-align:1px}.gapbar{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:16px;border:1px solid var(--border-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--gold) 12%,transparent)}.gapbar-text{flex:1;font-size:14px}.gapbar-text b{display:block;font-weight:600}.gapbar-btn{min-height:40px;padding:8px 14px;font-size:14px;flex-shrink:0}.day-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.day-head h3{font-size:15px;font-family:Inter,system-ui,sans-serif;font-weight:600;margin:0}.diary-empty-note{margin-bottom:12px}.entry{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.entry:first-child{padding-top:0}.entry:last-child{border-bottom:none;padding-bottom:0}.entry-time{width:46px;flex-shrink:0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg)}.entry-body{flex:1;min-width:0}.entry-type{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted)}.entry-food{margin:1px 0 0;color:var(--fg);word-break:break-word}.entry-meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.entry-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}.pill{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);color:var(--fg-muted)}.pill-todo{min-height:28px;border-color:var(--gold);color:var(--fg);background:color-mix(in srgb,var(--gold) 14%,transparent);font-weight:500}.pill-todo:hover{background:color-mix(in srgb,var(--gold) 24%,transparent)}.linklike{background:none;border:none;min-height:auto;padding:2px 0;color:var(--fg-muted);font-size:13px;font-weight:600;text-decoration:underline}.linklike:hover{background:none;color:var(--fg)}.linklike-danger:hover{color:var(--danger)}.diary-add{width:100%;margin-bottom:20px}.sheet-scrim{position:fixed;inset:0;background:#14130c80;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;max-width:520px;margin:0 auto;background:var(--bg-elevated);border:1px solid var(--border);border-bottom:none;border-radius:20px 20px 0 0;padding:8px 20px calc(20px + env(safe-area-inset-bottom));max-height:92dvh;overflow-y:auto}.grabber{width:38px;height:4px;border-radius:2px;background:var(--border-strong);margin:6px auto 14px}.sheet h2{margin-bottom:4px}.sheet-hint{margin:0 0 18px}.sheet-row{display:flex;gap:10px}.sheet-row .field{flex:1}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:14px;font-weight:500;padding:9px 14px;min-height:44px;border-radius:999px;border:1.5px solid var(--border-strong);background:transparent;color:var(--fg)}.chip:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.chip[aria-pressed=true]:hover{background:var(--accent-hover)}.disclosure{width:100%;justify-content:space-between;padding:14px 0;background:none;color:var(--fg-muted);border:none;border-top:1px solid var(--border);border-radius:0;font-size:14px;font-weight:500;text-align:left}.disclosure:hover{background:none;color:var(--fg)}.disclosure-sign{display:inline-block;transition:transform .15s ease}.disclosure-sign-open{transform:rotate(45deg)}.disclosure-body{padding-top:4px}.sheet-actions{display:flex;gap:10px;margin-top:8px}.sheet-actions button{flex:1}
