:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f7f4;--surface:#fff;--line:#18181414;--text:#1c1c1a;--muted:#9d9d95;--faint:#c9c9c1;--ink:#1c1c1a;--wash:24 24 20;--glass-weak:#ffffff73;--glass:#ffffffbf;--glass-strong:#fffffff2;--scrim:#18181452;--danger:#c0392b;--danger-strong:#d63c2a;--danger-strong-hover:#b93222;--ok:#3e8a3e;--warn:#b98a1d;--shadow:0 1px 2px #1818100a, 0 8px 24px #1818100d;--shadow-lift:0 2px 4px #1818100f, 0 18px 44px #1818101f;--shadow-drawer:0 0 48px #18181038;--radius:16px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#232320;--surface:#2e2e2a;--line:#ebebe11a;--text:#e9e9e3;--muted:#9a9a91;--faint:#67675f;--ink:#e9e9e3;--wash:235 235 225;--glass-weak:#2e2e2a8c;--glass:#343430c7;--glass-strong:#42423df2;--scrim:#00000073;--danger:#e0685a;--danger-strong:#d63c2a;--danger-strong-hover:#e2523f;--ok:#6cbf6c;--warn:#d9a83a;--shadow:0 1px 2px #0003, 0 8px 24px #0000003d;--shadow-lift:0 2px 4px #00000042, 0 18px 44px #0006;--shadow-drawer:0 0 48px #00000080}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}.sidebar{background:var(--bg);border-right:1px solid #0000;flex:none;width:0;transition:width .22s cubic-bezier(.2,0,.2,1),border-color .22s;overflow:hidden}.sidebar.is-open{border-right-color:var(--line);width:248px}.sidebar-inner{flex-direction:column;width:248px;height:100%;display:flex}.sidebar-brand{letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;padding:18px 14px 6px 54px;font-size:15px;font-weight:700;display:flex}.sidebar-head{justify-content:space-between;align-items:center;padding:12px 14px 8px 16px;display:flex}.sidebar-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.sidebar-head-actions{align-items:center;gap:2px;display:flex}.sidebar-new{width:26px;height:26px;color:var(--muted);border-radius:8px;place-items:center;transition:color .15s,background .15s,transform .15s;display:grid}.sidebar-new:hover{color:var(--text);background:rgb(var(--wash) / .06)}.board-list{flex-direction:column;flex:1;gap:2px;padding:4px 10px;display:flex;overflow-y:auto}.board-row{border-radius:10px;display:flex;position:relative}.board-row-main{text-align:left;border-radius:10px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;min-width:0;padding:8px 10px;transition:background .13s;display:flex}.board-row:hover .board-row-main{background:rgb(var(--wash) / .045)}.board-row.is-active .board-row-main{background:rgb(var(--wash) / .07)}.board-row-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:500;overflow:hidden}.board-row-meta{color:var(--muted);font-size:12px}.board-row-rename{width:100%;font-size:14px;font-weight:500}.board-row-rename::placeholder{color:var(--faint)}.board-row-delete{width:24px;height:24px;color:var(--faint);opacity:0;border-radius:8px;place-items:center;transition:opacity .13s,color .13s,background .13s,transform .13s,box-shadow .13s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.board-row:hover .board-row-delete{opacity:1}.board-row-delete:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, transparent)}.board-row-export{width:24px;height:24px;color:var(--faint);opacity:0;border-radius:8px;place-items:center;transition:opacity .13s,color .13s,background .13s;display:grid;position:absolute;top:50%;right:36px;transform:translateY(-50%)}.board-row:hover .board-row-export{opacity:1}.board-row-export:hover{color:var(--text);background:rgb(var(--wash) / .06)}.sidebar-foot{padding:10px 14px 14px}.theme-switch{background:rgb(var(--wash) / .045);border-radius:9px;gap:2px;margin-bottom:8px;padding:2px;display:flex}.theme-switch-btn{height:26px;color:var(--muted);border-radius:7px;flex:1;place-items:center;transition:color .15s,background .15s,box-shadow .15s;display:grid}.theme-switch-btn:hover{color:var(--text)}.theme-switch-btn.is-on{color:var(--text);background:var(--surface);box-shadow:0 1px 2px #18181014}.sidebar-account{color:var(--muted);border-radius:9px;align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:13px;display:flex}.account-avatar{object-fit:cover;border-radius:50%;flex:none;width:42px;height:42px}.account-avatar-fallback{color:var(--text);background:rgb(var(--wash) / .08);justify-content:center;align-items:center;display:inline-flex;position:relative}.account-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.account-avatar-fallback svg{width:60%;height:60%}.account-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:14px;font-weight:500;overflow:hidden}.account-signout{width:26px;height:26px;color:var(--muted);border-radius:7px;flex:none;place-items:center;margin-left:auto;transition:color .15s,background .15s;display:grid}.account-signout:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, transparent)}.account-signin{color:var(--muted);text-decoration:none;transition:color .15s,background .15s}.account-signin:hover{color:var(--text);background:rgb(var(--wash) / .05)}.missing-page{height:100%;color:var(--muted);place-content:center;gap:12px;display:grid}.board-page{height:100%;display:flex;position:relative}.panel-toggle{z-index:40;position:absolute;top:12px;left:12px}.board-main{flex:1;min-width:0;display:flex;position:relative}.board-float{z-index:10;align-items:center;gap:6px;display:flex;position:absolute;top:12px}.board-float-left{z-index:1;left:50px}.board-float-left.is-raised{z-index:10}.board-float-left.is-raised .board-title{background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:9px;padding:0 8px}.sidebar.is-open~.board-main .board-float-left{left:12px}.board-float-right{right:12px}.float-btn{width:32px;height:32px;color:var(--muted);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;place-items:center;transition:color .15s,background .15s;display:grid;box-shadow:0 1px 2px #1818100a}.float-btn:hover,.float-btn.is-active{color:var(--text);background:var(--glass-strong)}.float-btn:disabled{color:var(--faint);cursor:default}.float-btn:disabled:hover{background:var(--glass)}.board-title{letter-spacing:-.01em;field-sizing:content;text-overflow:ellipsis;white-space:nowrap;min-width:24px;max-width:340px;height:32px;color:var(--faint);font-weight:600;transition:color .15s;overflow:hidden}.board-title:hover{color:var(--muted)}.board-title:focus{color:var(--text)}.board-title::placeholder{color:var(--faint)}.board-scroll{flex:1;overflow:auto}.board-canvas{background-image:radial-gradient(circle, rgb(var(--wash) / .07) 1px, transparent 1.4px);touch-action:none;-webkit-user-select:none;user-select:none;background-size:25px 25px;width:max-content;min-width:100%;min-height:100%;padding:0 20px 20px;position:relative}.board-grid{min-height:400px;position:relative}.board-empty{color:var(--faint);pointer-events:none;place-content:center;font-size:14px;display:grid;position:absolute;inset:0}.marquee{border:1.5px dashed var(--muted);background:rgb(var(--wash) / .03);pointer-events:none;border-radius:12px;position:absolute}.island-item{z-index:1;margin:6px;transition:width .26s cubic-bezier(.2,0,.2,1),height .26s cubic-bezier(.2,0,.2,1);position:absolute}.island-item:hover{z-index:2}.island-item.muuri-item-dragging{z-index:4}.island-item.muuri-item-releasing{z-index:3}.island-item.muuri-item-hidden{z-index:0}.island-item.is-busy{z-index:5}.island-inner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;height:100%;box-shadow:var(--shadow);transition:box-shadow .2s,border-radius .15s;position:relative;overflow:hidden}.island-item:hover .island-inner,.island-item.muuri-item-dragging .island-inner{box-shadow:var(--shadow-lift)}.island-item.muuri-item-dragging .island-inner{opacity:.85;box-shadow:var(--shadow-lift), inset 0 2px 0 rgb(var(--wash) / .5), inset 0 18px 16px -14px rgb(var(--wash) / .28)}.island-item:hover .island-inner,.island-item.is-busy .island-inner,.island-item.muuri-item-dragging .island-inner{border-top-left-radius:0;border-top-right-radius:0}.island-content{width:100%;height:100%}.island-unknown{height:100%;color:var(--faint);place-content:center;font-size:13px;display:grid}.island-chrome{pointer-events:none;opacity:0;transition:opacity .15s;position:absolute;inset:0}.island-item:hover .island-chrome,.island-item.is-busy .island-chrome,.island-item.muuri-item-dragging .island-chrome{opacity:1}.island-topbar{background:var(--glass-weak);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);cursor:grab;opacity:0;pointer-events:none;border-bottom:none;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;height:26px;padding:0 4px 0 8px;transition:opacity .15s;display:flex;position:absolute;top:-26px;left:0;right:0}.island-item:hover .island-topbar,.island-item.is-busy .island-topbar,.island-item.muuri-item-dragging .island-topbar{opacity:1;pointer-events:auto}.island-item.muuri-item-dragging .island-topbar{cursor:grabbing}.island-item.is-at-top .island-topbar{border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;top:0}.island-item.is-at-top:hover .island-inner,.island-item.is-at-top.is-busy .island-inner,.island-item.is-at-top.muuri-item-dragging .island-inner{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.topbar-grip{color:var(--faint);place-items:center;display:grid}.chrome-btn{pointer-events:auto;width:22px;height:22px;color:var(--muted);border-radius:7px;place-items:center;transition:color .15s,background .15s,transform .15s,box-shadow .15s;display:grid}.chrome-btn:hover{color:var(--text);background:rgb(var(--wash) / .07)}.chrome-btn:disabled{color:var(--faint);cursor:not-allowed}.chrome-btn:disabled:hover{background:0 0}.chrome-btn.is-confirm,.board-row-delete.is-confirm{color:#fff;background:var(--danger-strong);opacity:1;transform:scale(1.25);box-shadow:0 2px 8px #d63c2a59}.chrome-btn.is-confirm:hover,.board-row-delete.is-confirm:hover{color:#fff;background:var(--danger-strong-hover)}.board-row-delete.is-confirm{transform:translateY(-50%)scale(1.25)}.chrome-actions{gap:4px;display:flex}.resize-zone{pointer-events:none;position:absolute}.island-item:hover .resize-zone,.island-item.is-busy .resize-zone{pointer-events:auto}.edge-n{cursor:ns-resize;height:7px;top:0;left:12px;right:12px}.edge-s{cursor:ns-resize;height:7px;bottom:0;left:12px;right:12px}.edge-w{cursor:ew-resize;width:7px;top:12px;bottom:12px;left:0}.edge-e{cursor:ew-resize;width:7px;top:12px;bottom:12px;right:0}.resize-corner{width:16px;height:16px}.corner-nw{cursor:nwse-resize;top:0;left:0}.corner-ne{cursor:nesw-resize;top:0;right:0}.corner-sw{cursor:nesw-resize;bottom:0;left:0}.corner-se{cursor:nwse-resize;color:var(--faint);place-items:center;display:grid;bottom:0;right:0}.resize-preview,.drop-preview{border-radius:var(--radius);pointer-events:none;position:absolute;top:0;left:0}.resize-preview{border:1.5px dashed var(--muted);background:rgb(var(--wash) / .02)}.drop-preview{border:2px dashed rgb(var(--wash) / .45);background:rgb(var(--wash) / .06);z-index:3}.drop-preview:before{content:"";border:2px dashed rgb(var(--wash) / .3);background:rgb(var(--wash) / .03);border-bottom:none;border-radius:10px 10px 0 0;height:26px;position:absolute;top:-26px;left:0;right:0}.drop-preview.is-at-top:before{display:none}.align-guide{z-index:5;pointer-events:none;background:#4a8fe2;border-radius:1px;position:absolute}.type-menu{background:var(--surface);border:1px solid var(--line);width:180px;box-shadow:var(--shadow-lift);z-index:1000;border-radius:13px;padding:5px;position:fixed}.type-menu-item{text-align:left;border-radius:9px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:14px;transition:background .12s;display:flex}.type-menu-item:hover{background:rgb(var(--wash) / .05)}.type-menu-item.is-current{color:var(--muted)}.type-menu-icon{color:var(--muted);place-items:center;display:grid}.chrome-btn.is-active{color:var(--text);background:rgb(var(--wash) / .07)}.island-settings{background:var(--surface);border:1px solid var(--line);width:200px;box-shadow:var(--shadow-lift);z-index:1000;border-radius:13px;padding:12px 14px;position:fixed}.settings-row{color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:13px;display:flex}.settings-value{color:var(--text);font-variant-numeric:tabular-nums}.settings-slider{width:100%;accent-color:var(--ink);cursor:pointer;display:block}.note-editor{-webkit-user-select:text;user-select:text;cursor:text;width:100%;height:100%;overflow-y:auto}.note-editor-content{flex-direction:column;min-height:100%;display:flex}.note-editor .ProseMirror{font-size:var(--content-font-size,15px);outline:none;flex:1;padding:16px;line-height:1.55}.note-editor .ProseMirror>*+*{margin-top:.4em}.note-editor .ProseMirror h1{letter-spacing:-.015em;margin-top:.7em;font-size:1.45em;font-weight:650;line-height:1.25}.note-editor .ProseMirror h2{letter-spacing:-.01em;margin-top:.6em;font-size:1.2em;font-weight:620;line-height:1.3}.note-editor .ProseMirror h3{margin-top:.5em;font-size:1.05em;font-weight:600}.note-editor .ProseMirror h1:first-child,.note-editor .ProseMirror h2:first-child,.note-editor .ProseMirror h3:first-child{margin-top:0}.note-editor .ProseMirror ul,.note-editor .ProseMirror ol{padding-left:1.35em}.note-editor .ProseMirror li+li{margin-top:.15em}.note-editor .ProseMirror ul[data-type=taskList]{padding-left:.15em;list-style:none}.note-editor .ProseMirror ul[data-type=taskList] li{align-items:flex-start;gap:8px;display:flex}.note-editor .ProseMirror ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;flex:none;margin-top:.3em}.note-editor .ProseMirror ul[data-type=taskList] li>div{flex:1;min-width:0}.note-editor .ProseMirror ul[data-type=taskList] input[type=checkbox]{appearance:none;border:1.5px solid var(--faint);cursor:pointer;border-radius:5px;place-items:center;width:15px;height:15px;transition:background .15s,border-color .15s;display:grid}.note-editor .ProseMirror ul[data-type=taskList] input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}.note-editor .ProseMirror ul[data-type=taskList] input[type=checkbox]:checked:before{content:"";border-left:1.8px solid var(--bg);border-bottom:1.8px solid var(--bg);width:8px;height:5px;transform:translateY(-1px)rotate(-45deg)}.note-editor .ProseMirror li[data-checked=true]>div{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.note-editor.is-focused .ProseMirror>p.is-empty:before{content:attr(data-placeholder);color:var(--faint);float:left;white-space:pre-line;pointer-events:none;height:0}.bubble-menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);z-index:1000;border-radius:11px;align-items:center;gap:2px;padding:3px;animation:.22s cubic-bezier(.2,0,.2,1) bubble-in;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 2px))scale(.97)}to{opacity:1;transform:translate(-50%,calc(-100% - 8px))scale(1)}}.bubble-btn{min-width:26px;height:26px;color:var(--muted);border-radius:8px;place-items:center;padding:0 6px;font-size:13px;transition:color .12s,background .12s;display:grid}.bubble-btn:hover{color:var(--text);background:rgb(var(--wash) / .06)}.bubble-btn.is-on{color:var(--bg);background:var(--ink)}.bubble-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.bubble-sep{background:var(--line);width:1px;height:16px;margin:0 3px}.m-card .note-editor{height:auto;overflow-y:visible}.m-card .note-editor .ProseMirror{padding:14px 16px;font-size:16px}.m-format-bar{z-index:80;padding:6px 8px;padding-bottom:max(6px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);align-items:center;gap:2px;display:flex;position:fixed;left:0;right:0;overflow-x:auto}.m-format-bar.is-above-keyboard{padding-bottom:6px}.m-format-bar .bubble-btn{flex:none;min-width:34px;height:38px;font-size:15px}.m-format-bar .m-format-done{background:var(--surface);box-shadow:-10px 0 8px -6px var(--surface);margin-left:auto;padding:0 12px;font-weight:600;position:sticky;right:0}.bucket-island{flex-direction:column;gap:6px;height:100%;padding:10px;display:flex}.bucket-title{letter-spacing:-.01em;width:100%;color:var(--text);cursor:text;background:0 0;border:none;border-radius:6px;outline:none;padding:3px 8px 5px;font-family:inherit;font-size:16px;font-weight:650}.bucket-title::placeholder{color:var(--faint);font-weight:600}.bucket-title:hover,.bucket-title:focus{background:var(--bg)}.bucket-zone{background:var(--bg);cursor:text;border-radius:10px;flex-direction:column;flex:1;min-height:0;padding:8px;display:flex;position:relative;overflow-y:auto}.bucket-cards{flex:1 0 auto;min-height:4px;position:relative}.bucket-card-item{z-index:1;width:100%;margin-bottom:8px;display:block;position:absolute}.bucket-card-item.muuri-item-dragging{z-index:2000}.bucket-card-item.muuri-item-releasing{z-index:1900}.bucket-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);cursor:grab;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;transition:box-shadow .15s,transform .2s cubic-bezier(.2,0,.2,1);display:flex;position:relative}.card-num{text-align:right;min-width:1.5em;color:var(--muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:none;padding-top:.12em;font-size:.85em;line-height:1.7}.card-body{flex:auto;min-width:0}.card-text-view{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.45em;font-size:var(--content-font-size,15px);cursor:text;line-height:1.45}.card-text-view.is-empty{color:var(--faint)}.bucket-card.is-done .card-text-view{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.card-check{border:1.5px solid var(--faint);cursor:pointer;background:0 0;border-radius:5px;flex:none;place-items:center;width:15px;height:15px;margin-top:.22em;padding:0;transition:background .15s,border-color .15s;display:grid}.card-check:hover{border-color:var(--muted)}.card-check.is-checked{background:var(--ink);border-color:var(--ink)}.card-check.is-checked:before{content:"";border-left:1.8px solid var(--bg);border-bottom:1.8px solid var(--bg);width:8px;height:5px;transform:translateY(-1px)rotate(-45deg)}.bucket-card-item.muuri-item-dragging .bucket-card{box-shadow:var(--shadow-lift);cursor:grabbing;transform:rotate(2.4deg)}.bucket-cards .muuri-item-placeholder{border:1.5px dashed var(--faint);background:rgb(var(--wash) / .03);border-radius:8px}.card-text{resize:none;width:100%;font-family:inherit;font-size:var(--content-font-size,15px);color:var(--text);cursor:text;background:0 0;border:none;outline:none;padding:0;line-height:1.45;display:block;overflow:hidden}.card-text::placeholder{color:var(--faint)}.card-x{width:18px;height:18px;color:var(--faint);opacity:0;border-radius:4px;flex:none;place-items:center;margin:.02em -2px 0;padding:0;transition:opacity .12s;display:grid}.card-x svg{width:12px;height:12px}.bucket-card:hover .card-x{opacity:1}.card-x:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.bucket-add-ghost{text-align:left;width:100%;color:var(--faint);border-radius:8px;padding:5px 10px;font-size:12.5px;display:block}.bucket-add-ghost:hover{color:var(--muted);background:rgb(var(--wash) / .035)}.bucket-empty-hint{width:calc(100% - 16px);color:var(--faint);border-radius:8px;place-items:center;font-size:13px;display:grid;position:absolute;inset:8px}.bucket-empty-hint:hover{color:var(--muted)}.note-editor .ProseMirror blockquote{border-left:2px solid var(--faint);color:var(--muted);padding-left:12px}.note-editor .ProseMirror code{background:rgb(var(--wash) / .06);border-radius:5px;padding:.1em .35em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em}.note-editor .ProseMirror pre{background:rgb(var(--wash) / .05);border-radius:10px;padding:10px 12px;overflow-x:auto}.note-editor .ProseMirror pre code{background:0 0;padding:0;font-size:.85em}.note-editor .ProseMirror hr{border:none;border-top:1px solid var(--line);margin:.9em 0}.note-editor .ProseMirror a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:2px}.m-card .bucket-island{height:auto}.m-card .bucket-zone{min-height:140px;overflow-y:visible}.m-card .card-text,.m-card .card-text-view,.m-card .bucket-title{font-size:16px}@media (hover:none){.card-x{opacity:1}.card-num{touch-action:none;color:var(--muted);position:relative}.card-num:after{content:"";position:absolute;inset:-10px -8px -10px -14px}}.habit-island{--hu:calc(var(--content-font-size,15px) / 15);height:100%;padding:calc(10 * var(--hu));flex-direction:column;gap:6px;display:flex}.habit-head{align-items:center;gap:4px;display:flex}.habit-title{min-width:0;font-size:calc(16 * var(--hu));letter-spacing:-.01em;color:var(--text);cursor:text;border-radius:6px;flex:1;padding:3px 8px 5px;font-weight:650}.habit-title::placeholder{color:var(--faint);font-weight:600}.habit-title:focus{background:var(--bg)}@media (hover:hover){.habit-title:hover{background:var(--bg)}}.habit-view-btn{width:26px;height:26px;color:var(--muted);border-radius:6px;flex:none;place-items:center;display:grid}@media (hover:hover){.habit-view-btn:hover{color:var(--text);background:var(--bg)}}.habit-view-btn.is-active{color:var(--text);background:var(--bg)}.habit-zone{--habit-cols:minmax(calc(96 * var(--hu)), 1fr) repeat(7, minmax(calc(26 * var(--hu)), calc(40 * var(--hu))));background:var(--bg);border-radius:10px;flex-direction:column;flex:1;min-height:0;padding:8px;display:flex;position:relative;overflow-y:auto}.habit-week-head{z-index:2;grid-template-columns:var(--habit-cols);background:var(--bg);border-radius:10px 10px 0 0;align-items:end;column-gap:2px;margin:-8px -8px 2px;padding:8px 8px 4px;display:grid;position:sticky;top:-8px}.habit-nav{align-items:center;gap:1px;padding-bottom:1px;display:flex}.habit-nav-btn{width:calc(20 * var(--hu));height:calc(22 * var(--hu));font-size:calc(16 * var(--hu));color:var(--muted);border-radius:5px;padding:0;line-height:1}@media (hover:hover){.habit-nav-btn:hover{color:var(--text);background:rgb(var(--wash) / .05)}}.habit-nav-month{font-size:calc(12 * var(--hu));color:var(--text);-webkit-user-select:none;user-select:none;margin-left:4px;font-weight:600}.habit-today-btn{border:1px solid var(--line);font-size:calc(11 * var(--hu));color:var(--muted);background:var(--surface);border-radius:999px;margin-left:6px;padding:1px 8px}@media (hover:hover){.habit-today-btn:hover{color:var(--text)}}.habit-day{-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;align-items:center;padding:2px 0;display:flex}.habit-day-w{font-size:calc(9.5 * var(--hu));letter-spacing:.04em;color:var(--muted)}.habit-day-n{font-size:calc(12.5 * var(--hu));color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.3}.habit-day.is-today{background:rgb(var(--wash) / .07)}.habit-day.is-today .habit-day-n{color:var(--text);font-weight:650}.habit-row{grid-template-columns:var(--habit-cols);min-height:calc(30 * var(--hu));border-radius:8px;align-items:center;column-gap:2px;display:grid;position:relative}@media (hover:hover){.habit-row:hover{background:rgb(var(--wash) / .03)}}.habit-row.streak-t1{--row-heat:#c98f1f;background:color-mix(in srgb, var(--row-heat) 6%, transparent)}.habit-row.streak-t2{--row-heat:#d76f26;background:color-mix(in srgb, var(--row-heat) 8%, transparent)}.habit-row.streak-t3{--row-heat:#cf4f1f;background:color-mix(in srgb, var(--row-heat) 10%, transparent)}.habit-row.streak-t4{--row-heat:#c53030;background:color-mix(in srgb, var(--row-heat) 12%, transparent)}@media (hover:hover){.habit-row.streak-t1:hover,.habit-row.streak-t2:hover,.habit-row.streak-t3:hover,.habit-row.streak-t4:hover{background:color-mix(in srgb, var(--row-heat) 16%, transparent)}}.habit-name{text-align:left;min-width:0;font-size:var(--content-font-size,15px);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;line-height:1.35;display:flex;position:relative}.habit-name.has-accent,.habit-name.is-tight{padding-left:10px}.habit-name.has-accent:before,.habit-name.is-tight:before{content:"";background:var(--habit-color,var(--muted));border-radius:999px;width:3px;position:absolute;top:18%;bottom:18%;left:2px}.habit-streak.is-ghost{visibility:hidden;pointer-events:none;position:absolute;right:0}.habit-cell,.habit-view-btn,.habit-nav-btn{-webkit-tap-highlight-color:#0000}.habit-name.is-editing{background:var(--surface)}@media (hover:hover){.habit-name:hover{background:var(--surface)}}.habit-name-text{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.habit-name-text.is-empty{color:var(--faint)}.habit-streak{font-size:calc(10.5 * var(--hu));color:var(--muted);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:2px;display:inline-flex}.habit-streak svg{width:calc(10 * var(--hu));height:calc(10 * var(--hu))}.habit-island .tier-1{color:#c98f1f}.habit-island .tier-2{color:#d76f26}.habit-island .tier-3{color:#cf4f1f}.habit-island .tier-4{color:#c53030}:root[data-theme=dark] .habit-island .tier-1{color:#dfa72e}:root[data-theme=dark] .habit-island .tier-2{color:#e8823a}:root[data-theme=dark] .habit-island .tier-3{color:#e5642f}:root[data-theme=dark] .habit-island .tier-4{color:#e14b4b}.habit-streak.tier-1,.habit-streak.tier-2,.habit-streak.tier-3,.habit-streak.tier-4{background:color-mix(in srgb, currentColor 11%, transparent);border-radius:999px;padding:1px 6px;font-weight:600}.habit-streak.tier-3 svg,.habit-streak.tier-4 svg,.hrow-streak.tier-3 svg,.hrow-streak.tier-4 svg{animation:1.5s ease-in-out infinite flame-flicker}@keyframes flame-flicker{0%,to{transform:scale(1)}40%{transform:scale(1.18)rotate(-4deg)}70%{transform:scale(1.08)rotate(3deg)}}.habit-cell{height:calc(30 * var(--hu));place-items:center;padding:0;display:grid}.habit-cell:disabled{cursor:default}.habit-dot{width:calc(3 * var(--hu));height:calc(3 * var(--hu));background:rgb(var(--wash) / .16);border-radius:50%;transition:background .12s,border-color .12s,transform .12s}.habit-cell:not(:disabled):active .habit-dot{transform:scale(.82)}.habit-cell.is-due .habit-dot{width:calc(16 * var(--hu));height:calc(16 * var(--hu));border:1.5px solid var(--faint);background:0 0}@media (hover:hover){.habit-cell.is-due:not(.is-done):not(:disabled):hover .habit-dot{border-color:var(--muted);background:var(--surface)}}.habit-cell.is-due.is-today:not(.is-done) .habit-dot{border-color:var(--habit-color,var(--ink))}.habit-cell.is-done .habit-dot{background:var(--habit-color,var(--ink));place-items:center;animation:.22s cubic-bezier(.2,0,.2,1) habit-pop;display:grid}.habit-cell.is-due.is-done .habit-dot{border-color:var(--habit-color,var(--ink))}.habit-cell.is-due.is-done .habit-dot:before{content:"";width:calc(7 * var(--hu));height:calc(4 * var(--hu));border-left:1.6px solid var(--bg);border-bottom:1.6px solid var(--bg);transform:translateY(-1px)rotate(-45deg)}.habit-cell.is-off.is-done .habit-dot{width:calc(9 * var(--hu));height:calc(9 * var(--hu))}.habit-cell.is-due.is-future .habit-dot{width:calc(8 * var(--hu));height:calc(8 * var(--hu));border-width:1.25px}.habit-cell.is-off.is-future .habit-dot{background:rgb(var(--wash) / .09)}@keyframes habit-pop{0%{transform:scale(.55)}to{transform:scale(1)}}.habit-celebrate{z-index:3;background:var(--ink);color:var(--bg);font-size:calc(10.5 * var(--hu));white-space:nowrap;box-shadow:var(--shadow-lift);pointer-events:none;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-weight:600;animation:2.4s cubic-bezier(.2,0,.2,1) forwards habit-celebrate;display:inline-flex;position:absolute;top:50%;right:4px}.habit-celebrate svg{width:calc(10 * var(--hu));height:calc(10 * var(--hu))}@keyframes habit-celebrate{0%{opacity:0;transform:translateY(calc(8px - 50%))scale(.9)}12%{opacity:1;transform:translateY(-50%)scale(1.06)}20%{transform:translateY(-50%)scale(1)}78%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(calc(-50% - 10px))}}.habit-island .habit-celebrate{color:var(--bg)}.habit-celebrate.tier-1{background:#c98f1f}.habit-celebrate.tier-2{background:#d76f26}.habit-celebrate.tier-3{background:#cf4f1f}.habit-celebrate.tier-4{background:#c53030}.habit-burst{z-index:3;pointer-events:none;width:0;height:0;position:absolute;top:50%;right:60px}.habit-burst i{border-radius:50%;width:5px;height:5px;animation:.85s cubic-bezier(.15,.6,.4,1) forwards habit-burst-fly;position:absolute}.habit-burst i:nth-child(4n+1){background:#d99a2b}.habit-burst i:nth-child(4n+2){background:#c96f4a}.habit-burst i:nth-child(4n+3){background:#5b8bc9}.habit-burst i:nth-child(4n){background:#4f9e6e}@keyframes habit-burst-fly{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(calc(cos(var(--a)) * 42px), calc(sin(var(--a)) * 42px)) scale(.35)}}.habit-editor{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:8px;margin:2px 0 6px;padding:9px 10px;display:flex}.habit-editor-name{background:var(--bg);width:100%;color:var(--text);border-radius:6px;padding:5px 8px;font-size:14px}.habit-editor-name::placeholder{color:var(--faint)}.habit-colors{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.habit-swatch{background:var(--sw);border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0;transition:transform .1s}@media (hover:hover){.habit-swatch:hover{transform:scale(1.15)}}.habit-swatch.is-on{border-color:var(--surface);box-shadow:0 0 0 1.5px var(--sw)}.habit-swatch.is-none{background:linear-gradient(135deg, transparent 44%, var(--muted) 46%, var(--muted) 54%, transparent 56%), var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.habit-swatch.is-none.is-on{border-color:var(--surface);box-shadow:0 0 0 1.5px var(--muted)}.habit-kinds{flex-wrap:wrap;gap:3px;display:flex}.habit-kind{color:var(--muted);background:rgb(var(--wash) / .045);border-radius:999px;padding:3px 9px;font-size:11px}@media (hover:hover){.habit-kind:hover{color:var(--text);background:rgb(var(--wash) / .08)}}.habit-kind.is-on{color:var(--bg);background:var(--ink)}.habit-days-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.habit-days{gap:3px;display:flex}.habit-day-chip{width:22px;height:22px;color:var(--muted);background:rgb(var(--wash) / .045);border-radius:50%;padding:0;font-size:10.5px}@media (hover:hover){.habit-day-chip:hover{color:var(--text);background:rgb(var(--wash) / .08)}}.habit-day-chip.is-on{color:var(--bg);background:var(--ink)}.habit-preset{color:var(--faint);padding:2px 4px;font-size:10.5px}@media (hover:hover){.habit-preset:hover{color:var(--text)}}.habit-monthdays{grid-template-columns:repeat(7,24px);gap:3px;display:grid}.habit-monthday{height:21px;color:var(--muted);background:rgb(var(--wash) / .045);font-variant-numeric:tabular-nums;border-radius:5px;padding:0;font-size:10px}@media (hover:hover){.habit-monthday:hover{color:var(--text);background:rgb(var(--wash) / .08)}}.habit-monthday.is-on{color:var(--bg);background:var(--ink)}.habit-interval{align-items:center;gap:8px;display:flex}.habit-step{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);background:var(--surface);border-radius:6px;place-items:center;padding:0;font-size:13px;display:grid}@media (hover:hover){.habit-step:hover{color:var(--text);background:var(--bg)}}.habit-interval-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:12.5px}.habit-rule-line{color:var(--muted);font-size:10.5px}.habit-since{color:var(--muted);align-items:center;gap:6px;font-size:10.5px;display:flex}.habit-since input{background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;border-radius:5px;padding:2px 6px;font-size:11px}@media (hover:hover){.habit-since input:hover{background:rgb(var(--wash) / .08)}}.habit-editor-foot{align-items:center;display:flex}.habit-delete{color:var(--faint);border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:10.5px;display:inline-flex}.habit-delete svg{width:11px;height:11px}.habit-delete.is-confirm{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}@media (hover:hover){.habit-delete:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}}.habit-done-btn{color:var(--muted);border-radius:6px;margin-left:auto;padding:3px 10px;font-size:11px}@media (hover:hover){.habit-done-btn:hover{color:var(--text);background:var(--bg)}}.habit-add-ghost{text-align:left;width:100%;font-size:calc(12.5 * var(--hu));color:var(--faint);border-radius:8px;margin-top:2px;padding:5px 6px;display:block}@media (hover:hover){.habit-add-ghost:hover{color:var(--muted);background:rgb(var(--wash) / .035)}}.habit-empty-hint{color:var(--faint);font-size:calc(13 * var(--hu));border-radius:8px;flex:1;place-items:center;display:grid}@media (hover:hover){.habit-empty-hint:hover{color:var(--muted)}}.habit-stats{flex-direction:column;gap:12px;padding:2px;display:flex}.habit-stats-empty{color:var(--faint);flex:1;place-items:center;font-size:13px;display:grid}.habit-kpis{align-items:center;gap:16px;display:flex}.habit-kpi{flex-direction:column;display:flex}.habit-kpi-v{font-size:calc(17 * var(--hu));letter-spacing:-.01em;color:var(--text);font-weight:650;line-height:1.25}.habit-kpi-l{font-size:calc(9.5 * var(--hu));letter-spacing:.03em;color:var(--muted)}.habit-unfilter{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--line);max-width:110px;font-size:calc(10.5 * var(--hu));color:var(--muted);background:var(--surface);border-radius:999px;margin-left:auto;padding:2px 8px;overflow:hidden}@media (hover:hover){.habit-unfilter:hover{color:var(--text)}}.habit-badges{flex-wrap:wrap;gap:4px;display:flex}.habit-badge{border:1px solid var(--line);font-size:calc(10 * var(--hu));color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:3px;padding:1px 7px;display:inline-flex}.habit-badge svg{width:calc(9 * var(--hu));height:calc(9 * var(--hu))}.habit-heatmap{--hm-cell:10px;--hm-gap:2px;--hm-wcol:16px;width:100%}.hm-months{margin-left:var(--hm-wcol);margin-bottom:3px;display:flex}.hm-month{width:calc(var(--hm-cell) + var(--hm-gap));white-space:nowrap;font-size:calc(8.5 * var(--hu));color:var(--faint);flex:none;overflow:visible}.hm-body{display:flex}.hm-weekdays{grid-template-rows:repeat(7, var(--hm-cell));row-gap:var(--hm-gap);width:var(--hm-wcol);font-size:calc(8 * var(--hu));line-height:var(--hm-cell);color:var(--faint);display:grid}.hm-weekdays span:first-child{grid-row:1}.hm-weekdays span:nth-child(2){grid-row:3}.hm-weekdays span:nth-child(3){grid-row:5}.hm-grid{grid-auto-flow:column;grid-template-rows:repeat(7, var(--hm-cell));grid-auto-columns:var(--hm-cell);gap:var(--hm-gap);display:grid}.hm-cell{width:var(--hm-cell);height:var(--hm-cell);border-radius:calc(var(--hm-cell) / 4);background:rgb(var(--wash) / .055);cursor:pointer;transition:transform .1s,box-shadow .1s;position:relative}.hm-cell.hm-l1{background:#d9e8cd}.hm-cell.hm-l2{background:#b0d69b}.hm-cell.hm-l3{background:#83c06a}.hm-cell.hm-l4{background:#55a53f}.hm-cell.hm-l5{background:#2f7d27}.hm-cell.hm-bonus{background:#e5c14e}:root[data-theme=dark] .hm-cell.hm-l1{background:#24401f}:root[data-theme=dark] .hm-cell.hm-l2{background:#2f5a24}:root[data-theme=dark] .hm-cell.hm-l3{background:#3d7a29}:root[data-theme=dark] .hm-cell.hm-l4{background:#4e9e30}:root[data-theme=dark] .hm-cell.hm-l5{background:#63c53c}:root[data-theme=dark] .hm-cell.hm-bonus{background:#c2983a}.habit-heatmap.is-tinted .hm-cell.hm-l1{background:color-mix(in srgb, var(--hm-tint) 18%, var(--surface))}.habit-heatmap.is-tinted .hm-cell.hm-l2{background:color-mix(in srgb, var(--hm-tint) 36%, var(--surface))}.habit-heatmap.is-tinted .hm-cell.hm-l3{background:color-mix(in srgb, var(--hm-tint) 54%, var(--surface))}.habit-heatmap.is-tinted .hm-cell.hm-l4{background:color-mix(in srgb, var(--hm-tint) 74%, var(--surface))}.habit-heatmap.is-tinted .hm-cell.hm-l5{background:var(--hm-tint)}.hm-cell.is-void{cursor:default;background:0 0}.hm-cell.is-today{box-shadow:0 0 0 1px var(--muted)}@media (hover:hover){.hm-cell:not(.is-void):hover{z-index:1;box-shadow:0 0 0 1px var(--muted);transform:scale(1.3)}}.hm-cell.is-pinned{z-index:1;box-shadow:0 0 0 1.5px var(--text)}.hm-detail{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:3px;margin-top:8px;padding:7px 9px;display:flex}.hm-detail-head{font-size:calc(11 * var(--hu));color:var(--text);justify-content:space-between;align-items:center;font-weight:600;display:flex}.hm-detail-close{font-size:calc(10 * var(--hu));color:var(--faint);border-radius:4px;padding:0 3px}@media (hover:hover){.hm-detail-close:hover{color:var(--text)}}.hm-detail-row{font-size:calc(11.5 * var(--hu));color:var(--text);align-items:center;gap:6px;display:flex}.hm-detail-row.is-free{opacity:.5}.hm-detail-dot{width:calc(7 * var(--hu));height:calc(7 * var(--hu));background:var(--habit-color,var(--faint));border-radius:50%;flex:none}.hm-detail-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.hm-detail-state{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.hm-detail-row.is-done .hm-detail-state{color:var(--ok)}.hm-detail-row.is-bonus .hm-detail-state{color:var(--warn)}.hm-detail-row.is-missed .hm-detail-state{color:var(--danger)}.trend-bars{height:calc(36 * var(--hu));border-bottom:1px solid var(--line);align-items:flex-end;gap:2px;padding:0 1px;display:flex}.trend-bar{max-width:calc(18 * var(--hu));background:rgb(var(--wash) / .28);border-radius:3px 3px 0 0;flex:1 1 0;min-height:2px}@media (hover:hover){.trend-bar:hover{background:rgb(var(--wash) / .5)}}.trend-bar.is-now{background:rgb(var(--wash) / .82)}.trend-caption{font-size:calc(9.5 * var(--hu));color:var(--muted);justify-content:space-between;margin-top:4px;display:flex}.habit-hrows{flex-direction:column;gap:1px;display:flex}.habit-hrow{grid-template-columns:minmax(0, 1fr) calc(52 * var(--hu)) calc(38 * var(--hu)) calc(40 * var(--hu)) calc(30 * var(--hu));text-align:left;width:100%;font-size:calc(12 * var(--hu));color:var(--text);border-radius:6px;align-items:center;column-gap:6px;padding:4px 6px;display:grid}@media (hover:hover){.habit-hrow:not(.is-head):hover{background:var(--surface)}}.habit-hrow.is-selected{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.habit-hrow.is-head{font-size:calc(9 * var(--hu));letter-spacing:.03em;color:var(--faint);padding:0 6px}.habit-hrow.is-head span{text-align:right}.hrow-span2{grid-column:span 2}.hrow-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.hrow-color{width:calc(7 * var(--hu));height:calc(7 * var(--hu));background:var(--habit-color,var(--faint));border-radius:50%;margin-right:6px;display:inline-block}.hrow-meter{background:rgb(var(--wash) / .08);border-radius:999px;height:4px;display:block;overflow:hidden}.hrow-meter-fill{background:var(--habit-color,rgb(var(--wash) / .55));border-radius:999px;height:100%;display:block}.hrow-pct,.hrow-best{text-align:right;font-size:calc(11 * var(--hu));color:var(--muted);font-variant-numeric:tabular-nums}.hrow-streak{font-size:calc(11 * var(--hu));color:var(--muted);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.hrow-streak svg{width:calc(10 * var(--hu));height:calc(10 * var(--hu))}.habit-tip{z-index:3000;background:var(--ink);color:var(--bg);white-space:nowrap;box-shadow:var(--shadow-lift);pointer-events:none;border-radius:6px;padding:4px 8px;font-size:10.5px;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.m-card .habit-island{height:auto}.m-card .habit-head{padding-right:40px}.m-card .habit-zone{--habit-cols:minmax(0, 1fr) repeat(7, 28px);min-height:80px;overflow-y:visible}.m-card .habit-week-head{position:static}.m-card .habit-title,.m-card .habit-editor-name,.m-card .habit-since input,.m-card .habit-name{font-size:16px}.m-card .habit-cell{height:40px}.m-card .habit-cell.is-due .habit-dot{width:19px;height:19px}.m-card .habit-cell.is-due.is-future .habit-dot{width:9px;height:9px}.m-card .habit-day-chip{width:27px;height:27px;font-size:12px}.m-card .habit-monthdays{grid-template-columns:repeat(7,30px)}.m-card .habit-monthday{height:26px;font-size:12px}.m-card .habit-kind{padding:5px 11px;font-size:12px}.m-card .habit-step{width:27px;height:27px}.m-card .habit-nav{flex-wrap:wrap}.m-card .habit-nav-btn{width:28px;height:32px;font-size:19px}.m-card .habit-nav-month{font-size:13px}.m-card .habit-today-btn{padding:3px 11px;font-size:12px}.m-card .habit-view-btn{width:36px;height:36px}.m-card .habit-streak{font-size:12px}.m-card .habit-streak svg{width:12px;height:12px}.m-card .habit-add-ghost{padding:11px 8px;font-size:14px}.m-card .habit-done-btn{padding:7px 14px;font-size:13px}.m-card .habit-delete{padding:7px 10px;font-size:12px}.m-card .habit-delete svg{width:13px;height:13px}.m-card .habit-hrow:not(.is-head){padding:8px 6px;font-size:14px}.m-card .hrow-pct,.m-card .hrow-best,.m-card .hrow-streak{font-size:12.5px}.m-card .hm-detail-head,.m-card .hm-detail-row{font-size:13px}.m-card .hm-detail-close{padding:2px 8px;font-size:13px}a.sidebar-new{text-decoration:none}.sidebar-new.is-active{color:var(--text);background:rgb(var(--wash) / .08)}.recent-page .board-grid{margin:0 auto}.recent-title{color:var(--text);align-items:center;display:inline-flex}.recent-sentinel{pointer-events:none;height:1px}.island-item.is-highlighted{z-index:3}.island-item.is-highlighted .island-inner{animation:.9s cubic-bezier(.4,0,.2,1) both island-flash}@keyframes island-flash{0%{box-shadow:var(--shadow)}25%,45%{box-shadow:0 0 0 2px rgb(var(--wash) / .16), var(--shadow-lift)}to{box-shadow:var(--shadow)}}.recent-source{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 12px);color:var(--muted);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;border-radius:8px;padding:2px 8px;font-size:11px;text-decoration:none;transition:opacity .15s,color .15s;position:absolute;bottom:6px;right:6px;overflow:hidden}.island-item:hover .recent-source,.island-item.muuri-item-dragging .recent-source{opacity:1}.recent-source:hover{color:var(--text)}.m-recent-content{max-height:40vh;overflow-y:auto}.m-recent-source{border-top:1px solid var(--line);color:var(--muted);padding:9px 16px;font-size:12px;text-decoration:none;display:block}@media (width<=768px){.sidebar{z-index:70;position:fixed;top:0;bottom:0;left:0}.sidebar.is-open{width:min(320px,85vw);box-shadow:var(--shadow-drawer)}.sidebar-inner{width:min(320px,85vw);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.sidebar-brand{padding-left:16px}.board-row-delete{opacity:1;width:34px;height:34px}.board-row-export{opacity:1;width:34px;height:34px;right:46px}.board-row-main{padding:10px 84px 10px 12px}}.m-scrim{z-index:60;background:var(--scrim);position:fixed;inset:0}.board-page.is-mobile{flex-direction:column}.m-topbar{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--bg);flex:none;align-items:center;gap:8px;display:flex}.m-topbar .float-btn{flex:none;width:40px;height:40px}.m-title{min-width:0;max-width:none;height:40px;color:var(--text);flex:1;font-size:16px}.m-scroll{-webkit-overflow-scrolling:touch;min-height:0;padding:14px 14px calc(96px + env(safe-area-inset-bottom) + var(--kb-inset,0px));flex:1;overflow-y:auto}.m-board-list{flex-direction:column;gap:12px;display:flex}.m-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:64px;box-shadow:var(--shadow);position:relative;overflow:hidden}.m-card.is-highlighted{animation:.9s cubic-bezier(.4,0,.2,1) both island-flash}.m-card-delete{z-index:2;width:36px;height:36px;color:var(--faint);background:var(--glass);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;top:6px;right:6px}.m-empty{text-align:center;color:var(--faint);padding:56px 24px;font-size:14px}.m-add-catcher{z-index:54;position:fixed;inset:0}.m-add-menu{right:12px;top:calc(60px + env(safe-area-inset-top));z-index:55;background:var(--surface);border:1px solid var(--line);min-width:170px;box-shadow:var(--shadow-lift);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:fixed}.m-add-menu .type-menu-item{height:44px;padding:0 12px;font-size:15px}
