@font-face{font-family:Assistant;src:url(/fonts/Assistant/Assistant-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Assistant;src:url(/fonts/Assistant/Assistant-SemiBold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Assistant;src:url(/fonts/Assistant/Assistant-Bold.woff2)format("woff2");font-weight:700;font-display:swap}:root{--paper:#f6f6f9;--sheet:#fff;--thumb-bg:#fff;--ink:#1e1e1e;--ink-soft:#5c5c6e;--rule:#e0e0ea;--dot:#cfcfdc;--violet:#6965db;--violet-hover:#5753d0;--violet-text:#4a47b1;--violet-wash:#ececfc;--on-violet:#fff;--danger:#c92a2a;--on-danger:#fff;--shadow:0 0 .93px #0000002b, 0 0 3.13px #00000014, 0 7px 14px #0000000d;--font:Assistant, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#121212;--sheet:#232329;--thumb-bg:#121212;--ink:#e3e3e8;--ink-soft:#a3a3b4;--rule:#36363f;--dot:#2b2b33;--violet:#a8a5ff;--violet-hover:#bbb9ff;--violet-text:#b9b7ff;--violet-wash:#2e2d4d;--on-violet:#121212;--danger:#ff8787;--on-danger:#121212;--shadow:0 0 1px #0009, 0 7px 14px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font);color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}h1,h2,p{margin:0}a{color:var(--violet-text)}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.splash{min-height:100dvh}.button{background:var(--violet);height:36px;color:var(--on-violet);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--violet-hover)}.button:disabled{opacity:.6;cursor:progress}.button-quiet{border-color:var(--rule);color:var(--ink);background:0 0}.button-quiet:hover{background:var(--violet-wash)}.button-danger{background:var(--danger);color:var(--on-danger)}.button-danger:hover{background:var(--danger);filter:brightness(.92)}.button-wide{width:100%;height:40px}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button:hover{background:var(--violet-wash)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.link-button{color:var(--violet-text);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field{margin-bottom:16px;display:block}.field>span{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.field input{border:1px solid var(--rule);background:var(--paper);border-radius:8px;width:100%;height:40px;padding:0 12px}.field input:focus{border-color:var(--violet);outline:1px solid var(--violet);outline-offset:0}.field small{color:var(--ink-soft);margin-top:6px;font-size:13px;display:block}.form-error{color:var(--danger);margin-bottom:16px;font-size:14px}.auth{background-image:radial-gradient(var(--dot) 1px, transparent 1.3px);background-size:22px 22px;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100dvh;padding:32px 16px;display:flex}.auth-brand{color:var(--ink);text-decoration:none}.auth-panel{background:var(--sheet);width:min(100%,380px);box-shadow:var(--shadow);border-radius:12px;padding:28px}.auth-panel h1{margin-bottom:20px;font-size:24px;line-height:1.2}.auth-note,.auth-switch{color:var(--ink-soft);font-size:14px}.auth-switch{text-align:center;margin-top:20px}.wordmark{letter-spacing:-.01em;align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.logo-mark{flex:none}.dash{background-image:radial-gradient(var(--dot) 1px, transparent 1.3px);background-size:22px 22px;min-height:100dvh}.dash-top,.dash-main{max-width:1200px;margin:0 auto;padding:0 24px}.dash-top{justify-content:space-between;align-items:center;gap:16px;padding-top:20px;padding-bottom:20px;display:flex}.dash-brand{color:var(--ink);text-decoration:none}.dash-account{align-items:center;gap:8px;min-width:0;display:flex}.dash-user{max-width:220px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;padding:0 4px;font-size:14px;overflow:hidden}.dash-main{padding-bottom:96px}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:28px 0 36px;display:flex}.dash-head h1{letter-spacing:-.015em;font-size:36px;font-weight:700;line-height:1.1}.dash-search{border:1px solid var(--rule);background:var(--sheet);border-radius:8px;width:min(100%,280px);height:36px;padding:0 12px}.dash-empty,.dash-notice{max-width:60ch;color:var(--ink-soft);margin:-12px 0 32px}.sheets{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:44px 32px;margin:0;padding:0;list-style:none;display:grid}.sheet{min-width:0;position:relative}.sheet-paper{aspect-ratio:16/10;border:1px solid var(--rule);background:var(--thumb-bg);color:var(--ink-soft);border-radius:6px;place-items:center;text-decoration:none;display:grid;position:relative}.sheet-paper:focus-visible{outline:none}.sheet-paper img{object-fit:contain;border-radius:5px;width:100%;height:100%}[data-theme=dark] .sheet-paper img{filter:invert(93%)hue-rotate(180deg)}.sheet-blank{font-size:14px}.handles{border:1px solid var(--violet);pointer-events:none;visibility:hidden;border-radius:3px;position:absolute;inset:-7px}.sheet-paper:hover .handles,.sheet-paper:focus-visible .handles{visibility:visible}.sheet-paper:focus-visible .handles{border-width:2px}.handles i{border:1px solid var(--violet);background:var(--paper);border-radius:2px;width:9px;height:9px;position:absolute}.handles [data-pos=nw]{top:-5px;left:-5px}.handles [data-pos=ne]{top:-5px;right:-5px}.handles [data-pos=sw]{bottom:-5px;left:-5px}.handles [data-pos=se]{bottom:-5px;right:-5px}.handles [data-pos=rotate]{border-radius:50%;top:-22px;left:calc(50% - 4.5px)}.sheet-meta{padding:14px 2px 0}.sheet-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;display:block;overflow:hidden}.sheet-name:hover{text-decoration:underline}.sheet-time{color:var(--ink-soft);font-size:14px;display:block}.sheet-rename{border:1px solid var(--violet);background:var(--sheet);border-radius:6px;width:100%;height:26px;margin:-1px -6px 0;padding:0 6px;font-weight:600}.sheet-menu{position:absolute;top:8px;right:8px}.sheet-more{background:var(--sheet);width:32px;height:32px;box-shadow:var(--shadow);cursor:pointer;opacity:0;border:0;border-radius:8px;place-items:center;display:grid}.sheet:hover .sheet-more,.sheet-more:focus-visible,.sheet-more[aria-expanded=true]{opacity:1}@media (hover:none){.sheet-more{opacity:1}}.sheet-more svg{fill:currentColor;width:18px;height:18px}.menu{z-index:10;background:var(--sheet);min-width:168px;box-shadow:var(--shadow);border-radius:10px;padding:6px;position:absolute;top:38px;right:0}.menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;height:34px;padding:0 10px;font-size:14px;display:block}.menu button:hover,.menu button:focus-visible{background:var(--violet-wash);outline:none}.menu .menu-danger{color:var(--danger)}.sheet-new{aspect-ratio:16/10;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.sheet-new-outline{fill:none;width:100%;height:100%;stroke:var(--ink-soft);stroke-width:1.5px;stroke-linejoin:round;position:absolute;inset:0;overflow:visible}.sheet-new-label{align-items:center;gap:8px;font-weight:600;display:inline-flex;position:relative}.sheet-new-label svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.sheet-new:hover,.sheet-new:focus-visible{color:var(--violet-text)}.sheet-new:hover .sheet-new-outline,.sheet-new:focus-visible .sheet-new-outline{stroke:var(--violet);stroke-width:2px}.sheet-new:focus-visible{outline:none}.sheet-new:disabled{cursor:progress}@media (width<=640px){.dash-top,.dash-main{padding-left:16px;padding-right:16px}.dash-user{display:none}.dash-head h1{font-size:28px}.sheets{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:32px 18px}}.dialog{background:var(--sheet);width:min(100% - 32px,420px);color:var(--ink);box-shadow:var(--shadow);border:0;border-radius:12px;padding:24px}.dialog::backdrop{background:#12121259}.dialog h2{margin-bottom:8px;font-size:20px;line-height:1.3}.dialog p{color:var(--ink-soft)}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.editor{position:fixed;inset:0}.editor-message{text-align:center;min-height:100dvh;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px 16px;display:flex}.editor-message h1{color:var(--ink);font-size:24px}.welcome-logo{align-items:center;gap:14px;display:inline-flex}.titlebar{height:var(--lg-button-size,2.25rem);border-radius:var(--border-radius-lg,8px);background:var(--island-bg-color);box-shadow:var(--shadow-island);font-family:var(--ui-font);color:var(--text-primary-color);align-items:center;gap:4px;padding:0 10px 0 4px;display:flex}.titlebar-name{text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;max-width:260px;height:calc(100% - 8px);padding:0 8px;font-size:14px;font-weight:600}.titlebar-name:hover,.titlebar-name:focus{background:var(--color-surface-low);outline:none}.titlebar-status{white-space:nowrap;opacity:.75;align-items:center;gap:6px;padding-left:4px;font-size:12px;display:inline-flex}.titlebar-dot{background:#2f9e44;border-radius:50%;width:8px;height:8px}.titlebar[data-status=pending] .titlebar-dot{background:#868e96}.titlebar[data-status=saving] .titlebar-dot{background:var(--color-primary,#6965db)}.titlebar[data-status=error] .titlebar-dot{background:#e03131}.titlebar[data-status=conflict] .titlebar-dot{background:#f08c00}.conflict{z-index:10;background:var(--sheet);width:min(100% - 32px,640px);box-shadow:var(--shadow);color:var(--ink);border-left:4px solid #f08c00;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;font-size:14px;display:flex;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}.conflict p{flex:260px}.conflict-actions{gap:8px;display:flex}
