:root{--background:#f4f6f9;--surface:#fff;--surface-2:#f5f7fa;--surface-3:#eef1f6;--foreground:#1b1f27;--muted:#5f6673;--muted-weak:#8a909c;--border:#e7ebf1;--hairline:#eef1f6;--brand:#0176d3;--brand-strong:#014486;--brand-soft:#eef4fb;--accent:#2f9e6a;--accent-soft:#e6f5ed;--accent-ink:#1c6b47;--warning:#c9941b;--warning-soft:#fbf0d4;--warning-ink:#8a6510;--danger:#e0524b;--danger-soft:#fbe3e1;--danger-ink:#b3231c;--btn-primary-bg:#0176d3;--btn-accent-bg:#1c6b47;--btn-danger-bg:#b3231c;--btn-fg:#fff;--elev-sm:0 1px 2px #141c2e0a, 0 1px 3px #141c2e0d;--elev-card:0 1px 2px #141c2e08, 0 6px 16px -6px #141c2e14;--elev-lg:0 14px 34px -10px #141c2e29;--radius-sm:10px;--radius-card:12px;--radius-lg:16px;--radius-pill:999px;--border-hover:#d5deea;--toast-bg:#1b1f27;--toast-fg:#f4f6f9;--toast-action:#8ec8f8;--tap:44px;--topbar-h:56px;--tabbar-h:58px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;border-color:var(--border)}html{-webkit-text-size-adjust:100%;overflow-x:hidden}html,body,#root{height:100%}body{background:var(--background);color:var(--foreground);font-feature-settings:"palt" 1;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior-y:none;line-break:strict;text-wrap:pretty;margin:0;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,Noto Sans JP,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6}@supports (word-break:auto-phrase){body{word-break:auto-phrase}}button,input,select,textarea,label,time,.tnum{word-break:normal}button{text-wrap:balance}h1,h2,h3{letter-spacing:-.01em;text-wrap:balance;margin:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit;font-family:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (width<=767px){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"palt" 1, "tnum" 1;overflow-wrap:normal;word-break:keep-all}.muted{color:var(--muted)}.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}.app{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.header{z-index:40;min-height:var(--topbar-h);padding:calc(env(safe-area-inset-top) + 9px) 16px 9px;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex;position:sticky;top:0}.header h1{font-size:17px;font-weight:700}.header .sub{color:var(--muted);margin-top:1px;font-size:12px}.header .spacer{flex:1}.main{padding:14px 14px calc(var(--tabbar-h) + 20px + env(safe-area-inset-bottom));flex:1}.tabbar{z-index:45;max-width:560px;padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--hairline);grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 16px -8px #141c2e2e}.tabbar button{min-height:var(--tabbar-h);color:var(--muted);background:0 0;border:0;border-top:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin-top:-1px;padding:6px 2px;font-size:11px;font-weight:600;transition:color .12s,border-color .12s;display:flex;position:relative}.tabbar button[aria-current=page]{border-top-color:var(--brand);color:var(--brand-strong)}.tabbar .ico{justify-content:center;align-items:center;height:22px;display:flex}.icon{display:block}.tabbar button[aria-current=page] .icon{stroke-width:1.8px}.tabbar .badge-count{border-radius:var(--radius-pill);background:var(--btn-danger-bg);color:#fff;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:6px;left:50%;transform:translate(4px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--elev-card);transition:box-shadow .15s,border-color .15s}.card.pad{padding:20px}@media (hover:hover){.card:hover{border-color:var(--border-hover);box-shadow:0 2px 4px #141c2e0d,0 10px 24px -8px #141c2e1f}}.banner{border:1px solid color-mix(in srgb, var(--brand) 40%, var(--border));border-radius:var(--radius-card);background:var(--brand-soft);color:var(--brand-strong);align-items:center;gap:10px;margin-bottom:12px;padding:11px 12px;font-size:13px;line-height:1.55;display:flex}.banner.danger{border-color:color-mix(in srgb, var(--danger) 50%, var(--border));background:var(--danger-soft);color:var(--danger-ink)}.banner span{flex:1;min-width:0}.banner button{min-height:var(--tap);border-radius:var(--radius-sm);color:inherit;background:0 0;border:1px solid;flex:none;padding:0 12px;font-size:12.5px;font-weight:700}.banner button.x{min-width:var(--tap);border-color:#0000;padding:0 8px}details.card summary{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:700;list-style:none;display:flex}details.card summary::-webkit-details-marker{display:none}details.card summary:after{content:"▾";color:var(--muted);margin-left:auto}details.card[open] summary:after{content:"▴"}.section-title{color:var(--muted);margin:20px 2px 8px;font-size:11.5px;font-weight:700}.section-title:first-child{margin-top:2px}.stack>.section-title{margin:10px 2px 0}.stack>.section-title:first-child{margin-top:0}.empty{text-align:center;padding:28px 20px}.empty .t{color:var(--foreground);font-weight:700}.empty .d{color:var(--muted);margin-top:4px;font-size:13.5px}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:8px;display:flex}.btn{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--foreground);white-space:nowrap;box-shadow:var(--elev-sm);justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14.5px;font-weight:600;transition:background-color .12s,border-color .12s,box-shadow .15s,transform .1s;display:inline-flex}.btn.primary{background:var(--btn-primary-bg);color:var(--btn-fg);border-color:#0000}.btn.accent{background:var(--btn-accent-bg);color:var(--btn-fg);border-color:#0000}.btn.ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.btn.danger{background:var(--btn-danger-bg);color:var(--btn-fg);border-color:#0000}.btn.block{width:100%}.btn.sm{min-height:var(--tap);border-radius:var(--radius-sm);padding:6px 14px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn:active:not(:disabled){transform:translateY(1px)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);white-space:nowrap;padding:0 14px;font-size:13px;font-weight:600;transition:background-color .12s,color .12s,border-color .12s}.chip[aria-pressed=true]{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 30%, transparent);color:var(--brand-strong)}.badge{white-space:nowrap;border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;background:var(--surface-3);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border);align-items:center;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge.brand{background:var(--brand-soft);color:var(--brand-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 15%, transparent)}.badge.accent{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent)}.badge.warning{background:var(--warning-soft);color:var(--warning-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warning) 15%, transparent)}.badge.danger{background:var(--danger-soft);color:var(--danger-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 15%, transparent)}.field{margin-bottom:14px;display:block}.field>.label,.label{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.field .hint,.hint{color:var(--muted);margin-top:5px;font-size:12.5px;line-height:1.55}.input{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--foreground);outline:none;padding:10px 12px}.input::placeholder{color:var(--muted-weak)}textarea.input{resize:vertical;min-height:76px}.input:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}.btn:focus-visible,.chip:focus-visible,.tabbar button:focus-visible,.task-do:focus-visible,.task-body:focus-visible,.list-item:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.input.tone-warn{border-color:var(--warning);background:color-mix(in srgb, var(--warning-soft) 60%, var(--surface))}.input.tone-danger{border-color:var(--danger);background:color-mix(in srgb, var(--danger-soft) 60%, var(--surface))}.callout{border-radius:var(--radius-card);background:var(--surface-3);color:var(--muted);margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.6}.callout.warn{background:var(--warning-soft);color:var(--warning-ink)}.callout.danger{background:var(--danger-soft);color:var(--danger-ink)}.callout.brand{background:var(--brand-soft);color:var(--brand-strong)}.check{min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:14px;display:flex}.check input[type=checkbox]{width:22px;height:22px;accent-color:var(--brand);flex:none;margin:0}.check .hint{margin-top:2px;display:block}.input-unit{align-items:center;gap:8px;display:flex}.input-unit .unit{min-width:40px;color:var(--muted);flex:none;font-size:13px}.grid2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.task{border-left:4px solid var(--muted-weak);grid-template-columns:1fr 92px;align-items:stretch;display:grid;overflow:hidden}.task.over{border-left-color:var(--danger)}.task.due{border-left-color:var(--warning)}.task.ok{border-left-color:var(--accent)}.task-body{text-align:left;min-width:0;color:inherit;background:0 0;border:0;padding:12px 14px}.task-name{overflow-wrap:anywhere;font-size:15px;font-weight:700;line-height:1.4;display:block}.task-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px;font-size:12.5px;line-height:1.6;display:block}.task-badges{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.task-do{border:0;border-left:1px solid var(--border);background:var(--btn-primary-bg);color:var(--btn-fg);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13.5px;font-weight:700;transition:background-color .12s,filter .12s;display:flex}.task-do .mark{font-size:19px;line-height:1}.task-do.done{background:var(--surface-2);color:var(--muted)}.task-do:active{filter:brightness(.94)}.task-edit{color:var(--muted);align-self:center;font-size:11px}.setup-card{border-left:4px solid var(--brand)}.setup-card .t{font-weight:700}.setup-card .d{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.6}.setup-list{flex-direction:column;gap:12px;display:flex}.setup-row{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:12px}.setup-row.skip{background:var(--surface-2);border-style:dashed}.setup-row.skip .setup-name{color:var(--muted)}.setup-name{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;font-size:14.5px;font-weight:700;line-height:1.4;display:flex}.setup-cycle{color:var(--muted);flex:none;font-size:11.5px;font-weight:600}.rule{border:0;border-top:1px solid var(--border);margin:0 0 18px}.range-list{flex-direction:column;gap:14px;margin-top:14px;display:flex}.range-row{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-2);padding:12px}.range-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.range-head .muted{font-size:12px;font-weight:600}.range-grid{grid-template-columns:48px 1fr 16px 1fr;align-items:center;gap:8px 6px;display:grid}.range-label{color:var(--muted);font-size:12px;font-weight:700}.range-tilde{text-align:center;color:var(--muted)}.range-grid .input{min-height:var(--tap);text-align:center;font-variant-numeric:tabular-nums;padding:6px 8px}.sheet-backdrop{z-index:60;background:#0f141c73;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--background);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--border);width:100%;max-width:560px;max-height:88dvh;box-shadow:var(--elev-lg);flex-direction:column;animation:.18s slide;display:flex}.sheet-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:13px 16px;display:flex}.sheet-head h2{flex:1;font-size:16px;font-weight:700}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:16px;overflow-y:auto}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);gap:10px;display:flex}.sheet-foot .btn{flex:1}.icon-btn{width:var(--tap);height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--muted);justify-content:center;align-items:center;font-size:17px;display:inline-flex}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translateY(14px)}}.toast{left:12px;right:12px;bottom:calc(var(--tabbar-h) + 14px + env(safe-area-inset-bottom));z-index:70;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--toast-bg);max-width:536px;color:var(--toast-fg);box-shadow:var(--elev-lg);align-items:center;gap:10px;margin:0 auto;padding:10px 14px 10px 10px;animation:.16s slide;display:flex;position:fixed}.toast .msg{flex:1;font-size:14px;line-height:1.45}.toast button{min-height:var(--tap);border-radius:var(--radius-sm);color:var(--toast-action);background:0 0;border:1px solid;flex:none;padding:0 14px;font-size:13px;font-weight:700}.list-item{border:0;border-bottom:1px solid var(--hairline);text-align:left;width:100%;color:inherit;background:0 0;align-items:flex-start;gap:10px;padding:12px 14px;transition:background-color .12s;display:flex}.list-item:last-child{border-bottom:0}.list-item:active{background:var(--surface-2)}.list-item .when{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 68px;padding-top:1px;font-size:12px;font-weight:700}.list-item .what{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14.5px;line-height:1.5}.list-item .note{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.list-item .badge{flex:none;margin-top:1px}.calc-result{text-align:center;padding:20px 16px}.calc-result .value{letter-spacing:-.02em;color:var(--brand-strong);font-variant-numeric:tabular-nums;font-size:46px;font-weight:800;line-height:1.05}.calc-result .value small{margin-left:4px;font-size:18px;font-weight:700}.calc-result .formula{color:var(--muted);margin-top:7px;font-size:12.5px}.big-input{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);width:100%;min-height:64px;color:var(--foreground);text-align:center;font-variant-numeric:tabular-nums;outline:none;padding:8px 14px;font-size:30px;font-weight:700}.chart-card{padding:14px}.chart-head{flex-wrap:wrap;align-items:baseline;gap:7px;margin-bottom:6px;display:flex}.chart-head .t{font-size:14px;font-weight:700}.chart-head .latest{font-variant-numeric:tabular-nums;margin-left:auto;font-size:19px;font-weight:800}.chart-head .latest small{color:var(--muted);margin-left:3px;font-size:12px;font-weight:600}.chart svg{cursor:pointer;width:100%;height:auto;display:block}.chart-sub{color:var(--muted);margin:0 0 2px;font-size:11.5px}.chart-readout{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:12px}.chart-empty{text-align:center;color:var(--muted);padding:22px 12px;font-size:13px}.chart-note{border-radius:var(--radius-sm);margin:8px 0 0;padding:8px 10px;font-size:12.5px;line-height:1.55}.chart-note.warn{background:var(--warning-soft);color:var(--warning-ink)}.chart-note.danger{background:var(--danger-soft);color:var(--danger-ink)}.info-table{border-collapse:collapse;width:100%;font-size:13.5px}.info-table th{text-align:left;vertical-align:top;width:92px;color:var(--muted);padding:9px 10px;font-weight:700}.info-table td{overflow-wrap:anywhere;padding:9px 10px 9px 0}.info-table tr+tr th,.info-table tr+tr td{border-top:1px solid var(--hairline)}
