:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--lightningcss-light,#f6f5f2)var(--lightningcss-dark,#111113);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1e);--surface-2:var(--lightningcss-light,#eeede9)var(--lightningcss-dark,#26262a);--text:var(--lightningcss-light,#1c1b19)var(--lightningcss-dark,#ededeb);--text-2:var(--lightningcss-light,#5c5a54)var(--lightningcss-dark,#a9a8a2);--text-3:var(--lightningcss-light,#96938a)var(--lightningcss-dark,#707069);--line:var(--lightningcss-light,#1c1b1917)var(--lightningcss-dark,#ffffff17);--line-strong:var(--lightningcss-light,#1c1b192e)var(--lightningcss-dark,#fff3);--accent:var(--lightningcss-light,#1c1b19)var(--lightningcss-dark,#ededeb);--accent-text:var(--lightningcss-light,#fff)var(--lightningcss-dark,#111113);--danger:var(--lightningcss-light,#c8372d)var(--lightningcss-dark,#f2766b);--warn:var(--lightningcss-light,#c98200)var(--lightningcss-dark,#f0b040);--ok:var(--lightningcss-light,#2b9a66)var(--lightningcss-dark,#58c592);--ring:var(--lightningcss-light,#3f74e0)var(--lightningcss-dark,#7da3f5);--shadow-sm:0 1px 2px var(--lightningcss-light,#14120c0d)var(--lightningcss-dark,#0006);--shadow-md:0 2px 4px var(--lightningcss-light,#14120c0a)var(--lightningcss-dark,#0000004d), 0 14px 28px -10px var(--lightningcss-light,#14120c29)var(--lightningcss-dark,#0009);--shadow-lg:0 4px 8px var(--lightningcss-light,#14120c0d)var(--lightningcss-dark,#0000004d), 0 32px 64px -20px var(--lightningcss-light,#14120c47)var(--lightningcss-dark,#000000bf);--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:20px;--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.3, 1.35, .5, 1);--hue-yellow:var(--lightningcss-light,#d4940a)var(--lightningcss-dark,#e6b23c);--hue-pink:var(--lightningcss-light,#d9506f)var(--lightningcss-dark,#f07f98);--hue-blue:var(--lightningcss-light,#3f74e0)var(--lightningcss-dark,#7da3f5);--hue-green:var(--lightningcss-light,#2b9a66)var(--lightningcss-dark,#58c592);--hue-purple:var(--lightningcss-light,#7a5be0)var(--lightningcss-dark,#a48cf5);--hue-gray:var(--lightningcss-light,#8a8880)var(--lightningcss-dark,#8f8e88);--hue:var(--hue-gray)}[data-color=yellow]{--hue:var(--hue-yellow)}[data-color=pink]{--hue:var(--hue-pink)}[data-color=blue]{--hue:var(--hue-blue)}[data-color=green]{--hue:var(--hue-green)}[data-color=purple]{--hue:var(--hue-purple)}[data-color=gray]{--hue:var(--hue-gray)}[data-color]{--card:var(--lightningcss-light,color-mix(in oklab, var(--hue) 7%, #fff))var(--lightningcss-dark,color-mix(in oklab, var(--hue) 11%, #1b1b1e));--card-line:color-mix(in oklab, var(--hue) 22%, var(--line))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,h1,h2,h3,html,p{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:15px;line-height:1.55}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}::selection{background:color-mix(in oklab,var(--hue) 30%,transparent)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.page-enter-active,.page-leave-active{transition:opacity .14s}.page-enter-from,.page-leave-to{opacity:0}.btn-ghost,.btn-icon,.btn-primary{border-radius:var(--r-md);white-space:nowrap;height:36px;transition:background .15s,color .15s,opacity .15s,scale .12s var(--ease),box-shadow .15s;border:0;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:550;text-decoration:none;display:inline-flex}.btn-ghost:active,.btn-icon:active,.btn-primary:active{scale:.97}.btn-primary{background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-sm),inset 0 1px 0 #ffffff1f;flex-shrink:0;padding:0 14px}.btn-primary:hover{opacity:.88}.btn-primary:disabled{background:var(--surface-2);color:var(--text-3);box-shadow:none;opacity:1;cursor:default}.btn-ghost{color:var(--text-2);background:0 0;padding:0 12px}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-icon{width:36px;color:var(--text-2);background:0 0;flex-shrink:0;padding:0}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-ghost.danger,.btn-icon.danger{color:var(--danger)}.btn-ghost.danger:hover,.btn-icon.danger:hover{background:color-mix(in oklab,var(--danger) 12%,transparent);color:var(--danger)}kbd{font:inherit;background:color-mix(in oklab,currentColor 14%,transparent);opacity:.8;border-radius:5px;padding:1px 5px;font-size:11px;font-weight:500}.home{padding-bottom:140px}.home main,.topbar-inner{max-width:1120px;margin:0 auto;padding-inline:20px}.topbar{z-index:5;padding-top:env(safe-area-inset-top);background:color-mix(in oklab,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{height:60px}.brand,.topbar-inner{align-items:center;gap:10px;display:flex}.brand{margin-right:8px}.brand h1{letter-spacing:.01em;white-space:nowrap;font-size:16px;font-weight:650}.logo{color:var(--accent);flex-shrink:0}.search{border-radius:var(--r-md);background:var(--surface-2);min-width:0;max-width:200px;height:36px;color:var(--text-3);border:1px solid #0000;flex:1;align-items:center;gap:8px;margin-right:auto;padding:0 12px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.search:focus-within{background:var(--surface);border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent)}.search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14px}.search input::placeholder{color:var(--text-3)}.search input::-webkit-search-cancel-button{-webkit-appearance:none}.section-head{color:var(--text-2);letter-spacing:.02em;align-items:center;gap:8px;padding:28px 2px 14px;font-size:13px;font-weight:600;display:flex}.section-count{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;min-width:20px;padding:0 6px;font-size:12px;font-weight:600;line-height:20px}.hint,.section-count{color:var(--text-3);text-align:center}.hint{padding:56px 0;font-size:14px}.hint .btn-ghost{margin-top:12px}.empty{color:var(--text-3);justify-items:center;gap:6px;padding:96px 0;font-size:14px;display:grid}.empty-art{background:var(--surface);border:1px solid var(--line);width:64px;height:64px;box-shadow:var(--shadow-md);color:var(--text-2);border-radius:18px;place-items:center;margin-bottom:10px;display:grid;rotate:-4deg}.empty-title{color:var(--text);font-size:17px;font-weight:650}.empty .btn-primary{margin-top:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:14px;display:grid}@keyframes card-in{0%{opacity:0;translate:0 8px}}.card{border-radius:var(--r-lg);background:var(--card);border:1px solid var(--card-line);height:188px;box-shadow:var(--shadow-sm);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;animation:card-in .32s var(--ease) backwards;transition:box-shadow .2s var(--ease),translate .2s var(--ease),border-color .2s;flex-direction:column;gap:6px;padding:16px 16px 12px;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in oklab,var(--hue) 40%,var(--line));translate:0 -2px}.card-title{letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:15px;font-weight:650;line-height:1.35;overflow:hidden}.card-body{min-height:0;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;flex:1;font-size:13px;line-height:1.65;overflow:hidden;-webkit-mask-image:linear-gradient(#000 62%,#0000);mask-image:linear-gradient(#000 62%,#0000)}.card-empty{color:var(--text-3);flex:1;font-size:13px}.card-foot{color:var(--text-3);flex-shrink:0;align-items:center;gap:7px;margin-top:auto;font-size:12px;display:flex}.card-dot{background:var(--hue);border-radius:50%;flex-shrink:0;width:7px;height:7px}.card-ghost{border:1.5px dashed var(--line-strong);box-shadow:none;background:0 0;animation:none}.card-ghost>*{visibility:hidden}.card-drag{cursor:grabbing;box-shadow:var(--shadow-lg);border-color:color-mix(in oklab,var(--hue) 45%,var(--line));transition:none;animation:none;rotate:2.5deg;scale:1.04;opacity:1!important}.trash{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:10;position:fixed;translate:-50%}.trash-btn{border:1px solid var(--line-strong);background:color-mix(in oklab,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);min-width:48px;height:48px;color:var(--text-2);box-shadow:var(--shadow-md);transition:all .26s var(--spring);border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:0 14px;display:flex;position:relative}.trash-btn:hover{color:var(--text)}.trash-label{white-space:nowrap;max-width:0;transition:max-width .26s var(--ease);font-size:14px;font-weight:600;overflow:hidden}.trash-count{background:var(--accent);min-width:20px;height:20px;color:var(--accent-text);border:2px solid var(--bg);box-sizing:content-box;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:20px;position:absolute;top:-6px;right:-6px}.trash-drop{inset:-28px -40px}.trash-drop,.trash-drop>*{pointer-events:none;position:absolute}.sheet-enter-from,.sheet-leave-to,.trash-drop>*{opacity:0}.trash.is-dragging .trash-drop{pointer-events:auto}.trash.is-dragging .trash-btn{border:1.5px dashed var(--danger);background:color-mix(in oklab,var(--danger) 10%,var(--surface));height:64px;color:var(--danger);padding:0 26px}.trash.is-dragging .trash-label{max-width:200px}.trash:has(.trash-drop>.card-ghost) .trash-btn{background:var(--danger);color:#fff;box-shadow:0 16px 36px -10px color-mix(in oklab,var(--danger) 70%,transparent);border-style:solid;scale:1.08}.sheet-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000061;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(600px,100%);max-height:78dvh;padding:0 14px calc(18px + env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;border:1px solid var(--line);box-shadow:var(--shadow-lg);border-bottom:0;overflow-y:auto}.sheet,.sheet-head{background:var(--surface)}.sheet-head{z-index:1;align-items:center;gap:8px;padding:16px 0 12px 6px;display:flex;position:sticky;top:0}.sheet-head h2{font-size:16px;font-weight:650}.sheet-head .section-count{margin-right:auto}.sheet-head h2:only-of-type:not(:has(+.section-count)){margin-right:auto}.trash-list{margin:0;padding:0;list-style:none}.trash-list li{border-top:1px solid var(--line);align-items:center;gap:6px;padding:8px 2px 8px 8px;display:flex}.trash-list .card-dot{margin-right:6px}.trash-item-text{flex:1;gap:1px;min-width:0;display:grid}.trash-item-text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trash-item-text strong{font-size:14px;font-weight:600}.trash-item-text span{color:var(--text-3);font-size:12.5px}.sheet-enter-active,.sheet-leave-active{transition:opacity .22s}.sheet-enter-active .sheet,.sheet-leave-active .sheet{transition:translate .3s var(--ease)}.sheet-enter-from .sheet,.sheet-leave-to .sheet{translate:0 100%}.toast{left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:30;background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:12px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:14px;display:flex;position:fixed;translate:-50%}.toast>span{padding:2px 8px 2px 0}.toast button{background:color-mix(in oklab,var(--accent-text) 16%,transparent);color:inherit;border:0;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:600}.toast button:hover{background:color-mix(in oklab,var(--accent-text) 26%,transparent)}.toast-enter-active,.toast-leave-active{transition:opacity .2s,translate .25s var(--spring)}.toast-enter-from,.toast-leave-to{opacity:0;translate:-50% 10px}.editor{flex-direction:column;min-height:100dvh;padding-bottom:28px;display:flex}.editor-bar{z-index:5;padding-top:env(safe-area-inset-top);background:color-mix(in oklab,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.editor-bar-inner{align-items:center;gap:8px;max-width:800px;min-height:60px;margin:0 auto;padding:0 20px;display:flex}.save-status{color:var(--text-3);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;margin-right:auto;padding:3px 10px 3px 8px;font-size:12.5px;font-weight:550;transition:background .2s,color .2s;display:inline-flex}.save-dot{background:var(--ok);border-radius:50%;width:7px;height:7px;transition:background .2s}.save-status.saving .save-dot{background:var(--text-3)}.save-status.dirty{color:var(--warn);background:color-mix(in oklab,var(--warn) 13%,transparent)}.save-status.dirty .save-dot{background:var(--warn)}.save-status.error{color:var(--danger);background:color-mix(in oklab,var(--danger) 13%,transparent)}.save-status.error .save-dot{background:var(--danger)}.swatches{align-items:center;gap:2px;margin-right:2px;display:flex}.swatch{background:0 0;border:0;border-radius:50%;width:26px;height:26px;padding:0;position:relative}.swatch:before{content:"";background:var(--hue);transition:inset .18s var(--spring);border-radius:50%;position:absolute;inset:6px}.swatch:hover:before{inset:4px}.swatch[aria-checked=true]:before{inset:5px}.swatch[aria-checked=true]{box-shadow:inset 0 0 0 1.5px var(--hue)}.editor-paper{border-radius:var(--r-xl);background:var(--card);border:1px solid var(--card-line);width:min(760px,100% - 40px);box-shadow:var(--shadow-md);flex-direction:column;flex:1;margin:24px auto 0;padding:40px 48px 48px;transition:background .3s,border-color .3s;display:flex}.editor-title{letter-spacing:-.015em;background:0 0;border:0;outline:0;width:100%;padding:0 0 14px;font-size:30px;font-weight:700;line-height:1.25}.editor-title::placeholder{color:var(--text-3)}.note-editor{flex-direction:column;flex:1;display:flex}.toolbar{top:calc(68px + env(safe-area-inset-top));z-index:2;background:color-mix(in oklab,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;align-self:flex-start;align-items:center;gap:2px;margin:0 0 20px -6px;padding:4px;display:flex;position:sticky}.tool{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-2);background:0 0;border:0;place-items:center;padding:0;transition:background .12s,color .12s;display:grid}.tool:hover{background:var(--surface-2);color:var(--text)}.tool.active{background:var(--accent);color:var(--accent-text)}.tool-sep{background:var(--line-strong);width:1px;height:18px;margin:0 4px}.editor-content{flex-direction:column;flex:1;font-size:16px;line-height:1.75;display:flex}.ProseMirror{overflow-wrap:anywhere;min-height:42dvh;caret-color:var(--hue);outline:0;flex:1}.ProseMirror>:first-child{margin-top:0}.ProseMirror p{margin:0 0 .6em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{letter-spacing:-.01em;margin:1.3em 0 .4em;font-weight:700;line-height:1.3}.ProseMirror h1{font-size:1.5em}.ProseMirror h2{font-size:1.28em}.ProseMirror h3{font-size:1.1em}.ProseMirror strong,.login-head h1{font-weight:700}.ProseMirror ol,.ProseMirror ul{margin:0 0 .6em;padding-left:1.45em}.ProseMirror li{margin:.15em 0}.ProseMirror li::marker{color:var(--text-3);font-variant-numeric:tabular-nums}.ProseMirror li p{margin:0}.ProseMirror blockquote{border-left:3px solid var(--hue);color:var(--text-2);margin:0 0 .6em;padding:2px 0 2px 14px}.ProseMirror code{background:color-mix(in oklab,var(--text) 8%,transparent);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.ProseMirror pre{border-radius:var(--r-md);background:color-mix(in oklab,var(--text) 7%,transparent);border:1px solid var(--line);margin:0 0 .8em;padding:14px 16px;line-height:1.6;overflow-x:auto}.ProseMirror pre code{background:0 0;padding:0}.ProseMirror hr{border:0;border-top:1px solid var(--line-strong);margin:1.4em 0}.ProseMirror a{color:var(--hue);text-underline-offset:3px}.ProseMirror ul[data-type=taskList]{padding-left:0;list-style:none}.ProseMirror ul[data-type=taskList] li{align-items:flex-start;gap:10px;margin:.25em 0;display:flex}.ProseMirror ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;height:1.75em;display:flex}.ProseMirror ul[data-type=taskList] li>div{flex:1;min-width:0;transition:color .2s}.ProseMirror ul[data-type=taskList] input[type=checkbox]{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface) center/12px no-repeat;cursor:pointer;width:18px;height:18px;transition:background-color .15s,border-color .15s,scale .15s var(--spring);border-radius:6px;margin:0}.ProseMirror ul[data-type=taskList] input[type=checkbox]:hover{border-color:var(--hue)}.ProseMirror ul[data-type=taskList] input[type=checkbox]:active{scale:.88}.ProseMirror ul[data-type=taskList] input[type=checkbox]:checked{border-color:var(--hue);background-color:var(--hue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 6.2 2.4 2.4 4.6-5'/%3E%3C/svg%3E")}.ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-3);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab,var(--text-3) 60%,transparent);text-decoration-color:color-mix(in oklab,var(--text-3) 60%,transparent)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--text-3)}.dialog-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000061;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow-lg);padding:24px 24px 18px}.dialog h2{margin-bottom:6px;font-size:17px;font-weight:650}.dialog p{color:var(--text-2);margin-bottom:22px;font-size:14px}.dialog-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.dialog-enter-active,.dialog-leave-active{transition:opacity .16s}.dialog-enter-active .dialog,.dialog-leave-active .dialog{transition:scale .22s var(--spring)}.dialog-enter-from,.dialog-leave-to{opacity:0}.dialog-enter-from .dialog,.dialog-leave-to .dialog{scale:.95}.login{place-items:center;min-height:100dvh;padding:20px;display:grid}.login-card{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);width:min(340px,100%);box-shadow:var(--shadow-lg);justify-items:stretch;gap:14px;padding:32px 28px 28px;display:grid}.login-card .logo{margin-bottom:4px}.login-head{margin-bottom:6px}.login-head h1{letter-spacing:-.01em;font-size:20px}.login-head p{color:var(--text-3);font-size:14px}.login-input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--bg);outline:0;width:100%;height:42px;padding:0 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent)}.login-card .btn-primary{height:42px}.login-error{color:var(--danger);font-size:13px}.tabs{gap:2px;margin-right:8px;display:flex}.check-field,.field-inline,.tab,.tabs{align-items:center}.tab{border-radius:var(--r-md);height:36px;color:var(--text-3);white-space:nowrap;gap:6px;padding:0 12px;font-size:14px;font-weight:550;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.tab.active,.tab:hover{color:var(--text)}.tab.active{background:var(--surface-2)}.topbar-space{flex:1}select{font:inherit;color:inherit}.field{min-width:0;color:var(--text-3);gap:5px;font-size:12.5px;font-weight:550;display:grid}.field input:not([type=checkbox]),.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);background:color-mix(in oklab,var(--bg) 60%,transparent);width:100%;min-width:0;height:36px;color:var(--text);outline:0;padding:0 10px;font-size:14px;font-weight:400;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;height:auto;padding:8px 10px;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent)}.field-inline{gap:2px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.check-field{height:36px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;gap:8px;font-size:14px;display:inline-flex}.check-field input{width:16px;height:16px;accent-color:var(--hue);margin:0}.card-meta{border-bottom:1px solid var(--card-line);flex-wrap:wrap;align-items:flex-end;gap:12px 14px;margin-bottom:22px;padding-bottom:20px;display:flex}.card-meta .field{flex:130px;max-width:220px}.board-page{flex-direction:column;height:100dvh;display:flex}.board-head,.board-scroll{padding-inline:max(20px,50% - 540px) 20px}.board-head{padding-top:14px}.board-tabs{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.board-tab{border:1px solid var(--line);max-width:200px;height:30px;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;padding:0 12px;font-size:13px;font-weight:550;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex;overflow:hidden}.board-tab:hover{color:var(--text);border-color:var(--line-strong)}.board-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.board-tab-new{padding:0 8px}.board-title-row{align-items:center;gap:8px;padding:12px 0;display:flex}.board-title{border-radius:var(--r-md);letter-spacing:-.01em;text-overflow:ellipsis;background:0 0;border:1px solid #0000;outline:0;flex:0 300px;min-width:0;height:40px;margin-left:-8px;padding:0 8px;font-size:22px;font-weight:700;transition:background .15s,border-color .15s}.board-title:hover{background:var(--surface-2)}.board-title:focus{background:var(--surface);border-color:var(--line-strong)}.board-scroll{min-height:0;padding-bottom:calc(20px + env(safe-area-inset-bottom));flex:1;overflow-x:auto}.board-cols,.board-scroll{align-items:flex-start;gap:12px;display:flex}.board-cols{height:100%}.col{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);flex-direction:column;flex-shrink:0;width:328px;max-height:100%;padding:6px;display:flex}.col-head{cursor:grab;align-items:center;gap:8px;min-height:44px;padding:0 2px 0 8px;display:flex}.col-name{text-overflow:ellipsis;white-space:nowrap;cursor:text;flex:0 auto;min-width:0;font-size:16px;font-weight:650;overflow:hidden}.col-head .section-count{margin-right:auto}.col-fold,.col-remove{opacity:0;width:30px;height:30px}.col-fold:focus-visible,.col-remove:focus-visible,.col:hover .col-fold,.col:hover .col-remove{opacity:1}@media (hover:none){.col-fold,.col-remove{opacity:.6}}.col.collapsed{cursor:pointer;width:52px}.col.collapsed .col-fold,.col.collapsed .col-remove,.col.collapsed>:not(.col-head){display:none}.col.collapsed .col-head{cursor:pointer;flex-direction:column;gap:10px;padding:12px 0}.col.collapsed .col-name{writing-mode:vertical-rl;cursor:pointer;max-height:260px}.col.collapsed .section-count{margin-right:0}.col.collapsed:hover{border-color:var(--line-strong)}.col-cards{scrollbar-width:thin;flex-direction:column;flex:1;min-height:12px;padding:2px;overflow-y:auto}.col-add,.col-cards{gap:6px;display:flex}.col-add{border-radius:var(--r-md);width:100%;height:36px;color:var(--text-3);text-align:left;background:0 0;border:0;align-items:center;margin-top:4px;padding:0 8px;font-size:13.5px;font-weight:550;transition:background .15s,color .15s}.col-add:hover{background:var(--surface-2);color:var(--text)}.col-input{border:1px solid var(--ring);border-radius:var(--r-sm);background:var(--bg);width:100%;min-width:0;height:32px;box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent);outline:0;flex:1;padding:0 8px;font-size:14px}.col-add-input{flex:none;height:36px;margin-top:4px}.col-new{background:0 0;border-style:dashed}.col-new .col-add{margin-top:0}.col-ghost{opacity:.35}.col-drag{cursor:grabbing;box-shadow:var(--shadow-lg);rotate:1.5deg;opacity:1!important}.kcard{border-radius:var(--r-md);background:var(--card);border:1px solid var(--card-line);box-shadow:var(--shadow-sm);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:box-shadow .2s var(--ease),border-color .2s;flex-shrink:0;align-items:flex-start;gap:8px;padding:12px 14px;display:flex;position:relative}.kcard:hover{box-shadow:var(--shadow-md);border-color:color-mix(in oklab,var(--hue) 40%,var(--line))}.kcard-check{border:1.5px solid var(--line-strong);color:#0000;width:18px;height:18px;transition:background .15s,border-color .15s,color .15s,scale .15s var(--spring);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;padding:0;display:grid}.kcard-check:hover{border-color:var(--ok);color:var(--ok)}.kcard-check:active{scale:.86}.kcard-check[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:var(--bg)}.kcard-main{flex:1;gap:4px;min-width:0;display:grid}.kcard-title{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.4}.kcard.done .kcard-title{color:var(--text-3);text-decoration:line-through}.kcard-body{-webkit-line-clamp:2;line-clamp:2;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}[data-tag]{--tag:var(--text-3)}[data-tag=okr]{--tag:var(--danger)}[data-tag=story]{--tag:var(--hue-green)}[data-tag=task]{--tag:var(--hue-blue)}[data-tag=bug]{--tag:var(--hue-yellow)}[data-tag=backlog]{--tag:var(--hue-gray)}[data-tag=planning]{--tag:var(--hue-blue)}[data-tag=doing]{--tag:var(--hue-yellow)}[data-tag=release]{--tag:var(--danger)}[data-tag=verify]{--tag:var(--hue-pink)}[data-tag=done]{--tag:var(--ok)}[data-tag=closed]{--tag:var(--text-3)}[data-tag=urgent]{--tag:var(--danger)}[data-tag=medium]{--tag:var(--warn)}[data-tag=low]{--tag:var(--hue-gray)}.kcard-tags{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:3px;display:grid}.tag-type{justify-self:start}.tag-status{justify-self:center}.tag-priority{justify-self:end}.tag{background:color-mix(in oklab,var(--tag) 20%,transparent);height:22px;color:color-mix(in oklab,var(--tag) 78%,var(--text));letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;max-width:100%;padding:0 8px 0 7px;font-size:12px;font-weight:700;display:inline-flex;overflow:hidden}.label-select-btn svg,.tag svg{flex-shrink:0}.board-filters{gap:6px;margin-left:auto;display:flex}.label-select{min-width:0;position:relative}.label-select-btn{border:1px solid var(--line-strong);border-radius:var(--r-md);background:color-mix(in oklab,var(--bg) 60%,transparent);width:100%;height:36px;color:var(--text-3);text-align:left;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:550;transition:border-color .15s,color .15s,background .15s,box-shadow .15s;display:flex}.label-select-btn:hover{border-color:color-mix(in oklab,var(--text) 30%,transparent);color:var(--text-2)}.label-select-btn:focus-visible,.label-select.open .label-select-btn{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent);outline:0}.label-select-btn.chosen{border-color:color-mix(in oklab,var(--tag) 55%,transparent);background:color-mix(in oklab,var(--tag) 16%,transparent);color:color-mix(in oklab,var(--tag) 75%,var(--text));font-weight:650}.label-select-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.label-select-caret{opacity:.6;transition:rotate .2s var(--ease)}.label-select.open .label-select-caret{rotate:180deg}.label-select.filter .label-select-btn{border-color:var(--line);background:0 0;border-radius:999px;height:34px;padding:0 10px 0 12px}.label-select.filter .label-select-btn.chosen{border-color:color-mix(in oklab,var(--tag) 60%,transparent);background:color-mix(in oklab,var(--tag) 18%,transparent)}.label-select-menu{z-index:30;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-strong);min-width:max(100%,168px);box-shadow:var(--shadow-lg);gap:2px;margin:0;padding:5px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);left:0}.label-select-menu.end{left:auto;right:0}.label-select-menu li{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:8px;min-height:34px;padding:0 8px;display:flex}.label-select-menu li.active{background:var(--surface-2)}.label-select-menu .tag{height:24px;font-size:13px}.label-select-empty{color:var(--text-2);font-size:14px}.label-select-check{color:var(--text-2);margin-left:auto}.menu-enter-active,.menu-leave-active{transition:opacity .14s,translate .18s var(--ease)}.menu-enter-from,.menu-leave-to{opacity:0;translate:0 -4px}.kcard-tasks{gap:3px;margin:2px 0 0;padding:0;list-style:none;display:grid}.kcard-tasks li{min-width:0;color:var(--text-2);align-items:center;gap:7px;font-size:14px;line-height:1.55;display:flex}.kcard-task-check{border:1.5px solid var(--line-strong);background:0 0;border-radius:50%;flex-shrink:0;width:14px;height:14px;padding:0;transition:border-color .15s,background .15s}.kcard-task-check:hover{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 35%,transparent)}.kcard-task-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kcard-tasks time{color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px}.kcard-tasks time.today{color:var(--warn)}.kcard-tasks time.overdue{color:var(--danger)}.kcard-tasks-more{color:var(--text-3);padding-left:21px}.kcard-foot{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.chip{background:color-mix(in oklab,var(--text) 7%,transparent);height:24px;color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:4px;padding:0 7px;font-size:13px;font-weight:550;display:inline-flex}.chip.today{background:color-mix(in oklab,var(--warn) 16%,transparent);color:var(--warn)}.chip.overdue{background:color-mix(in oklab,var(--danger) 16%,transparent);color:var(--danger)}.chip.done{background:color-mix(in oklab,var(--ok) 14%,transparent);color:var(--ok)}.drop-dock{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:10;transition:opacity .2s,translate .26s var(--spring);align-items:flex-end;gap:36px;display:flex;position:fixed;translate:-50%}.drop-dock:not(.is-dragging){opacity:0;pointer-events:none;translate:-50% 16px}.drop-dock .trash{position:relative;bottom:auto;left:auto;translate:none}.drop-dock .trash-drop{inset:-28px -16px}.drop-dock.keep:not(.is-dragging){opacity:1;pointer-events:auto;translate:-50%}.drop-dock.keep:not(.is-dragging) .trash:not(.archive){display:none}.trash.archive .trash-count{background:var(--accent)}.trash-item-text time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.trash.archive.is-dragging .trash-btn{border-color:var(--ring);background:color-mix(in oklab,var(--ring) 10%,var(--surface));color:var(--ring)}.trash.archive:has(.trash-drop>.card-ghost) .trash-btn{background:var(--ring);color:var(--bg);box-shadow:0 16px 36px -10px color-mix(in oklab,var(--ring) 70%,transparent)}.board-title-row .section-count{margin-left:2px}a.trash-item-text{color:inherit;text-decoration:none}a.trash-item-text:hover strong,button.trash-item-text:hover strong{text-underline-offset:3px;text-decoration:underline}.editor-sheet{background:var(--card);border-color:var(--card-line);flex-direction:column;width:min(820px,100%);height:92dvh;max-height:92dvh;padding:0;transition:background .3s,border-color .3s;display:flex;overflow:hidden}.editor-sheet-bar{border-bottom:1px solid var(--card-line);flex-shrink:0;align-items:center;gap:8px;min-height:60px;padding:0 14px 0 20px;display:flex}.editor-sheet-body{min-height:0;padding:28px 40px calc(32px + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex;overflow:hidden auto}.editor-sheet .toolbar{top:0}.editor-sheet .ProseMirror{min-height:30dvh}button.trash-item-text{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.tasks{border-bottom:1px solid var(--card-line);margin-bottom:26px;padding-bottom:22px}.tasks-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tasks-head h2{color:var(--text-2);letter-spacing:.02em;font-size:13px;font-weight:600}.task-list{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.task{border-radius:var(--r-sm);align-items:center;gap:8px;min-height:38px;margin-inline:-8px;padding:0 4px;transition:background .12s;display:flex}.task:focus-within,.task:hover{background:color-mix(in oklab,var(--text) 5%,transparent)}.task-grip{width:16px;color:var(--text-3);cursor:grab;opacity:0;place-items:center;display:grid}.task:hover .task-grip{opacity:1}.task .kcard-check{margin-top:0}.task-new,.task-title{border-radius:var(--r-sm);text-overflow:ellipsis;background:0 0;border:1px solid #0000;outline:0;flex:1;min-width:0;height:32px;padding:0 6px;font-size:15px}.task-new:focus,.task-title:focus{background:var(--surface);border-color:var(--line-strong)}.task.done .task-title{color:var(--text-3);text-decoration:line-through}.task-date{background:color-mix(in oklab,var(--text) 7%,transparent);width:132px;height:28px;color:var(--text-2);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:6px;outline:0;flex-shrink:0;padding:0 6px;font-size:12.5px}.task-date:focus{border-color:var(--ring)}.task-date.empty{color:var(--text-3);opacity:.55;background:0 0}.task-date.empty:focus,.task:hover .task-date.empty{opacity:1}.task-date.today{background:color-mix(in oklab,var(--warn) 16%,transparent);color:var(--warn)}.task-date.overdue{background:color-mix(in oklab,var(--danger) 16%,transparent);color:var(--danger)}.task-remove{opacity:0;width:28px;height:28px}.task-remove:focus-visible,.task:hover .task-remove{opacity:1}@media (hover:none){.task-grip,.task-remove{opacity:.6}}.task-ghost{opacity:.35}.task-new{width:100%;color:var(--text);margin-top:4px}.task-new::placeholder{color:var(--text-3)}.card-archived{border-radius:var(--r-md);background:color-mix(in oklab,var(--text) 6%,transparent);color:var(--text-2);align-items:center;gap:8px;margin-bottom:16px;padding:6px 6px 6px 12px;font-size:13.5px;display:flex}.card-archived .btn-ghost{height:30px;color:var(--text);margin-left:auto}.card-archive{margin-left:auto}.calendar-page{flex-direction:column;height:100dvh;display:flex}.cal-bar,.cal-main{width:100%;max-width:1120px;margin:0 auto;padding-inline:20px}.cal-bar{align-items:center;gap:4px;padding-block:14px 12px;display:flex}.cal-today{border:1px solid var(--line-strong);margin-right:4px}.cal-title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-left:8px;font-size:19px;font-weight:700;overflow:hidden}.segmented{border-radius:var(--r-md);background:var(--surface-2);flex-shrink:0;padding:3px;display:flex}.segmented button{height:30px;color:var(--text-3);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.cal-main{min-height:0;padding-bottom:calc(20px + env(safe-area-inset-bottom));flex:1;font-size:13px}:root{--fc-classic-primary:var(--ring);--fc-classic-primary-foreground:var(--accent-text);--fc-classic-event:var(--hue-blue);--fc-classic-event-contrast:var(--accent-text);--fc-classic-background-event:var(--ok);--fc-classic-background-event-opacity:15%;--fc-classic-background-event-foreground-opacity:50%;--fc-classic-highlight:color-mix(in oklab, var(--ring) 18%, transparent);--fc-classic-today:color-mix(in oklab, var(--ring) 10%, transparent);--fc-classic-now:var(--danger);--fc-classic-small-dot-width:8px;--fc-classic-large-dot-width:10px;--fc-classic-background:var(--surface);--fc-classic-faint:color-mix(in oklab, var(--text) 4%, transparent);--fc-classic-muted:color-mix(in oklab, var(--text) 8%, transparent);--fc-classic-strong:color-mix(in oklab, var(--text) 14%, transparent);--fc-classic-foreground:var(--text);--fc-classic-faint-foreground:var(--text-3);--fc-classic-muted-foreground:var(--text-2);--fc-classic-border:var(--line);--fc-classic-strong-border:var(--line-strong);--fc-classic-button:var(--surface-2);--fc-classic-button-border:var(--line);--fc-classic-button-strong:var(--surface-2);--fc-classic-button-strong-border:var(--line-strong);--fc-classic-button-outline:var(--ring);--fc-classic-button-foreground:var(--text)}.cal-main>*{border-radius:var(--r-lg);overflow:hidden}.cal-main .is-done{opacity:.55;text-decoration:line-through}.cal-main .is-archived{opacity:.45}.cal-main .cal-other{background:var(--bg)}.cal-main .cal-month-first{box-shadow:inset 3px 0 0 var(--ring)}.cal-main .cal-month-start,.cal-main .cal-today-label{color:var(--ring);opacity:1;font-weight:700}.cal-main .cal-today{box-shadow:inset 0 0 0 2px var(--ring)}.event-form{flex-direction:column;width:min(680px,100%);max-height:92dvh;padding-bottom:0;display:flex;overflow:hidden}.event-form .sheet-head{flex-shrink:0;position:static}.event-body{flex:1;align-content:start;gap:14px;min-height:0;padding:2px 6px 18px;display:grid;overflow-y:auto}.event-foot{padding:12px 6px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-shrink:0}.event-hint{color:var(--text-2);font-size:14px}.event-hint a{color:var(--ring);margin-inline:2px}.field-row.three{grid-template-columns:1fr 1fr 1fr}.event-note{border:1px solid var(--line-strong);border-radius:var(--r-md);background:color-mix(in oklab,var(--bg) 60%,transparent);color:var(--text);padding:10px 14px 12px;font-weight:400;transition:border-color .15s,box-shadow .15s}.event-note:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 18%,transparent)}.event-note .toolbar{box-shadow:none;margin:0 0 12px -4px;position:static}.event-note .editor-content{font-size:15px;line-height:1.7}.event-note .ProseMirror{min-height:200px}.event-title{border:0;border-bottom:1px solid var(--line-strong);background:0 0;outline:0;padding:4px 0 10px;font-size:20px;font-weight:650;transition:border-color .15s}.event-title:focus{border-color:var(--hue)}.event-title::placeholder{color:var(--text-3)}.event-form .swatches{margin-left:-6px}@media (width<=560px){.home main,.topbar-inner{padding-inline:14px}.brand,.brand h1,.btn-label,.editor-bar kbd,.editor-sheet-bar kbd,.tab-label{display:none}.brand{margin-right:0}.topbar .btn-primary{width:36px;padding:0}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.card{height:168px;padding:14px 14px 10px}.section-head{padding-top:20px}.tabs{margin-right:4px}.tab{justify-content:center;width:36px;padding:0}.board-head,.board-scroll{padding-inline:14px}.board-title{font-size:19px}.board-title-row,.cal-bar{flex-wrap:wrap}.board-filters{order:3;width:100%}.board-filters .label-select,.segmented button{flex:1}.col{width:calc(min(328px,84vw))}.col.collapsed{width:48px}.card-meta .field{max-width:none}.cal-bar,.cal-main{padding-inline:10px}.field-row.three{grid-template-columns:1fr 1fr}.field-row.three>:first-child{grid-column:span 2}.event-note .ProseMirror{min-height:140px}.cal-title{font-size:17px}.segmented{width:100%;margin-top:8px}.cal-main{font-size:12px}.editor-sheet-bar{gap:4px;padding:0 8px 0 12px}.editor-sheet-bar .save-status{gap:0;padding:3px 6px;font-size:0}.editor-sheet-body{padding:20px 18px calc(28px + env(safe-area-inset-bottom))}.task{gap:6px;margin-inline:-4px}.task-date{width:118px}.editor-bar-inner{gap:4px;padding:0 12px}.swatch{width:22px;height:22px}.swatch:before{inset:5px}.editor-paper{width:calc(100% - 20px);margin-top:12px;padding:24px 20px 32px}.editor-title{font-size:24px}}@media (prefers-reduced-motion:reduce){*,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}
