:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f4f1ea)var(--lightningcss-dark,#17171a);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#232327);--text:var(--lightningcss-light,#26231e)var(--lightningcss-dark,#ecebe7);--muted:var(--lightningcss-light,#7a7468)var(--lightningcss-dark,#9a988f);--line:var(--lightningcss-light,#e2ddd0)var(--lightningcss-dark,#35353b);--accent:var(--lightningcss-light,#26231e)var(--lightningcss-dark,#ecebe7);--accent-text:var(--lightningcss-light,#fff)var(--lightningcss-dark,#17171a);--danger:var(--lightningcss-light,#d43d3d)var(--lightningcss-dark,#ff7b72);--shadow:var(--lightningcss-light,#3c321e1f)var(--lightningcss-dark,#00000080);--radius:16px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-color=yellow]{--card:var(--lightningcss-light,#fff1a8)var(--lightningcss-dark,#4a4118)}[data-color=pink]{--card:var(--lightningcss-light,#ffd6da)var(--lightningcss-dark,#50262c)}[data-color=blue]{--card:var(--lightningcss-light,#d3e6ff)var(--lightningcss-dark,#1f3552)}[data-color=green]{--card:var(--lightningcss-light,#d4f2d9)var(--lightningcss-dark,#1f4029)}[data-color=purple]{--card:var(--lightningcss-light,#e6dbff)var(--lightningcss-dark,#382a57)}[data-color=gray]{--card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2c2c31)}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;line-height:1.5}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}.btn-primary{background:var(--accent);color:var(--accent-text);white-space:nowrap;border:0;border-radius:999px;padding:10px 18px;font-weight:600;transition:transform .15s,opacity .15s}.btn-primary:hover{transform:translateY(-1px)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5}.btn-ghost{color:var(--text);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 14px;text-decoration:none}.btn-ghost:hover{background:#80808026}.btn-ghost.danger{color:var(--danger)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home{max-width:1100px;margin:0 auto;padding:0 16px 140px}.topbar{z-index:5;background:var(--bg);align-items:center;gap:12px;padding:16px 0;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;white-space:nowrap;margin:0;font-size:22px}.search{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:1;min-width:0;padding:9px 16px}.hint{padding:48px 0}.empty,.hint{text-align:center;color:var(--muted)}.empty{padding:80px 0}.empty-title{color:var(--text);margin:0 0 4px;font-size:20px;font-weight:600}.empty .btn-primary{margin-top:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;padding-top:8px;display:grid}.card{border-radius:var(--radius);background:var(--card);height:200px;box-shadow:0 1px 2px var(--shadow),0 6px 16px -8px var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;gap:6px;padding:16px;transition:box-shadow .18s,translate .18s;display:flex;overflow:hidden}.card:hover{box-shadow:0 2px 4px var(--shadow),0 14px 24px -10px var(--shadow);translate:0 -3px}.card-title{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;margin:0;font-size:16px;font-weight:700;overflow:hidden}.card-body{white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.card-body,.card-empty{flex:1;margin:0;font-size:14px}.card-empty,.card-time,.trash-btn{color:var(--muted)}.card-time{flex-shrink:0;margin-top:auto;font-size:12px}.card-ghost{box-shadow:none;outline:2px dashed var(--line);outline-offset:-2px;background:0 0}.card-ghost>*{visibility:hidden}.card-drag{cursor:grabbing;box-shadow:0 24px 40px -12px var(--shadow),0 4px 10px var(--shadow);transition:none;rotate:3deg;scale:1.05;opacity:.95!important}.trash{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:10;position:fixed;translate:-50%}.trash-btn{border:1px solid var(--line);background:var(--surface);min-width:56px;height:56px;box-shadow:0 8px 24px -8px var(--shadow);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 16px;transition:all .22s cubic-bezier(.3,1.4,.5,1);display:flex;position:relative}.trash-btn:hover{color:var(--text)}.trash-label{white-space:nowrap;max-width:0;font-weight:600;transition:max-width .22s;overflow:hidden}.trash-count{background:var(--accent);min-width:20px;height:20px;color:var(--accent-text);border-radius:999px;padding:0 6px;font-size:12px;line-height:20px;position:absolute;top:-4px;right:-4px}.trash-drop{inset:-28px -40px}.trash-drop,.trash-drop>*{pointer-events:none;position:absolute}.sheet-enter-from,.sheet-leave-to,.trash-drop>*{opacity:0}.trash.is-dragging .trash-drop{pointer-events:auto}.trash.is-dragging .trash-btn{border:2px dashed var(--danger);height:72px;color:var(--danger);padding:0 28px}.trash.is-dragging .trash-label{max-width:200px}.trash:has(.trash-drop>.card-ghost) .trash-btn{background:var(--danger);color:#fff;border-style:solid;scale:1.1}.sheet-backdrop{z-index:20;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(640px,100%);max-height:80dvh;padding:8px 16px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;overflow-y:auto}.sheet,.sheet-head{background:var(--bg)}.sheet-head{align-items:center;gap:4px;padding:12px 0;display:flex;position:sticky;top:0}.sheet-head h2{margin:0 auto 0 4px;font-size:18px}.trash-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trash-list li{background:var(--card);border-radius:12px;align-items:center;gap:4px;padding:10px 8px 10px 14px;display:flex}.trash-item-text{flex:1;min-width:0;display:grid}.trash-item-text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trash-item-text span{color:var(--muted);font-size:13px}.sheet-enter-active,.sheet-leave-active{transition:opacity .2s}.sheet-enter-active .sheet,.sheet-leave-active .sheet{transition:translate .25s cubic-bezier(.2,.9,.3,1)}.sheet-enter-from .sheet,.sheet-leave-to .sheet{translate:0 100%}.toast{left:50%;bottom:calc(100px + env(safe-area-inset-bottom));z-index:30;background:var(--accent);color:var(--accent-text);box-shadow:0 8px 24px -8px var(--shadow);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:10px 12px 10px 18px;display:flex;position:fixed;translate:-50%}.toast button{color:inherit;background:#80808059;border:0;border-radius:999px;padding:4px 12px;font-weight:600}.toast-enter-active,.toast-leave-active{transition:opacity .2s,translate .2s}.toast-enter-from,.toast-leave-to{opacity:0;translate:-50% 12px}.editor{flex-direction:column;max-width:820px;min-height:100dvh;margin:0 auto;padding:0 16px 16px;display:flex}.editor-bar{z-index:5;background:var(--bg);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex;position:sticky;top:0}.save-status{color:var(--muted);align-items:center;gap:6px;margin-right:auto;font-size:13px;display:inline-flex}.save-dot{background:0 0;border-radius:50%;width:8px;height:8px}.save-status.dirty{color:var(--text);font-weight:600}.save-status.dirty .save-dot{background:var(--lightningcss-light,#e08a00)var(--lightningcss-dark,#ffb340)}.save-status.error{color:var(--danger);font-weight:600}.save-status.error .save-dot{background:var(--danger)}.editor-bar kbd{font:inherit;opacity:.6;margin-left:4px;font-size:12px}.dialog-backdrop{z-index:40;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--radius);background:var(--surface);width:min(380px,100%);box-shadow:0 24px 60px -20px var(--shadow);padding:22px 22px 16px}.dialog h2{margin:0 0 6px;font-size:18px}.dialog p{color:var(--muted);margin:0 0 18px;font-size:14px}.dialog-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.dialog-enter-active,.dialog-leave-active{transition:opacity .15s}.dialog-enter-active .dialog,.dialog-leave-active .dialog{transition:scale .18s cubic-bezier(.3,1.3,.5,1)}.dialog-enter-from,.dialog-leave-to{opacity:0}.dialog-enter-from .dialog,.dialog-leave-to .dialog{scale:.94}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login-card{border-radius:var(--radius);background:var(--card);width:min(320px,100%);box-shadow:0 1px 2px var(--shadow),0 16px 40px -16px var(--shadow);gap:14px;padding:28px 24px;display:grid;rotate:-1.5deg}.login-card h1{margin:0;font-size:22px}.login-input{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;padding:10px 14px;font-size:16px}.login-error{color:var(--danger);margin:0;font-size:14px}.swatches{gap:6px;display:flex}.swatch{border:1px solid var(--line);background:var(--card);border-radius:50%;width:24px;height:24px;padding:0}.swatch[aria-checked=true]{outline:2px solid var(--accent);outline-offset:2px}.editor-paper{border-radius:var(--radius);background:var(--card);box-shadow:0 1px 2px var(--shadow),0 12px 32px -16px var(--shadow);flex-direction:column;flex:1;padding:24px;transition:background .2s;display:flex}.editor-content,.editor-title{background:0 0;border:0;outline:0;width:100%}.editor-title{padding:0 0 12px;font-size:24px;font-weight:700}.editor-content{resize:none;flex:1;min-height:50dvh;font-size:16px;line-height:1.7}@media (width<=520px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}.card{height:170px;padding:14px}.brand{display:none}.editor-paper{padding:18px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
