@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-italic-BpitL8Uu.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-italic-2EvOpbQN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-italic-DRLHr0TN.woff2) format("woff2"),url(/assets/dm-sans-latin-400-italic-i6QPgQBE.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg-soft: #ffffff;--panel: #f6f7f8;--rail: #eceef0;--board-bg: #f2f3f5;--sidebar-bg: #f6f7f8;--surface: rgba(255, 255, 255, .92);--surface-solid: #ffffff;--surface-subtle: #f2f3f5;--surface-glass: rgba(255, 255, 255, .9);--topbar-bg: rgba(255, 255, 255, .88);--ink: #101113;--ink-muted: #565c62;--ink-faint: #6b7178;--solid: #101113;--on-solid: #ffffff;--accent: #0f766e;--accent-strong: #0b5f59;--accent-contrast: #ffffff;--accent-soft: rgba(15, 118, 110, .1);--line: #e2e4e8;--line-soft: #eeeff2;--danger: #b42318;--overlay: rgba(16, 17, 19, .4);--shadow: 0 12px 32px rgba(16, 17, 19, .1);--shadow-soft: 0 4px 14px rgba(16, 17, 19, .06);--grid-line: rgba(20, 30, 40, .08);--connector: #5b6169;--obj-outline: rgba(0, 0, 0, .12);--obj-outline-strong: rgba(0, 0, 0, .18);--mind-fill: #d8ecea;--marquee-stroke: var(--accent);--marquee-fill: rgba(15, 118, 110, .08);--guide: #d81b7a;--object-ink: #101113;--thumb-bg: #f2f3f5;--thumb-block: #d8dbe0;--frame-fill: rgba(16, 17, 19, .03);--frame-line: rgba(16, 17, 19, .18);--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--font-sans: "DM Sans", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg-soft: #202123;--panel: #171718;--rail: #101011;--board-bg: #17181a;--sidebar-bg: #171718;--surface: rgba(38, 38, 41, .94);--surface-solid: #262629;--surface-subtle: #1c1c1f;--surface-glass: rgba(32, 33, 35, .92);--topbar-bg: rgba(32, 33, 35, .85);--ink: #ececf1;--ink-muted: #adb2b8;--ink-faint: #8a9096;--solid: #ececf1;--on-solid: #101113;--accent: #2dd4bf;--accent-strong: #5eead4;--accent-contrast: #052220;--accent-soft: rgba(45, 212, 191, .14);--line: #37383c;--line-soft: #2c2d31;--danger: #f87171;--overlay: rgba(0, 0, 0, .6);--shadow: 0 12px 32px rgba(0, 0, 0, .5);--shadow-soft: 0 4px 14px rgba(0, 0, 0, .3);--grid-line: rgba(230, 238, 242, .07);--connector: #9aa0a6;--obj-outline: rgba(255, 255, 255, .18);--obj-outline-strong: rgba(255, 255, 255, .28);--mind-fill: #1b3c39;--marquee-stroke: var(--accent);--marquee-fill: rgba(45, 212, 191, .12);--guide: #ff74b8;--thumb-bg: #1c1c1f;--thumb-block: #3a3b40;--frame-fill: rgba(236, 236, 241, .04);--frame-line: rgba(236, 236, 241, .22)}}:root[data-theme=dark]{color-scheme:dark;--bg-soft: #202123;--panel: #171718;--rail: #101011;--board-bg: #17181a;--sidebar-bg: #171718;--surface: rgba(38, 38, 41, .94);--surface-solid: #262629;--surface-subtle: #1c1c1f;--surface-glass: rgba(32, 33, 35, .92);--topbar-bg: rgba(32, 33, 35, .85);--ink: #ececf1;--ink-muted: #adb2b8;--ink-faint: #8a9096;--solid: #ececf1;--on-solid: #101113;--accent: #2dd4bf;--accent-strong: #5eead4;--accent-contrast: #052220;--accent-soft: rgba(45, 212, 191, .14);--line: #37383c;--line-soft: #2c2d31;--danger: #f87171;--overlay: rgba(0, 0, 0, .6);--shadow: 0 12px 32px rgba(0, 0, 0, .5);--shadow-soft: 0 4px 14px rgba(0, 0, 0, .3);--grid-line: rgba(230, 238, 242, .07);--connector: #9aa0a6;--obj-outline: rgba(255, 255, 255, .18);--obj-outline-strong: rgba(255, 255, 255, .28);--mind-fill: #1b3c39;--marquee-stroke: var(--accent);--marquee-fill: rgba(45, 212, 191, .12);--guide: #ff74b8;--thumb-bg: #1c1c1f;--thumb-block: #3a3b40;--frame-fill: rgba(236, 236, 241, .04);--frame-line: rgba(236, 236, 241, .22)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:var(--font-sans);color:var(--ink);background:var(--bg-soft);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,textarea,input{font:inherit;color:inherit}:where(button,a,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.center-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;gap:1rem}.btn{border:1px solid transparent;border-radius:var(--r-md);padding:.55rem .95rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--solid);color:var(--on-solid)}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary{background:var(--surface-solid);color:var(--ink);border-color:var(--line)}.btn-secondary:hover:not(:disabled){border-color:var(--ink-faint)}.btn-ghost{background:transparent;color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){background:var(--line-soft);color:var(--ink)}.btn-ghost.danger,.tool.danger{color:var(--danger)}.settings-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.settings-controls.floating{position:fixed;top:1rem;right:1rem;z-index:30}.segmented{display:flex;gap:2px;padding:2px;border-radius:999px;border:1px solid var(--line);background:var(--panel)}.seg{border:0;background:transparent;color:var(--ink-muted);border-radius:999px;padding:.25rem .6rem;font-size:.75rem;line-height:1.4;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.seg:hover{color:var(--ink)}.seg.active{background:var(--solid);color:var(--on-solid)}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;position:relative;overflow:hidden;background:var(--bg-soft)}.login-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 72%);mask-image:radial-gradient(circle at center,black,transparent 72%)}.login-panel{position:relative;width:min(420px,calc(100vw - 2rem));padding:2.2rem 2rem;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow-soft)}.brand,.topbar-brand,.wordmark{font-family:var(--font-display);font-size:1.9rem;letter-spacing:.01em;line-height:1.1;margin:0}.login-panel h1{margin:.5rem 0 .35rem;font-size:1.3rem;font-weight:600;letter-spacing:-.01em}.lede,.hint,.empty,.canvas-hint{color:var(--ink-muted)}.login-actions{display:grid;gap:.6rem;margin-top:1.5rem}.error{color:var(--danger)}.dash{display:grid;grid-template-columns:56px 244px minmax(0,1fr);height:100vh;height:100dvh}.rail{background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:.9rem 0;overflow-y:auto}.rail-mark{width:30px;height:30px;border-radius:8px;background:var(--solid);color:var(--on-solid);display:grid;place-items:center;font-family:var(--font-display);font-size:1.05rem;line-height:1;padding-bottom:2px;margin-bottom:.35rem;flex:none}.ws-dot{width:32px;height:32px;flex:none;border-radius:9px;border:1px solid var(--line);background:var(--surface-solid);color:var(--ink-muted);font-size:.75rem;font-weight:600;display:grid;place-items:center;cursor:pointer;transition:border-color .15s ease,color .15s ease}.ws-dot:hover{color:var(--ink);border-color:var(--ink-faint)}.ws-dot[aria-current=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.rail-add{margin-top:auto;width:32px;height:32px;flex:none;border-radius:9px;border:1px dashed var(--line);background:transparent;color:var(--ink-faint);font-size:1rem;line-height:1;cursor:pointer}.rail-add:hover{color:var(--ink);border-color:var(--ink-faint)}.side{background:var(--sidebar-bg);border-right:1px solid var(--line);padding:1rem .75rem;display:flex;flex-direction:column;gap:1.1rem;overflow-y:auto}.wordmark{padding:.1rem .5rem 0}.side-ws{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid)}.side-ws b{font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-ws span{margin-left:auto;color:var(--ink-faint);font-size:.7rem;font-variant-numeric:tabular-nums}.nav{display:flex;flex-direction:column;gap:1px}.nav-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .65rem;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);font-size:.8125rem;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--line-soft);color:var(--ink)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item .ico{width:15px;height:15px;flex:none}.nav-item .count{margin-left:auto;color:var(--ink-faint);font-size:.7rem;font-variant-numeric:tabular-nums}.side-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:.75rem;display:flex;align-items:center;gap:.5rem}.side-user{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-foot .btn{margin-left:auto;padding:.35rem .6rem;font-size:.8125rem}.dash-main{display:flex;flex-direction:column;min-width:0;overflow-y:auto}.dash-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.9rem;padding:.7rem 1.5rem;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.search{flex:1;max-width:520px;margin-inline:auto;display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink-faint);transition:border-color .15s ease}.search:focus-within{border-color:var(--ink-faint)}.search input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:.8125rem;color:var(--ink)}.search input::placeholder{color:var(--ink-faint)}.dash-top-actions{display:flex;align-items:center;gap:.5rem}.dash-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1.5rem 1.5rem .85rem}.dash-title h1{margin:0;font-size:1.3rem;font-weight:600;letter-spacing:-.01em}.pill{font-size:.7rem;color:var(--ink-muted);border:1px solid var(--line);border-radius:999px;padding:.1rem .5rem;font-variant-numeric:tabular-nums}.filters{margin-left:auto;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.viewtoggle{display:flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.viewtoggle button{border:0;background:var(--surface-solid);color:var(--ink-faint);padding:.35rem .5rem;cursor:pointer;display:grid;place-items:center}.viewtoggle button+button{border-left:1px solid var(--line)}.viewtoggle button[aria-pressed=true]{color:var(--ink);background:var(--panel)}.dash-error{margin:0 1.5rem .5rem}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:1rem;padding:0 1.5rem 2rem}.newboard{border:1px dashed var(--line);border-radius:var(--r-lg);background:transparent;color:var(--ink-muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:196px;transition:border-color .15s ease,color .15s ease,background .15s ease}.newboard:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.newboard:disabled{opacity:.5;cursor:not-allowed}.newboard .plus{font-size:1.4rem;line-height:1}.newboard span:last-child{font-size:.8125rem;font-weight:500}.board-card{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-solid);overflow:hidden;transition:border-color .15s ease,transform .15s ease}.board-card:hover{border-color:var(--ink-faint);transform:translateY(-2px)}.board-card-link{display:flex;flex-direction:column}.board-card-title{font-size:.8125rem;font-weight:600;letter-spacing:-.005em;padding:.6rem .75rem .15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-card-link time{font-size:.7rem;color:var(--ink-faint);padding:0 .75rem .7rem;font-variant-numeric:tabular-nums}.board-card-del{position:absolute;top:.4rem;right:.4rem;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;background:var(--surface-glass);color:var(--ink-muted);font-size:.95rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.board-card:hover .board-card-del,.board-card-del:focus-visible{opacity:1}.board-card-del:hover{color:var(--danger)}.thumb{background:var(--thumb-bg);border-bottom:1px solid var(--line-soft);aspect-ratio:4 / 3;overflow:hidden}.thumb svg{display:block;width:100%;height:100%}.thumb-empty svg{color:var(--ink-faint);opacity:.35}.thumb-empty path{stroke:currentColor}.board-rows{list-style:none;margin:0;padding:0 1.5rem 2rem;display:grid;gap:.5rem}.board-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid);transition:border-color .15s ease}.board-row:hover{border-color:var(--ink-faint)}.board-row-link{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem}.row-thumb{width:56px;flex:none;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line-soft)}.row-thumb .thumb{border-bottom:0}.board-title{font-weight:600;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-row-link time{margin-left:auto;color:var(--ink-faint);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.empty{padding:0 1.5rem 2rem;font-size:.875rem}.board-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--board-bg)}.board-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1.2rem;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.board-topbar h1{flex:1;min-width:0;margin:0;font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-topbar .topbar-brand{font-size:1.3rem}.board-topbar-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.back-link{font-weight:600;font-size:.875rem;color:var(--ink-muted)}.back-link:hover{color:var(--ink)}.badge-readonly{padding:.25rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--overlay);display:grid;place-items:center;padding:1rem}.modal{width:min(620px,100%);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem 1.2rem 1.3rem;box-shadow:var(--shadow);display:grid;gap:.9rem}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.modal-head h2{margin:0;font-size:1.05rem;font-weight:600}.share-block{display:grid;gap:.5rem;padding-top:.4rem;border-top:1px solid var(--line-soft)}.share-block h3{margin:0;font-size:.875rem;font-weight:600}.share-block .hint{font-size:.8125rem}.share-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.share-url{flex:1 1 220px;min-height:2.3rem;display:flex;align-items:center;padding:.45rem .65rem;border-radius:var(--r-md);background:var(--surface-subtle);border:1px solid var(--line);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal.panel{width:min(680px,100%);max-height:min(80dvh,760px);overflow-y:auto}.panel-tabs{justify-self:start}.panel-note{margin:0;font-size:.8125rem}.panel-body{display:grid;gap:.85rem;padding-top:.5rem;border-top:1px solid var(--line-soft)}.panel-body h3{margin:.3rem 0 0;font-size:.8125rem;font-weight:600;color:var(--ink-muted)}.panel-actions{display:flex;justify-content:flex-end}.field-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.field-row>span{flex:0 0 6.5rem;font-size:.8125rem;color:var(--ink-muted)}.field-row input,.field-row select,.people select{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid);color:var(--ink);padding:.45rem .6rem;font-size:.8125rem;min-width:0}.field-row input{flex:1 1 12rem}.field-row input:focus,.field-row select:focus,.people select:focus{outline:none;border-color:var(--ink-faint)}.field-row input:disabled,.field-row select:disabled,.people select:disabled{opacity:.55;cursor:not-allowed}.people,.records{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.people li,.records li{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .65rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid)}.person,.record-main{flex:1 1 12rem;min-width:0;display:grid;gap:.1rem;font-size:.8125rem}.person em,.record-main em{font-style:normal;font-size:.7rem;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-main b{display:flex;align-items:center;gap:.4rem;font-weight:600}.op-status{font-size:.65rem;font-weight:600;padding:.05rem .4rem;border-radius:999px;border:1px solid var(--line);color:var(--ink-faint)}.op-status.op-applied{color:var(--accent);border-color:transparent;background:var(--accent-soft)}.op-status.op-discarded{text-decoration:line-through}.people li .btn,.records li .btn{padding:.35rem .65rem;font-size:.8125rem}.canvas-wrap{position:relative;flex:1;min-height:0}.canvas-wrap.dropping:after{content:"";position:absolute;top:.5rem;right:.5rem;bottom:.5rem;left:.5rem;z-index:1;pointer-events:none;border:2px dashed var(--accent);border-radius:var(--r-lg);background:var(--accent-soft)}.toolbar{position:absolute;z-index:2;top:1rem;left:50%;transform:translate(-50%);max-width:calc(100% - 1.5rem);overflow-x:auto;scrollbar-width:none;display:flex;align-items:center;gap:.25rem;padding:.25rem;border-radius:999px;background:var(--surface-glass);border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar::-webkit-scrollbar{display:none}.toolbar-sep{width:1px;align-self:stretch;margin:.2rem .15rem;background:var(--line)}.tool{border:0;flex:none;background:transparent;border-radius:999px;padding:.4rem .75rem;font-size:.8125rem;cursor:pointer;color:var(--ink-muted);white-space:nowrap;transition:background .12s ease,color .12s ease}.tool:hover:not(:disabled){background:var(--line-soft);color:var(--ink)}.tool:disabled{opacity:.4;cursor:not-allowed}.tool.active,.tool.active:hover{background:var(--solid);color:var(--on-solid)}.shape-picker{position:absolute;z-index:2;top:4rem;left:50%;transform:translate(-50%);display:flex;gap:.25rem;padding:.25rem;border-radius:999px;background:var(--surface-glass);border:1px solid var(--line);box-shadow:var(--shadow-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.shape-picker .tool{min-width:2.2rem;padding-inline:.55rem;font-size:1rem;line-height:1}.ink-controls{position:absolute;z-index:3;top:4.5rem;left:1rem;width:min(300px,calc(100% - 2rem));max-height:calc(100% - 7rem);overflow-y:auto;padding:.75rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-solid);box-shadow:var(--shadow-soft);color:var(--ink)}.ink-row{display:flex;align-items:center;gap:.3rem;margin-bottom:.5rem}.ink-controls .tool{min-height:44px;flex:1;padding-inline:.45rem}.ink-swatch{display:grid;place-items:center;min-width:40px;height:44px;flex:1;background:transparent;border:2px solid transparent;border-radius:var(--r-sm);cursor:pointer}.ink-swatch[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.ink-swatch span{width:22px;height:22px;border-radius:50%;background:var(--swatch);border:1px solid var(--line)}.ink-size{font-size:.8rem;min-height:44px;gap:.6rem}.ink-size input{min-width:0;flex:1;accent-color:var(--accent)}.ink-size output{min-width:1.5rem;text-align:right}.ink-check{display:flex;align-items:center;gap:.5rem;min-height:44px;font-size:.8rem;cursor:pointer}.ink-check input{accent-color:var(--accent);width:18px;height:18px}.ink-controls p{font-size:.75rem;line-height:1.5;margin:.4rem 0 0;color:var(--ink-muted)}.board-svg.tool-draw{cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media(max-width:640px){.ink-controls{top:.75rem;width:min(280px,calc(100% - 6rem));max-height:calc(100% - 6rem)}}.frame-title,.frame-title-edit{width:100%;height:100%;display:flex;align-items:center;padding:0 6px;font-size:15px;font-weight:600;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-title{-webkit-user-select:none;user-select:none}.frame-title-edit{border:0;border-bottom:2px solid var(--accent);background:transparent;outline:none;color:var(--ink)}.embed-card{width:100%;height:100%;padding:12px 14px;display:flex;flex-direction:column;gap:2px;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none}.embed-card b{font-size:15px;font-weight:600;color:var(--ink)}.embed-card span{font-size:12px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embed-card em{font-style:normal;font-size:11px;color:var(--ink-faint)}.board-svg.tool-line,.board-svg.tool-frame,.board-svg.tool-embed{cursor:crosshair}.board-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;overscroll-behavior:contain;cursor:crosshair;background:transparent}.board-svg.tool-select{cursor:default}.board-svg.tool-draw,.board-svg.tool-text{cursor:crosshair}.board-svg.tool-pan{cursor:grab}.board-svg.tool-pan:active{cursor:grabbing}.sync-status{position:absolute;z-index:3;top:1rem;right:1rem;display:flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:999px;font-size:.82rem;background:var(--surface-glass);border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink-muted)}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}.sync-reconnecting .sync-dot{background:var(--warn, #c98a12);animation:sync-pulse 1.2s ease-in-out infinite}.sync-offline .sync-dot{background:var(--danger)}@keyframes sync-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.sync-reconnecting .sync-dot{animation:none}}.conflict-panel{position:absolute;z-index:4;top:4rem;right:1rem;width:min(320px,calc(100vw - 2rem));max-height:60vh;overflow-y:auto;padding:.9rem;border-radius:12px;background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.7rem}.conflict-panel header p{margin:.25rem 0 0;font-size:.82rem;color:var(--ink-muted)}.conflict-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.conflict-panel li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}.conflict-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conflict-actions{display:flex;gap:.25rem;flex:none}.conflict-panel button{font:inherit;font-size:.78rem;padding:.2rem .5rem;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.conflict-panel button:hover{background:var(--accent-soft)}.conflict-panel footer{display:flex;gap:.4rem;border-top:1px solid var(--line);padding-top:.6rem}.minimap{position:absolute;z-index:2;left:1rem;bottom:3.25rem;padding:4px;border-radius:10px;background:var(--surface-glass);border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);line-height:0}.minimap svg{display:block;cursor:pointer;touch-action:none}.minimap-object{fill:var(--ink-muted);opacity:.35}.minimap-view{fill:var(--marquee-fill);stroke:var(--accent);stroke-width:1.5}@media(max-width:640px){.minimap{display:none}}.marquee{fill:var(--marquee-fill);stroke:var(--marquee-stroke);stroke-dasharray:4 3;pointer-events:none}.snap-guide{stroke:var(--guide);stroke-dasharray:5 4;pointer-events:none}.arrange-bar{position:absolute;z-index:2;top:4rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:999px;background:var(--surface-glass);border:1px solid var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.arrange-count{font-size:.8rem;color:var(--ink-muted);padding:0 .35rem;white-space:nowrap}.arrange-top,.arrange-center-y,.arrange-bottom{transform:rotate(90deg)}@media(prefers-reduced-motion:reduce){.arrange-bar{-webkit-backdrop-filter:none;backdrop-filter:none}}.peer-label{font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.obj-label{width:100%;height:100%;padding:12px;font-size:14px;line-height:1.35;color:var(--object-ink);white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;-webkit-user-select:none;user-select:none}.obj-label-mind{display:flex;align-items:center;padding-block:6px}.peer-label{font-weight:600}.inline-edit{width:100%;height:100%;border:0;resize:none;padding:.75rem;background:transparent;color:var(--object-ink);outline:none}.canvas-hint{position:absolute;left:1rem;bottom:1rem;margin:0;padding:.35rem .7rem;border-radius:999px;background:var(--surface-glass);border:1px solid var(--line);font-size:.8125rem}.zoom-controls{position:absolute;z-index:2;right:1rem;bottom:1rem;display:flex;border:1px solid var(--line);border-radius:999px;background:var(--surface-glass);box-shadow:var(--shadow-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.zoom-btn,.zoom-level{border:0;background:transparent;color:var(--ink-muted);cursor:pointer;padding:.4rem .75rem;font-size:.8125rem;line-height:1.2;transition:background .12s ease,color .12s ease}.zoom-btn:hover:not(:disabled),.zoom-level:hover{background:var(--line-soft);color:var(--ink)}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-level{min-width:4.2rem;font-variant-numeric:tabular-nums;border-left:1px solid var(--line);border-right:1px solid var(--line)}@media(pointer:coarse){.tool,.seg,.zoom-btn,.zoom-level,.viewtoggle button{min-height:44px;padding-inline:.9rem}.btn{min-height:44px}.board-card-del{opacity:1;width:32px;height:32px;font-size:1.1rem}}@media(max-width:1020px){.dash{grid-template-columns:56px minmax(0,1fr)}.side{display:none}}@media(max-width:720px){.dash{grid-template-columns:minmax(0,1fr);height:auto}.rail{flex-direction:row;border-right:0;border-bottom:1px solid var(--line);padding:.6rem .9rem}.rail-mark{margin-bottom:0}.rail-add{margin-top:0;margin-left:auto}.dash-main{overflow:visible}.dash-top{flex-wrap:wrap}.search{order:3;flex-basis:100%;max-width:none}.toolbar{top:auto;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));left:.75rem;right:.75rem;max-width:none;transform:none;justify-content:flex-start}.zoom-controls{top:.75rem;bottom:auto;right:.75rem}.canvas-hint{display:none}.board-topbar{flex-wrap:wrap}}.board-dock{position:absolute;top:0;right:0;bottom:0;z-index:6;display:flex;align-items:stretch;pointer-events:none}.board-dock>*{pointer-events:auto}.dock-rail{display:flex;flex-direction:column;gap:6px;padding:8px 6px;order:2;background:var(--rail);border-left:1px solid var(--line)}.dock-tab{width:36px;height:36px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.dock-tab:hover{background:var(--surface-subtle);color:var(--ink)}.dock-tab.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.dock-tab img{border-radius:4px}.dock-panel{order:1;width:min(360px,90vw);display:flex;flex-direction:column;gap:10px;padding:12px;overflow-y:auto;background:var(--surface-solid);border-left:1px solid var(--line);box-shadow:var(--shadow)}.dock-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dock-head h2{margin:0;font-size:14px;font-weight:600}.dock-scopes{margin:0}.app-frame{flex:1 1 auto;min-height:320px;width:100%;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid)}.app-frame-blocked{padding:12px;border:1px solid var(--danger);border-radius:var(--r-sm);color:var(--danger);font-size:13px}.ai-panel{display:flex;flex-direction:column;gap:10px}.ai-tasks{display:flex;gap:4px}.ai-task{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);color:var(--ink-muted);font:inherit;font-size:12px;cursor:pointer}.ai-task:hover{color:var(--ink)}.ai-task.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ai-field{margin:0}.ai-error{margin:0;color:var(--danger);font-size:13px}.ai-proposal{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--line-soft)}.ai-preview{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink);max-height:40vh;overflow-y:auto}@media(max-width:640px){.dock-panel{width:100vw}}.collab-bar{position:absolute;left:12px;bottom:12px;z-index:5;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--r-md, 10px);background:var(--surface-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-soft)}.collab-tool{position:relative;width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;font-size:16px;line-height:1;cursor:pointer}.collab-tool:hover:not(:disabled){background:var(--surface-subtle)}.collab-tool:disabled{opacity:.4;cursor:default}.collab-tool.is-active{background:var(--accent-soft);border-color:var(--accent)}.collab-tool em{position:absolute;top:1px;right:1px;min-width:14px;padding:0 3px;border-radius:7px;background:var(--accent);color:var(--accent-contrast);font-size:9px;font-style:normal;font-weight:700;line-height:14px}.collab-badge{padding:5px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);color:var(--ink);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer}.collab-badge.is-done{border-color:var(--danger);color:var(--danger);font-weight:600}.collab-emoji-wrap{position:relative}.emoji-picker{position:absolute;bottom:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(4,32px);gap:2px;padding:4px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);box-shadow:var(--shadow)}.emoji-picker button{width:32px;height:32px;border:0;border-radius:var(--r-sm);background:transparent;font-size:18px;cursor:pointer}.emoji-picker button:hover{background:var(--surface-subtle)}.collab-arm-hint{position:absolute;left:50%;bottom:62px;z-index:6;transform:translate(-50%);display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px 6px 12px;border-radius:999px;background:var(--solid);color:var(--on-solid);font-size:12px;white-space:nowrap}.collab-arm-hint .btn{color:var(--on-solid);opacity:.75}.collab-panel{position:absolute;left:12px;bottom:58px;z-index:6;width:min(340px,calc(100vw - 24px));max-height:min(70vh,640px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--r-md, 10px);background:var(--surface-solid);box-shadow:var(--shadow)}.comment-pins,.reaction-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:hidden;pointer-events:none}.comment-pin-wrap{position:absolute;pointer-events:auto}.comment-pin{width:26px;height:26px;display:grid;place-items:center;transform:translate(-50%,-50%);border:2px solid var(--surface-solid);border-radius:50% 50% 50% 2px;background:var(--accent);color:var(--accent-contrast);font-size:11px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-soft)}.comment-pin.is-resolved{background:var(--ink-faint)}.comment-popover{position:absolute;top:18px;left:12px;width:min(300px,calc(100vw - 40px));overflow:visible;padding:10px;border:1px solid var(--line);border-radius:var(--r-md, 10px);background:var(--surface-solid);box-shadow:var(--shadow)}.comment-entries,.comment-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.comment-popover .comment-entries{max-height:40vh;overflow-y:auto}.comment-entry{display:flex;flex-direction:column;gap:4px;font-size:13px}.comment-meta{display:flex;align-items:baseline;gap:8px;font-size:11px;color:var(--ink-faint)}.comment-meta strong{color:var(--ink);font-size:12px}.comment-body{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.mention-chip{padding:0 3px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-weight:600}.comment-tools{display:flex;flex-wrap:wrap;gap:2px}.comment-tools .btn{padding:2px 6px;font-size:11px}.comment-thread.is-resolved .comment-body{color:var(--ink-faint)}.composer-input{position:relative}.comment-composer{display:flex;flex-direction:column;gap:6px}.comment-composer textarea{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);color:var(--ink);font:inherit;font-size:13px;resize:vertical}.comment-composer textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.mention-picker{position:absolute;top:100%;left:0;z-index:2;list-style:none;margin:2px 0 0;padding:4px;min-width:160px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);box-shadow:var(--shadow)}.mention-picker button{width:100%;padding:5px 8px;border:0;border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.mention-picker button:hover{background:var(--accent-soft)}.comment-index button{width:100%;display:flex;flex-direction:column;gap:2px;padding:6px 8px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}.comment-index button:hover{background:var(--surface-subtle)}.comment-index em{color:var(--ink-faint);font-size:11px;font-style:normal}.reaction-burst{position:absolute;display:grid;place-items:center;width:34px;height:34px;border:2px solid;border-radius:50%;background:var(--surface-solid);font-size:17px;will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.reaction-burst{transform:translate(-50%)!important}}.poll-panel,.timer-widget,.comment-list{display:flex;flex-direction:column;gap:10px}.poll-panel h3{margin:0;font-size:13px}.poll-tally{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.poll-tally>li{display:flex;align-items:center;justify-content:space-between;gap:8px}.poll-tally button{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}.poll-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poll-count{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent)}.poll-vote-controls{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.poll-vote-controls .btn{padding:2px 8px;font-size:15px;line-height:1.2}.timer-dial{position:relative;display:grid;place-items:center;width:140px;height:140px;margin:0 auto}.timer-dial svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.timer-track,.timer-run{fill:none;stroke-width:7}.timer-track{stroke:var(--line)}.timer-run{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.timer-widget.is-done .timer-run{stroke:var(--danger)}.timer-readout{position:relative;font-size:26px;font-variant-numeric:tabular-nums}.timer-widget.is-done .timer-readout{color:var(--danger)}.timer-presets{display:flex;flex-wrap:wrap;gap:4px}.timer-presets .btn{font-variant-numeric:tabular-nums}.present-bar,.follow-bar{position:absolute;left:50%;top:56px;z-index:6;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;border-radius:999px;background:var(--solid);color:var(--on-solid);font-size:13px;box-shadow:var(--shadow)}.follow-bar{top:104px}.present-bar .btn-secondary{background:#ffffff24;border-color:transparent;color:var(--on-solid)}.present-bar .btn-ghost,.follow-bar .btn-ghost{color:var(--on-solid);opacity:.75}.present-who{font-weight:600;white-space:nowrap}.present-following{opacity:.75}@media(max-width:640px){.collab-panel{width:calc(100vw - 24px)}.present-bar,.follow-bar{max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}}.presence-bar{position:absolute;right:12px;top:56px;z-index:5;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:min(320px,50vw)}.presence-chip{display:inline-flex;align-items:center;gap:5px;max-width:150px;padding:3px 9px 3px 6px;border:1px solid;border-radius:999px;background:var(--surface-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);font:inherit;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.presence-chip.is-following{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.presence-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.presence-chip.is-following .presence-dot{background:var(--accent-contrast)!important}.embed-shell{position:relative;width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--board-bg)}.embed-message{display:grid;place-items:center;color:var(--ink-muted);font-size:14px}.embed-backlink{position:absolute;left:8px;bottom:8px;z-index:7;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 10px;border-radius:999px;background:var(--surface-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-muted);font-size:11px;text-decoration:none}.embed-backlink:hover{color:var(--ink)}.embed-live{position:relative;width:100%;height:100%;overflow:hidden;border-radius:8px;background:var(--surface-subtle)}.embed-live iframe,.embed-live img{width:100%;height:100%;border:0;display:block}.embed-live img{object-fit:contain}.embed-close{position:absolute;top:4px;right:4px;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--solid);color:var(--on-solid);font-size:11px;cursor:pointer;opacity:.7}.embed-close:hover{opacity:1}.project-rail{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.project-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:var(--ink-faint);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.project-head .btn{padding:0 6px;font-size:15px;line-height:1.4}.project-create{display:flex;gap:4px;padding:0 8px}.project-create input{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);color:var(--ink);font:inherit;font-size:12px}.project-row{display:flex;align-items:center}.project-row .nav-item{flex:1;min-width:0}.project-row-tools{display:none;gap:0}.project-row:hover .project-row-tools,.project-row:focus-within .project-row-tools{display:flex}.project-row-tools .btn{padding:2px 5px;font-size:11px}.project-swatch{width:9px;height:9px;flex:0 0 auto;border-radius:3px}.project-swatch.is-empty{border:1px dashed var(--ink-faint);background:transparent}.trash-view{display:flex;flex-direction:column;gap:10px}.trash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid)}.trash-what{display:flex;flex-direction:column;gap:2px;min-width:0}.trash-what strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-what span{display:flex;gap:8px;color:var(--ink-faint);font-size:12px}.trash-what em{font-style:normal}.trash-what em.is-soon{color:var(--danger);font-weight:600}.trash-tools{display:flex;gap:4px;flex:0 0 auto}@media(max-width:640px){.trash-row{flex-direction:column;align-items:stretch}}.export-formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.export-format{display:grid;gap:2px;text-align:left;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid);color:var(--ink);cursor:pointer}.export-format b{font-size:.875rem}.export-format em{font-style:normal;font-size:.75rem;color:var(--ink-muted)}.export-format.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.modal.picker{width:min(760px,100%);max-height:min(84dvh,820px);overflow-y:auto}.picker-body{display:grid;gap:.6rem;padding-top:.5rem;border-top:1px solid var(--line-soft)}.picker-body h3{margin:.3rem 0 0;font-size:.8125rem;font-weight:600;color:var(--ink-muted)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.tpl-slot{position:relative}.tpl-card{width:100%;display:grid;gap:2px;text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid);color:var(--ink);cursor:pointer}.tpl-card b{padding:.45rem .6rem 0;font-size:.8125rem}.tpl-card em{padding:0 .6rem .5rem;font-style:normal;font-size:.75rem;color:var(--ink-muted)}.tpl-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tpl-thumb{display:block;background:var(--thumb-bg);border-bottom:1px solid var(--line-soft)}.tpl-thumb .thumb{border-bottom:0}.tpl-thumb-blank{aspect-ratio:4 / 3}.tpl-del{position:absolute;top:.3rem;right:.3rem;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;background:var(--surface-glass);color:var(--ink-muted);line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.tpl-slot:hover .tpl-del,.tpl-del:focus-visible{opacity:1}.tpl-del:hover{color:var(--danger)}.board-card-actions{position:absolute;top:.4rem;right:.4rem;display:flex;gap:4px}.board-card-actions .board-card-del{position:static}.board-card-copy{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;background:var(--surface-glass);color:var(--ink-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.board-card:hover .board-card-copy,.board-card-copy:focus-visible{opacity:1}.board-card-copy:hover{color:var(--accent)}.board-card-copy:disabled{cursor:progress}.csv-field>span{flex:0 0 10.5rem}.csv-preview{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:9rem;overflow-y:auto;font-size:.8125rem}.csv-preview li{padding:.3rem .5rem;border-radius:var(--r-sm);background:var(--surface-subtle);color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root{--snow-white: #fff;--snow-black: #000;--snow-indigo: #adadfb;--snow-blue-soft: #e6f1fd;--snow-indigo-soft: #edeefc;--snow-bg: #fff;--snow-panel: #f9f9fa;--snow-hover: #0000000a;--snow-border: #0000001a;--snow-border-soft: #0000000a;--snow-text: #1c1c1c;--snow-muted: #000000b3;--snow-faint: #00000099;--snow-floating: #ffffffe5;--snow-primary: #1c1c1c;--snow-on-primary: #fff;--snow-selected: #edeefc;--snow-on-selected: #48458e;--snow-focus: #625bc4;--snow-shadow: 0 8px 32px #0000000a, 0 2px 8px #00000005;--snow-shadow-soft: 0 2px 8px #00000008;--bg-soft: var(--snow-bg);--panel: var(--snow-panel);--rail: var(--snow-panel);--sidebar-bg: var(--snow-bg);--board-bg: var(--snow-panel);--surface: var(--snow-floating);--surface-solid: var(--snow-bg);--surface-subtle: var(--snow-panel);--surface-glass: var(--snow-floating);--topbar-bg: var(--snow-floating);--ink: var(--snow-text);--ink-muted: var(--snow-muted);--ink-faint: var(--snow-faint);--solid: var(--snow-primary);--on-solid: var(--snow-on-primary);--accent: var(--snow-focus);--accent-strong: var(--snow-on-selected);--accent-soft: var(--snow-selected);--accent-contrast: var(--snow-white);--line: var(--snow-border);--line-soft: var(--snow-border-soft);--shadow: var(--snow-shadow);--shadow-soft: var(--snow-shadow-soft);--r-sm: 8px;--r-md: 12px;--r-lg: 16px}:root[data-theme=dark]{--snow-bg: #333;--snow-panel: #3b3b3b;--snow-hover: #ffffff0a;--snow-border: #ffffff26;--snow-border-soft: #ffffff1a;--snow-text: #fff;--snow-muted: #ffffffcc;--snow-faint: #ffffffa6;--snow-floating: #404040e5;--snow-primary: var(--snow-indigo);--snow-on-primary: #25243a;--snow-selected: #adadfb26;--snow-on-selected: #d4d4ff;--snow-focus: var(--snow-indigo);--snow-shadow: 0 8px 32px #00000033, 0 2px 8px #0000001a;--snow-shadow-soft: 0 2px 8px #0000001a}:root[data-theme]{--bg-soft: var(--snow-bg);--panel: var(--snow-panel);--rail: var(--snow-panel);--sidebar-bg: var(--snow-bg);--board-bg: var(--snow-panel);--surface: var(--snow-floating);--surface-solid: var(--snow-bg);--surface-subtle: var(--snow-panel);--surface-glass: var(--snow-floating);--topbar-bg: var(--snow-floating);--ink: var(--snow-text);--ink-muted: var(--snow-muted);--ink-faint: var(--snow-faint);--solid: var(--snow-primary);--on-solid: var(--snow-on-primary);--accent: var(--snow-focus);--accent-strong: var(--snow-on-selected);--accent-soft: var(--snow-selected);--accent-contrast: var(--snow-on-primary);--line: var(--snow-border);--line-soft: var(--snow-border-soft);--shadow: var(--snow-shadow);--shadow-soft: var(--snow-shadow-soft)}.btn-secondary{background:var(--surface-subtle);border-color:transparent}.btn-secondary:hover:not(:disabled){background:var(--snow-hover);border-color:var(--line)}.segmented,.viewtoggle{border-color:transparent;border-radius:var(--r-md)}.seg{border-radius:var(--r-sm)}.seg.active{background:var(--surface-solid);color:var(--ink);box-shadow:var(--shadow-soft)}.nav-item[aria-current=page],.dock-tab.is-active,.ai-task.is-active{background:var(--accent-soft);color:var(--snow-on-selected);border-color:transparent}.ws-dot[aria-current=true]{background:var(--snow-indigo-soft);color:var(--snow-black)}.newboard{background:var(--snow-hover);border-color:var(--line)}.board-card,.board-rows,.trash-row,.tpl-card{box-shadow:none}.board-card:hover,.tpl-card:hover{border-color:var(--snow-focus);box-shadow:var(--shadow-soft)}.modal,.dock-panel,.collab-panel,.comment-popover,.emoji-picker{box-shadow:var(--shadow);border-color:var(--line)}.search,.field-row input,.field-row select,.people select,.share-url,.comment-composer textarea,.project-create input{background:var(--surface-subtle)}.toolbar,.shape-picker,.arrange-bar,.zoom-controls{border-radius:var(--r-md)}.tool{border-radius:var(--r-sm)}.tool.active,.tool.active:hover,.collab-tool.is-active{background:var(--snow-selected);color:var(--snow-on-selected)}.tool.active{box-shadow:inset 0 0 0 1px var(--snow-border-soft)}.toolbar>.tool,.icon-action{position:relative}.toolbar{width:830px}.toolbar>.tool{flex:1 0 36px;min-width:36px;padding-inline:0}.toolbar>.tool>.tool-footprint{display:block;width:0}@media(pointer:coarse){.toolbar>.tool{flex-basis:44px;min-width:44px}}@media(max-width:720px){.toolbar{width:auto}}.tool-footprint{visibility:hidden}.ui-icon{display:inline-block;width:20px;height:20px;flex:none;background:currentColor;mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;pointer-events:none}.toolbar>.tool>.ui-icon,.icon-action>.ui-icon{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto}.snow-ink{top:4.25rem;left:50%;transform:translate(-50%);width:min(830px,calc(100% - 1.5rem));height:auto;max-height:none;padding:4px 48px 4px 10px;overflow:visible;border-radius:var(--r-md)}.ink-strip{display:flex;align-items:center;gap:8px;min-height:44px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.ink-strip::-webkit-scrollbar{height:4px}.ink-strip>*{flex-shrink:0}.ink-heading{display:flex;align-items:center;height:44px;font-size:11px;white-space:nowrap}.ink-heading strong{font-weight:600}.ink-help{position:absolute;right:4px;top:4px;width:40px;height:44px;display:grid;place-items:center;border:0;padding:0;background:none;color:var(--ink-faint);cursor:help}.ink-help .ui-icon{width:16px;height:16px}.ink-help-text{display:none;position:absolute;z-index:2;top:calc(100% + 8px);right:0;width:min(280px,calc(100vw - 3rem));padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);box-shadow:var(--shadow);color:var(--ink);text-align:left;font-size:12px;line-height:1.5}.ink-help:hover .ink-help-text,.ink-help:focus .ink-help-text{display:block}.ink-color-row{display:flex;gap:2px;height:44px}.snow-ink .ink-swatch{min-width:32px;width:32px;padding:0;flex:none}.snow-ink .ink-swatch span{width:18px;height:18px}.line-picker{top:4.25rem}.line-picker .tool{display:grid;place-items:center;min-width:44px;min-height:44px}@media(max-width:720px){.line-picker{top:auto;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px))}}.ink-swatch[aria-pressed=true]{border-color:transparent;background:var(--accent-soft)}.ink-swatch[aria-pressed=true]>span{outline:2px solid var(--accent);outline-offset:3px}.ink-swatch:disabled{opacity:.25;cursor:default}.ink-size-row{flex:1 0 140px;height:44px;display:flex;align-items:center;gap:6px;color:var(--ink-muted)}.ink-size-row input{flex:1;min-width:0;accent-color:var(--accent)}.ink-size-row output{min-width:28px;font-size:12px;text-align:center;font-variant-numeric:tabular-nums;background:var(--surface-subtle);border-radius:var(--r-sm);padding-block:5px}.ink-preview{width:68px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);border-radius:var(--r-sm);color:var(--ink-muted);overflow:hidden}.ink-preview svg{width:100%;height:100%}.ink-erase-summary{color:var(--ink-muted);font-size:11px;white-space:nowrap}.ink-options{display:flex;gap:6px;height:44px;margin-left:auto}.ink-options button{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);font-size:11px;cursor:pointer;white-space:nowrap}.ink-options button[aria-checked=true]{background:var(--accent-soft);color:var(--snow-on-selected);border-color:transparent}.ink-options button:disabled{opacity:.35;cursor:default}.ink-options .ui-icon{width:18px;height:18px}.ink-toggle{width:20px;height:12px;border-radius:99px;background:var(--ink-faint);position:relative;flex:none}.ink-toggle:after{content:"";position:absolute;width:8px;height:8px;left:2px;top:2px;border-radius:50%;background:var(--surface-solid)}[aria-checked=true]>.ink-toggle{background:var(--accent)}[aria-checked=true]>.ink-toggle:after{left:10px}@media(pointer:coarse){.snow-ink{top:4.875rem;padding-right:52px}.snow-ink .ink-swatch{min-width:44px;width:44px}.ink-help{width:44px}}@media(max-width:720px){.snow-ink{top:auto;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px))}.ink-help-text{top:auto;bottom:calc(100% + 8px)}}@media(max-width:720px)and (pointer:coarse){.snow-ink{bottom:calc(4.875rem + env(safe-area-inset-bottom,0px))}}.canvas-wrap{--collab-bottom: 16px}.collab-bar{left:16px;bottom:var(--collab-bottom)}.minimap{bottom:calc(var(--collab-bottom) + 44px + 12px)}.collab-panel{left:16px;bottom:calc(var(--collab-bottom) + 44px + 12px);max-height:min(70vh,calc(100% - var(--collab-bottom) - 72px))}.zoom-controls{overflow:visible}.zoom-controls>.zoom-btn:first-of-type{border-radius:var(--r-md) 0 0 var(--r-md)}.zoom-controls>.zoom-btn:last-child{border-radius:0 var(--r-md) var(--r-md) 0}.canvas-help{position:absolute;right:calc(100% + 8px);bottom:0}.canvas-help>button{display:grid;place-items:center;width:32px;height:30px;padding:0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-solid);color:var(--ink-muted);cursor:help;box-shadow:var(--shadow-soft)}.canvas-help-text{display:none;position:absolute;right:0;bottom:calc(100% + 8px);z-index:7;width:min(320px,calc(100vw - 200px));padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-solid);box-shadow:var(--shadow);color:var(--ink-muted);font-size:12px;line-height:1.5}.canvas-help:hover .canvas-help-text,.canvas-help:focus-within .canvas-help-text{display:block}.canvas-hint.error{display:block;z-index:7;left:50%;bottom:calc(var(--collab-bottom) + 56px);transform:translate(-50%);width:max-content;max-width:min(560px,calc(100% - 2rem))}@media(pointer:coarse){.canvas-help>button{width:44px;height:44px}}@media(max-width:720px){.canvas-wrap{--collab-bottom: calc(9rem + env(safe-area-inset-bottom, 0px)) }.minimap{display:none}.canvas-help-text{top:calc(100% + 8px);bottom:auto}}.workspace-shell{--workspace-nav-width: min(300px, calc(100vw - 64px) );--workspace-motion: .26s cubic-bezier(.22, .68, 0, 1);--workspace-safe-top: env(safe-area-inset-top, 0px);grid-template-columns:300px minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding-top:var(--workspace-safe-top);background:var(--topbar-bg);overflow:hidden;transition:grid-template-columns var(--workspace-motion)}.workspace-navigation{display:grid;grid-template-columns:56px minmax(0,1fr);min-height:0}.workspace-content{display:block;position:relative;min-width:0;height:100%;overflow:hidden;container:workspace / inline-size}.workspace-content>.dash-main{height:100%;overflow-y:auto}.workspace-content>.board-shell{height:100%}.workspace-navigation .side{padding-bottom:4px}.workspace-navigation .side-foot{padding-top:8px}.workspace-toggle,.workspace-close{display:grid;place-items:center;flex:none;width:32px;height:30px;padding:0;color:var(--ink-muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}.workspace-toggle:hover,.workspace-close:hover{background:var(--accent-soft);color:var(--accent)}.dash-top>.workspace-toggle,.workspace-close{display:none}.workspace-board{grid-template-columns:0 minmax(min(100vw,480px),1fr)}.workspace-board .workspace-content{grid-column:2}.workspace-shell.workspace-expanded{grid-template-columns:var(--workspace-nav-width) minmax(min(100vw,480px),1fr)}.workspace-navigation.is-collapsible{display:grid;grid-template-columns:56px minmax(0,1fr);width:var(--workspace-nav-width);min-width:0;height:100%;background:var(--sidebar-bg);transform:translate(-100%);visibility:hidden;transition:transform var(--workspace-motion),visibility 0s .26s;contain:layout paint}.workspace-navigation.is-collapsible.is-open{transform:translate(0);visibility:visible;transition-delay:0s}.workspace-navigation.is-collapsible .rail{display:flex;flex-direction:column;padding:.9rem 0;border-right:1px solid var(--line);border-bottom:0}.workspace-navigation.is-collapsible .rail-add{margin:auto 0 0}.workspace-navigation.is-collapsible .side{display:flex;position:relative;padding-top:3.5rem}.workspace-navigation.is-collapsible .workspace-close{display:grid;position:absolute;right:12px;top:12px;width:44px;height:44px}.workspace-navigation.is-collapsible .nav-item{min-height:44px}.workspace-navigation .rail{padding-bottom:6px}.workspace-board-list{border-top:1px solid var(--line);padding-top:12px}.workspace-board-list .nav-item{text-decoration:none}.workspace-board-list .nav-item span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-content>.center-screen>.workspace-toggle{position:absolute;top:12px;left:16px}@media(max-width:1020px){.workspace-shell{display:grid;grid-template-columns:0 minmax(min(100vw,480px),1fr);height:100dvh;overflow:hidden}.workspace-content{grid-column:2}.workspace-content>.dash-main{height:100%;overflow-y:auto}.dash-top>.workspace-toggle{display:grid}.workspace-toggle{width:44px;height:44px}.workspace-board .back-link{display:none}}@media(prefers-reduced-motion:reduce){.workspace-shell,.workspace-navigation.is-collapsible{transition:none}}@container workspace (max-width: 720px){.workspace-board .board-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:8px;padding:10px 12px}.workspace-board .board-topbar-actions{display:contents}.workspace-board .board-topbar>.workspace-toggle{grid-column:1;grid-row:1}.workspace-board .board-topbar>h1{grid-column:2;grid-row:1}.workspace-board .board-topbar-actions>.settings-controls{grid-column:1 / -1;grid-row:2}.workspace-board .board-topbar-actions>.icon-action{grid-row:1;width:44px;height:44px;padding:0}.workspace-board .board-topbar-actions>.icon-action:nth-of-type(1){grid-column:3}.workspace-board .board-topbar-actions>.icon-action:nth-of-type(2){grid-column:4}.workspace-board .board-topbar-actions>.icon-action>.tool-footprint{display:none}}.mode-dot{display:grid;place-items:center;text-decoration:none}.mode-dot[aria-current=page]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.local-import{position:relative;display:inline-flex;align-items:center;justify-content:center}.local-import .ui-icon{width:1lh;height:1lh}.local-import-progress{position:absolute;left:8px;bottom:0;width:calc(100% - 16px);height:2px}.board-storage-tag{display:inline-flex;margin-left:8px;vertical-align:middle;color:var(--ink-muted)}.board-storage-tag .ui-icon{width:16px;height:16px}.local-save-status{top:auto;bottom:3.5rem;max-width:calc(100% - 32px);flex-wrap:wrap}.local-save-status button{border:1px solid var(--line);background:var(--surface-solid);color:var(--ink);border-radius:var(--r-sm);padding:6px 10px}@media(max-width:720px){.local-save-status{bottom:calc(9rem + env(safe-area-inset-bottom,0px))}}.photo-detail{width:min(92vw,1400px);max-height:92dvh;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-solid);color:var(--text)}.photo-detail::backdrop{background:#0000008c}.photo-detail img{display:block;max-width:100%;max-height:78dvh;margin:auto;object-fit:contain}
