:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-text:#1c2128;--color-text-muted:#57606a;--color-border:#e2e5e9;--color-accent:#1f5f4f;--color-accent-hover:#164539;--shadow-card:0 1px 2px #14181e0f, 0 1px 1px #14181e0a;--shadow-note:0 2px 6px #14181e1f, 0 1px 2px #14181e14;--radius:8px}@media (prefers-color-scheme:dark){:root{--color-bg:#14171c;--color-surface:#1b1f26;--color-text:#e6e8eb;--color-text-muted:#9aa4af;--color-border:#2b3038;--color-accent:#4fb693;--color-accent-hover:#6fcaab;--shadow-card:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow-note:0 2px 8px #00000073, 0 1px 2px #0000004d}}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}button{font-family:inherit}a{color:var(--color-accent)}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.app-header h1{letter-spacing:-.01em;margin:0;font-size:1.15rem}.app-header .subtitle{color:var(--color-text-muted);font-size:.85rem}.header-actions{align-items:center;gap:1rem;display:flex}.demo-banner{color:#78350f;background:#fef3c7;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:600}.demo-banner-link{font:inherit;color:#78350f;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.demo-banner-link:hover{color:#5a2a09}.btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);cursor:pointer;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.btn:hover{border-color:var(--color-accent)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);text-align:center;width:100%;max-width:360px;padding:2rem}.login-card h1{margin:0 0 .3rem;font-size:1.3rem}.login-card p{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.9rem}.login-card input{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);margin-bottom:.75rem;padding:.6rem .75rem;font-size:.95rem}.login-card .btn-primary{width:100%;padding:.6rem}.login-status{color:var(--color-text-muted);margin-top:1rem;font-size:.85rem}.login-error{color:#b42318;margin-top:1rem;font-size:.85rem}.login-demo-link{margin-top:1.25rem;margin-bottom:0;font-size:.8rem}.board{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;min-height:calc(100vh - 65px);padding:1.5rem;display:flex}.deck-column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;flex:0 0 320px;max-height:calc(100vh - 100px);display:flex;position:relative}.deck-resize-handle{z-index:2;cursor:nwse-resize;color:#1c212859;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:flex-end;width:20px;height:20px;padding:3px 4px;font-size:.95rem;line-height:1;display:flex;position:absolute;bottom:0;right:0}.deck-resize-handle:hover{color:var(--color-accent)}.deck-reset-size{z-index:2;background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text-muted);cursor:pointer;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.9rem;line-height:1;position:absolute;bottom:.4rem;left:.6rem}.deck-reset-size:hover{color:var(--color-text)}.deck-column-header{align-items:center;gap:.35rem;padding:.85rem 1rem .5rem;display:flex}.deck-toggle-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.2rem;font-size:.7rem}.deck-toggle-btn:hover{color:var(--color-accent)}.deck-column-header h2{cursor:pointer;flex:1;align-items:center;gap:.5rem;min-width:0;margin:0;font-size:.95rem;display:flex}.deck-color-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.deck-note-count{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.deck-delete-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.85rem}.deck-delete-btn:hover{color:#b42318}.deck-notes{flex-direction:column;flex:1;gap:.6rem;min-height:60px;padding:.25rem .75rem .75rem;display:flex;overflow-y:auto}.deck-add-note{text-align:left;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.6rem 1rem .85rem;font-size:.85rem}.deck-add-note:hover{color:var(--color-accent)}.deck-stack{cursor:pointer;min-height:80px;margin:.5rem 1rem 1.5rem;position:relative}.deck-stack-layer{background:var(--note-color,#fde68a);box-shadow:var(--shadow-note);transform:rotate(calc(var(--layer,1) * -3deg)) translate(calc(var(--layer,1) * -4px), calc(var(--layer,1) * 5px));opacity:calc(1 - var(--layer,1) * .12);border-radius:10px;position:absolute;inset:0}.deck-stack-top{background:var(--note-color,#fde68a);box-shadow:var(--shadow-note);aspect-ratio:5/7;color:#1c2128;border-radius:10px;min-height:80px;padding:.75rem;font-size:.85rem;position:relative}.deck-stack-top p{margin:0}.deck-stack-empty{color:#1c21288c;font-style:italic}.deck-stack:hover .deck-stack-top{filter:brightness(.97)}.add-deck-menu{position:relative}.add-deck-trigger.active{border-color:var(--color-accent);color:var(--color-accent)}.add-deck-form{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:220px;box-shadow:var(--shadow-card);padding:.85rem;position:absolute;top:calc(100% + .5rem);right:0}.add-deck-form input[type=text]{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);margin-bottom:.6rem;padding:.5rem .6rem;font-size:.9rem}.color-swatches{gap:.4rem;margin-bottom:.75rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px}.color-swatch.selected{border-color:var(--color-text)}.sticky-note{background:var(--note-color,#fde68a);box-shadow:var(--shadow-note);color:#1c2128;cursor:grab;aspect-ratio:5/7;perspective:1200px;border-radius:10px;min-height:70px;position:relative}.sticky-note.dragging{opacity:.5}.sticky-note-handle{z-index:2;cursor:grab;color:#1c212866;touch-action:none;font-size:.8rem;line-height:1;position:absolute;top:.35rem;right:.5rem}.sticky-note-handle:active{cursor:grabbing}.sticky-note-resize-handle{z-index:2;cursor:nwse-resize;color:#1c212859;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:flex-end;width:18px;height:18px;padding:2px 3px;font-size:.85rem;line-height:1;display:flex;position:absolute;bottom:0;right:0}.sticky-note-resize-handle:hover{color:#1c2128bf}.sticky-note-reset-size{z-index:2;color:#1c212899;cursor:pointer;background:#ffffffb3;border:none;border-radius:4px;padding:.15rem .35rem;font-size:.9rem;line-height:1;position:absolute;bottom:.3rem;left:.4rem}.sticky-note-reset-size:hover{color:#1c2128;background:#ffffffe6}.note-flip-inner{transform-style:preserve-3d;transition:transform .5s;position:absolute;inset:0}.note-flip-inner.flipped{transform:rotateY(180deg)}.note-face{backface-visibility:hidden;background:var(--note-color,#fde68a);border-radius:10px;flex-direction:column;padding:.75rem .75rem .5rem;display:flex;position:absolute;inset:0;overflow:hidden}.note-face-back{transform:rotateY(180deg)}.note-flip-btn{color:#1c2128bf;cursor:pointer;background:#1c212814;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .45rem;font-size:.75rem;font-weight:700;line-height:1}.note-flip-btn:hover{background:#1c212829}.note-back-header{align-items:flex-start;gap:.4rem;margin-bottom:.35rem;display:flex}.note-back-header .note-flip-btn{margin-top:.1rem}.note-back-title{white-space:pre-wrap;overflow-wrap:break-word;min-width:0;font-size:.85rem;font-weight:700}.note-toolbar{flex-wrap:wrap;gap:.15rem;margin-bottom:.35rem;padding-right:1.1rem;display:flex}.note-toolbar-btn{color:#1c2128bf;cursor:pointer;background:#1c212814;border:none;border-radius:4px;padding:.25rem .4rem;font-size:.7rem;font-weight:600;line-height:1}.note-toolbar-btn:hover{background:#1c212829}.note-toolbar-btn.active{color:#1c2128;background:#1c212852}.note-toolbar-bold{font-weight:800}.note-toolbar-italic{font-style:italic}.note-toolbar-underline{text-decoration:underline}.note-toolbar-strike{text-decoration:line-through}.note-editor{min-height:50px;color:inherit;cursor:text;flex:1;font-size:.9rem;overflow-y:auto}.note-editor .tiptap{outline:none;min-height:50px}.note-editor .tiptap p{margin:0 0 .4em}.note-editor .tiptap p:last-child{margin-bottom:0}.note-editor .tiptap ul:not([data-type=taskList]){margin:0 0 .4em;padding-left:1.1em}.note-editor .tiptap ul[data-type=taskList]{margin:0 0 .4em;padding:0;list-style:none}.note-editor .tiptap ul[data-type=taskList] li{align-items:flex-start;gap:.4em;display:flex}.note-editor .tiptap ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;margin-top:.2em}.note-editor .tiptap ul[data-type=taskList] li>div{flex:1}.note-editor .tiptap ul[data-type=taskList] li[data-checked=true]>div{opacity:.6;text-decoration:line-through}.sticky-note-footer{justify-content:flex-end;gap:.75rem;display:flex}.sticky-note-archive,.sticky-note-delete{color:#1c21288c;cursor:pointer;background:0 0;border:none;padding:.15rem .3rem;font-size:.75rem}.sticky-note-archive:hover{color:#1c2128}.sticky-note-delete:hover{color:#b42318}.note-back-footer{flex-shrink:0;justify-content:flex-end;margin-top:.4rem;display:flex}.note-back-archive{color:#1c21288c;cursor:pointer;background:0 0;border:none;padding:.15rem .3rem;font-size:.75rem}.note-back-archive:hover{color:#1c2128}.note-title-input{width:100%;color:inherit;background:0 0;border:none;border-bottom:1px solid #1c212826;flex-shrink:0;margin-bottom:.3rem;padding:0 1rem .35rem 0;font-family:inherit;font-size:.95rem;font-weight:700}.note-title-input::placeholder{color:#1c212866;font-weight:600}.note-title-input:focus{border-bottom-color:#1c212866;outline:none}.item-list{flex-direction:column;flex:1;gap:.3rem;padding-top:.15rem;padding-right:.9rem;display:flex;overflow-y:auto}.item-row{align-items:flex-start;gap:.35rem;display:flex}.item-row.dragging{opacity:.5}.item-drag-handle{cursor:grab;color:#1c21284d;touch-action:none;opacity:0;flex-shrink:0;margin-top:.1rem;padding:.25rem .1rem;font-size:.75rem;line-height:1;transition:opacity .15s}.item-row:hover .item-drag-handle,.item-drag-handle:focus{opacity:1}.item-drag-handle:active{cursor:grabbing}.item-checkbox{cursor:pointer;flex-shrink:0;margin-top:.3rem}.item-text{resize:none;overflow-wrap:break-word;min-width:0;color:inherit;background:0 0;border:none;flex:1;padding:.2rem 0;font-family:inherit;font-size:.85rem;line-height:1.35;overflow:hidden}.item-text:focus{outline:none}.item-text.checked{opacity:.6;text-decoration:line-through}.item-flip-btn,.item-delete-btn{color:#1c212873;cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;margin-top:.1rem;padding:.2rem .35rem;font-size:1.2rem;font-weight:700;line-height:1;transition:opacity .15s}.item-row:hover .item-flip-btn,.item-row:hover .item-delete-btn,.item-flip-btn:focus,.item-delete-btn:focus{opacity:1}.item-flip-btn:hover{color:#1c2128}.item-delete-btn:hover{color:#b42318}.item-add-btn{text-align:left;color:#1c21288c;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.4rem 0 .2rem;font-size:.8rem}.item-add-btn:hover{color:#1c2128}.archived-section{border-top:1px dashed #1c212826;flex-shrink:0;margin-top:.3rem;padding-top:.3rem}.archived-toggle{color:#1c21288c;cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:.1rem 0;font-size:.8rem}.archived-toggle:hover{color:#1c2128}.archived-list{flex-direction:column;gap:.2rem;max-height:140px;margin-top:.3rem;display:flex;overflow-y:auto}.archived-row{color:#1c21288c;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.archived-row-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-decoration:line-through;overflow:hidden}.archived-restore-btn,.archived-delete-btn{color:#1c212880;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.1rem .25rem;font-size:1rem;line-height:1}.archived-restore-btn:hover{color:var(--color-accent)}.archived-delete-btn:hover{color:#b42318}
