@charset "UTF-8";@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #f2f1ed;--surface: #ffffff;--surface-2: #f8f7f4;--surface-3: #ebe9e3;--border: #dfdcd4;--border-2: #c4bfb4;--text: #1b1a17;--text-2: #57534a;--text-3: #6b6659;--text-invert: #ffffff;--accent: #2f5bd8;--accent-hover: #2449b5;--accent-soft: #eaeefb;--accent-ring: #b9ccf7;--todo: #57534a;--todo-soft: #ffffff;--doing: #8a5510;--doing-soft: #f9f0e0;--done: #6b6659;--done-soft: #ebe9e3;--prio-low: #6b6659;--prio-medium: #57534a;--prio-high: #a3302a;--danger: #a3302a;--danger-hover: #862621;--danger-soft: #faedeb;--danger-line: #e6c4bf;--now: #cc3311;--font-ui: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--radius: 6px;--radius-sm: 4px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(41 37 30 / 8%);--shadow: 0 4px 12px rgb(41 37 30 / 10%);--shadow-lg: 0 16px 40px rgb(41 37 30 / 18%);--u: 4px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.label{font-size:var(--fs-sm);font-weight:600;color:var(--text-2);letter-spacing:0;text-transform:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.action{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u) * 2);font-family:inherit;font-size:var(--fs-base);font-weight:600;line-height:1.2;text-decoration:none;color:var(--text-invert);background:var(--accent);border:1px solid transparent;border-radius:var(--radius-sm);padding:calc(var(--u) * 2.5) calc(var(--u) * 4);cursor:pointer;transition:background .15s ease}.action:hover:not(:disabled){background:var(--accent-hover)}.action:disabled{background:var(--surface-3);color:var(--text-3);cursor:not-allowed}.action--lg{font-size:var(--fs-md);padding:calc(var(--u) * 3.5) calc(var(--u) * 6)}.action--danger{background:var(--danger)}.action--danger:hover:not(:disabled){background:var(--danger-hover)}.ghost{display:inline-flex;align-items:center;font-family:inherit;font-size:var(--fs-base);font-weight:500;color:var(--text-2);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:calc(var(--u) * 2.5) calc(var(--u) * 4);cursor:pointer;transition:background .15s ease,border-color .15s ease}.ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-3);color:var(--text)}.ghost:disabled{color:var(--text-3);cursor:not-allowed}.link{font-family:inherit;font-size:var(--fs-sm);font-weight:500;color:var(--accent);background:none;border:0;padding:calc(var(--u)) 0;cursor:pointer;flex-shrink:0;border-radius:var(--radius-sm)}.link:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.link--danger{color:var(--danger)}.link--danger:hover{color:var(--danger-hover)}.badge{display:inline-flex;align-items:center;gap:calc(var(--u) * 1.5);font-size:var(--fs-xs);font-weight:600;line-height:1;padding:calc(var(--u) * 1.25) calc(var(--u) * 2);border-radius:var(--radius-sm);white-space:nowrap}.badge[data-status=TODO]{color:var(--todo);background:var(--todo-soft);box-shadow:inset 0 0 0 1px var(--border-2)}.badge[data-status=DOING]{color:var(--doing);background:var(--doing-soft)}.badge[data-status=DONE]{color:var(--done);background:var(--done-soft)}.notice{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 4);padding:calc(var(--u) * 3) calc(var(--u) * 4);margin-bottom:calc(var(--u) * 4);font-size:var(--fs-base);color:var(--text);background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--radius)}.notice--floating{flex:0 0 auto;margin:0;border-inline:0;border-top:0;border-radius:0}.conflict{padding:calc(var(--u) * 3) calc(var(--u) * 4);margin-bottom:calc(var(--u) * 5);background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--radius)}.conflict__message{margin:0;font-size:var(--fs-base);color:var(--text)}.conflict__list{margin:calc(var(--u) * 2) 0 0;padding-left:calc(var(--u) * 4);font-size:var(--fs-sm);color:var(--text-2)}.scrim{position:fixed;inset:0;background:#1c191473;display:flex;justify-content:flex-end;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel{width:100%;max-width:460px;height:100%;overflow-y:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);animation:panel-slide-in .18s cubic-bezier(.2,0,0,1)}.panel__head{padding:calc(var(--u) * 6) calc(var(--u) * 6) calc(var(--u) * 4);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.panel__eyebrow{margin:0 0 calc(var(--u));font-size:var(--fs-sm);font-weight:600;color:var(--accent)}.panel__title{margin:0;font-family:var(--font-ui);font-size:var(--fs-xl);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--text)}.panel__body{padding:calc(var(--u) * 5) calc(var(--u) * 6) calc(var(--u) * 8)}.panel__foot{display:flex;justify-content:flex-end;align-items:center;gap:calc(var(--u) * 3);margin-top:calc(var(--u) * 8);padding-top:calc(var(--u) * 5);border-top:1px solid var(--border)}@keyframes panel-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.skeleton{position:relative;overflow:hidden;background:var(--surface-3);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:skeleton-sweep 1.4s ease-in-out infinite}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.field{margin-bottom:calc(var(--u) * 5);flex:1;min-width:0}.field label{display:block;margin-bottom:calc(var(--u) * 1.5);font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}.field input,.field select,.field textarea{width:100%;padding:calc(var(--u) * 2.5) calc(var(--u) * 3);font:inherit;font-size:var(--fs-md);color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder,.field textarea::placeholder{color:var(--text-3)}.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus,.field input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--text);transition:background-color 5000s ease-in-out 0s}::selection{background:var(--accent-ring);color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.field textarea{resize:vertical}.field__error{display:block;margin-top:calc(var(--u) * 1.5);font-size:var(--fs-sm);color:var(--danger)}.field-pair{display:flex;gap:calc(var(--u) * 4)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{@page{size:A4 landscape;margin:12mm}html,body{height:auto;background:#fff}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}.scrim,.notice,.notice--floating{display:none}a{text-decoration:none;color:inherit}}
