:root{--font-display: "Montserrat", "Segoe UI", sans-serif;--font-body: "Inter", "Segoe UI", 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: #d12424;--accent-dark: #b21b1b;--accent-soft: #f3e1e1;--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;--shadow: none;--radius-lg: 0px;--radius-md: 0px;--radius-sm: 0px;--column-width: 320px;--column-bg-a: #f6f6f2;--column-bg-b: #f0f0eb;--card-bg: #ffffff;--card-bg-overdue: #fcecec;--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)}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1011;--panel: #151719;--ink: #f1f0ec;--muted: #a4a099;--border: #2a2d30;--accent: #ff4b4b;--accent-dark: #cf2f2f;--accent-soft: #322121;--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;--column-bg-a: #141618;--column-bg-b: #101214;--card-bg: #191c1f;--card-bg-overdue: #3a1f1f;--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", "Segoe UI", sans-serif}:root[data-font=fetzig]{--font-display: "Permanent Marker", "Segoe UI", sans-serif}@media(max-width:640px){:root{--column-width: 260px;--rail-width: 48px;--rail-gap: 12px;--menu-width: calc(100vw - var(--rail-width))}}*,*: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)}p{margin:0}a{color:inherit}.material-symbols-outlined{display:inline-block;line-height:1;font-family:Material Symbols Outlined}button,input,select,textarea{font-family:inherit;font-size:.95rem}input,select,textarea{border:1px solid var(--border);border-radius:0;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}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{position:fixed;right:0;top:0;bottom:0;width:var(--rail-width);z-index:8;display:flex;flex-direction:column;gap:12px;padding:12px 8px;background:var(--panel);border-left:1px solid var(--border);transition:right .2s ease}.topbar-title,.board-title{display:none}.board-title:focus{outline:none}.topbar-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.topbar-menu-button{align-self:center}.topbar-status{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.topbar-status-item{width:24px;height:24px;display:grid;place-items:center;color:var(--muted)}.topbar-status-button{border:0;background:transparent;padding:0;cursor:pointer}.topbar-status-button.active{color:var(--accent)}.topbar-status-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-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 .topbar{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)}.side-panel{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px;align-self:start}.panel{background:var(--panel);border:1px solid var(--border);border-radius:0;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(--accent)}.loading{min-height:100vh;display:grid;place-items:center}.loading-card{background:var(--panel);border:1px solid var(--border);border-radius:0;padding:16px 24px;display:flex;align-items:center;gap:12px}.btn{border:1px solid var(--border);border-radius:0;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.primary{background:var(--accent-create);color:#fff;border-color:var(--accent-create)}.btn.ghost{background:transparent}.btn.ghost.active{border-color:var(--accent);color:var(--accent)}.btn.danger{color:var(--accent);border-color:var(--accent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary:focus-visible{outline-color:var(--accent-create)}.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:0px solid var(--border);background:transparent;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;padding:0}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-button.active,.icon-button.danger{border-color:var(--accent);color:var(--accent)}.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}.textarea{line-height:2.5}input[type=color]{-webkit-appearance:none;appearance:none;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:0;background:transparent;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:0}input[type=color]::-moz-color-swatch{border:none;border-radius:0}.field.checkbox{flex-direction:row;align-items:center;gap:10px;color:var(--ink);font-weight:500}.field.checkbox input[type=checkbox]{appearance:none;width:12px;height:12px;aspect-ratio:1 / 1;margin:0;padding:0;border:1px solid var(--border);border-radius:0;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:80;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);border-left:3px solid var(--toast-accent);background:var(--panel);color:var(--ink)}.toast.success{--toast-accent: var(--accent-create);--toast-soft: var(--accent-create-soft)}.toast.error{--toast-accent: var(--accent);--toast-soft: var(--accent-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)}.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}.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}.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:8px;height:8px;background:var(--accent);border-radius:0;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:IBM Plex Mono,SFMono-Regular,monospace}.stat-value{font-size:1.1rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,SFMono-Regular,monospace}.stat-list{display:grid;gap:6px}.stat-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border)}.stat-row:last-child{border-bottom:none}.rich-text{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--panel)}.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:0}.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:0;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:0;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:0;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 dashed 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}.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(--accent-soft) 80%)}.column.limit-exceeded:nth-of-type(2n){background:color-mix(in srgb,var(--column-bg-b) 86%,var(--accent-soft) 80%)}.column.drop-before:before,.column.drop-after:after{content:"";position:absolute;top:10px;bottom:10px;width:2px;background:#fff;pointer-events:none;z-index:2}.column.drop-before:before{left:-1px}.column.drop-after:after{right:-1px}.column-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.column-title{display:flex;align-items:center;gap:12px;cursor:grab}.column-title:active{cursor:grabbing}.column-title h3{font-size:1.05rem;margin:0;word-break:break-word}.column-meta{display:block;font-size:.75rem;color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,monospace}.column.limit-exceeded .column-meta{color:var(--accent)}.column-icon{width:36px;height:36px;border:0px solid currentColor;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:999px;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}.card-drop-indicator{position:relative;height:18px;pointer-events:none}.card-drop-indicator:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--muted)}.card-drop-plus{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;border:1px solid var(--muted);background:var(--bg);color:var(--muted);display:grid;place-items:center}.card-drop-plus .icon{font-size:16px}.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(--border);background:var(--bg);padding:6px;width:100%}.column-add-form input{flex:1;min-width:0}.column-add-fab{width:38px;height:38px;border:1px dashed var(--border);border-radius:0;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}.card-slot-end{height:0}.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 dashed var(--border);background:var(--panel);display:grid;place-items:center;opacity:0;transition:opacity .2s ease,border-color .2s ease,color .2s ease}.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 dashed var(--border);padding:8px;background:var(--panel);display:flex;flex-direction:column;gap:6px}.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)}.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 dashed 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:9;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:IBM Plex Mono,SFMono-Regular,monospace;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:IBM Plex Mono,SFMono-Regular,monospace;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:0;padding:24px;background:var(--card-bg);cursor:pointer;display:flex;flex-direction:column;gap:0px;position:relative;overflow:hidden}.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 dashed var(--border);background:transparent;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;color:var(--muted);flex-shrink:0}.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:IBM Plex Mono,SFMono-Regular,monospace}.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(--accent-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(--accent-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 dashed #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)}.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)}.card-checklist-bar span{position:absolute;left:0;top:0;bottom:0;background:var(--accent-create)}.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}.card-meta-item.running{color:var(--accent)}.card-meta-item.running .card-meta-icon{border-color:var(--accent);color:var(--accent)}.pill{border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-family:IBM Plex Mono,SFMono-Regular,monospace;border:1px solid var(--border);color:var(--muted)}.pill.priority.urgent,.pill.priority.high{border-color:var(--accent);color:var(--accent)}.pill.priority.medium{border-color:#b8b1a5;color:#5b4b3c}.pill.priority.low{border-color:#b5c4c4;color:#2e4d4d}.pill.status.blocked{border-color:var(--accent);color:var(--accent)}.pill.status.done{border-color:var(--accent-create);color:var(--accent-create)}.tag-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:600;letter-spacing:.02em;font-family:IBM Plex Mono,SFMono-Regular,monospace;background:transparent}button.tag-chip{cursor:pointer}button.tag-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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:2px;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}.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)}.tag-label-input{width:100%;min-width:0}.inspector{z-index:6}.inspector-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.inspector-body{display:flex;flex-direction:column;gap:12px;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:0px solid var(--border)}.inspector-actions-left,.inspector-actions-right{display:flex;align-items:center;gap:8px}.inspector-actions .frog-button .frog-icon{filter:brightness(0) invert(1)}.inspector-actions .icon-button .icon,.inspector-actions .icon-button img{font-size:20px;width:20px;height:20px}.inspector-actions-right .check-button,.inspector-actions-right .check-button.active{color:var(--accent-create)}.inspector-actions-right .archive-button,.inspector-actions-right .archive-button.active{color:var(--accent-archive)}.settings-group{border:0px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:10px}.settings-group-title{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;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(--border);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:IBM Plex Mono,SFMono-Regular,monospace}.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);color:var(--muted);font-size:.9rem}.board-list{display:flex;flex-direction:column;border:1px solid var(--border);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:IBM Plex Mono,SFMono-Regular,monospace;border:1px solid var(--border);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);padding:4px 8px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,monospace}.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(--accent)}.recurrence-editor{display:flex;flex-direction:column;gap:12px}.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;border:1px solid var(--border);background:var(--panel);overflow:hidden}.member-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--border)}.member-row:first-child{border-top:none}.member-meta{display:flex;flex-direction:column;gap:2px}.member-email{font-weight:600;color:var(--ink)}.member-role{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,monospace}.member-actions{display:flex;align-items:center;gap:8px}.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:999px;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:999px}.widget-pie-label{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-pie-value{font-family:IBM Plex Mono,SFMono-Regular,monospace;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:999px;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:IBM Plex Mono,SFMono-Regular,monospace;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:IBM Plex Mono,SFMono-Regular,monospace;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:IBM Plex Mono,SFMono-Regular,monospace}.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-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:18;background:#11111114;display:flex;justify-content:flex-end;padding:24px}.drawer{width:min(360px,92vw);background:var(--panel);border:1px solid var(--border);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:#1111111f;display:grid;place-items:center;z-index:20;padding:24px}.column-modal-overlay{background:transparent;display:block;padding:0}.full-page{position:fixed;inset:0;background:var(--bg);z-index:19;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);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 50px 18px 50px}.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);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}.sync-status{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}.sync-dot{width:8px;height:8px;border-radius:999px;background:var(--border)}.sync-dot.on{background:#1b6b45}.sync-dot.off{background:var(--accent)}.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(--accent)}@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;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}.archive-panel{display:flex;flex-direction:column;gap:16px}.archive-toolbar{border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--panel)}.archive-count{display:flex;align-items:flex-end;justify-content:flex-end;color:var(--muted);font-size:.85rem;margin-bottom:12px}.archive-list{display:flex;flex-direction:column;gap:12px}.archive-card{border:1px solid var(--border);background:transparent;padding:12px;display:flex;flex-direction:column;gap:12px}.archive-card-title{font-weight:600;font-family:var(--font-display)}.archive-card-desc{font-size:.85rem;color:var(--muted)}.archive-card-tags{display:flex;gap:6px;flex-wrap:wrap}.archive-frog-status{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;width:24px;height:24px;background:var(--panel)}.archive-frog-status img{width:16px;height:16px}.archive-toolbar .frog-toggle-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:0}.archive-card-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.archive-card-meta{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.85rem}.archive-meta-row{display:inline-flex;align-items:center;gap:6px}.archive-card-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.time-log-panel{display:flex;flex-direction:column;gap:16px}.time-log-toolbar{border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--panel)}.time-log-view{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.time-log-view-label{font-weight:600}.time-log-view-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.time-log-count{display:flex;align-items:flex-end;justify-content:flex-end;color:var(--muted);font-size:.85rem;margin-bottom:12px}.time-log-table-wrap{border:1px solid var(--border);background:var(--panel);overflow:auto}.time-log-table{width:100%;border-collapse:collapse;min-width:720px}.time-log-table th,.time-log-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.time-log-table th:nth-child(2),.time-log-table th:nth-child(3),.time-log-table th:nth-child(4),.time-log-table td:nth-child(2),.time-log-table td:nth-child(3),.time-log-table td:nth-child(4){text-align:right}.time-log-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);position:sticky;top:0;background:var(--panel);z-index:1}.time-log-table tbody tr:hover{background:var(--accent-soft)}.time-log-table td:last-child{font-family:IBM Plex Mono,SFMono-Regular,monospace;text-align:right}.time-log-table tfoot td{font-weight:600}.time-log-list{display:flex;flex-direction:column;gap:12px}.time-log-card{border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:10px}.time-log-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.time-log-title{font-weight:600;font-family:var(--font-display)}.time-log-sub{font-size:.85rem;color:var(--muted)}.time-log-badges{display:inline-flex;align-items:center;gap:8px}.time-log-status{border:1px solid var(--border);padding:2px 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--muted)}.time-log-status.archived{border-color:var(--accent);color:var(--accent)}.time-log-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.85rem}.time-log-total{display:inline-flex;align-items:center;gap:6px}.time-log-running{color:var(--accent);font-weight:600}.time-log-entries{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.time-log-entry{border:1px solid var(--border);background:var(--panel);padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.time-log-entry.editing{grid-template-columns:minmax(0,1fr)}.time-log-entry-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:end;gap:12px;min-width:0}.time-log-entry-time{display:inline-flex;align-items:center;gap:6px;min-width:0;justify-self:end;justify-content:flex-end;text-align:right}.time-log-entry-duration{font-family:IBM Plex Mono,SFMono-Regular,monospace;white-space:nowrap;justify-self:end;text-align:right}.time-log-entry-actions{display:inline-flex;align-items:center;gap:6px}.time-log-entry-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.time-log-entry-edit .field{margin-bottom:0}.time-log-entry-edit-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.time-log-entry-edit-button{width:30px;height:30px;border:1px solid var(--border)}.time-log-entry-edit-button:hover{border-color:var(--accent);color:var(--accent)}.archive-time-log{border:1px dashed var(--border);padding:10px;display:flex;flex-direction:column;gap:8px;min-width:240px}.archive-time-header{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}.archive-time-list{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--muted)}.archive-time-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-time-duration{font-family:IBM Plex Mono,SFMono-Regular,monospace}.calendar-panel{display:flex;flex-direction:column;gap:16px}.calendar-toolbar{border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--panel)}.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);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);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 dashed var(--border);padding:6px 8px;font-size:.7rem;color:var(--muted)}.calendar-week-hour-cell{border-bottom:1px dashed 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);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:IBM Plex Mono,SFMono-Regular,monospace;font-size:.75rem;color:var(--muted);padding-top:4px}.calendar-card{width:100%;border:1px solid var(--border);border-radius:0;background:var(--panel);padding:6px 8px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer}.calendar-card.virtual{border-style:dashed;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(--accent-soft);border-color:color-mix(in srgb,var(--accent) 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:12}.menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;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-meta-block{padding:12px 16px;border-bottom:1px solid var(--border)}.menu-meta{display:flex;flex-direction:column;gap:8px;font-size:.8rem;color:var(--muted)}.menu-meta-row{display:flex;align-items:center;gap:8px}.menu-meta-label{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.menu-meta-value{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-sync-button,.menu-login-button{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:inherit;font-weight:600}.menu-login-button{color:var(--accent)}.menu-sync-button:focus-visible,.menu-login-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:12px 12px 16px}.menu-group{display:flex;flex-direction:column;gap:8px}.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;color:var(--ink);padding:10px 12px;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-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.menu-group-list{border:1px solid var(--border);display:flex;flex-direction:column}.menu-group-content{border:1px solid var(--border);border-top:none;padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--panel)}.menu-item{border:none;background:transparent;padding:10px 12px;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:IBM Plex Mono,SFMono-Regular,monospace}.menu-item+.menu-item{border-top:1px solid var(--border)}.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);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);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(--accent)}.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:26}.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:26}.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)}.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 dashed var(--border);background:var(--panel);color:var(--muted);display:flex;align-items:center;justify-content:center;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(--accent);background:var(--accent-soft);color:var(--accent)}.shortcut-list{display:flex;flex-direction:column;gap:6px}.shortcut-row{display:grid;grid-template-columns:160px 1fr;gap:12px;font-size:.9rem;padding:6px 0;border-bottom:1px solid var(--border)}.shortcut-keys{font-family:IBM Plex Mono,SFMono-Regular,monospace;color:var(--ink)}.shortcut-action{color:var(--muted)}@media(max-width:1200px){.layout{grid-template-columns:1fr}.side-panel{position:static}.board-area{order:2}}@media(min-width:1024px){.archive-panel,.time-log-panel{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:20px;align-items:start}.archive-panel>.archive-toolbar,.time-log-panel>.time-log-toolbar{grid-column:1;align-self:start;position:sticky;top:0;z-index:1}.archive-panel>.archive-list,.archive-panel>.hint,.time-log-panel>.time-log-list,.time-log-panel>.time-log-table-wrap,.time-log-panel>.hint{grid-column:2;min-width:0}}@media(max-width:900px){:root{--menu-width: min(340px, 92vw);--topbar-height: 56px}.topbar{left:0;right:0;bottom:auto;width:100%;height:calc(var(--topbar-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)}.topbar-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}.topbar-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}.topbar-menu-button{order:3}.topbar-action--undo{order:1}.topbar-action--redo{order:2}.topbar-action--timer{order:3}.topbar-action--filter{order:4}.topbar-action--widgets{order:5}.layout{padding-right:0;padding-top:calc(var(--topbar-height) + var(--safe-top))}.app.menu-open .topbar{right:0}.app.menu-open .layout{padding-right:0}.detail-panel{left:0;right:0;top:calc(var(--topbar-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{--topbar-height: 52px}.topbar{padding:calc(6px + var(--safe-top)) calc(10px + var(--safe-right)) 6px calc(10px + var(--safe-left))}.topbar-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:12px;place-items:stretch}.modal{width:100%;height:100%;max-height:none}.full-page-header{padding:14px 16px}.full-page-body{padding:16px}.archive-card-actions{margin-left:0;width:100%;justify-content:flex-start}.time-log-entry{grid-template-columns:minmax(0,1fr)}.time-log-entry-info{grid-template-columns:minmax(0,1fr);justify-items:end}.time-log-entry-edit-actions{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
