@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2) format("woff2-variations");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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");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:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2) format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff) format("woff");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}:root{--font-display: "Montserrat Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-body: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "Space Grotesk Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--ink);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light;--bg: #f7f7f5;--panel: #ffffff;--ink: #111111;--muted: #5f5f5f;--border: #d4d4cf;--accent: #111111;--accent-dark: #000000;--accent-soft: #ececea;--accent-create: #1f8f4d;--accent-create-soft: #e2f4ea;--accent-archive: #2563eb;--accent-archive-soft: #e8efff;--accent-archive-soft-strong: #dbe7ff;--accent-archive-border: rgba(37, 99, 235, .35);--accent-warn: #d97706;--accent-warn-soft: #fdf1dc;--danger: #d12424;--danger-dark: #b21b1b;--danger-soft: #f3e1e1;--border-strong: #8d897e;--btn-primary-bg: #0f7038;--btn-primary-fg: #ffffff;--chart-1: #d12424;--chart-2: #1f8f4d;--chart-3: #2563eb;--chart-4: #c26a06;--chart-5: #7c3aed;--chart-6: #0f766e;--overlay-scrim: rgba(17, 17, 17, .12);--overlay-scrim-weak: rgba(17, 17, 17, .08);--shadow: none;--shadow-card: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .05);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius-xs: 6px;--radius-pill: 999px;--radius-note: 6px;--column-width: 320px;--column-bg-a: #f6f6f2;--column-bg-b: #f0f0eb;--card-bg: #ffffff;--card-bg-overdue: #fcecec;--group-bg: var(--card-bg);--group-shadow: var(--shadow-card);--hairline: color-mix(in srgb, var(--border) 70%, transparent);--note-yellow: #ffe86a;--note-yellow-edge: #e2c74b;--note-shine: rgba(255, 255, 255, .35);--note-inset: rgba(255, 255, 255, .3);--note-shade: rgba(0, 0, 0, .1);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--rail-width: 56px;--rail-gap: 16px;--menu-width: min(380px, 92vw);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--text-xs: .72rem;--text-sm: .82rem;--text-base: .95rem;--text-md: 1.05rem;--text-lg: 1.2rem;--text-xl: 1.5rem;--text-2xl: 1.9rem;--z-banner: 2;--z-rail: 8;--z-timer: 9;--z-menu: 12;--z-drawer: 18;--z-fullpage: 19;--z-modal: 20;--z-drops: 26;--z-unlock: 30;--z-lightbox: 45;--z-palette: 60;--z-toast: 80;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .24s;--ease-out: cubic-bezier(.22, 1, .36, 1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05), 0 2px 6px rgba(0, 0, 0, .05);--shadow-md: 0 6px 18px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .05);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .14), 0 6px 16px rgba(0, 0, 0, .08)}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1011;--panel: #151719;--ink: #f1f0ec;--muted: #a4a099;--border: #2a2d30;--accent: #ffffff;--accent-dark: #d7d7d3;--accent-soft: #26282b;--accent-create: #3bd070;--accent-create-soft: #1a2b22;--accent-archive: #5a8dff;--accent-archive-soft: #1b2335;--accent-archive-soft-strong: #24304a;--accent-archive-border: rgba(90, 141, 255, .4);--accent-warn: #fbbf24;--accent-warn-soft: #2e2312;--danger: #ff6b6b;--danger-dark: #e04f4f;--danger-soft: #321b1b;--border-strong: #6b7177;--btn-primary-bg: #3bd070;--btn-primary-fg: #08130c;--chart-1: #ff5c5c;--chart-2: #3bd070;--chart-3: #5a8dff;--chart-4: #f0a83c;--chart-5: #a97cff;--chart-6: #2dd4bf;--overlay-scrim: rgba(0, 0, 0, .55);--overlay-scrim-weak: rgba(0, 0, 0, .42);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .4);--shadow-md: 0 8px 22px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 22px 54px rgba(0, 0, 0, .6), 0 8px 20px rgba(0, 0, 0, .45);--column-bg-a: #141618;--column-bg-b: #101214;--card-bg: #191c1f;--card-bg-overdue: #3a1f1f;--group-bg: var(--card-bg);--group-shadow: none;--note-yellow: #2f343a;--note-yellow-edge: #23282e;--note-shine: rgba(255, 255, 255, .08);--note-inset: rgba(255, 255, 255, .06);--note-shade: rgba(0, 0, 0, .35)}:root[data-font=classic]{--font-display: "Montserrat Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}:root[data-font=fetzig]{--font-display: "Permanent Marker", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}@media(max-width:640px){:root{--column-width: 260px;--rail-width: 48px;--rail-gap: 12px}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background-color:var(--bg);overflow:hidden}#root{height:100%}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em;font-family:var(--font-display)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:inherit}button,input,select,textarea{font-family:inherit;font-size:.95rem}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;background:var(--panel);color:var(--ink);transition:border-color .2s ease}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);box-shadow:none}:root{--select-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f5f5f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>")}:root[data-theme=dark]{--select-chevron: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a4a099' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>")}select{appearance:none;-webkit-appearance:none;padding-right:2rem;background-image:var(--select-chevron);background-repeat:no-repeat;background-position:right .6rem center;background-size:16px 16px}select option{background:var(--panel);color:var(--ink)}select,select::picker(select){appearance:base-select}select{width:auto}select::picker-icon{display:none}select::picker(select){margin-top:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);padding:4px;box-shadow:var(--shadow-md)}select option{padding:6px 10px;border-radius:var(--radius-xs);font-size:.85rem;cursor:pointer}select option:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}select option:checked{font-weight:650}@media(prefers-reduced-motion:no-preference){select::picker(select){opacity:0;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease,overlay .12s ease allow-discrete,display .12s ease allow-discrete}select:open::picker(select){opacity:1;transform:translateY(0)}@starting-style{select:open::picker(select){opacity:0;transform:translateY(-4px)}}}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.rail{position:fixed;right:0;top:0;bottom:0;width:var(--rail-width);z-index:var(--z-rail);display:flex;flex-direction:column;gap:12px;padding:12px 8px;background:var(--panel);border-left:1px solid var(--border);transition:right .2s ease}.rail-title,.board-title{display:none}.board-title:focus{outline:none}.rail-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.rail-menu-button{align-self:center}.rail-settings{margin-top:auto}.rail-status{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.rail-status-item{width:36px;height:36px;display:grid;place-items:center;color:var(--muted)}.rail-status-button{border:0;background:transparent;padding:0;cursor:pointer}.rail-status-button.active{color:var(--accent)}.rail-status-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-status-dot .sync-dot{width:6px;height:6px}.layout{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;gap:24px;padding-right:calc(var(--rail-width) + var(--rail-gap) - 16px);align-items:stretch;min-height:0;transition:padding-right .2s ease}.app.menu-open .rail{right:var(--menu-width)}.app.menu-open .layout{padding-right:calc(var(--rail-width) + var(--rail-gap) + var(--menu-width))}.app.menu-open{--rail-gap: 0px}.board-area{min-width:0;display:flex;min-height:0;height:100%;overflow:hidden;align-items:stretch}.board-scroll{display:flex;gap:0;overflow-x:auto;align-items:stretch;flex:1;padding-bottom:0;min-height:0;height:100%;min-height:100%;scrollbar-gutter:stable}.board-scroll::-webkit-scrollbar{height:8px}.board-scroll::-webkit-scrollbar-thumb{background:var(--border)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.panel h2{font-size:1.05rem;margin-bottom:12px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-header h2{margin:0}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hint{font-size:.85rem;color:var(--muted)}.hint.error{color:var(--danger)}.loading{min-height:100vh;display:grid;place-items:center}.loading-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 24px;display:flex;align-items:center;gap:12px}.local-banner{display:flex;align-items:center;gap:10px;margin-right:var(--rail-width);padding:6px 16px;background:color-mix(in srgb,var(--accent-warn) 14%,var(--panel) 86%);border-bottom:1px solid var(--border);color:var(--ink);font-size:.8rem;flex-shrink:0;z-index:var(--z-banner)}.local-banner-text{flex:1;min-width:0}.app.menu-open .local-banner{margin-right:calc(var(--rail-width) + var(--menu-width))}.app.public-view{display:flex;flex-direction:column;min-height:100vh}.public-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--panel)}.public-bar-title{display:flex;flex-direction:column;gap:2px;min-width:0}.public-bar-title h1{margin:0;font-size:1.05rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-badge{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--accent)}.public-bar-brand{flex-shrink:0;font-size:.85rem;color:var(--muted);text-decoration:none}.public-bar-brand:hover{text-decoration:underline}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.45rem .9rem;font-weight:600;background:transparent;cursor:pointer;color:var(--ink)}.btn.small{padding:.3rem .6rem;font-size:.8rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:hover:not(:disabled){border-color:var(--muted)}.btn.primary:hover:not(:disabled){border-color:var(--btn-primary-bg);filter:brightness(1.06)}.btn.primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg)}.btn.ghost{background:transparent}.btn.ghost.active{border-color:var(--accent);color:var(--accent)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary:focus-visible{outline-color:var(--btn-primary-bg)}.icon-text{display:inline-flex;align-items:center;gap:8px}.icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.icon-text svg,.icon-text .icon,.icon-button svg,.icon-button img,.menu-item svg,.menu-item .icon,.icon-choice svg,.icon-choice .icon{display:block}.icon-button .frog-icon{width:18px;height:18px}.icon-button .icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center}.icon-button{border:1px solid transparent;background:transparent;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;padding:0;border-radius:var(--radius-sm)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button:hover:not(:disabled):not(.active){background:color-mix(in srgb,var(--ink) 7%,transparent)}.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-button.active{border-color:var(--accent);color:var(--accent)}.icon-button.danger{border-color:var(--danger);color:var(--danger)}.filters-panel{display:flex;flex-direction:column;gap:8px}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted);margin-bottom:12px}.field-label{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--muted)}.field-label .icon{font-size:16px}.field-label img{width:14px;height:14px}.field input,.field select,.field textarea{color:var(--ink);font-size:13px;line-height:1.5}input[type=color]{-webkit-appearance:none;appearance:none;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:var(--radius-xs)}input[type=color]::-moz-color-swatch{border:none;border-radius:var(--radius-xs)}.field.checkbox{flex-direction:row;align-items:center;gap:10px;color:var(--ink);font-weight:500}.field.checkbox input[type=checkbox]{appearance:none;width:18px;height:18px;aspect-ratio:1 / 1;margin:0;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--panel);display:grid;place-items:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.toast-stack{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:var(--z-toast);max-width:min(360px,92vw)}.toast{--toast-accent: var(--accent);--toast-soft: var(--accent-soft);display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:12px 14px;border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:var(--radius-md)}.toast.success{--toast-accent: var(--accent-create);--toast-soft: var(--accent-create-soft)}.toast.error{--toast-accent: var(--danger);--toast-soft: var(--danger-soft)}.toast.warning{--toast-accent: var(--accent-warn);--toast-soft: var(--accent-warn-soft)}.toast.info{--toast-accent: var(--accent-archive);--toast-soft: var(--accent-archive-soft)}.toast-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--toast-accent);background:var(--toast-soft);color:var(--toast-accent);border-radius:var(--radius-sm)}.toast-body{display:flex;flex-direction:column;gap:4px}.toast-title{font-weight:600;font-size:.95rem}.toast-message{font-size:.82rem;color:var(--muted)}.toast-actions{display:flex;gap:8px;margin-top:6px}.toast-action{border:1px solid var(--toast-accent);background:transparent;color:var(--toast-accent);font-weight:600;font-size:.75rem;padding:4px 8px;cursor:pointer;border-radius:var(--radius-sm)}.toast-action:focus-visible{outline:2px solid var(--toast-accent);outline-offset:2px}.toast-close{border:0;background:transparent;color:var(--muted);width:28px;height:28px;display:grid;place-items:center;cursor:pointer;border-radius:var(--radius-sm)}.toast-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:640px){.toast-stack{left:12px;right:12px;bottom:12px}}.field.checkbox input[type=checkbox]:after{content:"";width:10px;height:10px;background:var(--accent);border-radius:var(--radius-xs);opacity:0;transition:opacity .15s ease}.field.checkbox input[type=checkbox]:checked{border-color:var(--accent);background:var(--panel)}.field.checkbox input[type=checkbox]:checked:after{opacity:1}.field.checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox-label{display:inline-flex;align-items:center;gap:6px}.checkbox-label .icon{font-size:16px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-mono)}.stat-value{font-size:1.1rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.stat-list{display:grid;background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);padding:2px 12px}.stat-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--hairline)}.stat-row:last-child{border-bottom:none}.rich-text{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-md);overflow:hidden}.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:var(--bg);border-bottom:1px solid var(--border)}.rich-text-button{border:1px solid transparent;background:transparent;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;padding:0;border-radius:var(--radius-xs)}.rich-text-button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.rich-text-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rich-text-editor{border:none;background:transparent;padding:10px 12px;min-height:120px;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.5}.rich-text:focus-within{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.rich-text-editor .ProseMirror{min-height:104px;outline:none;font-size:inherit}.rich-text-editor .ProseMirror p{margin:0 0 8px}.rich-text-editor .ProseMirror p:last-child{margin-bottom:0}.rich-text-editor .ProseMirror ul,.rich-text-editor .ProseMirror ol{margin:0 0 8px;padding-left:20px}.rich-text-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.rich-text-editor .ProseMirror li[data-checked]{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.rich-text-editor .ProseMirror li[data-checked]>label{position:relative;width:18px;height:18px;flex:0 0 18px;margin-top:2px;display:grid;place-items:center;cursor:pointer}.rich-text-editor .ProseMirror li[data-checked]>label input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.rich-text-editor .ProseMirror li[data-checked]>label span{width:18px;height:18px;border:1px solid var(--border);border-radius:var(--radius-xs);background:transparent;display:grid;place-items:center;transition:border-color .2s ease,background .2s ease}.rich-text-editor .ProseMirror li[data-checked]>label span:after{content:"";width:6px;height:10px;border-right:2px solid var(--accent-create);border-bottom:2px solid var(--accent-create);transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .12s ease}.rich-text-editor .ProseMirror li[data-checked=true]>label span{border-color:var(--accent-create);background:var(--accent-create-soft)}.rich-text-editor .ProseMirror li[data-checked]>label:hover span{border-color:var(--accent-create)}.rich-text-editor .ProseMirror li[data-checked=true]>label span:after{transform:rotate(45deg) scale(1)}.rich-text-editor .ProseMirror li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.rich-text-editor .ProseMirror li[data-checked]>div{flex:1;min-width:0}.rich-text-editor .ProseMirror li[data-checked]>div p{margin:0 0 4px}.rich-text-editor .ProseMirror li[data-checked]>div p:last-child{margin-bottom:0}.rich-text-editor .ProseMirror li[data-checked]>div ul{margin-top:6px;padding-left:16px}.rich-text-editor .ProseMirror li p{margin:0}.rich-text-editor .ProseMirror a{color:var(--accent);text-decoration:underline}.rich-text-inline .rich-text-toolbar{padding:4px;gap:4px}.rich-text-inline .rich-text-button{width:28px;height:28px}.rich-text-inline .rich-text-editor{padding:8px 10px;min-height:90px}.rich-text-inline .rich-text-editor .ProseMirror{min-height:74px}.rich-text-loading{opacity:.6;pointer-events:none}.rich-text-loading .rich-text-toolbar{min-height:32px}.rich-text-view{line-height:1.5}.rich-text-view p{margin:0 0 6px}.rich-text-view p:last-child{margin-bottom:0}.rich-text-view ul,.rich-text-view ol{margin:4px 0 6px;padding-left:16px}.rich-text-view .task-list{list-style:none;padding-left:0;margin:4px 0 6px}.rich-text-view .task-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px}.rich-text-view .task-item:last-child{margin-bottom:0}.rich-text-view .task-item.is-checked .task-content{color:var(--muted);text-decoration:line-through}.rich-text-view .task-checkbox{position:relative;width:18px;height:18px;flex:0 0 18px;margin-top:2px;display:grid;place-items:center}.rich-text-view .task-checkbox input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}.rich-text-view.rich-text-interactive .task-checkbox input[type=checkbox]{pointer-events:auto;cursor:pointer}.rich-text-view .task-box{width:18px;height:18px;border:1px solid var(--border);border-radius:var(--radius-xs);background:transparent;display:grid;place-items:center;transition:border-color .2s ease,background .2s ease}.rich-text-view .task-box:after{content:"";width:6px;height:10px;border-right:2px solid var(--accent-create);border-bottom:2px solid var(--accent-create);transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .12s ease}.rich-text-view .task-item.is-checked .task-box{border-color:var(--accent-create);background:var(--accent-create-soft)}.rich-text-view .task-item.is-checked .task-box:after{transform:rotate(45deg) scale(1)}.rich-text-view.rich-text-interactive .task-checkbox{cursor:pointer}.rich-text-view .task-content{flex:1}.rich-text-view .task-content p{margin:0 0 4px}.rich-text-view .task-content p:last-child{margin-bottom:0}.rich-text-view .task-content .task-list{margin-top:6px;padding-left:16px}.rich-text-view li p{margin:0}.rich-text-view a{color:var(--accent);text-decoration:underline}.column{width:var(--column-width);min-width:var(--column-width);max-width:var(--column-width);background:var(--column-bg-a);border:none;border-radius:0;padding:8px 8px 0;display:flex;flex-direction:column;gap:12px;height:100%;min-height:100%;align-self:stretch;flex:0 0 var(--column-width);position:relative;margin-left:0}.column:nth-of-type(2n){background:var(--column-bg-b)}.column-insert{position:relative;width:24px;flex:0 0 24px;height:24px;align-self:flex-start;margin-top:24px;margin-left:-12px;margin-right:-12px;display:flex;align-items:center;justify-content:center;z-index:2}.column-insert-button{width:20px;height:20px;border:1px solid var(--border);background:var(--panel);display:grid;place-items:center;padding:0;opacity:0;cursor:pointer;transition:opacity .2s ease,border-color .2s ease,color .2s ease;border-radius:var(--radius-xs)}.column-insert:hover .column-insert-button,.column-insert-button:focus-visible{opacity:1;border-color:var(--accent-create);color:var(--accent-create)}.column-insert-button:focus-visible{outline:2px solid var(--accent-create);outline-offset:2px}.column.limit-exceeded{background:color-mix(in srgb,var(--column-bg-a) 86%,var(--danger-soft) 80%)}.column.limit-exceeded:nth-of-type(2n){background:color-mix(in srgb,var(--column-bg-b) 86%,var(--danger-soft) 80%)}.column.drop-before:before,.column.drop-after:after{content:"";position:absolute;top:8px;bottom:8px;width:10px;background:linear-gradient(to bottom,transparent 0%,var(--accent) 20%,var(--accent) 80%,transparent 100%);clip-path:polygon(50% 0%,68% 10%,68% 90%,50% 100%,32% 90%,32% 10%);pointer-events:none;z-index:2}.column.drop-before:before{left:-5px}.column.drop-after:after{right:-5px}.column-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.column-title{display:flex;align-items:flex-start;gap:10px;cursor:grab}.column-title:active{cursor:grabbing}.column-title h3{font-size:1.1rem;line-height:1.3;padding-top:7px;margin:0;word-break:break-word}.column-meta{display:block;font-size:.75rem;color:var(--muted);font-family:var(--font-body)}.column.limit-exceeded .column-meta{color:var(--danger)}.column-icon{width:36px;height:36px;display:grid;place-items:center}.column-body{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;padding-top:16px;padding-right:4px;padding-left:4px;padding-bottom:calc(72px + var(--safe-bottom));min-height:0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 55%,transparent) transparent}.column-body::-webkit-scrollbar{width:8px}.column-body::-webkit-scrollbar-track{background:transparent}.column-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 50%,transparent);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}.column-body::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 70%,transparent);background-clip:padding-box}.column-add{position:absolute;right:12px;bottom:calc(12px + var(--safe-bottom));z-index:3}.column-add.open{left:12px;right:12px}.column-add-form{display:flex;gap:8px;align-items:center;border:1px solid var(--accent);background:var(--bg);padding:6px;width:100%;border-radius:var(--radius-sm)}.column-add-form input{flex:1;min-width:0;border:none;background:transparent}.column-add-form input:focus{outline:none;border-color:transparent}.column-add-fab{width:38px;height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--muted);display:grid;place-items:center;cursor:pointer}.column-add-fab:hover{border-color:var(--accent-create);color:var(--accent-create)}.column-add-fab:focus-visible{outline:2px solid var(--accent-create);outline-offset:2px}.card-slot{position:relative;margin-top:0;transition:margin-top .24s cubic-bezier(.34,1.56,.64,1)}.card-slot.drop-gap-active{margin-top:48px}.card-slot-end{height:0}@media(prefers-reduced-motion:reduce){.card-slot{transition:none}.card-insert-form{animation:none}}.card-insert-zone{position:absolute;left:0;right:0;top:-15px;height:20px;border:none;padding:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.card-insert-button{width:20px;height:20px;border:1px solid var(--border);background:var(--panel);display:grid;place-items:center;opacity:0;transition:opacity .2s ease,border-color .2s ease,color .2s ease;border-radius:var(--radius-xs)}.card-insert-zone:hover .card-insert-button,.card-insert-zone:focus-visible .card-insert-button{opacity:1;border-color:var(--accent-create);color:var(--accent-create)}.card-insert-zone:focus-visible{outline:2px solid var(--accent-create);outline-offset:2px}.card-insert-form{border:1px solid var(--accent);padding:8px;background:var(--panel);display:flex;flex-direction:column;gap:6px;border-radius:var(--radius-sm);margin-bottom:12px;animation:card-insert-form-in .2s ease-out}@keyframes card-insert-form-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.card-insert-form input{border:none;background:transparent}.card-insert-form input:focus{outline:none;border-color:transparent}.card-insert-actions{display:flex;justify-content:flex-end;gap:6px}.card-insert-action{width:30px;height:30px;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-xs)}.card-insert-action:hover{border-color:var(--accent-create);color:var(--accent-create)}.card-insert-action:focus-visible{outline:2px solid var(--accent-create);outline-offset:2px}.add-column{width:var(--column-width);min-width:var(--column-width);max-width:var(--column-width);flex:0 0 var(--column-width);border:1px solid var(--border);border-radius:0;background:transparent;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;cursor:pointer;height:100%}.add-column:hover{border-color:var(--accent-create);color:var(--accent-create)}.add-column:focus-visible{outline:2px solid var(--accent-create);outline-offset:2px}.timer-context{position:fixed;right:calc(var(--rail-width) + 18px + var(--safe-right));bottom:calc(26px + var(--safe-bottom));z-index:var(--z-timer);width:calc(var(--column-width) - 40px)}.timer-context-panel{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--panel);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 14px 30px #00000014;width:100%;position:relative;overflow:hidden}.timer-context-metrics{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1;padding-right:46px}.timer-context-watermark{position:absolute;top:16px;right:16px;opacity:.12;color:var(--muted);pointer-events:none;z-index:0}.timer-context-time-row{display:flex;align-items:center;gap:10px}.timer-context-times{display:flex;flex-direction:column;gap:4px;min-width:0}.timer-context-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:2}.timer-context-close{width:30px;height:30px;border:1px solid var(--border);background:var(--panel);color:var(--muted)}.timer-context-close:hover{border-color:var(--accent);color:var(--accent)}.timer-context-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timer-context-current{font-size:1.5rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.timer-context-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.75rem;color:var(--muted)}.timer-context-task-name{font-size:.9rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:46px;position:relative;z-index:1}.timer-context-action-icon{width:32px;height:32px;border:1px solid var(--border);background:var(--panel);color:var(--muted);display:grid;place-items:center;cursor:pointer}.timer-context-action-icon:hover{border-color:var(--accent);color:var(--accent)}.timer-context-action-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timer-context-recent{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.timer-context-recent-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.timer-context-recent-list{display:flex;flex-direction:column;gap:6px}.timer-context-recent-item{border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:6px 8px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;cursor:pointer}.timer-context-recent-item:hover{border-color:var(--accent);color:var(--accent)}.timer-context-recent-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timer-context-recent-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;min-width:0}.timer-context-recent-meta{font-size:.7rem;color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.timer-context-recent-item:hover .timer-context-recent-meta{color:var(--accent)}.timer-context-empty{font-size:.75rem;color:var(--muted)}.card-item{border:none;border-radius:var(--radius-md);padding:24px;background:var(--card-bg);cursor:pointer;display:flex;flex-direction:column;gap:0px;position:relative;overflow:hidden;transition:opacity .15s ease,filter .15s ease}.card-item.is-dragging-source{opacity:.42;filter:saturate(.7)}.card-item>*{position:relative;z-index:1}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-timer-toggle{border:1px solid var(--border);background:transparent;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;color:var(--muted);flex-shrink:0;border-radius:var(--radius-sm)}.card-timer-toggle.running{color:var(--accent);border-color:var(--accent)}.card-timer-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-timer{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);font-family:var(--font-mono)}.card-timer.running{color:var(--accent)}.card-item.has-details{gap:8px}.card-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-item.overdue{background:var(--card-bg-overdue)}.card-item.status-blocked{background:var(--danger-soft)}.card-item.status-done{background:var(--accent-create-soft)}.card-item.frog-active:before,.card-item.frog-eaten:before{content:"";position:absolute;inset:0;background-repeat:no-repeat;background-position:center;background-size:min(70%,240px);opacity:.14;pointer-events:none;z-index:0}.card-item.frog-active:before{background-image:url(/frog.svg)}.card-item.frog-eaten:before{background-image:url(/frog_eaten.svg)}.card-item.urgent{animation:urgent-blink 1s ease-in-out infinite}@keyframes urgent-blink{0%,to{background-color:var(--card-bg)}50%{background-color:var(--danger-soft)}}.card-title{font-weight:600;font-family:var(--font-display);word-break:break-word}.card-desc{font-size:.85rem;color:var(--muted);transition:color .2s ease-in-out}.card-desc-wrap{display:flex;flex-direction:column;gap:6px}.card-desc-wrap.is-empty{position:relative;height:0}.card-desc-preview{position:relative;cursor:text;padding:0}.card-desc-preview[data-editable=false]{cursor:default}.card-item.desc-filled .card-desc-preview:hover .card-desc{color:var(--ink)}.card-desc-preview[data-empty=true]{height:0;margin-bottom:0}.card-desc-wrap.is-empty .card-desc-preview[data-empty=true]{position:absolute;left:0;right:0;top:0;height:8px}.card-desc-preview[data-empty=true][data-editable=true]:after{content:"";position:absolute;left:0;right:0;top:0;border-bottom:1px solid #fff;opacity:0;transition:opacity .5s ease-in-out}.card-desc-preview[data-empty=true][data-editable=true]:hover:after,.card-desc-preview[data-empty=true][data-editable=true]:focus-within:after{opacity:1}.card-desc-editor{display:flex;flex-direction:column;gap:6px}.card-desc-actions{display:flex;gap:6px;justify-content:flex-end}.card-desc-action{width:28px;height:28px;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-xs)}.card-desc-action:hover{border-color:var(--accent);color:var(--accent)}.card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.card-checklist{display:flex;flex-direction:column;gap:6px}.card-checklist-row{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted)}.card-checklist-bar{position:relative;height:4px;background:var(--border);border-radius:var(--radius-xs)}.card-checklist-bar span{position:absolute;left:0;top:0;bottom:0;background:var(--accent-create);border-radius:var(--radius-xs)}.card-meta-block{display:flex;flex-direction:column;gap:6px}.card-meta-primary{flex-wrap:wrap}.card-meta-primary .pill,.card-meta-primary .tag-chip{flex-shrink:0}.card-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--muted)}.card-meta-icon{width:18px;height:18px;border:1px solid var(--border);background:var(--panel);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-xs)}.card-meta-item.running{color:var(--accent)}.card-meta-item.running .card-meta-icon{border-color:var(--accent);color:var(--accent)}.card-countdown{margin-top:auto;padding:12px 0 0;border-top:1px solid var(--border);display:grid;gap:3px;color:var(--ink);min-width:0}.card-countdown-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)}.card-countdown-value{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:5px;row-gap:0;min-width:0;line-height:1.05}.card-countdown-number{font-family:var(--font-display);font-size:1.32rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.card-countdown-unit{margin-right:4px;font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}.card-countdown.overdue{border-top-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.card-countdown.overdue .card-countdown-label,.card-countdown.overdue .card-countdown-unit{color:var(--danger)}.pill{--pillc: var(--muted);display:inline-flex;align-items:center;gap:4px;min-height:20px;border-radius:var(--radius-pill);padding:2px 6px;font:inherit;font-size:.68rem;font-weight:700;border:0;color:var(--pillc);background:color-mix(in srgb,var(--pillc) 11%,transparent)}.pill.priority.urgent,.pill.priority.high{--pillc: var(--danger-dark)}.pill.priority.medium{--pillc: #6d5944}.pill.status.blocked{--pillc: var(--danger-dark)}.pill.status.in-progress{--pillc: var(--accent-archive)}.pill.status.review{--pillc: var(--accent-warn)}.pill.status.done{--pillc: var(--accent-create)}.tag-chip{--tag-color: var(--tagc, var(--chipc));display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border:0;border-radius:var(--radius-pill);color:var(--tag-color);background:color-mix(in srgb,var(--tag-color) 16%,transparent);font:inherit;font-size:.68rem;font-weight:700}[data-theme=dark] .tag-chip{color:color-mix(in srgb,var(--tag-color) 48%,var(--ink));background:color-mix(in srgb,var(--tag-color) 28%,transparent)}[data-theme=dark] .pill.priority.medium{--pillc: #cdbba6}[data-theme=dark] .pill.priority.urgent,[data-theme=dark] .pill.priority.high,[data-theme=dark] .pill.status.blocked{--pillc: var(--danger)}[data-theme=dark] .entity-selector.priority.urgent,[data-theme=dark] .entity-selector.priority.high,[data-theme=dark] .entity-selector.status.blocked{--entityc: var(--danger)}[data-theme=dark] .entity-selector.priority.medium,[data-theme=dark] .entity-selector.status.open{--entityc: #cdbba6}button.tag-chip{cursor:pointer}button.tag-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.assignee-avatar{width:20px;height:20px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.6rem;font-weight:700;letter-spacing:.02em;line-height:1;font-family:var(--font-mono);padding-top:1.5px}.assignee-avatar--more{background:var(--panel);color:var(--muted);border:1px solid var(--border)}.card-title-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.card-assignees-top{display:flex;align-items:center;gap:4px}.card-assignees-top .assignee-avatar{width:18px;height:18px}.assignee-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 11px 4px 5px;font:inherit;font-size:.85rem;font-weight:600;color:var(--ink);cursor:pointer;background:var(--panel)}.assignee-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.assignee-chip .assignee-avatar{width:18px;height:18px}.tag-picker .tag-chip{min-height:22px;padding:2px 7px;font-size:.72rem}.assignee-chip.active{border-color:var(--chipc);background:color-mix(in srgb,var(--chipc) 12%,var(--panel) 88%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chipc) 46%,transparent)}.tag-picker .tag-chip.active{background:color-mix(in srgb,var(--tag-color) 26%,transparent);box-shadow:none}.entity-selector{--entityc: var(--muted);display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:2px 7px;border:0;border-radius:var(--radius-pill);color:var(--entityc);background:color-mix(in srgb,var(--entityc) 11%,transparent);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer}.entity-selector:hover{background:color-mix(in srgb,var(--entityc) 18%,transparent)}.entity-selector:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entity-selector.active{background:color-mix(in srgb,var(--entityc) 25%,transparent);box-shadow:none}.entity-selector.priority.urgent,.entity-selector.priority.high,.entity-selector.status.blocked{--entityc: var(--danger-dark)}.entity-selector.priority.medium,.entity-selector.status.open{--entityc: #5b4b3c}.entity-selector.status.in-progress{--entityc: var(--accent-archive)}.entity-selector.status.review{--entityc: var(--accent-warn)}.entity-selector.status.done{--entityc: var(--accent-create)}.card-footer{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.card-footer.single{justify-content:flex-end}.app.sticky-notes .card-item{--note-bg: var(--note-yellow);--note-edge: var(--note-yellow-edge);--note-shadow: 0 14px 18px rgba(0, 0, 0, .08), 0 2px 0 var(--note-inset) inset;position:relative;overflow:hidden;border:0px solid var(--note-edge);border-radius:var(--radius-note);background:linear-gradient(-225deg,var(--note-shine) 0%,rgba(255,255,255,0) 100%,var(--note-shade) 100%),var(--note-bg);box-shadow:var(--note-shadow)}.app.sticky-notes .card-item:after{content:none}.app.sticky-notes .card-item.overdue,.app.sticky-notes .card-item.status-blocked,.app.sticky-notes .card-item.status-done{background:linear-gradient(180deg,var(--note-shine) 0%,rgba(255,255,255,0) 42%,var(--note-shade) 100%),var(--note-bg);box-shadow:var(--note-shadow)}.app.sticky-notes .card-item.urgent{animation:none}.app.sticky-notes .card-timer-toggle,.app.sticky-notes .card-desc-action,.app.sticky-notes .card-meta-icon{background:#ffffff73;border-color:#00000026}.app.sticky-notes .card-countdown{border-top-color:#00000029;background:#ffffff24;margin-inline:-8px;margin-bottom:-8px;padding:10px 8px 8px}.app.sticky-notes .card-countdown.overdue{border-top-color:#d124246b;background:#d1242414}.card-cover{margin:-24px -24px 4px;height:120px;overflow:hidden;flex-shrink:0}.card-cover img{display:block;width:100%;height:100%;object-fit:cover}.card-thumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.card-thumb{width:34px;height:34px;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border);background:var(--panel);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.card-thumb--empty{color:var(--muted)}.card-thumb--more{font-size:.68rem;font-weight:700;color:var(--muted);font-family:var(--font-mono)}.card-item.is-file-drop-target{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.tag-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tag-create{display:grid;grid-template-columns:1fr 80px auto;gap:12px;align-items:end}.tag-list{display:flex;flex-direction:column;gap:10px}.tag-row{display:grid;grid-template-columns:22px 1fr 48px auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.tag-row:last-child{border-bottom:none}.tag-swatch{width:18px;height:18px;border:1px solid var(--border);border-radius:var(--radius-xs)}.tag-label-input{width:100%;min-width:0}.person-row{grid-template-columns:22px 1fr auto 48px auto}.person-row .self-toggle{white-space:nowrap}.person-row .self-toggle.active{border-color:var(--accent);color:var(--accent)}.inspector{z-index:6}.inspector-head{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.inspector-toprow{display:flex;align-items:center;gap:8px}.inspector-toprow-right{margin-left:auto;display:flex;align-items:center;gap:2px}.inspector-colsel{appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:var(--radius-pill);background-color:var(--panel);background-size:12px 12px;background-position:right 8px center;color:var(--muted);font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:4px 24px 4px 10px;cursor:pointer;min-width:0;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector-colsel:hover{border-color:var(--border-strong);color:var(--ink)}.icon-button.inspector-frog{color:var(--muted)}.icon-button.inspector-frog.active{color:color-mix(in srgb,var(--accent-create) 62%,#0f2f1b 38%);border-color:color-mix(in srgb,var(--accent-create) 62%,#0f2f1b 38%);background:color-mix(in srgb,var(--accent-create) 14%,var(--panel) 86%)}.inspector-frog .frog-icon{width:18px;height:18px;flex:0 0 18px;display:block;background-color:currentColor;-webkit-mask-image:url(/frog.svg);mask-image:url(/frog.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.inspector-frog .frog-icon.is-eaten{-webkit-mask-image:url(/frog_eaten.svg);mask-image:url(/frog_eaten.svg)}.inspector-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--ink);border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;width:100%;padding:0 0 4px}.inspector-title:hover{border-bottom-color:var(--border)}.inspector-title:focus{outline:none;box-shadow:none;border-bottom-color:var(--accent)}.inspector-props{display:flex;flex-direction:column;padding:6px 0;flex-shrink:0}.inspector-seg{display:flex;align-items:stretch;width:100%;min-width:0;padding:2px;border-radius:var(--radius-pill);background:color-mix(in srgb,#83878e 10%,transparent)}.inspector-seg .entity-selector{flex:1;min-width:0;justify-content:center;min-height:26px;padding:3px 6px;border-radius:6px;color:var(--muted);background:transparent;white-space:nowrap}.inspector-seg .entity-selector:first-child{border-top-left-radius:var(--radius-pill);border-bottom-left-radius:var(--radius-pill)}.inspector-seg .entity-selector:last-child{border-top-right-radius:var(--radius-pill);border-bottom-right-radius:var(--radius-pill)}.inspector-seg .entity-selector{position:relative}.inspector-seg .entity-selector+.entity-selector:before{content:"";position:absolute;left:-.5px;top:5px;bottom:5px;width:1px;background:color-mix(in srgb,var(--ink) 16%,transparent)}.inspector-seg .entity-selector:hover{color:var(--ink);background:transparent}.inspector-seg .entity-selector.active{color:var(--entityc);background:transparent;font-weight:700}.inspector-seg .entity-selector--symbol{font-family:var(--font-mono);font-weight:700;letter-spacing:.04em}.inspector-prop-control input[type=date],.inspector-prop-control input[type=time],.inspector-prop-control input[type=number],.inspector-prop-control input[type=text]{height:30px;padding:0 8px;font-size:.8rem}.inspector-blocked-reason{flex:1 1 140px;min-width:0}.inspector-prop{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:6px 12px;min-height:46px;padding:8px 0}.inspector-propgroup{display:flex;flex-direction:column;border-radius:var(--radius-md);padding:2px 12px;background:var(--group-bg);box-shadow:var(--group-shadow)}.inspector-propgroup+.inspector-propgroup{margin-top:16px}.inspector-propgroup>.inspector-prop:not(:first-child){border-top:1px solid var(--hairline)}.inspector-prop-label{font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.inspector-prop-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;margin-top:0}.inspector-prop-control input{padding:.3rem .5rem;font-size:.8rem}.inspector-prop-control input[type=date]{flex:1 1 auto;width:auto;min-width:120px}.inspector-prop-control input[type=time]{width:92px}.inspector-prop-control input[type=number]{width:76px}.inspector-suffix{font-size:.75rem;color:var(--muted)}.inspector-prop-hint{padding:0 0 8px 108px;font-size:.78rem}.inspector-prop-hint--critical{color:var(--danger);font-weight:600}.inspector-switch{appearance:none;-webkit-appearance:none;width:38px;height:20px;border:0;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 14%,var(--panel) 86%);position:relative;margin:0;padding:0;flex-shrink:0;cursor:pointer;transition:background var(--motion-fast) ease}.inspector-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:14px;border-radius:var(--radius-pill);background:#fff;box-shadow:0 1px 2px #00000047;transition:transform var(--motion-fast) ease}.inspector-switch:checked{background:var(--accent-create)}.inspector-switch--danger:checked{background:var(--danger)}.inspector-switch:checked:after{transform:translate(14px)}.inspector-switch:disabled{opacity:.45;cursor:not-allowed}.inspector-switch-row{display:flex;align-items:center;gap:8px;cursor:pointer}.inspector-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inspector-switch-hint{font-size:.78rem;color:var(--muted)}.inspector-recsum{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:28px;border:0;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:.75rem;font-weight:600;padding:3px 12px;cursor:pointer}.inspector-recsum.has-rule{color:var(--ink)}.inspector-recsum:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.inspector-recsum:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inspector-recsum-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-recsum-chev{display:inline-flex;color:var(--muted);transition:transform var(--motion-fast) ease}.inspector-recsum.open .inspector-recsum-chev{transform:rotate(180deg)}.inspector-sec{display:flex;flex-direction:column;gap:10px;padding:12px 0}.inspector-sec--boxed{background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);padding:12px;margin:8px 0}.inspector-sec-head{display:flex;align-items:baseline;gap:8px}.inspector-sec-title{margin:0;font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.inspector-sec-count{font-family:var(--font-mono);font-size:.66rem;font-weight:600;color:var(--muted);opacity:.75}.inspector-sec-body{display:flex;flex-direction:column;gap:10px}.inspector-sec .tag-picker{margin-top:0}.inspector-sec .tag-picker .tag-chip{min-height:20px;padding:2px 7px;font-size:.68rem}.inspector-sec .assignee-chip{min-height:20px;gap:5px;padding:2px 8px 2px 3px;font-size:.68rem;font-weight:700}.inspector-sec .assignee-chip .assignee-avatar{width:15px;height:15px;font-size:.48rem}.inspector-props .field,.inspector-sec .field{margin-bottom:0}.inspector-manage{margin-left:auto;border:0;background:none;padding:0;font:inherit;font-size:.72rem;color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.inspector-manage:hover{color:var(--ink)}.inspector-manage:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inspector-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px}.inspector-body{display:flex;flex-direction:column;gap:0;overflow-y:auto;min-height:0;flex:1;padding-right:4px}.inspector-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0;padding-top:12px;border-top:1px solid var(--border)}.inspector-actions-left,.inspector-actions-right{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.inspector-action-button{display:inline-flex;align-items:center;justify-content:center;gap:0;white-space:nowrap;padding:.4rem .55rem;transition:color .18s ease,border-color .18s ease,background .18s ease}.inspector-action-button .icon,.inspector-action-button img{font-size:18px;width:18px;height:18px;color:currentColor}.inspector-action-label{display:inline-block;overflow:hidden;max-width:0;opacity:0;transform:translate(-6px);transition:max-width .22s ease,opacity .18s ease,transform .22s ease,margin-left .22s ease;margin-left:0}.inspector-actions-left .inspector-action-button:hover .inspector-action-label,.inspector-actions-left .inspector-action-button:focus-visible .inspector-action-label,.inspector-action-button:focus-visible .inspector-action-label{max-width:180px;opacity:1;transform:translate(0);margin-left:6px}.inspector-action-button--done{color:var(--btn-primary-fg);border-color:var(--btn-primary-bg);background:var(--btn-primary-bg)}.inspector-action-button--done:hover:not(:disabled):not(.active){border-color:var(--btn-primary-bg);filter:brightness(1.06)}.inspector-action-button--done .inspector-action-label{max-width:180px;opacity:1;transform:translate(0);margin-left:6px}.inspector-actions:has(.inspector-actions-left .inspector-action-button:hover) .inspector-action-button--done .inspector-action-label,.inspector-actions:has(.inspector-actions-left .inspector-action-button:focus-visible) .inspector-action-button--done .inspector-action-label{max-width:0;opacity:0;transform:translate(-6px);margin-left:0}.btn.inspector-action-button--done.active{color:color-mix(in srgb,var(--accent-create) 62%,#0f2f1b 38%);border-color:color-mix(in srgb,var(--accent-create) 62%,#0f2f1b 38%);background:color-mix(in srgb,var(--accent-create) 16%,var(--panel) 84%)}.btn.inspector-action-button--done.active:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-create) 62%,#0f2f1b 38%)}.inspector-action-button--archive{color:var(--accent-archive);border-color:color-mix(in srgb,var(--accent-archive) 40%,var(--border))}.inspector-action-button--archive.active{color:var(--accent-archive)}.inspector-action-button--delete:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--panel) 90%)}.inspector-action-button--archive:hover:not(:disabled){color:var(--accent-archive);border-color:var(--accent-archive);background:color-mix(in srgb,var(--accent-archive) 10%,var(--panel) 90%)}.settings-group{background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:10px}.settings-group-title{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.settings-group-body{display:flex;flex-direction:column;gap:12px}.settings-group .field{margin-bottom:0}.snapshot-list{display:flex;flex-direction:column;gap:10px}.snapshot-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--hairline);padding:10px 0}.snapshot-item:last-child{border-bottom:none}.snapshot-title{font-weight:600;display:block}.snapshot-meta{display:flex;flex-direction:column;gap:4px}.snapshot-date{font-size:.75rem;color:var(--muted);font-family:var(--font-mono)}.snapshot-actions{display:flex;gap:6px;justify-self:end}.snapshots-panel{display:flex;flex-direction:column;gap:12px}.boards-panel{z-index:7}.boards-panel-body{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.boards-panel .settings-group{padding:12px 0}.boards-panel .settings-group+.settings-group{border-top:1px solid var(--border)}.boards-empty{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:.9rem}.board-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);overflow:hidden}.board-row{border:none;background:transparent;padding:10px 12px;font-weight:500;display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.board-row+.board-row{border-top:1px solid var(--border)}.board-row:hover{background:color-mix(in srgb,var(--accent) 6%,var(--panel) 94%)}.board-row.active{color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,var(--panel) 88%)}.board-row.active .board-role{border-color:var(--accent);color:var(--accent)}.board-row:disabled{opacity:.5;cursor:not-allowed}.boards-board-title{flex:1;min-width:0}.board-role{margin-left:auto;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px 6px}.board-meta{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--muted)}.board-role-pill{border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 8px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)}.boards-actions{display:flex;justify-content:flex-end;gap:8px}.board-create-field{margin-bottom:0}.board-create-row{display:flex;align-items:center;gap:8px}.board-create-row input{flex:1;min-width:0}.boards-hint{font-size:.75rem;color:var(--muted)}.boards-hint.error{color:var(--danger)}.recurrence-editor{display:flex;flex-direction:column;gap:12px;background:var(--panel);border-radius:var(--radius-sm);padding:12px;margin:4px 0 10px}.recurrence-editor-foot{display:flex;justify-content:flex-end}.recurrence-presets{display:flex;flex-wrap:wrap;gap:8px}.recurrence-weekdays{display:flex;flex-wrap:wrap;gap:6px}.recurrence-summary,.recurrence-preview{font-size:.85rem;color:var(--muted)}.boards-hint.success{color:var(--accent-create)}.invite-row{display:flex;gap:8px;align-items:center}.invite-input{flex:1;min-width:0}.member-list{display:flex;flex-direction:column;background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);overflow:hidden}.member-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--hairline)}.member-row:first-child{border-top:none}.member-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.member-email{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)}.member-actions{display:flex;align-items:center;gap:8px}.boards-panel .modal-tabs{margin-bottom:12px}.boards-tabs .modal-tab{flex:1;justify-content:center}.boards-empty{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.card-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;padding:6px;border:1px solid transparent;border-radius:var(--radius-sm)}.card-images-grid.is-drag-active{border-color:var(--accent);background:var(--accent-soft)}.card-image-tile{position:relative;aspect-ratio:1;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border);background:var(--panel)}.card-image-open{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in}.card-image-open img{display:block;width:100%;height:100%;object-fit:cover}.card-image-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);border:none;background:none}.card-image-placeholder--failed{cursor:pointer;color:var(--danger)}.card-image-delete{position:absolute;top:3px;right:3px;width:20px;height:20px;display:grid;place-items:center;border:none;border-radius:var(--radius-pill);background:#0000008c;color:#fff;cursor:pointer}.card-image-delete:focus-visible,.card-image-open:focus-visible,.card-image-add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-image-add{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-xs);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.card-image-add:hover{border-color:var(--accent);color:var(--accent)}.card-image-tile--pending{display:grid;place-items:center}.card-image-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:card-image-spin .8s linear infinite}@keyframes card-image-spin{to{transform:rotate(360deg)}}.modal-overlay.image-lightbox{z-index:var(--z-lightbox)}.image-lightbox{background:#000000d1}.image-lightbox-inner{position:relative;max-width:min(92vw,1200px);max-height:88vh;display:flex;flex-direction:column;gap:8px}.image-lightbox-inner img{max-width:100%;max-height:calc(88vh - 48px);object-fit:contain;border-radius:var(--radius-sm);background:#000}.image-lightbox-loading{width:320px;height:220px;color:#fff}.image-lightbox-bar{display:flex;align-items:center;gap:12px;color:#fff}.image-lightbox-bar .icon-button{color:#fff}.image-lightbox-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.image-lightbox-count{margin-left:auto;font-size:.75rem;opacity:.8}.image-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:56px;border:none;border-radius:var(--radius-sm);background:#00000073;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.image-lightbox-nav--prev{left:8px}.image-lightbox-nav--next{right:8px}@media(max-width:900px){.image-lightbox-nav--prev{left:6px}.image-lightbox-nav--next{right:6px}}.widgets-panel{z-index:7;--detail-width: 520px}.widgets-body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0;flex:1;padding-right:4px}.widget-pool{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.widget-library-item{display:flex;min-width:0}.widget-library-card{width:100%}.widget-item{position:relative;border:0;background:var(--card-bg);display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden;cursor:grab}.widget-item>*{position:relative;z-index:1}.widget-item.dragging{opacity:.6}.widget-item-watermark{position:absolute;top:12px;right:12px;opacity:.12;color:var(--muted);pointer-events:none;z-index:0}.widget-item:active{cursor:grabbing}.widget-item--weather .widget-item-watermark{display:none}.widget-item input,.widget-item textarea,.widget-item select{cursor:text}.widget-item button,.widget-item a{cursor:pointer}.widget-item-body{display:flex;flex-direction:column;gap:10px;min-width:0}.widget-item-actions .icon-button{width:28px;height:28px}.widget-item-actions--library{position:absolute;top:12px;right:12px;z-index:2}.widget-delete-button{width:44px;height:44px}.widget-item .timer-context-panel{border:0;border-left:0;background:transparent;padding:0;box-shadow:none}.widget-item .timer-context-watermark{display:none}.widget-empty{font-size:.75rem;color:var(--muted)}.widget-pie{display:flex;flex-direction:column;gap:10px}.widget-pie-toggle{display:flex;width:100%;gap:6px;flex-wrap:wrap}.widget-pie-toggle>button{color:var(--muted);flex:1}.widget-pie-toggle .btn.ghost.active{border-color:var(--border);color:var(--muted);background:var(--panel)}.widget-pie-body{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.widget-pie-chart{width:120px;height:120px;margin:0 auto;border-radius:var(--radius-pill);border:1px solid var(--border);background:conic-gradient(#ccc)}.widget-pie-legend{display:flex;width:100%;flex-direction:column;gap:6px;font-size:.75rem;color:var(--muted)}.widget-pie-legend-item{display:grid;grid-template-columns:12px 1fr auto;gap:6px;align-items:center;min-width:0}.widget-pie-swatch{width:10px;height:10px;border-radius:var(--radius-pill)}.widget-pie-label{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-pie-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.widget-line{display:flex;flex-direction:column;gap:8px;min-width:0}.widget-line-summary{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted)}.widget-line-chart{width:100%;height:140px;display:block}.widget-line-area{fill:color-mix(in srgb,var(--accent) 18%,transparent)}.widget-line-path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.widget-line-legend{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.65rem;color:var(--muted)}.widget-line-legend-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.widget-line-legend-swatch{width:10px;height:10px;border-radius:var(--radius-pill);flex:0 0 auto}.widget-line-legend-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-line-labels{display:flex;align-items:center;gap:8px;font-size:.65rem;color:var(--muted)}.widget-line-label{flex:1}.widget-weather{display:flex;flex-direction:column;gap:30px;min-width:0;background:var(--card-bg);color:var(--ink)}.widget-weather--card{background:var(--weather-hero-bg, var(--panel));color:var(--weather-hero-ink, var(--ink))}.widget-item--weather .widget-weather--card{margin:-24px;padding:24px}.widget-weather-hero{display:flex;flex-direction:column;gap:10px}.widget-weather-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.widget-weather-icon-column{display:flex;width:50%;flex-direction:column;align-items:center;padding:10px;border-radius:10px;background:var(--weather-hero-bg, var(--panel));color:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--weather-hero-ink, var(--ink)) 12%,transparent)}.widget-weather--card .widget-weather-icon-column{background:transparent;color:inherit;box-shadow:none}.widget-weather-status{font-size:.75rem;color:var(--muted);line-height:1.2;max-width:120px;overflow:hidden;text-overflow:ellipsis;text-align:center;white-space:nowrap}.widget-weather-icon{width:50px;height:50px}.widget-weather-info{display:flex;flex-direction:column;align-items:stretch;text-align:center;width:100px;min-width:0}.widget-weather-temp{font-size:2rem;font-weight:600;margin-left:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.widget-weather-location{font-size:.7rem;color:var(--muted);min-width:0;overflow-wrap:anywhere;word-break:break-word}.widget-weather-metrics{display:grid;grid-template-columns:repeat(auto-fit);gap:0px}.widget-weather-metric{display:flex;padding:8px;min-width:0}.widget-weather-metric-icon{width:20px;height:20px;flex-shrink:0}.widget-weather-metric-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex:1}.widget-weather-metric-row{display:flex;align-items:center;gap:8px;width:100%}.widget-weather-metric-value{font-size:.85rem;font-weight:600;color:var(--ink);font-family:var(--font-mono);margin-left:auto;text-align:right}.widget-weather-forecast{display:grid;grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:8px}.widget-weather-forecast-day{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.widget-weather-forecast-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-weather-forecast-icon{width:28px;height:28px}.widget-weather-forecast-temp{font-size:.72rem;font-family:var(--font-mono)}.widget-weather--card .widget-weather-status,.widget-weather--card .widget-weather-location,.widget-weather--card .widget-weather-metric-label,.widget-weather--card .widget-weather-forecast-label{color:var(--weather-hero-sub, var(--muted))}.widget-weather--card .widget-weather-metric-value,.widget-weather--card .widget-weather-forecast-temp{color:var(--weather-hero-ink, var(--ink))}.widget-weather-skeleton{color:var(--muted)}.weather-skeleton-block{position:relative;display:block;overflow:hidden;border-radius:var(--radius-xs);background:color-mix(in srgb,var(--muted) 13%,transparent)}.weather-skeleton-block:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--panel) 72%,transparent) 50%,transparent 100%);animation:weather-skeleton-shimmer 1.25s ease-in-out infinite}.weather-skeleton-icon{width:50px;height:50px;border-radius:14px}.weather-skeleton-status{width:min(100%,96px);height:.75rem;margin-top:7px}.weather-skeleton-temp{width:74px;height:2.2rem;margin:0 auto 8px}.weather-skeleton-location{width:86px;height:.8rem;margin:0 auto}.weather-skeleton-metric-icon{width:20px;height:20px;flex-shrink:0;border-radius:6px}.weather-skeleton-metric-label{flex:1;height:.72rem}.weather-skeleton-metric-value{width:46px;height:.9rem}.weather-skeleton-forecast-label{width:34px;height:.72rem}.weather-skeleton-forecast-icon{width:28px;height:28px;border-radius:9px}.weather-skeleton-forecast-temp{width:42px;height:.78rem}@keyframes weather-skeleton-shimmer{to{transform:translate(100%)}}.widget-location{display:flex;flex-direction:column;gap:10px}.widget-location-current{display:flex;flex-direction:column;gap:4px;min-width:0}.widget-location-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.widget-location-value{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-location-actions{display:flex;flex-wrap:wrap;gap:8px}.widget-location-search{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.widget-location-search input{width:100%;min-width:0}.widget-location-results,.widget-location-options{display:flex;flex-direction:column;gap:6px}.widget-location-options .field.checkbox{margin-bottom:0}.widget-location-result{border:1px solid var(--border);background:var(--panel);padding:8px 10px;text-align:left;cursor:pointer;display:flex;min-width:0}.widget-location-result:hover{background:color-mix(in srgb,var(--accent) 6%,var(--panel) 94%)}.widget-location-result-name{font-size:.85rem;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-overlay{position:fixed;inset:0;z-index:var(--z-drawer);background:var(--overlay-scrim-weak);display:flex;justify-content:flex-end;padding:24px}.drawer{width:min(360px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:12px;max-height:90vh;overflow-y:auto}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawer-sub{font-size:.85rem;color:var(--muted);margin:6px 0 0}.modal-overlay{position:fixed;inset:0;background:var(--overlay-scrim);display:grid;place-items:center;z-index:var(--z-modal);padding:24px}.column-modal-overlay{background:transparent;display:block;padding:0}.full-page{position:fixed;inset:0;background:var(--bg);z-index:var(--z-fullpage);display:flex;flex-direction:column;overflow:hidden}.full-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--border);background:var(--bg)}.full-page-title{display:flex;flex-direction:column;gap:4px}.full-page-sub{font-size:.85rem;color:var(--muted);margin:0}.full-page-actions{display:flex;align-items:center;gap:8px}.full-page-body{flex:1;overflow:auto;padding:24px}.full-page-content{width:100%;display:flex;flex-direction:column;gap:16px;min-height:0}.modal{width:min(720px,100%);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.detail-panel{position:fixed;top:0;right:var(--rail-width);bottom:0;--detail-width: 460px;--detail-padding: 18px;padding:var(--detail-padding);width:var(--detail-width);max-height:none;background:var(--panel);border:1px solid var(--border);border-radius:0;display:flex;flex-direction:column;gap:12px;overflow:hidden}.detail-panel--card{--detail-width: 460px;--detail-padding: 18px 24px}.detail-panel--column{--detail-width: 460px;--detail-padding: 18px}.app.menu-open .detail-panel{right:calc(var(--menu-width) + var(--rail-width))}.column-modal .modal-body{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.column-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px}.modal-small{width:min(520px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-shrink:0}.modal-sub{font-size:.85rem;color:var(--muted)}.modal-body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;min-height:0;padding-right:4px}.modal-section{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:12px}.modal-section-header{display:flex;flex-direction:column;gap:4px}.modal-section-header h4{margin:0;font-size:.95rem}.modal-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);flex-shrink:0}.modal-actions{display:flex;gap:8px}.confirm-dialog .modal-header{margin-bottom:8px}.confirm-message{color:var(--muted);font-size:.92rem;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.sync-status{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}.account-card{display:flex;flex-direction:column;gap:14px;background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);padding:16px}.account-identity{display:flex;align-items:center;gap:12px}.account-avatar{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:1.05rem}.account-identity-text{display:flex;flex-direction:column;gap:2px;min-width:0}.account-label{font-size:.78rem;color:var(--muted)}.account-email{font-weight:600;color:var(--ink);word-break:break-all}.account-status{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--hairline);font-size:.88rem;color:var(--muted)}.account-signout{width:100%}.account-username{display:flex;flex-direction:column;gap:10px}.account-username-view{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);padding:12px 14px}.account-username-edit{display:flex;flex-direction:column;gap:8px}.account-username-actions{display:flex;gap:8px}.username-input{display:flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:var(--radius-md);padding:0 10px;background:transparent}.username-input input{border:none;outline:none;background:transparent;flex:1;padding:9px 0;color:inherit;font:inherit}.username-prefix{color:var(--muted);font-weight:600}.sync-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--border)}.sync-dot.on{background:var(--accent-create)}.sync-dot.off{background:var(--muted)}.sync-dot.syncing{background:var(--accent-archive);animation:syncPulse 1.4s ease-in-out infinite}.sync-dot.warn{background:var(--accent-warn)}.sync-dot.error{background:var(--danger)}@keyframes syncPulse{0%{transform:scale(.9);opacity:.7}50%{transform:scale(1.2);opacity:1}to{transform:scale(.9);opacity:.7}}.sync-row{display:flex;gap:8px;align-items:center}.sync-row input{flex:1;min-width:0}.data-panel{display:flex;flex-direction:column;gap:12px}.stats-panel{display:block}.icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.icon-group{margin-bottom:24px}.icon-choice{border:1px solid var(--border);background:transparent;border-radius:var(--radius-sm);padding:10px 8px;display:flex;flex-direction:column;gap:6px;align-items:center;font-size:.75rem;color:var(--muted);cursor:pointer}.icon-choice.active{border-color:var(--accent);color:var(--accent)}.icon-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-tab{border:0;background:transparent;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;font-size:.85rem;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.modal-tab:hover{color:var(--ink)}.modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-message.error{color:var(--danger)}.auth-message.success{color:var(--accent-create, #1b6b45)}.auth-message.warning{color:var(--accent-warn)}.auth-links{display:flex;justify-content:flex-start}.link-button{border:0;background:transparent;padding:0;font:inherit;font-size:.8rem;color:var(--accent);cursor:pointer}.link-button:hover{text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.75rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.welcome-overlay{background:#0a0a0c73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.welcome-modal{width:min(440px,100%);padding:0;border:0;border-radius:var(--radius-lg);overflow-y:auto;box-shadow:0 24px 80px #00000059;animation:welcomeIn .45s cubic-bezier(.22,1,.36,1) both}.welcome-hero,.welcome-content{flex-shrink:0}@media(max-height:600px){.welcome-hero{padding:16px 28px 14px}.welcome-col{min-height:64px;width:64px}.welcome-chip{height:12px}}@keyframes welcomeIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-hero{position:relative;padding:30px 28px 26px;background:radial-gradient(120% 140% at 85% -20%,rgba(255,255,255,.22) 0%,transparent 55%),linear-gradient(135deg,#2a2d31,#101113);display:grid;place-items:center}.welcome-close{position:absolute;top:12px;right:12px;color:#ffffffd9;background:#ffffff1f;border-radius:var(--radius-pill)}.welcome-close:hover{background:#ffffff3d;color:#fff}.welcome-board{display:flex;gap:10px;animation:welcomeFloat 5s ease-in-out 1.2s infinite}@keyframes welcomeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.welcome-col{width:76px;min-height:96px;padding:9px 8px;border-radius:10px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;gap:6px}.welcome-col-bar{width:60%;height:5px;border-radius:var(--radius-pill);background:#ffffff8c;margin-bottom:2px}.welcome-chip{height:16px;border-radius:5px;background:#ffffffeb;box-shadow:0 2px 6px #0000002e;animation:welcomeChipIn .5s cubic-bezier(.22,1,.36,1) both}.welcome-chip-accent{background:#ffd34d}.welcome-chip-done{background:#6ee7a0}@keyframes welcomeChipIn{0%{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-content{padding:24px 28px 22px;display:flex;flex-direction:column;gap:12px;background:var(--panel)}.welcome-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.welcome-kicker-square{width:9px;height:9px;background:var(--accent)}.welcome-title{margin:0;font-family:var(--font-display);font-size:1.7rem;line-height:1.15;letter-spacing:-.01em;color:var(--ink)}.welcome-sub{margin:0;font-size:.88rem;line-height:1.5;color:var(--muted)}.welcome-features{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.welcome-features li{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:var(--ink)}.welcome-feature-icon{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.welcome-actions{display:flex;flex-direction:column;gap:6px;margin-top:8px}.btn.primary.welcome-cta{width:100%;padding:12px 16px;font-size:.95rem;font-weight:700;border-radius:var(--radius-md);background:var(--ink);border-color:var(--ink);color:var(--bg);transition:background .15s ease,border-color .15s ease,transform .15s ease}.btn.primary.welcome-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);transform:translateY(-1px)}.welcome-skip{border:0;background:transparent;padding:8px;font:inherit;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm)}.welcome-skip:hover{color:var(--ink)}.welcome-skip:focus-visible,.welcome-cta:focus-visible,.welcome-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.welcome-note{margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--accent-warn-soft);color:var(--muted);font-size:.72rem;line-height:1.45}@media(prefers-reduced-motion:reduce){.welcome-modal,.welcome-chip,.welcome-board{animation:none}}.public-toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer}.public-toggle-row input{cursor:pointer}.account-security,.recovery-code-box{display:flex;flex-direction:column;gap:8px}.recovery-code{font-family:ui-monospace,Menlo,monospace;font-size:1rem;letter-spacing:.06em;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);word-break:break-all;-webkit-user-select:all;user-select:all}.settings-modal{width:min(880px,100%);height:min(600px,86vh);max-height:86vh;padding:0}.settings-modal .modal-header{padding:16px 18px;margin-bottom:0}.settings-layout{display:flex;flex:1;min-height:0;overflow:hidden;border-top:1px solid var(--border)}.settings-nav{width:200px;flex-shrink:0;border-right:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.settings-nav-account{display:flex;align-items:center;gap:10px;padding:6px 10px 12px;margin-bottom:6px;border-bottom:1px solid var(--border);min-width:0}.settings-nav-account .account-avatar{width:32px;height:32px;font-size:.9rem}.settings-nav-email{min-width:0;font-size:.82rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:var(--radius-sm);text-align:left;font:inherit;font-weight:600;font-size:.9rem;color:var(--muted);background:transparent;cursor:pointer}.settings-nav-item:hover{background:var(--bg);color:var(--ink)}.settings-nav-item.active{background:var(--accent-soft);color:var(--accent)}.settings-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.settings-pane{flex:1;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.settings-pane-title{margin:0;font-size:1.1rem}.appearance-row{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.settings-group-body>.appearance-row+.appearance-row{border-top:1px solid var(--hairline);border-top-left-radius:0;border-top-right-radius:0}.appearance-row:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.appearance-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appearance-row--static,.appearance-row--static:hover{cursor:default;background:transparent}.bm-section .appearance-row{background:var(--group-bg);box-shadow:var(--group-shadow)}.bm-section .appearance-row:hover{background:color-mix(in srgb,var(--ink) 5%,var(--group-bg))}.appearance-row-label{display:inline-flex;align-items:center;gap:10px;flex:1;min-width:0}.switch{position:relative;flex-shrink:0;width:38px;height:20px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 14%,var(--panel) 86%);transition:background var(--motion-fast) ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:14px;border-radius:var(--radius-pill);background:#fff;box-shadow:0 1px 2px #00000047;transition:transform var(--motion-fast) ease}.appearance-row.on .switch{background:var(--accent-create)}.appearance-row.on .switch:after{transform:translate(14px)}.appearance-seg{display:inline-flex;flex-shrink:0;gap:2px;padding:2px;background:var(--bg);border-radius:var(--radius-pill)}.appearance-seg button{border:0;background:transparent;padding:4px 12px;border-radius:var(--radius-pill);font:inherit;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer}.appearance-seg button.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-card)}.board-modal .settings-nav{width:240px}.board-nav-create{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--border)}.board-nav-create input{width:100%}.board-nav-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-nav-public{color:var(--accent)}.board-create-encrypt{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.board-create-encrypt input{width:auto;margin:0;accent-color:var(--accent)}.board-nav-encrypted{flex-shrink:0;color:var(--muted)}.security-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.security-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 14px;border:1px solid var(--border);border-radius:var(--radius-md);text-align:center}.security-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent)}.security-card--passkey .security-card-icon{background:var(--accent-create-soft);color:var(--accent-create)}.security-card-head{display:inline-flex;align-items:center;gap:6px}.security-card-title{font-weight:700;color:var(--ink)}.security-card-badge{padding:2px 7px;border-radius:var(--radius-pill);background:var(--accent-create-soft);color:var(--accent-create);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.security-card-desc{margin:0;font-size:.85rem;color:var(--muted)}.security-card .btn{width:100%}.security-card .recovery-code{width:100%;word-break:break-all}.settings-group.danger-zone{border:1px solid var(--danger);border-radius:var(--radius-md)}.danger-zone .settings-group-title{color:var(--danger)}.board-nav-active{flex-shrink:0;padding:1px 6px;border-radius:var(--radius-pill);background:var(--accent-create-soft);color:var(--accent-create);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.board-name{font-weight:600;color:var(--ink);word-break:break-word}.auth-screen{position:fixed;inset:0;z-index:var(--z-unlock);display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:calc(var(--space-6) + var(--safe-top)) var(--space-6) calc(var(--space-6) + var(--safe-bottom));background:var(--bg)}.auth-shell{margin:auto;width:min(1040px,100%);min-height:min(640px,100%);display:grid;grid-template-columns:minmax(380px,440px) 1fr;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.auth-visual{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(120% 90% at 12% -10%,rgba(255,255,255,.14) 0%,transparent 58%),linear-gradient(155deg,color-mix(in srgb,var(--ink) 76%,white),color-mix(in srgb,var(--ink) 90%,black) 60%,color-mix(in srgb,var(--ink) 82%,black))}:root[data-theme=dark] .auth-visual{background:radial-gradient(120% 90% at 12% -10%,rgba(255,255,255,.07) 0%,transparent 58%),linear-gradient(155deg,color-mix(in srgb,var(--ink) 16%,var(--bg)),color-mix(in srgb,var(--ink) 7%,var(--bg)) 60%,color-mix(in srgb,black 35%,var(--bg)))}.auth-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:overlay}.auth-board{position:absolute;left:50%;top:50%;width:556px;transform:translate(-50%,-50%) rotate(-4deg);display:grid;grid-template-columns:repeat(3,176px);gap:14px}.auth-board-col{min-height:330px;border-radius:var(--radius-lg);background:#ffffff24;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:12px;display:flex;flex-direction:column;gap:10px}.auth-board-head{display:flex;align-items:center;gap:6px;padding:2px 2px 4px}.auth-board-dot{width:8px;height:8px;border-radius:50%;background:#ffffffb3}.auth-board-headbar{width:64px;height:8px;background:#ffffff8c}.auth-board-card{position:relative;background:#ffffffed;border-radius:var(--radius-md);box-shadow:0 8px 20px #0000002e;padding:12px;display:flex;flex-direction:column;gap:7px}.auth-board-bar{display:block;height:8px;width:70%;border-radius:var(--radius-pill);background:#1113}.auth-board-title{height:10px;width:62%;background:#11111173}.auth-board-bar.is-long{width:84%}.auth-board-bar.is-short{width:46%}.auth-board-tags{display:flex;gap:5px;margin-top:2px}.auth-board-tag{display:inline-block;width:34px;height:10px;border-radius:var(--radius-pill);background:color-mix(in srgb,currentColor 24%,transparent);border:1px solid color-mix(in srgb,currentColor 32%,transparent)}.auth-board-tag.hue-green{color:var(--accent-create)}.auth-board-tag.hue-blue{color:var(--accent-archive)}.auth-board-tag.hue-orange{color:var(--accent-warn)}.auth-board-avatar{position:absolute;top:10px;right:10px;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--accent-archive) 45%,white 55%)}.auth-board-card.is-done{opacity:.82}.auth-board-check{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;background:var(--accent-create);color:#fff;font-size:12px;line-height:1;display:grid;place-items:center;box-shadow:0 2px 6px #00000040}:root[data-theme=dark] .auth-board-card{background:#14161ad9;box-shadow:0 8px 24px #0006}:root[data-theme=dark] .auth-board-bar{background:#ffffff38}:root[data-theme=dark] .auth-board-title{background:#ffffff80}:root[data-theme=dark] .auth-board-avatar{background:color-mix(in srgb,var(--accent-archive) 55%,black 30%)}.auth-board-travel{position:absolute;left:12px;top:0;width:152px;will-change:transform;animation:auth-card-travel 12s var(--ease-out) infinite;transform:translateY(212px)}.auth-board-travel .auth-board-check{opacity:0;transform:scale(0);animation:auth-check-pop 12s var(--ease-out) infinite}@keyframes auth-card-travel{0%{transform:translateY(212px) scale(1) rotate(0);opacity:1}8%{transform:translateY(212px) scale(1) rotate(0);opacity:1}13%{transform:translate(4px,196px) scale(1.04) rotate(1.5deg);opacity:1}32%{transform:translate(190px,112px) scale(1.04) rotate(-1deg);opacity:1}38%{transform:translate(190px,126px) scale(1) rotate(0);opacity:1}58%{transform:translate(190px,126px) scale(1) rotate(0);opacity:1}63%{transform:translate(194px,112px) scale(1.04) rotate(1.5deg);opacity:1}84%{transform:translate(380px,182px) scale(1.04) rotate(-1deg);opacity:1}88%{transform:translate(380px,196px) scale(1) rotate(0);opacity:1}96%{transform:translate(380px,196px) scale(1) rotate(0);opacity:1}99%{transform:translate(380px,196px) scale(1) rotate(0);opacity:0}to{transform:translateY(212px) scale(1) rotate(0);opacity:0}}@keyframes auth-check-pop{0%,87.9%{opacity:0;transform:scale(0)}90%{opacity:1;transform:scale(1.25)}93%,to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.auth-board-travel,.auth-board-travel .auth-board-check{animation:none}.auth-board-travel{transform:translate(380px,196px)}.auth-board-travel .auth-board-check{opacity:1;transform:scale(1)}}.auth-pane{display:flex;flex-direction:column;justify-content:center;gap:var(--space-5);padding:var(--space-8) var(--space-7);min-width:0}.auth-pane-head{display:flex;flex-direction:column;gap:var(--space-2)}.auth-pane-head h1{margin:var(--space-3) 0 0;font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.15}.auth-pane-head h1:focus{outline:none}.auth-pane-sub{margin:0;color:var(--muted);font-size:var(--text-base)}.auth-pane .auth-form{gap:var(--space-4)}.auth-pane .field input{min-height:48px;padding:.7rem 1rem;border-radius:var(--radius-md);font-size:var(--text-base)}.auth-pane .btn.primary,.auth-pane .btn.ghost{width:100%;min-height:48px;border-radius:var(--radius-md);font-size:var(--text-base)}.auth-pane .auth-links{justify-content:center;gap:var(--space-4)}.auth-pane .auth-links.is-hidden{visibility:hidden}.auth-local-escape{margin-top:var(--space-2)}.auth-tabs{display:flex;gap:2px;padding:4px;background:var(--accent-soft);border-radius:var(--radius-pill)}.auth-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:9px 16px 11px;border-radius:var(--radius-pill);font:inherit;font-weight:600;font-size:var(--text-sm);line-height:1;color:var(--muted);cursor:pointer}.auth-tab.active{background:var(--panel);color:var(--ink)}.auth-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:900px){.auth-shell{grid-template-columns:1fr;grid-template-rows:148px 1fr;min-height:0}.auth-board{display:none}.auth-pane{padding:var(--space-6) var(--space-5)}}@media(max-width:640px){.auth-screen{padding:0}.auth-shell{width:100%;min-height:100%;grid-template-rows:1fr;border:0;border-radius:0;box-shadow:none}.auth-visual{display:none}.auth-pane{padding:calc(var(--space-6) + var(--safe-top)) calc(var(--space-5) + var(--safe-right)) calc(var(--space-6) + var(--safe-bottom)) calc(var(--space-5) + var(--safe-left))}}@media(max-height:560px){.auth-visual{display:none}.auth-shell{grid-template-columns:1fr;grid-template-rows:1fr;min-height:0}.auth-pane{padding:clamp(12px,4vh,24px) var(--space-5)}}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.activity-full-page[data-tab=zeiten]{--page-accent: var(--accent);--page-accent-soft: var(--accent-soft)}.activity-full-page[data-tab=archiv]{--page-accent: var(--accent-archive);--page-accent-soft: var(--accent-archive-soft)}.activity-header{gap:12px}.activity-switcher{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel)}.activity-segment{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px 18px;border-radius:var(--radius-pill);font:inherit;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease}.activity-segment:hover{color:var(--ink)}.activity-segment:focus-visible{outline:2px solid var(--page-accent, var(--accent));outline-offset:2px}.activity-segment.zeiten.active{background:var(--accent-soft);color:var(--accent);box-shadow:var(--shadow-card)}.activity-segment.archiv.active{background:var(--accent-archive-soft);color:var(--accent-archive);box-shadow:var(--shadow-card)}.activity-content{gap:16px;animation:activityFade .24s ease}@keyframes activityFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.activity-statbar{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-card)}.activity-stat{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 18px;border-left:1px solid var(--border)}.activity-stat:first-child{border-left:0}.activity-statbar-actions{display:flex;align-items:center;flex:0 0 auto;padding:10px 14px;border-left:1px solid var(--border)}.activity-stat-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;white-space:nowrap}.activity-stat-value{font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1.15;color:var(--ink);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.activity-stat-value.small{font-size:.85rem;font-weight:600;color:var(--muted)}.activity-stat-value.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.activity-stat-delta{font-size:.78rem;font-weight:700}.activity-stat-delta.over{color:var(--accent-warn)}.activity-stat-delta.under{color:var(--accent-create)}.activity-live-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent);display:inline-block;animation:activityPulse 1.4s ease-in-out infinite}@keyframes activityPulse{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.activity-spark-card{gap:6px}.activity-spark{display:flex;align-items:flex-end;gap:2px;width:100%;min-width:96px;height:30px}.activity-spark-bar{flex:1;min-width:0;border-radius:2px 2px 0 0;background:var(--border)}.activity-spark-bar.has{background:var(--page-accent);opacity:.85}.activity-layout{display:flex;flex-direction:column;gap:16px}.activity-rail{border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-card);padding:14px;display:flex;flex-direction:column;gap:12px}.activity-rail .field{margin-bottom:0}.activity-rail .frog-toggle-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:var(--radius-sm)}.activity-rail-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--hairline)}.activity-rail-title{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--ink)}.activity-filter-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--page-accent-soft);color:var(--page-accent);font-size:.72rem;font-weight:700}.activity-rail-reset{margin-left:auto;border:0;background:transparent;color:var(--page-accent);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs)}.activity-rail-reset:disabled{color:var(--muted);opacity:.5;cursor:not-allowed}.activity-rail-reset:hover:not(:disabled){text-decoration:underline}.activity-main{display:flex;flex-direction:column;gap:12px;min-width:0}.activity-viewtoggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel)}.activity-viewtoggle-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:5px 12px;border-radius:var(--radius-pill);font:inherit;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer}.activity-viewtoggle-button:hover{color:var(--ink)}.activity-viewtoggle-button.active{background:var(--page-accent-soft);color:var(--page-accent)}.activity-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:56px 24px;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md)}.activity-empty .icon{color:var(--border)}.activity-empty-title{margin:0;font-family:var(--font-display);font-weight:700;color:var(--ink)}.activity-empty-hint{margin:0;font-size:.88rem}.activity-empty .btn{margin-top:4px}.zeiten-list{display:flex;flex-direction:column;gap:12px}.zeiten-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-card);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.zeiten-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.zeiten-card-titles{min-width:0}.zeiten-card-title{font-family:var(--font-display);font-weight:700;font-size:1rem}.zeiten-card-sub{font-size:.82rem;color:var(--muted);margin-top:2px}.zeiten-card-badges{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.zeiten-running-badge{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:700;font-size:.78rem}.time-status-pill{border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--muted)}.time-status-pill.archived{border-color:var(--accent-archive);color:var(--accent-archive)}.zeiten-card-metrics{display:flex;gap:28px;flex-wrap:wrap}.zeiten-metric{display:flex;flex-direction:column;gap:2px}.zeiten-metric-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.zeiten-metric-value{font-size:1.15rem;font-weight:700;color:var(--ink)}.zeiten-metric-value.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.zeiten-progress{display:flex;flex-direction:column;gap:6px}.zeiten-progress-track{height:8px;border-radius:var(--radius-pill);background:var(--border);overflow:hidden}.zeiten-progress-fill{height:100%;border-radius:var(--radius-pill);background:var(--page-accent);transition:width .3s ease}.zeiten-progress-fill.over{background:var(--accent-warn)}.zeiten-progress-caption{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;color:var(--muted)}.zeiten-progress-caption .over{color:var(--accent-warn);font-weight:700}.zeiten-entries{border-top:1px solid var(--border);padding-top:8px}.zeiten-entries-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;color:var(--muted);padding:2px 0}.zeiten-entries-toggle:hover{color:var(--ink)}.zeiten-entries-toggle .icon{transition:transform .15s ease}.zeiten-entries.open .zeiten-entries-toggle .icon{transform:rotate(180deg)}.zeiten-entries-table-wrap{margin-top:8px;overflow:auto}.zeiten-entries-table{width:100%;border-collapse:collapse;min-width:480px}.zeiten-entries-table th,.zeiten-entries-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.zeiten-entries-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.zeiten-entries-table th:nth-child(2),.zeiten-entries-table td:nth-child(2),.zeiten-entries-table th:nth-child(3),.zeiten-entries-table td:nth-child(3){text-align:right}.zeiten-entries-table th:last-child,.zeiten-entries-table td:last-child{text-align:right;width:48px}.zeiten-entry-row:hover{background:var(--page-accent-soft)}.zeiten-entry-row.editing:hover{background:transparent}.zeiten-entry-actions{display:inline-flex;justify-content:flex-end}.zeiten-entry-edit-button{width:30px;height:30px;border:1px solid var(--border)}.zeiten-entry-edit-button:hover{border-color:var(--accent);color:var(--accent)}.zeiten-entry-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.zeiten-entry-edit .field{margin-bottom:0}.zeiten-entry-edit-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.zeiten-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-card);overflow:auto}.zeiten-table{width:100%;border-collapse:collapse;min-width:640px}.zeiten-table th,.zeiten-table td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.zeiten-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;position:sticky;top:0;background:var(--panel);z-index:2}.zeiten-table th:nth-child(2),.zeiten-table td:nth-child(2),.zeiten-table th:nth-child(3),.zeiten-table td:nth-child(3),.zeiten-table th:nth-child(4),.zeiten-table td:nth-child(4){text-align:right}.zeiten-table tbody tr:hover{background:var(--page-accent-soft)}.zeiten-day-row td{background:var(--bg);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.zeiten-day-row:hover td{background:var(--bg)}.zeiten-table tfoot td{font-weight:700;border-top:2px solid var(--border);border-bottom:0;position:sticky;bottom:0;background:var(--panel)}.archiv-groups{display:flex;flex-direction:column;gap:20px}.archiv-bucket{display:flex;flex-direction:column;gap:10px}.archiv-bucket-head{display:flex;align-items:center;gap:8px;position:sticky;top:0;z-index:1;background:var(--bg);padding:4px 0;font-family:var(--font-display);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.archiv-bucket-count{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 6px;border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--border);font-size:.7rem;color:var(--muted)}.archiv-list{display:flex;flex-direction:column;gap:10px}.archiv-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-card);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.archiv-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.archiv-card-title{font-family:var(--font-display);font-weight:700;font-size:1rem;min-width:0}.archiv-card-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.archiv-card-desc{font-size:.85rem;color:var(--muted)}.archiv-card-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.archiv-frog-status{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-pill);width:26px;height:26px;background:var(--panel)}.archiv-card-meta{display:flex;flex-wrap:wrap;align-items:center;font-size:.82rem;color:var(--muted)}.archiv-card-meta>span{display:inline-flex;align-items:center;gap:5px}.archiv-card-meta>span:not(:first-child):before{content:"·";margin:0 10px;color:var(--border)}@media(min-width:900px){.activity-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:24px;align-items:start}.activity-rail{position:sticky;top:0;align-self:start;max-height:calc(100vh - 132px);overflow:auto}}@media(max-width:900px){.activity-spark-card{display:none}}@media(max-width:640px){.activity-statbar{flex-direction:column;align-items:stretch}.activity-stat{flex:none;border-left:0;border-top:1px solid var(--border)}.activity-stat:first-child{border-top:0}.activity-statbar-actions{border-left:0;border-top:1px solid var(--border);justify-content:flex-start}.activity-segment{padding:8px 14px;font-size:.85rem}.archiv-card-actions .btn.icon-text{font-size:0;gap:0;padding:.3rem}.archiv-card-actions .btn.icon-text .icon{font-size:18px}}.calendar-panel{display:flex;flex-direction:column;gap:16px}.calendar-toolbar{border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--panel);box-shadow:var(--shadow-card)}.calendar-toolbar .filters-panel{width:100%}.calendar-toolbar-row{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-title{font-weight:600}.calendar-view-switch{display:flex;align-items:center;gap:8px}.calendar-month{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);display:flex;flex-direction:column;min-height:560px}.calendar-month-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border)}.calendar-month-header-cell{padding:8px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(120px,1fr)}.calendar-month-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:6px;min-height:0}.calendar-month-cell-header{font-size:.75rem;color:var(--muted)}.calendar-month-cell-body{display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0}.calendar-week{overflow-x:auto}.calendar-week-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);display:grid;grid-template-columns:80px repeat(7,minmax(140px,1fr));grid-auto-rows:minmax(38px,auto);min-width:980px}.calendar-week-corner{border-bottom:1px solid var(--border)}.calendar-week-day-header{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:4px;font-weight:600}.calendar-week-date{font-size:.75rem;color:var(--muted);font-weight:500}.calendar-week-all-day-label{border-bottom:1px solid var(--border);padding:8px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.calendar-week-all-day-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:6px;display:flex;flex-direction:column;gap:6px;min-height:0}.calendar-week-hour-label{border-bottom:1px solid var(--border);padding:6px 8px;font-size:.7rem;color:var(--muted)}.calendar-week-hour-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:4px 6px;min-height:48px;display:flex;flex-direction:column;gap:6px}.calendar-agenda{display:flex;flex-direction:column;gap:16px}.calendar-agenda-day{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);padding:12px;display:flex;flex-direction:column;gap:10px}.calendar-agenda-header{font-weight:600}.calendar-agenda-list{display:flex;flex-direction:column;gap:8px}.calendar-agenda-item{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:start}.calendar-agenda-time{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);padding-top:4px}.calendar-card{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);padding:6px 8px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer}.calendar-card.virtual{border-style:solid;opacity:.75}.calendar-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-card.compact{padding:4px 6px;font-size:.75rem}.calendar-card-title{font-weight:600;font-family:var(--font-display);word-break:break-word}.calendar-card-meta{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;color:var(--muted)}.calendar-card.status-done{background:var(--accent-create-soft);border-color:color-mix(in srgb,var(--accent-create) 35%,var(--border))}.calendar-card.status-blocked{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}@media(max-width:900px){.calendar-toolbar-row{align-items:flex-start}.calendar-title{width:100%;order:3}.calendar-month{min-height:480px}.calendar-month-grid{grid-auto-rows:minmax(110px,1fr)}.calendar-week-grid{min-width:880px;grid-template-columns:64px repeat(7,minmax(120px,1fr))}}@media(max-width:640px){.calendar-agenda-item{grid-template-columns:1fr}.calendar-agenda-time{padding-top:0}}.menu-panel{position:fixed;inset:0 0 0 auto;width:var(--menu-width);height:100%;max-height:100%;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 40px #00000059;animation:menu-slide-in .18s ease;z-index:var(--z-menu)}.menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border)}.menu-title-input{flex:1;min-width:0;font-family:var(--font-display);font-size:1.2rem;font-weight:600;border:1px solid transparent;background:transparent;color:var(--ink);padding:.2rem .35rem}.menu-title-input:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.menu-account{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;font-size:.8rem}.menu-account-row{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;min-width:0}.menu-account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-account-sync{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--muted);font-size:.75rem;align-self:flex-start}.menu-account-sync:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-account-actions{display:flex;gap:8px}.menu-account-actions .btn{flex:1}.menu-account-hint{margin:0;color:var(--muted);font-size:.75rem;line-height:1.4}.menu-account-login{width:100%}.menu-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:12px 20px 16px}.menu-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px 0}.menu-footer-help{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;padding:4px 6px;border-radius:var(--radius-xs)}.menu-footer-help:hover{color:var(--ink);background:var(--bg)}.menu-footer-help:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.menu-footer-version{color:var(--muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.menu-env-badge{margin-left:8px;padding:1px 6px;border-radius:4px;background:var(--accent);color:var(--panel);font-weight:700}.menu-group{display:flex;flex-direction:column;gap:8px}.menu-self-roles{display:flex;flex-wrap:wrap;gap:6px;padding:4px 12px 2px}.menu-group-header{display:flex;align-items:center}.menu-group-header-sticky{position:sticky;top:0;background:var(--panel);padding-bottom:8px;z-index:1}.menu-group-toggle{width:100%;border:1px solid var(--border);background:transparent;border-radius:var(--radius-sm);color:var(--ink);padding:13px 16px;font-size:.85rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left}.menu-group-toggle-label{display:inline-flex;align-items:center;gap:8px}.menu-group-toggle.active{border-color:var(--accent);color:var(--accent)}.menu-group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-group-title{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.menu-group-list{background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}.menu-group-content{background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);margin-top:6px;padding:12px;display:flex;flex-direction:column;gap:12px}.menu-item{border:none;background:transparent;padding:13px 16px;font-size:.85rem;font-weight:600;text-align:left;display:flex;align-items:center;gap:8px;cursor:pointer}.menu-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-trailing{margin-left:auto;display:inline-flex;align-items:center;color:var(--muted)}.menu-item.active .menu-item-trailing{color:var(--accent)}.menu-item-static{cursor:default;font-weight:500;color:var(--muted)}.menu-sync-dot{flex-shrink:0}.menu-item:disabled{opacity:.4;cursor:not-allowed}.menu-item.active{color:var(--accent)}.menu-state{margin-left:auto;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:var(--font-mono)}.menu-item+.menu-item{border-top:1px solid var(--hairline)}.menu-form{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.menu-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--ink);padding:8px 10px;font-size:.85rem}.menu-input:focus{outline:2px solid var(--accent);outline-offset:2px}.menu-action-row{display:flex;justify-content:flex-end;gap:8px}.menu-action{border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--ink);padding:8px 10px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.menu-action.primary{border-color:var(--accent);color:var(--accent)}.menu-action:disabled{opacity:.5;cursor:not-allowed}.menu-hint{font-size:.75rem;color:var(--muted)}.menu-hint.error{color:var(--danger)}.menu-hint.success{color:var(--accent-create)}.menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes menu-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.trash-drop{position:fixed;left:72px;right:16px;bottom:16px;height:68px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;z-index:var(--z-drops)}.trash-drop.widget-mode{left:16px;grid-template-columns:minmax(0,1fr)}.done-drop{position:fixed;left:0;top:0;bottom:0;width:56px;border-right:0px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;z-index:var(--z-drops)}.done-drop-inner{width:36px;height:100px;border:1px solid var(--accent-create);background:var(--panel);display:grid;place-items:center;color:var(--accent-create);border-radius:var(--radius-sm)}.done-drop.active{background:var(--accent-create-soft);background:linear-gradient(to right,var(--accent-create-soft) 0%,color-mix(in srgb,var(--accent-create) 0%,transparent) 100%)}.done-drop.active .done-drop-inner{border-color:var(--accent-create);background-color:var(--accent-create-soft)}.done-drop.archive-mode .done-drop-inner{border-color:var(--accent-archive);color:var(--accent-archive)}.done-drop.archive-mode.active{background:var(--accent-archive-soft);background:linear-gradient(to right,var(--accent-archive-soft) 0%,color-mix(in srgb,var(--accent-archive-soft) 0%,transparent) 100%)}.done-drop.archive-mode.active .done-drop-inner{border-color:var(--accent-archive);color:var(--accent-archive);background-color:color-mix(in srgb,var(--accent-archive) 18%,var(--panel) 82%)}.trash-drop-inner{display:inline-flex;align-items:center;gap:10px;font-weight:600}.trash-drop-zone{border:1px solid var(--border);background:var(--panel);color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:border-color .2s ease,background .2s ease,color .2s ease}.trash-drop-zone.archive{color:var(--accent-archive);border-color:var(--accent-archive-border);background:var(--accent-archive-soft)}.trash-drop-zone.archive.active{border-color:var(--accent-archive);background:var(--accent-archive-soft-strong);color:var(--accent-archive)}.trash-drop-zone.delete.active{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.shortcut-list{display:flex;flex-direction:column;background:var(--group-bg);box-shadow:var(--group-shadow);border-radius:var(--radius-md);padding:2px 12px}.shortcut-row{display:grid;grid-template-columns:160px 1fr;gap:12px;font-size:.9rem;padding:8px 0}.shortcut-row+.shortcut-row{border-top:1px solid var(--hairline)}.shortcut-groups{display:flex;flex-direction:column;gap:18px}.shortcut-group-title{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.shortcut-keys{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.shortcut-keys kbd,.shortcut-note kbd{display:inline-block;font-family:var(--font-mono);font-size:.75rem;line-height:1;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-xs);padding:3px 7px;min-width:20px;text-align:center}.shortcut-sep{color:var(--muted);font-size:.72rem}.shortcut-action{color:var(--muted)}.shortcut-note{font-size:.8rem;line-height:1.7;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;margin-top:2px}.cmdk-overlay{position:fixed;inset:0;z-index:var(--z-palette);background:var(--overlay-scrim);display:flex;align-items:flex-start;justify-content:center;padding:max(12vh,48px) 16px 16px}.cmdk{width:min(580px,100%);max-height:min(60vh,560px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.cmdk-input{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--muted);flex-shrink:0}.cmdk-input input{flex:1;min-width:0;border:0;padding:0;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:1.05rem}.cmdk-input input:focus{outline:none;box-shadow:none;border:0}.cmdk-esc{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 7px;flex-shrink:0}.cmdk-list{overflow-y:auto;padding:8px}.cmdk-group-title{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:12px 10px 5px}.cmdk-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 11px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.cmdk-item.active{background:var(--accent-soft);color:var(--accent)}.cmdk-item-title{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-hint{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;color:var(--muted);flex-shrink:0}.cmdk-item.active .cmdk-item-hint{color:var(--accent);opacity:.75}.cmdk-empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:.95rem}.menu-launch{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);font:inherit;font-weight:600;font-size:.9rem;text-align:left;cursor:pointer}.menu-launch:hover{border-color:var(--muted);color:var(--ink)}.menu-launch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-launch .menu-launch-label{flex:1;min-width:0}.menu-launch .kbd-hint{font-family:var(--font-mono);font-size:.72rem;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-xs);padding:1px 6px}.mgr{display:flex;flex-direction:column;gap:10px}.mgr-list{list-style:none;margin:0;padding:0;border-radius:var(--radius-md);background:var(--group-bg);box-shadow:var(--group-shadow);overflow:hidden;display:flex;flex-direction:column}.mgr-row{display:flex;align-items:center;gap:8px;padding-right:10px}.mgr-row+.mgr-row{border-top:1px solid var(--hairline)}.mgr-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}button.mgr-main:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}button.mgr-main:hover .mgr-edit,button.mgr-main:focus-visible .mgr-edit{opacity:1}.mgr-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mgr-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgr-edit{display:inline-flex;color:var(--muted);opacity:0;transition:opacity var(--motion-fast) ease}.mgr-dot{width:12px;height:12px;border-radius:50%;flex:none}.mgr-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:.62rem;font-weight:700;flex:none}.mgr-self{display:inline-flex;align-items:center;gap:4px;flex:none;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;cursor:pointer}.mgr-self:hover{border-color:var(--border-strong);color:var(--ink)}.mgr-self.active{color:var(--accent-create);border-color:var(--accent-create);background:color-mix(in srgb,var(--accent-create) 10%,var(--panel) 90%)}.mgr-self:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mgr-row--editing{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px;background:var(--bg)}.mgr-row--editing .mgr-main{padding:0;cursor:default}.mgr-input{flex:1;min-width:0;font-size:.9rem;padding:.4rem .6rem}.mgr-action{width:32px;height:32px;flex:none}.mgr-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding-left:2px}.mgr-remove{color:var(--muted)}.mgr-remove:hover:not(:disabled){color:var(--danger)}input.mgr-custom-color{width:24px;height:24px;border:2px solid var(--border-strong);border-radius:50%;padding:0;background:transparent;cursor:pointer}input.mgr-custom-color::-webkit-color-swatch-wrapper{padding:0}input.mgr-custom-color::-webkit-color-swatch{border:none;border-radius:50%}input.mgr-custom-color::-moz-color-swatch{border:none;border-radius:50%}input.mgr-custom-color.active{border:2px solid var(--panel);box-shadow:0 0 0 2px var(--ink)}input.mgr-custom-color:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mgr-create{gap:10px;padding:8px 10px 8px 12px;background:color-mix(in srgb,var(--ink) 2%,var(--panel) 98%)}.mgr-error{font-size:.78rem;color:var(--danger)}.mgr-hint{font-size:.78rem;color:var(--muted)}.bm{display:flex;flex-direction:column;min-height:0}.modal-tab-danger .icon{color:var(--danger)}.bm-pane{padding-top:16px;display:flex;flex-direction:column;gap:16px}.bm-section{display:flex;flex-direction:column;gap:12px}.bm-section+.bm-section{margin-top:4px;padding-top:16px;border-top:1px solid var(--hairline)}.bm-lbl{font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.bm-danger .btn.danger{align-self:flex-start}.bm-links{display:flex;flex-direction:column;gap:8px}.bm-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;text-align:left}.bm-link:hover{border-color:var(--muted)}.bm-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bm-link-label{display:inline-flex;align-items:center;gap:9px}.bm-link-go{font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}.swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--border);padding:0;cursor:pointer}.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swatch.active{border-color:var(--panel);box-shadow:0 0 0 2px var(--ink)}@media(max-width:900px){:root{--menu-width: min(340px, 92vw);--rail-height: 56px}.rail{left:0;right:0;bottom:auto;width:100%;height:calc(var(--rail-height) + var(--safe-top));flex-direction:row;align-items:center;justify-content:space-between;padding:calc(8px + var(--safe-top)) calc(12px + var(--safe-right)) 8px calc(12px + var(--safe-left));border-left:0;border-bottom:1px solid var(--border)}.rail-actions{flex-direction:row;align-items:center;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1;justify-content:flex-end;min-width:0;order:2}.rail-status{margin-top:0;flex-direction:row;align-items:center;border-top:0;border-left:0;border-right:1px solid var(--border);padding-top:0;padding-left:0;padding-right:8px;order:1}.rail-settings{margin-top:0;order:1}.rail-menu-button{order:3}.rail-action--undo{order:1}.rail-action--redo{order:2}.rail-action--timer{order:3}.rail-action--filter{order:4}.rail-action--widgets{order:5}.layout{padding-right:0;padding-top:calc(var(--rail-height) + var(--safe-top))}.local-banner{margin-top:calc(var(--rail-height) + var(--safe-top));margin-right:0}.app.menu-open .rail{right:0}.app.menu-open .layout{padding-right:0}.detail-panel{left:0;right:0;top:calc(var(--rail-height) + var(--safe-top));width:auto}.app.menu-open .detail-panel{right:0}.menu-panel{width:var(--menu-width)}.trash-drop,.done-drop{display:none}.board-area{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.board-area input,.board-area textarea,.board-area select,.board-area [contenteditable=true]{-webkit-user-select:text;user-select:text}.timer-context{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));width:auto}}@media(max-width:640px){:root{--rail-height: 52px;--menu-width: calc(100vw - var(--rail-width))}.rail{padding:calc(6px + var(--safe-top)) calc(10px + var(--safe-right)) 6px calc(10px + var(--safe-left))}.rail-action{display:grid}.grid-2,.grid-3,.tag-create{grid-template-columns:1fr}.tag-row{grid-template-columns:22px 1fr 48px auto}.shortcut-row{grid-template-columns:1fr}.drawer-overlay{padding:12px}.drawer{width:100%;height:100%;max-height:100%}.modal-overlay{padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));place-items:stretch}.modal{width:100%;height:100%;max-height:none}.settings-modal{height:100%;max-height:none}.settings-layout{flex-direction:column}.settings-nav{flex-direction:row;width:auto;flex-shrink:0;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;padding:8px;gap:4px}.settings-nav-account{display:none}.settings-nav-item{flex-shrink:0;white-space:nowrap}.board-modal .settings-nav{flex-direction:column;width:auto;max-height:38vh;overflow-x:hidden;overflow-y:auto}.board-modal .settings-nav-item{white-space:normal}.settings-pane{padding:16px}.full-page-header{padding:14px 16px}.full-page-body{padding:16px}.zeiten-entry-edit-actions{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
