@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600&family=Geist+Mono:wght@400;500&display=swap";.button{border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:.6rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;min-height:38px;letter-spacing:.01em;white-space:nowrap;transition:opacity var(--transition-fast),background var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.button:hover{opacity:1;transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.button__spinner{width:13px;height:13px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);border-top-color:currentColor;animation:button-spin .6s linear infinite;flex-shrink:0}.button--primary{background:linear-gradient(160deg,#2dd36f,#1e9e54);border-color:#6cdf9c6b;color:#04170b;font-weight:var(--weight-semibold);box-shadow:inset 0 1px #fff3,0 8px 22px #22c55e2e}.button--primary:hover{border-color:#8aecb08f;box-shadow:inset 0 1px #fff3,0 12px 30px #22c55e42}.button--ghost{border-color:var(--color-border-strong);background:#ffffff03;color:var(--color-text-muted)}.button--ghost:hover{opacity:1;color:var(--color-text);border-color:#ffffff3d;background:var(--color-surface-soft)}.button--danger{border-color:var(--color-danger-border);background:#f43f5e29;color:#fecdd3}.button--danger:hover{opacity:1;border-color:#fb71856b;background:#f43f5e3d}.button:focus-visible{box-shadow:0 0 0 1px #22c55eb3,0 0 0 4px #22c55e2e}.button--primary:focus-visible{box-shadow:inset 0 1px #fff3,0 8px 22px #22c55e38,0 0 0 1px #9ef1bdf2,0 0 0 4px #22c55e33}@keyframes button-spin{to{transform:rotate(360deg)}}.confirm-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:var(--space-4)}.confirm-modal__backdrop{position:absolute;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-modal__card{position:relative;width:min(480px,100%);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:linear-gradient(165deg,#141916fa,#0e1210fa);box-shadow:var(--shadow-xl);padding:var(--space-6);display:grid;gap:var(--space-4);animation:confirm-modal-enter .18s ease}.confirm-modal__title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.confirm-modal__message{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.confirm-modal__body{display:grid;gap:var(--space-3)}.confirm-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}@keyframes confirm-modal-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.confirm-modal{place-items:end;padding:var(--space-2)}.confirm-modal__card{width:100%;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-sm);animation-name:confirm-modal-enter-mobile}.confirm-modal__actions{flex-direction:column-reverse}.confirm-modal__actions .button{width:100%}}@keyframes confirm-modal-enter-mobile{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.empty-state{border:1px dashed rgba(255,255,255,.22);border-radius:var(--radius-md);padding:var(--space-10);text-align:center;display:grid;gap:var(--space-2);place-items:center;background:radial-gradient(circle at 50% 0%,rgba(34,197,94,.06),transparent 54%),#ffffff03}.empty-state__title{margin:0;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text-muted)}.empty-state__description{margin:0;color:var(--color-text-subtle);font-size:var(--text-sm);max-width:38ch}.empty-state__action{margin-top:var(--space-3)}.inline-hint{border-radius:var(--radius-sm);border:1px solid transparent;border-left-width:3px;padding:.6rem .85rem;font-size:var(--text-sm);line-height:1.5}.inline-hint--info{border-color:var(--color-accent-border);background:var(--color-accent-dim);color:#86efac}.inline-hint--success{border-color:var(--color-accent-border);background:var(--color-accent-dim);color:#bbf7d0}.inline-hint--error{border-color:var(--color-danger-border);background:var(--color-danger-dim);color:#fecdd3}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding:0 0 var(--space-4);border-bottom:1px solid var(--color-border)}.page-heading--compact{padding-bottom:var(--space-3)}.page-heading__main{min-width:0}.page-heading__action{flex-shrink:0}.page-heading__title{margin:0;font-size:clamp(var(--text-xl),2.2vw,var(--text-2xl));font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.2}.page-heading--compact .page-heading__title{font-size:clamp(var(--text-lg),1.9vw,var(--text-xl))}.page-heading__subtitle{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);max-width:56ch}.page-heading--compact .page-heading__subtitle{margin-top:var(--space-1);font-size:var(--text-xs)}@media(max-width:760px){.page-heading{flex-direction:column;align-items:stretch}.page-heading__action .button{width:100%}}.field{display:grid;gap:var(--space-2)}.field__label{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase}.field__input,.field__textarea,.field__select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#ffffff04;color:var(--color-text);font:inherit;font-size:var(--text-sm);padding:.72rem .88rem;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.field__input:hover,.field__textarea:hover,.field__select:hover{border-color:#ffffff2e}.field__input:focus,.field__textarea:focus,.field__select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-accent),0 0 0 4px #22c55e1a;background:#ffffff06}.field__input::placeholder,.field__textarea::placeholder{color:var(--color-text-subtle)}.field__input-wrap{position:relative}.field__input--with-action{padding-right:5rem}.field__action{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:#ffffff08;color:var(--color-text-muted);font-size:var(--text-xs);padding:.22rem .55rem;cursor:pointer;min-height:28px;transition:color var(--transition-fast),border-color var(--transition-fast)}.field__action:hover{color:var(--color-text);border-color:#ffffff2e;background:#ffffff0f}.field__textarea{min-height:5.5rem;resize:vertical}.field__textarea--note{min-height:56vh;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7}.context-menu{position:relative}.context-menu__summary{list-style:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:#ffffff03;color:var(--color-text-muted);min-height:30px;padding:.2rem .75rem;display:inline-flex;align-items:center;cursor:pointer;font-size:var(--text-sm);transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.context-menu__summary::-webkit-details-marker{display:none}.context-menu__summary:hover{color:var(--color-text);background:var(--color-surface-soft);border-color:#ffffff3d}.context-menu[open]>.context-menu__summary{color:var(--color-text);border-color:#5fb88d80;background:#5fb88d1f}.context-menu__summary:focus-visible{outline:none;box-shadow:0 0 0 1px #5fb88db8,0 0 0 4px #5fb88d33}.context-menu__content{position:absolute;right:0;margin-top:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:linear-gradient(170deg,#121815fa,#0d110ffa);padding:var(--space-2);display:grid;gap:var(--space-1);min-width:160px;box-shadow:var(--shadow-lg);z-index:50;animation:context-menu-enter .12s ease}@keyframes context-menu-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(165deg,#0d100ff0,#101613eb),var(--color-bg-elevated);box-shadow:var(--shadow-sm),inset 0 1px #ffffff05;padding:var(--panel-padding)}.panel__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.panel__title{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.01em}.toast-stack{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:130;display:grid;gap:var(--space-2);width:min(340px,calc(100vw - 2rem))}.toast{position:relative;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:linear-gradient(170deg,#181d1bf5,#121715f5);box-shadow:var(--shadow-lg);padding:var(--space-4) calc(var(--space-4) + 2.8rem) var(--space-4) var(--space-4);animation:toast-enter .18s ease}.toast__title{font-weight:var(--weight-medium);font-size:var(--text-sm)}.toast__description{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.toast__close{position:absolute;top:.42rem;right:.45rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:#ffffff05;color:var(--color-text-subtle);font:inherit;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;min-height:24px;padding:.16rem .46rem;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.toast__close:hover{color:var(--color-text);border-color:#fff3;background:#ffffff0f}.toast__progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffffff59;transform-origin:left center;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards}.toast--success{border-color:var(--color-accent-border)}.toast--success .toast__progress{background:#22c55ed9}.toast--error{border-color:var(--color-danger-border)}.toast--error .toast__progress{background:#f43f5ed9}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.vault-unlock-modal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:var(--space-4)}.vault-unlock-modal__backdrop{position:absolute;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.vault-unlock-modal__card{position:relative;width:min(420px,100%);display:grid;gap:var(--space-4);animation:vault-unlock-enter .18s ease}.vault-unlock-modal__subtitle{color:var(--color-text-muted);font-size:var(--text-sm)}.vault-unlock-modal__form{display:grid;gap:var(--space-3)}.vault-unlock-modal__error{color:#fecdd3;font-size:var(--text-sm);font-weight:var(--weight-medium)}.vault-unlock-modal__switch{border:none;background:transparent;color:var(--color-text-subtle);padding:0;justify-self:start;font-size:var(--text-sm);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font:inherit}.vault-unlock-modal__switch:hover{color:var(--color-text-muted)}@keyframes vault-unlock-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-shell{display:grid;gap:var(--space-4);padding:var(--space-4);min-height:100vh;align-content:start}.app-shell__skip-link{position:fixed;top:-120px;left:50%;transform:translate(-50%);z-index:120;background:var(--color-accent);color:#04140a;border-radius:var(--radius-sm);padding:.5rem .85rem;font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:top var(--transition-fast)}.app-shell__skip-link:focus-visible{top:var(--space-3)}.app-shell__header{position:sticky;top:var(--space-3);z-index:30;display:grid;grid-template-columns:minmax(220px,auto) 1fr minmax(200px,auto) auto;align-items:center;gap:var(--space-4);padding:0 var(--space-5);height:var(--header-height);border-radius:var(--radius-md);border:1px solid var(--color-border);background:linear-gradient(160deg,#0a0a0af5,#121714e6),#0a0a0ae6;box-shadow:var(--shadow-md);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app-shell__brand-wrap{min-width:0}.app-shell__brand{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.01em;margin:0}.app-shell__subtitle{color:var(--color-text-subtle);font-size:var(--text-xs);margin-top:1px}.app-shell__nav{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.app-shell__nav::-webkit-scrollbar{display:none}.app-shell__nav-link{border:1px solid transparent;border-radius:var(--radius-full);padding:.35rem .7rem;color:var(--color-text-subtle);text-decoration:none;font-size:var(--text-sm);min-height:32px;display:inline-flex;align-items:center;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.app-shell__nav-link:hover{color:var(--color-text);background:#ffffff0f;text-decoration:none}.app-shell__nav-link--active{color:#dafbe7;border-color:#5fb88d73;background:#22c55e2e}.app-shell__user-wrap{min-width:0;justify-self:end;display:grid;gap:.18rem;justify-items:end}.app-shell__user{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--color-text-subtle);font-family:var(--font-mono);letter-spacing:.02em}.app-shell__vault-state{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#fca5a5;border:1px solid rgba(244,63,94,.35);border-radius:var(--radius-full);padding:.1rem .5rem;background:#f43f5e1f}.app-shell__vault-state--ready{color:#bbf7d0;border-color:#22c55e5c;background:#22c55e1c}.app-shell__actions{display:flex;gap:var(--space-2);align-items:center}.app-shell__main{display:grid;gap:var(--space-4);width:min(var(--layout-max-width),100%);margin-inline:auto}.app-shell__mobile-nav{display:none}@media(max-width:1100px){.app-shell__header{grid-template-columns:1fr auto;height:auto;padding:var(--space-3) var(--space-4);position:static}.app-shell__subtitle{display:none}.app-shell__nav{grid-column:1 / -1;order:3}.app-shell__user-wrap{display:none}.app-shell__actions{justify-content:flex-end}}@media(max-width:760px){.app-shell{padding:var(--space-3);padding-bottom:calc(var(--bottom-nav-height) + var(--space-3) + env(safe-area-inset-bottom))}.app-shell__header{position:static;gap:var(--space-3);padding:var(--space-3);min-height:var(--header-height);height:auto}.app-shell__actions{grid-column:1 / -1;justify-content:end}.app-shell__actions .button{flex:0}.app-shell__nav{display:none}.app-shell__mobile-nav{position:fixed;left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:35;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:linear-gradient(170deg,#0a0c0bf5,#0f1412f0),var(--color-bg-elevated);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:var(--space-2);box-shadow:var(--shadow-float)}.app-shell__mobile-nav-link{min-height:42px;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--color-text-subtle);font-size:var(--text-xs);display:grid;place-items:center;text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.app-shell__mobile-nav-link--active{color:#dcfce7;border-color:#5fb88d7a;background:#22c55e2e}.app-shell__mobile-nav-link:hover{color:var(--color-text);background:#ffffff14;text-decoration:none}}.board-hub{display:grid;gap:var(--space-4)}.board-hub__summary{margin:0;color:var(--color-text-subtle);font-size:var(--text-xs);font-family:var(--font-mono)}.board-hub__composer-form{display:grid;gap:var(--space-3)}.board-hub__composer-actions{display:flex;gap:var(--space-2)}.board-hub__grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.board-hub__filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:var(--space-3)}.board-hub__card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:linear-gradient(165deg,#0c110feb,#111815e0);padding:var(--space-4);display:grid;gap:var(--space-2);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.board-hub__card:hover{border-color:#5fb88d73;transform:translateY(-1px);box-shadow:0 10px 28px #050a0873}.board-hub__title{margin:0}.board-hub__meta{margin:0;font-size:.84rem;color:var(--color-text-muted)}.board-hub__actions{margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}@media(max-width:700px){.board-hub__filters{grid-template-columns:1fr}.board-hub__composer-actions,.board-hub__actions{flex-direction:column;align-items:stretch}.board-hub__actions .button{width:100%}}.board-workspace{display:grid;gap:var(--space-5)}.board-workspace__header-actions{display:flex;align-items:center;gap:var(--space-2)}.board-workspace__lists{display:grid;gap:var(--space-4);grid-auto-flow:column;grid-auto-columns:minmax(270px,320px);overflow-x:auto;align-items:start;padding-bottom:var(--space-1)}.board-workspace__list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(165deg,#111513f2,#0d100ef2);padding:var(--space-4);display:grid;gap:var(--space-3);min-height:220px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.board-workspace__list--drop-end{border-color:#5fb88d70;box-shadow:inset 0 0 0 1px #5fb88d40}.board-workspace__list--dragging{opacity:.55;border-style:dashed}.board-workspace__list--drop-target{border-color:#5fb88d99;box-shadow:inset 0 0 0 1px #5fb88d4d}.board-workspace__list-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.board-workspace__list-head-left{display:inline-flex;align-items:center;gap:var(--space-2)}.board-workspace__list-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:var(--space-2)}.board-workspace__list-count{border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.16);padding:.04rem .4rem;color:var(--color-text-subtle);font-size:.66rem;font-family:var(--font-mono)}.board-workspace__list-drag-handle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#ffffff08;color:var(--color-text-subtle);display:inline-flex;align-items:center;gap:.3rem;font:inherit;font-size:var(--text-xs);cursor:grab;padding:.2rem .5rem;touch-action:none}.board-workspace__list-drag-handle:active{cursor:grabbing}.board-workspace__card-title{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:-.01em}.board-workspace__card--done .board-workspace__card-title{text-decoration:line-through;color:var(--color-text-subtle)}.board-workspace__cards{display:grid;gap:var(--space-2)}.board-workspace__card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-3);display:grid;gap:var(--space-2);transition:border-color var(--transition-fast),background var(--transition-fast);cursor:pointer;touch-action:pan-y}.board-workspace__card--done{border-color:#5fb88d5c;background:#5fb88d1a}.board-workspace__card:hover{border-color:var(--color-border-strong);background:var(--color-surface-soft)}.board-workspace__card--dragging{opacity:.45;border-style:dashed}.board-workspace__card--drop-target{border-color:#5fb88d8c;box-shadow:0 0 0 1px #5fb88d33}.board-workspace__drop-indicator{border:1px dashed rgba(95,184,141,.5);border-radius:var(--radius-sm);min-height:46px;background:#22c55e14}.board-workspace__list-drop-indicator{border:1px dashed rgba(95,184,141,.6);border-radius:var(--radius-md);min-height:180px;background:#22c55e14}.board-workspace__card-desc{color:var(--color-text-muted);font-size:var(--text-sm);white-space:pre-wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.5}.board-workspace__card-desc--expanded{display:block;-webkit-line-clamp:unset}.board-workspace__card-check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-subtle)}.board-workspace__card-check input{width:.9rem;height:.9rem}.board-workspace__card-check--modal{margin-top:var(--space-2)}.board-workspace__state-toggle{border:1px solid transparent;border-radius:var(--radius-full);justify-self:start;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:.2rem .55rem;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.board-workspace__state-toggle--todo{border-color:#fff3;background:#ffffff0d;color:var(--color-text-subtle)}.board-workspace__state-toggle--done{border-color:#5fb88d80;background:#5fb88d33;color:#d4ffe8}.board-workspace__expand{border:none;background:transparent;color:var(--color-text-subtle);cursor:pointer;padding:0;justify-self:start;font:inherit;font-size:var(--text-xs);transition:color var(--transition-fast)}.board-workspace__expand:hover{color:var(--color-text-muted)}.board-workspace__card-actions,.board-workspace__composer-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.board-workspace__composer{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-3);display:grid;gap:var(--space-3)}.board-workspace__add-card-inline{border:none;background:transparent;color:var(--color-text-subtle);font:inherit;font-size:var(--text-sm);cursor:pointer;justify-self:start;padding:.15rem .1rem;transition:color var(--transition-fast)}.board-workspace__add-card-inline:hover{color:var(--color-text-muted)}@media(max-width:760px){.board-workspace__lists{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:1fr;overflow-x:visible}.board-workspace__list-head{align-items:center}.board-workspace__list-drag-handle span:last-child{display:none}}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);border:1px solid transparent;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:.2rem .55rem;min-height:22px;letter-spacing:.02em}.badge--neutral{border-color:var(--color-border-strong);color:var(--color-text-muted)}.badge--success{border-color:var(--color-accent-border);background:var(--color-accent-dim);color:#86efac}.badge--warning{border-color:var(--color-warning-border);background:var(--color-warning-dim);color:#fde68a}.badge--danger{border-color:var(--color-danger-border);background:var(--color-danger-dim);color:#fecdd3}.badge--info{border-color:#3b82f64d;background:var(--blue-dim);color:#93c5fd}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08,#ffffff14,#ffffff08);background-size:200% 100%;animation:skeleton-shimmer 1.25s ease infinite;min-height:48px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.workspace-tabs{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);width:fit-content;box-shadow:inset 0 1px #ffffff0a}.workspace-tabs__tab{border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-subtle);font:inherit;font-size:var(--text-sm);min-height:32px;padding:.25rem .75rem;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.workspace-tabs__tab:hover{color:var(--color-text-muted);background:var(--color-surface)}.workspace-tabs__tab--active{border-color:#5fb88d61;background:#22c55e29;color:#dcfce7}.workspace-head{display:grid;gap:var(--space-3)}.workspace-head__stats{display:flex;flex-wrap:wrap;gap:var(--space-2)}.workspace-head__stat{border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-surface);padding:.2rem .65rem;font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.files-page__upload-form,.files-page__list,.files-page__items,.files-page__shares{display:grid;gap:var(--space-3)}.files-page__manage-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:var(--space-3)}.files-page__mode-help{color:var(--color-text-subtle);font-size:var(--text-sm)}.files-page__share-setup{display:grid;gap:var(--space-3);padding-top:var(--space-1)}.files-page__share-created{margin-top:var(--space-4);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--color-accent-dim);padding:var(--space-3) var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.files-page__share-created-text{font-size:var(--text-sm);font-family:var(--font-mono);word-break:break-all;color:#86efac}.files-page__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(165deg,#111613f2,#0c100ef0);padding:var(--space-4);display:grid;gap:var(--space-3);transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.files-page__item:hover{border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:0 10px 26px #04080670}.files-page__item-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.files-page__item-title{font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:-.01em}.files-page__item-meta{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.files-page__item-meta--subtle{color:var(--color-text-subtle)}.files-page__details{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.files-page__details-summary{color:var(--color-text-subtle);cursor:pointer;font-size:var(--text-sm);transition:color var(--transition-fast)}.files-page__details-summary:hover{color:var(--color-text-muted)}.files-page__share-create{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#ffffff05;padding:var(--space-3);display:grid;gap:var(--space-3)}.files-page__collapsible{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#ffffff04;overflow:hidden}.files-page__actions{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:#ffffff03}.files-page__actions-summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.files-page__actions-summary::-webkit-details-marker{display:none}.files-page__actions-summary:hover{background:#ffffff08}.files-page__actions-content{display:grid;gap:var(--space-3);padding:0 var(--space-3) var(--space-3)}.files-page__collapsible-summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.files-page__collapsible-summary::-webkit-details-marker{display:none}.files-page__collapsible-summary:hover{background:#ffffff08}.files-page__collapsible[open]>.files-page__collapsible-summary{border-bottom:1px solid var(--color-border)}.files-page__collapsible>.files-page__share-create,.files-page__collapsible>.files-page__shares{margin:0;border:none;border-radius:0;background:transparent}.files-page__share-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);align-items:end}.files-page__share-labels-row{grid-column:1 / -1;display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.files-page__share-labels-row>.field{flex:1 1 220px}.files-page__share-labels-row>.files-page__share-toggle-line{flex:0 0 auto;min-width:220px}.files-page__share-toggle-line{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0;min-height:40px;padding:.25rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#ffffff03}.files-page__share-toggle-line-text{min-width:0;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-page__share-toggle-line-label{text-transform:none;letter-spacing:0;margin:0;white-space:nowrap}.files-page__share-toggle-switch{position:relative;width:38px;height:22px;flex-shrink:0}.files-page__share-toggle-input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.files-page__share-toggle-ui{display:block;width:100%;height:100%;border-radius:999px;border:1px solid var(--color-border-strong);background:#94a3b847;transition:background var(--transition-fast),border-color var(--transition-fast)}.files-page__share-toggle-ui:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#f8fafc;box-shadow:0 1px 3px #02061759;transition:transform var(--transition-fast)}.files-page__share-toggle-input:checked+.files-page__share-toggle-ui{background:#22c55e6b;border-color:#2dbf72b3}.files-page__share-toggle-input:checked+.files-page__share-toggle-ui:after{transform:translate(16px)}.files-page__share-toggle-input:focus-visible+.files-page__share-toggle-ui{box-shadow:0 0 0 3px #2dbf7224}.files-page__share-submit{justify-self:start}.files-page__share{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-3) var(--space-4);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.files-page__skeletons{display:grid;gap:var(--space-3)}.files-page__skeleton{min-height:120px}@media(max-width:760px){.files-page__manage-filters{grid-template-columns:1fr}.files-page__item-head,.files-page__share-created,.files-page__collapsible-summary,.files-page__actions-summary{flex-direction:column;align-items:flex-start}.files-page__share-create-grid{grid-template-columns:1fr}}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(circle at 10% 10%,rgba(34,197,94,.08),transparent 45%),radial-gradient(circle at 85% 15%,rgba(59,130,246,.06),transparent 38%),var(--color-bg)}.auth-layout__card{width:min(440px,100%);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(160deg,#0d100ff5,#131b17eb);box-shadow:var(--shadow-lg);padding:var(--space-8)}.auth-layout__eyebrow{margin:0 0 var(--space-2);color:#bbf7d0;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-mono)}.auth-layout__title{margin:0;font-size:clamp(var(--text-xl),2.6vw,var(--text-2xl));font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.2}.auth-layout__subtitle{margin:var(--space-2) 0 var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm)}.auth-layout__foot{margin-top:var(--space-5);color:var(--color-text-subtle);font-size:var(--text-sm)}@media(max-width:640px){.auth-layout{padding:var(--space-4);align-items:start;padding-top:var(--space-10)}.auth-layout__card{padding:var(--space-6);border-radius:var(--radius-md)}}.auth-form{display:grid;gap:var(--space-4)}.auth-form__error{color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-medium)}.notes-panel__grid{display:grid;grid-template-columns:300px 1fr;gap:var(--space-4);align-items:start}.notes-panel__mobile-switch{display:none}.notes-panel__sidebar-wrap{display:grid;gap:var(--space-3);position:sticky;top:calc(var(--header-height) + var(--space-6))}.notes-panel__filters{display:grid;gap:var(--space-2)}.notes-panel__sidebar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(165deg,#111513f2,#0c0f0df2);padding:var(--space-2);max-height:65vh;overflow-y:auto;display:grid;gap:var(--space-1);scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.notes-panel__note-link{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-align:left;padding:var(--space-3);display:grid;gap:2px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.notes-panel__note-link:hover{background:var(--color-surface);border-color:var(--color-border)}.notes-panel__note-link--active{background:#22c55e24;border-color:#5fb88d5c}.notes-panel__note-title{font-weight:var(--weight-medium);font-size:var(--text-sm);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-panel__note-date{font-size:var(--text-xs);color:var(--color-text-subtle);font-family:var(--font-mono)}.notes-panel__editor-wrap{display:grid;gap:var(--space-3)}.notes-panel__summary{margin:0;color:var(--color-text-subtle);font-family:var(--font-mono);font-size:var(--text-xs)}.notes-panel__toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.notes-panel__mobile-back{display:none}.notes-panel__status{margin-left:auto;font-size:var(--text-xs);color:var(--color-text-subtle);font-family:var(--font-mono)}.notes-panel__status--saved{color:var(--color-accent)}.notes-panel__status--saving{color:var(--color-text-muted)}.notes-panel__status--error{color:var(--color-danger)}.notes-panel__metrics{margin:0;color:var(--color-text-subtle);font-size:var(--text-xs);font-family:var(--font-mono)}.notes-panel__preview{min-height:56vh;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:var(--space-5);overflow:auto;font-size:var(--text-sm);line-height:1.7}.notes-panel__skeleton{min-height:48px}.notes-page__share-panel{margin-top:var(--space-4)}.notes-page__share-grid{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(160px,220px) auto;align-items:end}@media(max-width:860px){.notes-panel__mobile-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1);background:#ffffff05}.notes-panel__mobile-tab{border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-subtle);font:inherit;font-size:var(--text-xs);min-height:34px;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.notes-panel__mobile-tab:hover:not(:disabled){color:var(--color-text);background:#ffffff0f}.notes-panel__mobile-tab--active{color:#dcfce7;border-color:#5fb88d59;background:#22c55e26}.notes-panel__mobile-tab:disabled{opacity:.45;cursor:not-allowed}.notes-panel__grid{grid-template-columns:1fr}.notes-panel__sidebar-wrap{position:static}.notes-panel__sidebar{max-height:40vh}.notes-panel__mobile-back{display:inline-flex}.notes-panel__grid--mobile-list .notes-panel__editor-wrap,.notes-panel__grid--mobile-editor .notes-panel__sidebar-wrap{display:none}.notes-page__share-grid{grid-template-columns:1fr}}.share-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-6)}.share-page__card{width:min(760px,100%);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(160deg,#0b100ef7,#131c18f7);box-shadow:var(--shadow-float);padding:var(--space-6);display:grid;gap:var(--space-4)}.share-page__title{margin:0}.share-page__subtitle{margin:0;color:var(--color-text-muted)}.share-page__meta{margin:var(--space-4) 0;display:grid;gap:var(--space-1)}.share-page__error{margin:0;color:var(--color-danger)}.share-page__password-box{display:grid;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:#ffffff05}.share-page__direct-note,.share-page__back{margin-top:var(--space-4)}.settings-page{display:grid;gap:var(--space-4);max-width:780px}.settings-page__text{margin:0;color:var(--color-text-muted)}.settings-page__form{display:grid;gap:var(--space-4)}.settings-page__toggle{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text)}.settings-page__toggle input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-accent)}.settings-page__danger-preferences{display:grid;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.settings-page__subheading{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.settings-page__key-section{display:grid;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.settings-page__key-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.settings-page__key-output{font-family:var(--font-mono);word-break:break-all}:root{--black: #000000;--black-1: #060606;--black-2: #0a0a0a;--black-3: #111111;--black-4: #161616;--black-5: #1c1c1c;--white: #ffffff;--white-1: #f5f5f5;--white-2: #e8e8e8;--white-3: #c4c4c4;--white-4: #8a8a8a;--white-5: #555555;--green: #22c55e;--green-dim: rgba(34, 197, 94, .14);--green-border: rgba(34, 197, 94, .28);--green-glow: rgba(34, 197, 94, .06);--red: #f43f5e;--red-dim: rgba(244, 63, 94, .12);--red-border: rgba(244, 63, 94, .28);--amber: #f59e0b;--amber-dim: rgba(245, 158, 11, .12);--amber-border: rgba(245, 158, 11, .28);--blue: #3b82f6;--blue-dim: rgba(59, 130, 246, .12);--color-bg: var(--black-1);--color-bg-elevated: var(--black-2);--color-surface: var(--black-3);--color-surface-soft: var(--black-4);--color-surface-raised: var(--black-5);--color-border: rgba(255, 255, 255, .06);--color-border-soft: rgba(255, 255, 255, .04);--color-border-strong: rgba(255, 255, 255, .12);--color-border-focus: rgba(34, 197, 94, .5);--color-accent: var(--green);--color-accent-dim: var(--green-dim);--color-accent-border: var(--green-border);--color-accent-glow: var(--green-glow);--color-danger: var(--red);--color-danger-dim: var(--red-dim);--color-danger-border: var(--red-border);--color-warning: var(--amber);--color-warning-dim: var(--amber-dim);--color-warning-border: var(--amber-border);--color-text: var(--white-1);--color-text-muted: var(--white-4);--color-text-subtle: var(--white-5);--color-text-accent: var(--green);--font-base: "Geist", "SF Pro Display", -apple-system, sans-serif;--font-mono: "Geist Mono", "SF Mono", monospace;--text-xs: .72rem;--text-sm: .84rem;--text-base: .95rem;--text-md: 1.05rem;--text-lg: 1.2rem;--text-xl: 1.5rem;--text-2xl: 1.9rem;--text-3xl: 2.4rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--layout-max-width: 1280px;--panel-padding: var(--space-5);--header-height: 64px;--bottom-nav-height: 72px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6);--shadow-xl: 0 24px 72px rgba(0, 0, 0, .7);--shadow-float: 0 16px 48px rgba(0, 0, 0, .55);--shadow-accent: 0 0 0 1px var(--color-border-focus);--transition-fast: .1s ease;--transition-base: .16s ease;--transition-slow: .28s ease;--background-orb-1: rgba(34, 197, 94, .11);--background-orb-2: rgba(59, 130, 246, .07);--background-orb-3: rgba(34, 197, 94, .05);--selection-bg: rgba(34, 197, 94, .35)}:root[data-accent-theme=blue]{--color-accent: #38bdf8;--color-accent-dim: rgba(56, 189, 248, .14);--color-accent-border: rgba(56, 189, 248, .33);--color-accent-glow: rgba(56, 189, 248, .08);--color-text-accent: #38bdf8;--color-border-focus: rgba(56, 189, 248, .54);--background-orb-1: rgba(56, 189, 248, .13);--background-orb-2: rgba(59, 130, 246, .12);--background-orb-3: rgba(56, 189, 248, .06);--selection-bg: rgba(56, 189, 248, .35)}:root[data-accent-theme=amber]{--color-accent: #f59e0b;--color-accent-dim: rgba(245, 158, 11, .15);--color-accent-border: rgba(245, 158, 11, .35);--color-accent-glow: rgba(245, 158, 11, .08);--color-text-accent: #fbbf24;--color-border-focus: rgba(245, 158, 11, .56);--background-orb-1: rgba(245, 158, 11, .13);--background-orb-2: rgba(251, 146, 60, .1);--background-orb-3: rgba(245, 158, 11, .06);--selection-bg: rgba(245, 158, 11, .35)}:root[data-accent-theme=rose]{--color-accent: #f43f5e;--color-accent-dim: rgba(244, 63, 94, .14);--color-accent-border: rgba(244, 63, 94, .33);--color-accent-glow: rgba(244, 63, 94, .08);--color-text-accent: #fb7185;--color-border-focus: rgba(244, 63, 94, .56);--background-orb-1: rgba(244, 63, 94, .12);--background-orb-2: rgba(236, 72, 153, .1);--background-orb-3: rgba(244, 63, 94, .06);--selection-bg: rgba(244, 63, 94, .35)}html{color-scheme:dark;scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font-base);font-size:var(--text-base);color:var(--color-text);line-height:1.6;background:radial-gradient(circle at 10% 0%,var(--background-orb-1),transparent 40%),radial-gradient(circle at 90% 15%,var(--background-orb-2),transparent 35%),radial-gradient(circle at 50% 100%,var(--background-orb-3),transparent 52%),var(--color-bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:var(--selection-bg);color:var(--white)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border-radius:999px;background:#ffffff26}*::-webkit-scrollbar-thumb:hover{background:#ffffff3d}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:1px solid var(--color-border-focus);outline-offset:2px}.loading-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:var(--space-3);color:var(--color-text-subtle);font-size:var(--text-sm);letter-spacing:.04em}.loading-screen__spinner{width:22px;height:22px;border-radius:999px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--color-accent);animation:app-loading-spin .7s linear infinite}.loading-screen__text{font-size:var(--text-xs);text-transform:uppercase}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
