:root{color-scheme:light dark;--bg:oklch(98.5% .004 90);--surface:oklch(100% 0 0);--surface-2:oklch(96.5% .006 90);--text:oklch(22% .01 90);--muted:oklch(45% .012 90);--border:oklch(88% .008 90);--accent:oklch(50% .16 255);--on-accent:oklch(99% 0 0);--accent-soft:oklch(95% .03 255);--warn-bg:oklch(96% .05 85);--warn-text:oklch(38% .08 70);--danger:oklch(50% .19 27);--focus:oklch(50% .16 255);--shadow:0 1px 2px oklch(20% .02 90/.06), 0 6px 18px -8px oklch(20% .02 90/.14);--sun:none;--moon:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:oklch(19% .008 260);--surface:oklch(23.5% .01 260);--surface-2:oklch(27% .012 260);--text:oklch(94% .005 260);--muted:oklch(74% .01 260);--border:oklch(33% .012 260);--accent:oklch(74% .12 255);--on-accent:oklch(18% .02 260);--accent-soft:oklch(30% .05 255);--warn-bg:oklch(30% .05 85);--warn-text:oklch(88% .08 85);--danger:oklch(75% .14 27);--focus:oklch(74% .12 255);--shadow:0 1px 2px oklch(0% 0 0/.3), 0 6px 18px -8px oklch(0% 0 0/.5);--sun:block;--moon:none}}:root[data-theme=dark]{color-scheme:dark;--bg:oklch(19% .008 260);--surface:oklch(23.5% .01 260);--surface-2:oklch(27% .012 260);--text:oklch(94% .005 260);--muted:oklch(74% .01 260);--border:oklch(33% .012 260);--accent:oklch(74% .12 255);--on-accent:oklch(18% .02 260);--accent-soft:oklch(30% .05 255);--warn-bg:oklch(30% .05 85);--warn-text:oklch(88% .08 85);--danger:oklch(75% .14 27);--focus:oklch(74% .12 255);--shadow:0 1px 2px oklch(0% 0 0/.3), 0 6px 18px -8px oklch(0% 0 0/.5);--sun:block;--moon:none}:root[data-theme=light]{color-scheme:light}:root{--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;--radius:10px;--measure:68ch;--page:62rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font:1rem/1.6 var(--font);font-variant-numeric:tabular-nums;flex-direction:column;margin:0;display:flex}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}h1,h2,h3{text-wrap:balance;letter-spacing:-.01em;margin:0;line-height:1.2}h1{font-size:2rem;font-weight:700}h2{margin-top:var(--s7);margin-bottom:var(--s3);font-size:1.35rem;font-weight:650}p{margin:0 0 var(--s4)}.wrap{width:min(100% - 2rem, var(--page));margin-inline:auto}.prose{max-width:var(--measure)}.prose p{color:var(--text)}.skip{left:-999px;top:var(--s2);background:var(--surface);padding:var(--s2) var(--s3);z-index:10;border-radius:6px;position:absolute}.skip:focus{left:var(--s2)}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--s4);min-height:3.5rem;display:flex}.brand{color:var(--text);letter-spacing:-.02em;font-size:1.1rem;font-weight:750;text-decoration:none}.controls{align-items:center;gap:var(--s2);display:flex}.lang{background:var(--surface-2);border-radius:8px;gap:2px;padding:2px;display:flex}.lang a{color:var(--muted);border-radius:6px;align-items:center;min-height:2rem;padding:.25rem .6rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.lang a[aria-current=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.icon-btn{border:1px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.icon-btn .i-sun{display:var(--sun)}.icon-btn .i-moon{display:var(--moon)}main{padding-block:var(--s6) var(--s7);flex:1}.site-footer{border-top:1px solid var(--border);padding-block:var(--s5);color:var(--muted);font-size:.875rem}.site-footer .wrap{justify-content:space-between;gap:var(--s3);flex-wrap:wrap;display:flex}.lede{color:var(--muted);max-width:var(--measure);margin-top:var(--s2);font-size:1.1rem}.tool-list{margin:var(--s6) 0 0;gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));padding:0;list-style:none;display:grid}.tool-list a{height:100%;padding:var(--s4) var(--s5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;display:block}.tool-list a:hover{border-color:var(--accent);box-shadow:var(--shadow)}.tool-list strong{margin-bottom:var(--s1);font-size:1.05rem;display:block}.tool-list span{color:var(--muted);font-size:.925rem}.tool-list small{margin-top:var(--s3);color:var(--muted);font-size:.8rem;display:block}.crumb{margin-bottom:var(--s4);font-size:.9rem;display:inline-block}.tool-panel{margin-top:var(--s5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s5);box-shadow:var(--shadow)}.tool-grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.field{gap:var(--s1);align-content:start;display:grid}.field label{font-size:.925rem;font-weight:600}.field input,.field select,.field textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;width:100%;min-height:2.75rem;padding:.6rem .75rem}.field input:hover,.field select:hover{border-color:color-mix(in oklch, var(--border), var(--text) 30%)}.field[data-invalid] input,.field[data-invalid] select{border-color:var(--danger)}.field .hint{color:var(--muted);margin:0;font-size:.85rem}.field .error{color:var(--danger);margin:0;font-size:.875rem;font-weight:600}.field .error[hidden]{display:none}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:2.75rem;color:var(--text);cursor:pointer;border-radius:8px;padding:.55rem 1rem;font-weight:600}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn--primary:hover{background:color-mix(in oklch, var(--accent), var(--text) 12%)}.btn--quiet{color:var(--muted);background:0 0;border-color:#0000}.actions{margin:var(--s3) 0 0}.result{margin-top:var(--s5);border-top:1px solid var(--border);padding-top:var(--s5);min-height:8rem}.result [data-empty]{color:var(--muted)}.result [hidden]{display:none}.result+.field{margin-top:var(--s5)}.notice{background:var(--warn-bg);color:var(--warn-text);padding:var(--s3) var(--s4);margin-bottom:var(--s4);border-radius:8px;font-size:.925rem}.rows{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.row{align-items:center;gap:var(--s2) var(--s4);padding:var(--s3) var(--s4);background:var(--bg);border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr auto auto;display:grid}.row .place{font-weight:600}.row .place small{color:var(--muted);font-size:.8rem;font-weight:400;display:block}.row .time{text-align:right;letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.row .time small{color:var(--muted);letter-spacing:0;font-size:.8rem;font-weight:500;display:block}.row .remove{width:2.5rem;min-height:2.5rem;padding:0;font-size:1.25rem;line-height:1}.row .day{color:var(--accent);font-weight:650}.content{margin-top:var(--s7)}.content>section:first-child h2{margin-top:0}ol.howto{max-width:var(--measure);padding-left:1.25rem}ol.howto li{margin-bottom:var(--s2)}details.faq{border-bottom:1px solid var(--border);max-width:var(--measure)}details.faq summary{cursor:pointer;padding:var(--s3) 0;font-weight:600}details.faq p{color:var(--muted)}.meta{margin-top:var(--s5);color:var(--muted);gap:var(--s2) var(--s5);flex-wrap:wrap;font-size:.85rem;display:flex}.ad{min-height:90px;margin-block:var(--s5)}#update-banner{inset:auto var(--s4) var(--s4) var(--s4);gap:var(--s3);background:var(--text);max-width:28rem;color:var(--bg);padding:var(--s3) var(--s4);border-radius:var(--radius);box-shadow:var(--shadow);z-index:20;justify-content:space-between;align-items:center;margin-inline:auto;display:flex;position:fixed}#update-banner[hidden]{display:none}#update-banner .btn{background:var(--bg);color:var(--text);min-height:2.25rem}@media (prefers-reduced-motion:no-preference){.btn,.icon-btn,.tool-list a,input,select{transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}}@media (width<=30rem){h1{font-size:1.65rem}.tool-panel{padding:var(--s4)}.row .time{font-size:1.3rem}}
