:root{--navy-900:#132236;--navy-800:#18273d;--navy-700:#24395e;--navy-600:#33496f;--silver-50:#f6f8fb;--silver-100:#eef2f7;--silver-200:#e2e8f2;--silver-300:#d9e1ed;--silver-400:#b7c3d6;--slate-600:#5b6a82;--gold-500:#daa660;--gold-100:#fbf3e4;--gold-700:#8a5a12;--bad:#9b3b30;--bad-bg:#f8ecea;--bad-line:#e8c7c2;--warn:#8a5a12;--warn-bg:#fbf3e4;--warn-line:#ecd6ad;--ok:#2d6a4f;--ok-bg:#e7f1eb;--ok-line:#c3dccd;--info:#24395e;--info-bg:#eaf0f8;--info-line:#cdd9ea;--bg:var(--silver-100);--surface:#fff;--text:var(--navy-800);--muted:var(--slate-600);--line:var(--silver-300);--focus:#5b8fd6;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--shadow-1:0 1px 2px #1322360f, 0 1px 1px #1322360a;--shadow-2:0 6px 24px #1322361f;--tabbar-h:62px;--appbar-h:56px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang TC,Noto Sans TC,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}body{min-height:100vh}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}h1,h2,h3{letter-spacing:.01em}.ic{vertical-align:-.2em;flex-shrink:0;width:1.15em;height:1.15em}.inline-icon{align-items:center;gap:var(--s2);display:inline-flex}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text);min-height:46px;padding:11px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#8391a7}select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235b6a82'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:22px;padding-right:36px}input:hover,select:hover,textarea:hover{border-color:#b9c5d8}input:focus,select:focus,textarea:focus{border-color:var(--navy-700);outline:none;box-shadow:0 0 0 3px #5b8fd647}button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.splash{align-content:center;place-items:center;gap:var(--s3);background:var(--navy-800);min-height:100vh;color:var(--silver-200);letter-spacing:.08em;font-size:18px;font-weight:600;display:grid}.splash img{border-radius:18px}.app{max-width:560px;min-height:100vh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s6));background:var(--bg);margin:0 auto}.screen{min-height:100%}.appbar{z-index:5;background:var(--navy-800);color:#fff;padding-top:env(safe-area-inset-top);position:sticky;top:0;box-shadow:0 1px #0003}.appbar-row{align-items:center;gap:var(--s3);min-height:var(--appbar-h);padding:0 var(--s4);display:flex}.appbar-logo{border-radius:8px;flex-shrink:0;width:32px;height:32px;box-shadow:0 0 0 1px #e2e8f22e}.appbar-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:17px;font-weight:600;overflow:hidden}.appbar-brand .appbar-title{letter-spacing:.04em;font-size:19px;font-weight:700}.appbar-right{flex-shrink:0;justify-content:flex-end;display:flex}.appbar-back{width:40px;height:40px;color:var(--silver-200);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin-left:-8px;font-size:18px;display:grid}.appbar-back:hover,.appbar-btn:hover{background:#ffffff14}.appbar-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #e2e8f259;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.content{padding:var(--s4);gap:var(--s3);flex-direction:column;display:flex}.lead{color:var(--muted);margin:0;font-size:15px}.section{gap:var(--s3);margin-top:var(--s2);flex-direction:column;display:flex}.section-title{color:var(--muted);gap:var(--s2);letter-spacing:.06em;text-transform:uppercase;align-items:center;margin:0;font-size:13px;font-weight:700;display:flex}.section-dot{background:var(--silver-400);border-radius:50%;width:8px;height:8px}.section-title.bad{color:var(--bad)}.section-title.bad .section-dot{background:var(--bad)}.section-title.warn{color:var(--gold-700)}.section-title.warn .section-dot{background:var(--gold-500)}.section-title.ok{color:var(--ok)}.section-title.ok .section-dot{background:var(--ok)}.count{background:var(--silver-200);color:var(--navy-800);border-radius:999px;padding:0 8px;font-size:12px;font-weight:700;line-height:20px}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-1);border:1px solid var(--line);padding:var(--s4);gap:var(--s3);flex-direction:column;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:0 0;width:4px;position:absolute;top:0;bottom:0;left:0}.card.status-overdue:before{background:var(--bad)}.card.status-dueSoon:before{background:var(--gold-500)}.card.status-confirmed:before{background:var(--ok)}.card-main{all:unset;cursor:pointer;border-radius:var(--r-sm);flex-direction:column;gap:6px;display:flex}.card-main:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.card-head{gap:var(--s3);align-items:center;margin-bottom:2px;display:flex}.card-head-text{flex:1;min-width:0}.card-chevron{color:#9aa7bb;font-size:22px}.cat-tile{border-radius:var(--r-md);background:var(--silver-100);width:40px;height:40px;color:var(--navy-700);border:1px solid var(--silver-200);flex-shrink:0;place-items:center;font-size:20px;display:grid}.cat-tile.lg{width:48px;height:48px;font-size:24px}.status-overdue .cat-tile{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}.status-dueSoon .cat-tile{background:var(--gold-100);color:var(--gold-700);border-color:var(--warn-line)}.status-confirmed .cat-tile{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.card-title-row{justify-content:space-between;gap:var(--s2);align-items:baseline;display:flex}.card h3{overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:700;line-height:1.35}.card-sub{color:var(--muted);margin:0;font-size:13px}.card-due{color:var(--navy-700);align-items:center;gap:6px;margin:0;font-size:16px;font-weight:700;display:flex}.card-due.bad{color:var(--bad)}.card-due.accent{color:var(--gold-700)}.card-due.ok,.ok-text{color:var(--ok)}.ok-text{align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.card-hint{color:var(--text);margin:0;font-size:15px}.card-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.card-actions{gap:var(--s2);padding-top:var(--s3);border-top:1px solid var(--silver-200);flex-wrap:wrap;display:flex}.card-actions .btn{flex:auto}.card-actions.secondary{border-top:0;justify-content:flex-end;padding-top:0}.card-actions.secondary .btn{flex:none}.btn{-webkit-appearance:none;appearance:none;background:var(--surface);border-radius:var(--r-md);cursor:pointer;min-height:46px;color:var(--navy-800);text-align:center;border:1px solid #c6d0de;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:15px;font-weight:600;line-height:1.3;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--silver-50);border-color:#b0bdd0}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--navy-800);color:#fff;border-color:var(--navy-800);box-shadow:0 1px 2px #13223633}.btn.primary:hover{background:var(--navy-700);border-color:var(--navy-700)}.btn.accent{background:var(--gold-500);color:var(--navy-900);border-color:var(--gold-500)}.btn.accent:hover{background:#e2b273}.btn.ghost{color:var(--navy-700);background:0 0;border-color:#0000}.btn.ghost:hover{background:#18273d0d}.btn.danger{color:var(--bad)}.btn.danger:not(.ghost){background:var(--bad);color:#fff;border-color:var(--bad)}.btn.small{border-radius:var(--r-sm);min-height:36px;padding:6px 12px;font-size:14px}.appbar .btn.accent.small{border-radius:999px;padding:6px 14px 6px 10px}.btn.big{width:100%;min-height:52px;font-size:16px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary:disabled{opacity:.6;background:#6f7d93;border-color:#6f7d93}.link{color:var(--navy-700);cursor:pointer;text-align:left;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:4px;min-height:36px;padding:6px 0;font-weight:600;-webkit-text-decoration:underline #24395e4d;text-decoration:underline #24395e4d;display:inline-flex}.stack{gap:var(--s2);flex-direction:column;display:flex}.notice{border-radius:var(--r-md);padding:var(--s3);background:var(--info-bg);color:var(--info);border:1px solid var(--info-line);align-items:flex-start;gap:10px;font-size:14px;line-height:1.55;display:flex}.notice-icon{margin-top:1px;font-size:18px}.notice-body{flex:1;min-width:0}.notice-body .link{min-height:0;padding:0}.notice-warn{background:var(--warn-bg);color:#6b450c;border-color:var(--warn-line)}.notice-error{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}.notice-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.notice.sticky{z-index:20;border-width:0 0 1px;border-radius:0;position:sticky;top:0}p.notice{margin:0;display:block}.empty{text-align:center;padding:var(--s8) var(--s4);align-items:center;gap:var(--s2);flex-direction:column;display:flex}.empty-icon{width:72px;height:72px;margin-bottom:var(--s2);background:var(--surface);color:var(--navy-700);border:1px solid var(--line);box-shadow:var(--shadow-1);border-radius:50%;place-items:center;font-size:32px;display:grid}.empty h2{margin:0;font-size:18px}.empty p{margin:0 0 var(--s3);color:var(--muted);max-width:30em}.muted{color:var(--muted)}.small{font-size:13px}.block{display:block}.center{text-align:center}.hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);gap:var(--s3);box-shadow:var(--shadow-1);flex-direction:column;display:flex;position:relative;overflow:hidden}.hero:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.hero.status-overdue:before{background:var(--bad)}.hero.status-dueSoon:before{background:var(--gold-500)}.hero.ok{background:var(--ok-bg);border-color:var(--ok-line)}.hero.ok .hero-big{color:var(--ok)}.hero p{margin:0}.hero-head{gap:var(--s3);align-items:center;display:flex}.hero-kicker{color:var(--muted);font-size:13px;font-weight:600}.hero-big{align-items:center;gap:var(--s2);font-size:22px;font-weight:700;line-height:1.3;display:flex}.hero-big.bad{color:var(--bad)}.hero-big.accent{color:var(--gold-700)}.facts{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s1) var(--s4);box-shadow:var(--shadow-1);grid-template-columns:7em 1fr;gap:0;margin:0;display:grid}.facts dt,.facts dd{border-bottom:1px solid var(--silver-200);padding:12px 0}.facts dt{color:var(--muted);font-size:14px}.facts dd{overflow-wrap:anywhere;margin:0;font-weight:500}.facts dt:last-of-type,.facts dd:last-of-type{border-bottom:0}.form{gap:var(--s4);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>label{color:var(--navy-800);font-size:14px;font-weight:600}.field.has-error input,.field.has-error select{border-color:var(--bad);box-shadow:0 0 0 3px #9b3b301f}.hint{color:var(--muted);margin:0;font-size:13px}.error-text{color:var(--bad);align-items:center;gap:4px;margin:0;font-size:13px;font-weight:600;display:flex}.row2{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.form-actions{margin-top:var(--s2);justify-content:flex-end;gap:10px;display:flex}.form-actions .btn{min-width:104px}.segmented{background:var(--silver-200);border-radius:var(--r-md);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.seg{border-radius:var(--r-sm);cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:0;flex:1 1 0;padding:8px 10px;font-weight:600}.seg.on{background:var(--surface);color:var(--navy-800);box-shadow:var(--shadow-1)}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;min-height:40px;padding:8px 14px;font-weight:500}.chip.on{background:var(--navy-800);border-color:var(--navy-800);color:#fff;font-weight:600}.icon-grid{gap:var(--s2);grid-template-columns:repeat(6,1fr);display:grid}.icon-opt{aspect-ratio:1;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--navy-700);cursor:pointer;place-items:center;font-size:22px;display:grid}.icon-opt:hover{border-color:#b0bdd0}.icon-opt.on{background:var(--navy-800);border-color:var(--navy-800);color:#fff;box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--gold-500)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);gap:var(--s3);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.panel>p{margin:0}.panel.quiet{box-shadow:none;background:0 0;border-style:dashed}.panel-title{align-items:center;gap:var(--s2);margin:0;font-size:15px;font-weight:700;display:flex}.panel-title .ic{color:var(--navy-700)}.tabbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fffffff7;grid-template-columns:repeat(3,1fr);max-width:560px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:var(--tabbar-h);color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 0;font-size:12px;display:flex;position:relative}.tab-icon{border-radius:999px;place-items:center;width:56px;height:30px;font-size:22px;transition:background .15s;display:grid}.tabbar button.on{color:var(--navy-800);font-weight:700}.tabbar button.on .tab-icon{background:var(--silver-200)}.tabbar button.on:before{content:"";background:var(--gold-500);border-radius:0 0 3px 3px;width:24px;height:3px;margin-left:-12px;position:absolute;top:0;left:50%}.backdrop{z-index:50;background:#13223680;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--surface);width:100%;max-width:560px;padding:10px var(--s5) calc(var(--s5) + env(safe-area-inset-bottom));gap:var(--s3);max-height:88vh;box-shadow:var(--shadow-2);border-radius:20px 20px 0 0;flex-direction:column;display:flex;overflow:auto}.sheet-handle{background:var(--silver-300);border-radius:2px;align-self:center;width:36px;height:4px;margin-bottom:6px}.sheet h2{margin:0;font-size:18px;line-height:1.4}.sheet p{margin:0;line-height:1.55}.toast{align-items:center;gap:var(--s3);left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 14px);background:var(--navy-800);color:#fff;border-radius:var(--r-md);z-index:60;max-width:90vw;box-shadow:var(--shadow-2);padding:10px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}.stale-banner{z-index:15;background:var(--info-bg);color:var(--info);padding:var(--s3) var(--s4);border-bottom:1px solid var(--info-line);align-items:flex-start;gap:10px;display:flex;position:sticky;top:0}.stale-text{flex:1;min-width:0}.stale-banner p{margin:2px 0 0}.stale-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.badge{background:var(--info-bg);color:var(--info);border:1px solid var(--info-line);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.badge.bad{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}.tool-head{gap:var(--s3);align-items:center;display:flex}.tool-head h3{margin:0 0 2px}.tool-head p{margin:0}.stepper{margin:0 0 var(--s2);justify-content:center;align-items:center;gap:0;padding:0;list-style:none;display:flex}.stepper li{background:var(--surface);border:1px solid var(--line);width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.stepper li+li{margin-left:28px;position:relative}.stepper li+li:before{content:"";background:var(--line);width:28px;height:2px;position:absolute;top:50%;right:100%}.stepper li.on{background:var(--navy-800);border-color:var(--navy-800);color:#fff;box-shadow:0 0 0 3px #daa66073}.stepper li.done{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.wizard-step{gap:var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.wizard-step h2{align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.step-num{background:var(--navy-800);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.wizard-step p{margin:0;line-height:1.6}.copy-box{background:var(--silver-50);border-radius:var(--r-md);padding:var(--s3);border:1px dashed #9aa9c0;justify-content:space-between;align-items:center;gap:10px;display:flex}.copy-box code{word-break:break-all;color:var(--navy-800);font-family:inherit;font-size:18px;font-weight:700}.copy-box.small code{font-size:15px}.copy-box .btn{flex-shrink:0}.steps{gap:var(--s2);flex-direction:column;margin:0;padding-left:22px;line-height:1.6;display:flex}.steps li::marker{color:var(--navy-700);font-weight:700}.bullets{margin:0;padding-left:20px}.radio,.check{align-items:center;gap:10px;min-height:44px;display:flex}.radio input,.check input{width:20px;height:20px;min-height:0;accent-color:var(--navy-800);box-shadow:none}.plain-list{gap:var(--s2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);width:100%;padding:12px var(--s4);cursor:pointer;min-height:48px;color:var(--muted);text-align:left;justify-content:space-between;align-items:center;display:flex}.section>p{margin:0}@media (max-width:359px){.content{padding:var(--s3)}.appbar-row{padding:0 var(--s3);gap:var(--s2)}.appbar-brand .appbar-title{font-size:17px}.icon-grid{grid-template-columns:repeat(4,1fr)}.facts{grid-template-columns:6em 1fr}}.info-line{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:13px;line-height:1.5;display:flex}.info-line .ic{color:var(--navy-700);margin-top:2px}a.btn{text-decoration:none}.content{padding-bottom:calc(var(--s8) + env(safe-area-inset-bottom))}html{scroll-padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px)}.appbar-titles{flex-direction:column;flex:1;min-width:0;display:flex}.appbar-sub{color:var(--silver-400);font-variant-numeric:tabular-nums;margin:0;font-size:13px;line-height:1.3}.appbar-titles .appbar-title{flex:none}.appbar .btn.accent.small{min-height:40px}.today{gap:var(--s4)}.tsection{gap:var(--s3);flex-direction:column;display:flex}.tsection-title{align-items:center;gap:var(--s2);color:var(--navy-800);margin:0;font-size:15px;font-weight:700;display:flex}.tsection-title.bad{color:var(--bad)}.tsection-title.bad .count{background:var(--bad-bg);color:var(--bad)}.tsection-title.accent .count{background:var(--gold-100);color:var(--gold-700)}.tcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);flex-direction:column;transition:opacity .18s,transform .18s;display:flex;position:relative;overflow:hidden}.tcard:before{content:"";background:var(--gold-500);width:4px;position:absolute;top:0;bottom:0;left:0}.tcard.tone-overdue:before{background:var(--bad)}.tcard.tone-overdue .cat-tile{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}.tcard.tone-today .cat-tile{background:var(--gold-100);color:var(--gold-700);border-color:var(--warn-line)}.tcard.leaving{opacity:0;transform:translate(16px)}.tcard-main{all:unset;cursor:pointer;gap:var(--s3);padding:var(--s4) var(--s4) var(--s3) var(--s5);align-items:flex-start;display:flex}.tcard-main:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;border-radius:var(--r-lg)}.tcard-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tcard-title{overflow-wrap:anywhere;font-size:18px;font-weight:700;line-height:1.35}.tcard-due{color:var(--gold-700);font-size:15px;font-weight:600}.tone-overdue .tcard-due{color:var(--bad)}.tcard-sub{color:var(--muted);font-size:13px}.tcard-actions{gap:var(--s2);padding:0 var(--s4) var(--s4) var(--s5);display:flex}.tcard-actions .btn{flex:1 1 0;min-height:50px;font-size:16px}.soon-list,.list-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);margin:0;padding:0;list-style:none;overflow:hidden}.soon-list li+li,.list-card li+li{border-top:1px solid var(--silver-200)}.soon-row{align-items:center;gap:var(--s2);padding-right:var(--s3);display:flex}.soon-main{all:unset;cursor:pointer;align-items:center;gap:var(--s3);min-width:0;padding:12px var(--s4);flex:1;min-height:48px;display:flex}.soon-main:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.soon-text{flex-direction:column;min-width:0;display:flex}.soon-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.soon-due{color:var(--muted);font-size:13px}.cat-tile.sm{border-radius:10px;width:36px;height:36px;font-size:18px}.round-check{cursor:pointer;background:var(--surface);width:44px;height:44px;color:var(--navy-700);border:1.5px solid #c6d0de;border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;transition:background .15s,border-color .15s,color .15s;display:grid}.round-check:hover{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.round-check:active{transform:scale(.94)}.all-clear{gap:var(--s3);background:var(--ok-bg);border:1px solid var(--ok-line);border-radius:var(--r-lg);padding:var(--s4);align-items:center;display:flex}.all-clear-icon{background:var(--surface);width:44px;height:44px;color:var(--ok);border-radius:50%;flex-shrink:0;place-items:center;font-size:24px;display:grid}.all-clear-title{color:var(--ok);margin:0;font-size:17px;font-weight:700}.all-clear-body{color:var(--muted);margin:2px 0 0;font-size:14px}.today-foot{align-items:flex-start;gap:var(--s1);flex-direction:column;display:flex}.quiet-line{color:var(--ok);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;display:flex}.hint-card{gap:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s3) var(--s4);box-shadow:var(--shadow-1);grid-template-columns:auto 1fr;align-items:center;display:grid}.hint-icon{border-radius:var(--r-md);background:var(--info-bg);width:40px;height:40px;color:var(--info);place-items:center;font-size:22px;display:grid}.hint-text{min-width:0}.hint-text p{margin:0}.hint-title{font-size:15px;font-weight:700}.hint-body{color:var(--muted);font-size:13px}.hint-actions{justify-content:flex-end;gap:var(--s2);grid-column:1/-1;display:flex}.row{all:unset;box-sizing:border-box;align-items:center;gap:var(--s3);width:100%;padding:12px var(--s4);cursor:default;min-height:56px;display:flex}button.row{cursor:pointer}button.row:hover{background:var(--silver-50)}button.row:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.row-icon{color:var(--navy-700);flex-shrink:0;place-items:center;font-size:22px;display:grid}.row-icon.ok{color:var(--ok)}.row-text{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;font-weight:600}.row-sub{color:var(--muted);font-size:13px}.row-value{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;max-width:45%;font-size:14px;overflow:hidden}.row-value .bad,.bad{color:var(--bad)}.row-chevron{color:#9aa7bb;font-size:22px}.row-select{width:auto;max-width:46%;min-height:40px;font-size:14px}.row.radio.on .row-title{color:var(--navy-800)}.radio-mark{color:#9aa7bb;font-size:24px}.row.radio.on .radio-mark{color:var(--navy-800)}.muted-list .row-title{color:var(--muted)}.section-label{margin:var(--s2) 0 0;color:var(--muted);letter-spacing:.04em;font-size:13px;font-weight:700}.segmented.compact{flex-wrap:nowrap;padding:3px}.segmented.compact .seg{white-space:nowrap;min-height:36px;padding:6px 10px;font-size:14px}.link.small{min-height:0;padding:2px 0;font-size:13px}.about{gap:var(--s1);padding:0 var(--s1);flex-direction:column;display:flex}.about p{margin:0}.row-actions{justify-content:space-between;gap:var(--s2);display:flex}.badge.inline{margin-left:var(--s2);vertical-align:2px;background:var(--gold-100);color:var(--gold-700);border-color:var(--warn-line);padding:1px 8px;font-size:12px}.field .segmented+input,.field .segmented+select{margin-top:var(--s1)}.chip{align-items:center;gap:6px;min-height:44px;display:inline-flex}.chip.dashed{color:var(--navy-700);background:0 0;border-style:dashed}.switch-row{align-items:center;gap:var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px var(--s4);cursor:pointer;min-height:56px;display:flex}.switch-text{flex-direction:column;flex:1;gap:2px;font-size:15px;font-weight:600;display:flex}.switch-text .hint{font-weight:400}.switch{-webkit-appearance:none;appearance:none;background:var(--silver-300);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;width:52px;height:32px;min-height:0;padding:0;transition:background .18s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1322364d}.switch:checked{background:var(--navy-800)}.switch:checked:after{transform:translate(20px)}.switch:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:none}.disclosure{min-height:44px;color:var(--navy-700);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:4px;padding:8px 0;font-weight:600;display:inline-flex}.disclosure .ic{transition:transform .18s}.disclosure .ic.flip{transform:rotate(180deg)}.more-panel{gap:var(--s4);flex-direction:column;animation:.18s fade-in;display:flex}.btn.block{width:100%}.toast{animation:.2s toast-in}.toast-action{color:var(--gold-500);cursor:pointer;text-transform:none;background:0 0;border:0;min-height:36px;padding:6px 4px;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.screen{animation:.16s fade-in}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
