:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-bg:#f4f6fb;--c-surface:#fff;--c-surface-2:#eef1f8;--c-surface-3:#e2e7f2;--c-border:#dce1ee;--c-border-strong:#c3cbe0;--c-text:#1a1f2e;--c-text-sub:#5a6378;--c-text-faint:#8790a5;--c-primary:#2f5fd0;--c-primary-hover:#244bb0;--c-primary-ink:#1f3f96;--c-primary-soft:#e7eeff;--c-on-primary:#fff;--c-primary-line:#b7c8f5;--c-danger:#b42323;--c-danger-soft:#fdeaea;--c-danger-line:#f0bcbc;--c-warn:#7a5210;--c-warn-soft:#fdf3e0;--c-warn-line:#e8d3a8;--c-ok:#1d6a45;--c-ok-soft:#e6f4ec;--c-sun:#c93030;--c-sat:#2b62c9;--h-red:#d93f3f;--h-orange:#d9691a;--h-amber:#b8860b;--h-green:#2a9d5c;--h-teal:#178f9b;--h-blue:#3563e0;--h-purple:#8a4bd0;--h-pink:#d1398f;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--f-sm:14px;--f-base:16px;--f-md:18px;--f-lg:21px;--f-xl:26px;--lh-tight:1.35;--lh-base:1.7;--radius-sm:10px;--radius:14px;--radius-lg:20px;--shadow-1:0 1px 2px #1a1f2e0d;--shadow-2:0 2px 4px #1a1f2e0f, 0 1px 2px #1a1f2e0a;--shadow-3:0 8px 24px #1a1f2e24, 0 2px 6px #1a1f2e0f;--tap:44px;--tap-lg:52px;--header-h:56px;--tabbar-h:62px;--content-max:1240px;--ease:cubic-bezier(.2, 0, .2, 1);--dur:.16s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#171b29;--c-surface:#1f2436;--c-surface-2:#272d43;--c-surface-3:#313852;--c-border:#343b55;--c-border-strong:#4a5373;--c-text:#e8ebf5;--c-text-sub:#a6aec5;--c-text-faint:#7f88a1;--c-primary:#8aaaff;--c-primary-hover:#a6bfff;--c-primary-ink:#b8cbff;--c-primary-soft:#232b4a;--c-on-primary:#0e1633;--c-primary-line:#3a4a80;--c-danger:#ff8d8d;--c-danger-soft:#3a2126;--c-danger-line:#5e343b;--c-warn:#e0b872;--c-warn-soft:#30291a;--c-warn-line:#4d4027;--c-ok:#7dd3a3;--c-ok-soft:#1c2d26;--c-sun:#ff8a8a;--c-sat:#86b3ff;--h-red:#ff7b7b;--h-orange:#ffa15c;--h-amber:#f2c14e;--h-green:#5fd08c;--h-teal:#4fd1de;--h-blue:#7ea2ff;--h-purple:#c09aff;--h-pink:#ff8ccb;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 2px 6px #00000059;--shadow-3:0 10px 28px #00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#171b29;--c-surface:#1f2436;--c-surface-2:#272d43;--c-surface-3:#313852;--c-border:#343b55;--c-border-strong:#4a5373;--c-text:#e8ebf5;--c-text-sub:#a6aec5;--c-text-faint:#7f88a1;--c-primary:#8aaaff;--c-primary-hover:#a6bfff;--c-primary-ink:#b8cbff;--c-primary-soft:#232b4a;--c-on-primary:#0e1633;--c-primary-line:#3a4a80;--c-danger:#ff8d8d;--c-danger-soft:#3a2126;--c-danger-line:#5e343b;--c-warn:#e0b872;--c-warn-soft:#30291a;--c-warn-line:#4d4027;--c-ok:#7dd3a3;--c-ok-soft:#1c2d26;--c-sun:#ff8a8a;--c-sat:#86b3ff;--h-red:#ff7b7b;--h-orange:#ffa15c;--h-amber:#f2c14e;--h-green:#5fd08c;--h-teal:#4fd1de;--h-blue:#7ea2ff;--h-purple:#c09aff;--h-pink:#ff8ccb;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 2px 6px #00000059;--shadow-3:0 10px 28px #00000080}@media (prefers-reduced-motion:reduce){:root{--dur:0s}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--c-bg);color:var(--c-text);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:var(--f-base);line-height:var(--lh-base);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;margin:0}img,svg{max-width:100%;display:block}img{height:auto}h1,h2,h3{line-height:var(--lh-tight);letter-spacing:.01em;margin:0}h1{font-size:var(--f-xl);font-weight:700}h2{font-size:var(--f-lg);font-weight:700}h3{font-size:var(--f-md);font-weight:700}p{margin:0}a{color:var(--c-primary);text-underline-offset:3px}:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px;border-radius:6px}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:20;height:var(--header-h);align-items:center;gap:var(--s2);padding:0 var(--s3);background:color-mix(in srgb, var(--c-surface) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--c-border);display:flex;position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-header{background:var(--c-surface)}}.brand{align-items:center;gap:var(--s2);color:inherit;letter-spacing:.02em;flex:none;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:var(--c-primary);width:30px;height:30px;color:var(--c-on-primary);border-radius:9px;flex:none;place-items:center;display:grid}.app-body{flex:1;min-height:0;display:flex}.app-main{min-width:0;padding:var(--s4) var(--s3);padding-bottom:calc(var(--tabbar-h) + 104px + env(safe-area-inset-bottom));flex:1}.content{max-width:var(--content-max);margin:0 auto}.sidebar{display:none}.tabbar{z-index:20;background:var(--c-surface);border-top:1px solid var(--c-border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar a{min-height:var(--tabbar-h);font-size:var(--f-sm);color:var(--c-text-sub);transition:color var(--dur) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--c-primary);font-weight:700}.tabbar a svg{width:22px;height:22px}@media (width>=768px){.tabbar{display:none}.app-main{padding:var(--s5) var(--s5) var(--s7)}.sidebar{width:236px;padding:var(--s4) var(--s3);border-right:1px solid var(--c-border);background:var(--c-surface);flex:none;display:block}.sidebar a{align-items:center;gap:var(--s3);min-height:var(--tap);padding:0 var(--s3);border-radius:var(--radius-sm);color:var(--c-text-sub);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);margin-bottom:2px;font-weight:600;text-decoration:none;display:flex}.sidebar a:hover{background:var(--c-surface-2);color:var(--c-text)}.sidebar a[aria-current=page]{background:var(--c-primary-soft);color:var(--c-primary-ink)}.sidebar a svg{flex:none;width:21px;height:21px}}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:var(--s4)}.card-tap{transition:box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease)}.card-tap:hover{box-shadow:var(--shadow-2);border-color:var(--c-border-strong)}.card-tap:active{transform:scale(.995)}.stack{gap:var(--s4);flex-direction:column;display:flex}.stack-sm{gap:var(--s2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.row-nw{align-items:center;gap:var(--s2);flex-wrap:nowrap;display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.grow{flex:1;min-width:0}.muted{color:var(--c-text-sub);font-size:var(--f-sm)}.faint{color:var(--c-text-faint);font-size:var(--f-sm)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wrap-anywhere{overflow-wrap:anywhere;white-space:pre-wrap}.num{font-variant-numeric:tabular-nums}.section-title{align-items:center;gap:var(--s2);font-size:var(--f-sm);letter-spacing:.04em;color:var(--c-text-sub);margin-bottom:var(--s2);font-weight:700;display:flex}.section-title svg{width:17px;height:17px}.page-title{align-items:center;gap:var(--s3);display:flex}.page-title svg{width:26px;height:26px;color:var(--c-primary);flex:none}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s4);border-radius:var(--radius-sm);background:var(--c-surface-2);color:var(--c-text);font-size:var(--f-base);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:1px solid #0000;font-family:inherit;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:20px;height:20px}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:var(--c-on-primary);min-height:var(--tap-lg);box-shadow:var(--shadow-2)}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover)}.btn-outline{background:var(--c-surface);border-color:var(--c-border-strong);color:var(--c-text)}.btn-outline:hover:not(:disabled){background:var(--c-surface-2)}.btn-ghost{color:var(--c-text-sub);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text)}.btn-danger{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}.btn-block{width:100%}.btn-icon{min-width:var(--tap);padding:0 var(--s2)}.back-link{align-items:center;gap:var(--s2);min-height:var(--tap);color:var(--c-text-sub);font-weight:600;font-size:var(--f-sm);text-decoration:none;display:inline-flex}.back-link:hover{color:var(--c-primary)}.back-link svg{width:18px;height:18px}.sticky-actions{inset:auto 0 calc(var(--tabbar-h) + env(safe-area-inset-bottom)) 0;z-index:15;padding:var(--s3);background:color-mix(in srgb, var(--c-bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--c-border);position:fixed}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.sticky-actions{background:var(--c-bg)}}.sticky-actions .content{gap:var(--s3);display:flex}@media (width>=768px){.sticky-actions{-webkit-backdrop-filter:none;backdrop-filter:none;margin-top:var(--s5);background:0 0;border:0;padding:0;position:static}.sticky-actions .content{max-width:none}}.chips{gap:var(--s2);padding-bottom:var(--s1);scrollbar-width:thin;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.chip{min-height:40px;padding:0 var(--s3);border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text-sub);font-size:var(--f-sm);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:999px;flex:none;font-family:inherit;font-weight:600}.chip:hover{background:var(--c-surface-2);color:var(--c-text)}.chip[aria-pressed=true]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.badge{padding:3px var(--s2);font-size:var(--f-sm);background:var(--c-surface-2);color:var(--c-text-sub);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;font-weight:700;display:inline-flex}.badge svg{width:14px;height:14px}.badge-overdue{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}.badge-soon{background:var(--c-warn-soft);color:var(--c-warn);border-color:var(--c-warn-line)}.badge-ok{background:var(--c-primary-soft);color:var(--c-primary-ink);border-color:var(--c-primary-line)}.badge-quiet{background:var(--c-surface-2);color:var(--c-text-sub)}.field{gap:var(--s2);flex-direction:column;display:flex}.field>label{font-weight:700;font-size:var(--f-sm);letter-spacing:.02em}.field .req{color:var(--c-danger);margin-left:4px;font-weight:700}.field .hint{color:var(--c-text-sub);font-size:var(--f-sm);line-height:1.6}.field .error{color:var(--c-danger);font-size:var(--f-sm);align-items:center;gap:6px;font-weight:600;display:flex}.field .error svg{flex:none;width:16px;height:16px}input[type=text],input[type=tel],input[type=search],textarea,select{width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);font-size:var(--f-base);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);font-family:inherit}input:focus,textarea:focus,select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft);outline:none}textarea{resize:vertical;min-height:148px;line-height:var(--lh-base)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--c-danger)}input[type=file]{min-width:0;max-width:100%;font-size:var(--f-sm)}.switch{align-items:center;gap:var(--s3);min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface-2);cursor:pointer;font-weight:600;display:flex}.switch input{width:22px;height:22px;accent-color:var(--c-primary)}.check-item{align-items:flex-start;gap:var(--s3);min-height:var(--tap);padding:var(--s2);margin:0 calc(var(--s2) * -1);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur) var(--ease);display:flex}.check-item:hover{background:var(--c-surface-2)}.check-item input{width:22px;height:22px;accent-color:var(--c-primary);flex:none;margin-top:3px}.check-item.done span{color:var(--c-text-faint);text-decoration:line-through}.state{text-align:center;padding:var(--s7) var(--s4);align-items:center;gap:var(--s3);flex-direction:column;display:flex}.state-art{background:var(--c-primary-soft);width:84px;height:84px;color:var(--c-primary);margin-bottom:var(--s1);border-radius:50%;place-items:center;display:grid}.state-art svg{width:38px;height:38px}.state-art.warn{background:var(--c-danger-soft);color:var(--c-danger)}.state h2{font-size:var(--f-lg)}.state p{color:var(--c-text-sub);max-width:34em}.state .btn{margin-top:var(--s2)}.skeleton{background:linear-gradient(90deg, var(--c-surface-2) 25%, var(--c-surface-3) 37%, var(--c-surface-2) 63%);border-radius:var(--radius);background-size:400% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.notice{align-items:flex-start;gap:var(--s2);padding:var(--s3);border:1px solid var(--c-warn-line);border-radius:var(--radius-sm);background:var(--c-warn-soft);color:var(--c-warn);font-size:var(--f-sm);line-height:1.65;display:flex}.notice svg{flex:none;width:18px;height:18px;margin-top:2px}.notice-error{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-line)}.notice-ok{background:var(--c-ok-soft);color:var(--c-ok);border-color:#0000}.notice-info{background:var(--c-primary-soft);color:var(--c-primary-ink);border-color:var(--c-primary-line)}.modal-backdrop{z-index:50;padding:var(--s3);animation:fade var(--dur) var(--ease);background:#10141a8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90dvh;box-shadow:var(--shadow-3);padding:var(--s4);padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom));animation:rise var(--dur) var(--ease);overflow-y:auto}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation:none}}@media (width>=768px){.modal-backdrop{align-items:center}.modal{padding-bottom:var(--s4)}}.grid{gap:var(--s3);grid-template-columns:1fr;display:grid}@media (width>=768px){.grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}}@media (width>=1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.list-link{color:inherit;text-decoration:none;display:block}.phone-btn{border:1px solid var(--c-primary-line);border-radius:var(--radius-sm);background:var(--c-primary-soft);width:56px;height:56px;color:var(--c-primary-ink);transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);flex:none;place-items:center;text-decoration:none;display:grid}.phone-btn:hover{background:var(--c-primary-line)}.phone-btn:active{transform:scale(.95)}.phone-btn svg{width:24px;height:24px}.thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface-2);flex:none;width:64px;height:64px}.thumb-ph{color:var(--c-text-faint);place-items:center;display:grid}.thumb-ph svg{width:26px;height:26px}.thumb-lg{border-radius:var(--radius);border:1px solid var(--c-border);width:100%;max-width:320px;height:auto}.group-head{top:var(--header-h);z-index:5;padding:var(--s2) 0;background:var(--c-bg);font-size:var(--f-sm);color:var(--c-text-sub);letter-spacing:.04em;font-weight:700;position:sticky}.date-trigger{width:100%;min-height:var(--tap-lg);justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);font-size:var(--f-base);text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);font-family:inherit;font-weight:600;display:flex}.date-trigger:hover{background:var(--c-surface-2)}.date-trigger svg{width:21px;height:21px;color:var(--c-primary);flex:none}.date-trigger[aria-invalid=true]{border-color:var(--c-danger)}.cal-head{justify-content:space-between;align-items:center;gap:var(--s2);margin:var(--s4) 0 var(--s2);display:flex}.cal-select{width:auto;min-width:88px;min-height:var(--tap);padding:0 var(--s2);font-size:var(--f-base);font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-weekdays{margin-bottom:var(--s1)}.cal-weekdays span{text-align:center;font-size:var(--f-sm);color:var(--c-text-sub);padding:var(--s1) 0;font-weight:700}.cal-cell{border-radius:var(--radius-sm);min-height:46px;color:var(--c-text);font-size:var(--f-base);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:1px solid #0000;place-items:center;font-family:inherit;display:grid}.cal-cell:hover:not(.empty){background:var(--c-surface-2)}.cal-cell.empty{cursor:default}.cal-cell.sun,.cal-weekdays .sun{color:var(--c-danger)}.cal-cell.sat,.cal-weekdays .sat{color:var(--c-primary)}.cal-cell.today{border-color:var(--c-primary);font-weight:700}.cal-cell.selected{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary);font-weight:700}.modal.cal{padding-left:var(--s3);padding-right:var(--s3)}@media (width>=768px){.modal.cal{max-width:420px;padding-left:var(--s4);padding-right:var(--s4)}}.suggest{align-items:flex-start;gap:var(--s3);padding:var(--s3);border:1px dashed var(--c-primary-line);border-radius:var(--radius-sm);background:var(--c-primary-soft);color:var(--c-primary-ink);display:flex}.suggest svg{flex:none;width:20px;height:20px;margin-top:3px}.suggest .btn{min-height:var(--tap);font-size:var(--f-sm)}.choice-group{margin:var(--s4) 0 var(--s2);font-size:var(--f-sm);letter-spacing:.04em;color:var(--c-text-sub);flex-direction:column;gap:2px;font-weight:700;display:flex}.choice-group-hint{font-size:var(--f-sm);color:var(--c-text-faint);letter-spacing:0;font-weight:400}.choice-list{flex-direction:column;gap:2px;display:flex}.choice-item{align-items:center;gap:var(--s3);width:100%;min-height:var(--tap-lg);padding:var(--s2) var(--s3);border-radius:var(--radius-sm);color:var(--c-text);font-family:inherit;font-size:var(--f-base);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:1px solid #0000;display:flex}.choice-item:hover{background:var(--c-surface-2)}.choice-item.selected{background:var(--c-primary-soft);border-color:var(--c-primary-line);color:var(--c-primary-ink);font-weight:700}.choice-item svg{color:var(--c-primary);flex:none}.choice-label{display:block}.choice-note{font-size:var(--f-sm);color:var(--c-text-sub);font-weight:400;line-height:1.5;display:block}.hc-red{--hc:var(--h-red)}.hc-orange{--hc:var(--h-orange)}.hc-amber{--hc:var(--h-amber)}.hc-green{--hc:var(--h-green)}.hc-teal{--hc:var(--h-teal)}.hc-blue{--hc:var(--h-blue)}.hc-purple{--hc:var(--h-purple)}.hc-pink{--hc:var(--h-pink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}code{background:var(--c-surface-2);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9em}.tabbar{grid-template-columns:repeat(3,1fr)}@media (width<=767px){.app-main{padding-bottom:calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom))}}.narrow{width:100%;max-width:760px;margin:0 auto}input[type=time]{width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);font-size:var(--f-base);font-family:inherit}input[type=time]:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft);outline:none}input[type=time]:disabled,select:disabled{opacity:.5;cursor:not-allowed}input[type=search]{appearance:none}.field-label{font-weight:700;font-size:var(--f-sm);letter-spacing:.02em}.chips-wrap{flex-wrap:wrap;overflow:visible}.chip{min-height:var(--tap);padding:0 var(--s4)}.chip[aria-checked=true]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.cal-head{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.cal-title{font-size:var(--f-lg);text-align:center;white-space:nowrap}@media (width>=480px){.cal-title{font-size:var(--f-xl);min-width:6.5em}}@media (width<=479px){.cal-head{gap:var(--s2);flex-wrap:nowrap}.cal-head .row-nw{gap:var(--s1)}.cal-head .btn{padding:0 var(--s2)}}.totals{gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.total{padding:4px var(--s3);border:1px solid var(--c-border);background:var(--c-surface);font-size:var(--f-sm);border-radius:999px;align-items:center;gap:6px;display:inline-flex}.mark{background:var(--hc,var(--c-primary));border-radius:50%;flex:none;width:8px;height:8px;display:block}.mark-event{background:var(--c-primary);border-radius:2px}.quick{gap:var(--s2);padding:var(--s3);flex-direction:column;display:flex}.quick-row{gap:var(--s2);display:flex}.quick-row input{flex:1;min-width:0}.quick-preview{font-size:var(--f-sm);color:var(--c-primary-ink);overflow-wrap:anywhere;min-height:1.7em;font-weight:600}.quick-preview.muted{color:var(--c-text-sub);font-weight:400}.cal-layout{gap:var(--s4);grid-template-columns:minmax(0,1fr);display:grid}.month{padding:var(--s2);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);box-shadow:var(--shadow-1)}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.month-weekdays span{text-align:center;padding:var(--s1) 0;font-size:var(--f-sm);color:var(--c-text-sub);font-weight:700}.month-weekdays .sun{color:var(--c-sun)}.month-weekdays .sat{color:var(--c-sat)}.cell{border-radius:var(--radius-sm);min-height:58px;color:var(--c-text);font-family:inherit;font-size:var(--f-base);text-align:left;cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:3px;padding:5px 4px;display:flex;position:relative;overflow:hidden}.cell.empty{cursor:default}.cell:hover:not(.empty){background:var(--c-surface-2)}.cell.selected{background:var(--c-primary-soft);border-color:var(--c-primary)}.cell-num{font-variant-numeric:tabular-nums;font-weight:700;line-height:1.3}.cell.sun .cell-num{color:var(--c-sun)}.cell.sat .cell-num{color:var(--c-sat)}.cell.today .cell-num{background:var(--c-primary);min-width:26px;color:var(--c-on-primary);text-align:center;border-radius:999px;padding:0 6px}.cell-holiday,.cell-lines{display:none}.cell-marks{flex-wrap:wrap;gap:3px;margin-top:auto;display:flex}.month{container-type:inline-size}@container (width>=600px){.cell{border-color:var(--c-border);min-height:108px;padding:6px 7px}.cell.empty{border-color:#0000}.cell.selected{border-color:var(--c-primary)}.cell-holiday{color:var(--c-sun);font-size:13px;line-height:1.3;display:block}.cell-lines{flex-direction:column;gap:1px;width:100%;font-size:13px;line-height:1.4;display:flex}.cell-lines span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width>=1024px){.cal-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.panel{top:calc(var(--header-h) + var(--s3));max-height:calc(100dvh - var(--header-h) - var(--s5));position:sticky;overflow-y:auto}}.habit-chips{gap:var(--s2);flex-wrap:wrap;display:flex}.habit-chip{align-items:center;gap:var(--s2);min-height:var(--tap);padding:0 var(--s4) 0 var(--s3);border:2px solid var(--hc);background:var(--c-surface);color:var(--c-text);font-family:inherit;font-size:var(--f-base);cursor:pointer;transition:background var(--dur) var(--ease);border-radius:999px;font-weight:600;display:inline-flex}.habit-chip:hover{background:color-mix(in srgb, var(--hc) 10%, var(--c-surface))}.habit-chip[aria-pressed=true]{background:color-mix(in srgb, var(--hc) 18%, var(--c-surface))}.habit-box{border:2px solid var(--hc);width:22px;height:22px;color:var(--c-on-primary);border-radius:6px;place-items:center;display:grid}.habit-chip[aria-pressed=true] .habit-box{background:var(--hc)}.item-list,.search-results{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.item-row{align-items:center;gap:var(--s3);width:100%;min-height:var(--tap);padding:var(--s2) var(--s3);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);font-family:inherit;font-size:var(--f-base);text-align:left;cursor:pointer;display:flex}.item-row:hover{background:var(--c-surface-2)}.item-time{min-width:5.4em;color:var(--c-primary-ink);flex:none;font-weight:700}.habit-list{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));margin:0;padding:0;list-style:none;display:grid}.habit-card{gap:var(--s3);border-left:5px solid var(--hc);flex-direction:column;display:flex}.habit-name{align-items:center;gap:var(--s2);font-size:var(--f-md);display:flex}.stats{gap:var(--s2);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.stats dt{font-size:var(--f-sm);color:var(--c-text-sub)}.stats dd{margin:0;font-weight:700}.stats .muted{margin-left:2px;font-weight:400}.progress-bar{background:var(--c-surface-3);border-radius:999px;height:8px;overflow:hidden}.progress-bar>span{background:var(--hc,var(--c-primary));height:100%;transition:width var(--dur) var(--ease);border-radius:999px;display:block}.strip{gap:3px;display:flex}.strip i{background:var(--c-surface-3);border-radius:3px;flex:1;height:14px}.strip i.on{background:var(--hc)}.swatches{gap:var(--s2);flex-wrap:wrap;display:flex}.swatch{background:var(--hc);width:44px;height:44px;color:var(--c-on-primary);cursor:pointer;border:3px solid #0000;border-radius:50%;place-items:center;display:grid}.swatch[aria-checked=true]{border-color:var(--c-text)}.alarm-stack{top:var(--header-h);z-index:19;gap:var(--s2);padding:var(--s2) var(--s3);flex-direction:column;display:flex;position:sticky}.alarm-notice{align-items:center;gap:var(--s3);padding:var(--s3);border:1px solid var(--c-warn-line);border-radius:var(--radius-sm);background:var(--c-warn-soft);color:var(--c-warn);box-shadow:var(--shadow-2);display:flex}.alarm-when{font-size:var(--f-sm);display:block}.ics-btn{text-align:center;height:auto;padding-top:var(--s2);padding-bottom:var(--s2);justify-content:center}.howto{margin:var(--s3) 0 0;gap:var(--s2);flex-direction:column;padding-left:1.2em;display:flex}.quick-hint{font-size:var(--f-sm);min-height:1.7em}.quick-note{font-size:var(--f-sm);font-weight:400;display:block}.mic{background:linear-gradient(145deg, var(--c-primary), color-mix(in srgb, var(--c-primary) 70%, #7c4dff));width:52px;height:52px;min-height:52px;color:var(--c-on-primary);box-shadow:0 4px 14px color-mix(in srgb, var(--c-primary) 40%, transparent);border:0;border-radius:50%;flex:none;padding:0}.mic svg{width:26px;height:26px}.mic:hover:not(:disabled){filter:brightness(1.06)}.quick-row{align-items:center}.quick-row input,.quick-submit{min-height:48px}.quick.is-listening{border-color:var(--c-danger)}.mic.is-on{background:var(--c-danger);color:#fff;animation:1.4s ease-in-out infinite mic-pulse}@keyframes mic-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--c-danger) 22%, transparent)}}@media (prefers-reduced-motion:reduce){.mic.is-on{animation:none}}.install-btn{min-height:40px;padding:0 var(--s3);font-size:var(--f-sm);white-space:nowrap}@media (width<=359px){.install-btn span{display:none}}.brand-logo{border-radius:9px;flex:none}.cell-chip{background:var(--c-primary-soft);max-width:100%;color:var(--c-primary-ink);white-space:nowrap;text-overflow:clip;border-radius:4px;padding:0 3px;font-size:11px;line-height:1.5;overflow:hidden}@container (width>=600px){.cell-chip{display:none}}.nudge-bar{align-items:center;gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s4);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);display:flex}.nudge-sub{display:block}.nudge-go{min-height:40px}
