@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@500&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141312;--surface:#1e1c1a;--surface-2:#191716;--border:#353230;--text:#ebe6de;--muted:#95918b;--paper:#ebe4d6;--paper-ink:#1a1814;--danger:#c45c5c;--ok:#8aa384;--radius:1px;--font:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--ease-out:cubic-bezier(.23, 1, .32, 1);--duration:.14s;--z-sticky:100;--z-dropdown:1000;--z-overlay:1100;--z-modal:1200;--z-toast:1400}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border) transparent}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-corner{background:0 0}a{color:var(--text)}.app-shell{flex-direction:column;max-width:none;min-height:100dvh;margin:0;padding:0;display:flex}.app-shell:has(.page-library){height:100dvh;max-height:100dvh;overflow:hidden}.app-header{border-bottom:1px solid var(--border);background:var(--bg);min-height:3rem;z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1.5rem;display:flex;position:sticky;top:0}.app-header-brand{align-items:center;gap:1.5rem;min-width:0;display:flex}.app-logo{letter-spacing:-.01em;text-transform:none;font-size:.95rem;font-weight:600;font-family:var(--font);color:var(--text);white-space:nowrap;margin:0;text-decoration:none}.app-nav{gap:.25rem;display:flex}.app-nav a{color:var(--muted);border-radius:var(--radius);min-height:2.5rem;transition:color var(--duration) var(--ease-out);align-items:center;padding:.4rem .65rem;font-size:.9rem;font-weight:450;text-decoration:none;display:inline-flex}.app-nav a:focus-visible{outline:1px solid var(--paper);outline-offset:2px}.app-nav a.active{color:var(--text);box-shadow:inset 0 -1px 0 var(--text);background:0 0;font-weight:600}.app-header-tools{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.app-footer{border-top:1px solid var(--border);background:var(--bg);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem 1.25rem;padding:.55rem 1.5rem;display:flex}.app-footer-copy{letter-spacing:.01em;color:color-mix(in srgb, var(--muted) 88%, var(--bg));margin:0;font-size:.72rem;font-weight:450}.app-footer-links{flex-wrap:wrap;align-items:center;gap:.15rem;display:flex}.app-footer-links a{color:color-mix(in srgb, var(--muted) 88%, var(--bg));border-radius:var(--radius);padding:.2rem .45rem;font-size:.72rem;font-weight:450;text-decoration:none}.app-footer-links a:hover{color:var(--text)}.app-footer-links a:focus-visible{outline:1px solid var(--paper);outline-offset:2px}.app-footer-links a.active{color:var(--text)}@media (width<=520px){.app-footer{text-align:center;flex-direction:column;justify-content:center;gap:.35rem}}.workspace-switch{align-items:center;gap:.4rem;margin:0;display:flex}.workspace-switch-label,.lang-switch-label{letter-spacing:0;text-transform:none;font-size:.8rem;font-weight:500;font-family:var(--font);color:var(--muted);white-space:nowrap}.lang-switch{align-items:center;gap:.4rem;margin:0;display:flex}.pv-select{vertical-align:middle;display:inline-flex;position:relative}.pv-select-field{width:100%;display:block}.pv-select-trigger{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--font);cursor:pointer;text-align:left;transition:border-color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out);justify-content:space-between;align-items:center;gap:.55rem;margin:0;font-weight:450;display:inline-flex}.pv-select-compact .pv-select-trigger{min-width:7.5rem;min-height:2.25rem;padding:.3rem .55rem .3rem .6rem;font-size:.85rem}.pv-select-field .pv-select-trigger{width:100%;min-height:2.6rem;padding:.5rem .65rem;font-size:1rem}.pv-select-trigger:hover:not(:disabled){border-color:var(--muted)}.pv-select-trigger:focus-visible{outline:1px solid var(--paper);outline-offset:1px;border-color:var(--muted)}.pv-select-open .pv-select-trigger{border-color:var(--muted)}.pv-select-trigger:disabled{opacity:.5;cursor:not-allowed}.pv-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pv-select-chevron{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:.45rem;height:.45rem;transition:transform var(--duration) var(--ease-out);flex-shrink:0;transform:rotate(45deg)translateY(-1px)}.pv-select-open .pv-select-chevron{transform:rotate(225deg)translateY(-1px)}.pv-select-menu{z-index:var(--z-dropdown);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:min(16rem,50vh);margin:0;padding:.2rem;list-style:none;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow:auto}.pv-select-compact .pv-select-menu{width:max-content;min-width:100%;right:auto}.pv-select-option{border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;outline:none;margin:0;padding:.4rem .55rem;font-weight:450;display:block}.pv-select-field .pv-select-option{padding:.45rem .55rem;font-size:1rem}.pv-select-option.is-active:not(.is-selected){background:var(--surface-2)}.pv-select-option.is-selected{background:var(--paper);color:var(--paper-ink);font-weight:600}.pv-select-option:focus-visible{outline:1px solid var(--paper);outline-offset:-1px}.account-stub{opacity:.5;cursor:default;font-size:.85rem}.account-menu{align-items:center;display:flex;position:relative}.account-menu-trigger{border-radius:var(--radius);max-width:16rem;color:var(--text);font-family:var(--font);cursor:pointer;transition:border-color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;margin:0;padding:.25rem .55rem .25rem .25rem;display:inline-flex}.user-avatar{border:1px solid var(--border);background:var(--surface);clip-path:circle(50%);border-radius:50%;flex-shrink:0;line-height:0;display:inline-flex;overflow:hidden}.user-avatar img,.user-avatar svg{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block;overflow:hidden}.account-menu-avatar{border-color:color-mix(in srgb, var(--border) 80%, transparent)}.account-menu-trigger:hover{border-color:var(--border);background:var(--surface)}.account-menu-trigger:focus-visible{outline:1px solid var(--paper);outline-offset:2px}.account-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-size:.8rem;overflow:hidden}.account-menu-popover{z-index:var(--z-dropdown);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.1rem;min-width:13.5rem;padding:.3rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 8px 24px #1413122e}.account-menu-item{border-radius:calc(var(--radius) - 1px);width:100%;color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.45rem .6rem;font-size:.875rem;font-weight:450;display:flex}.account-menu-item:hover:not(:disabled),.account-menu-item:focus-visible{background:color-mix(in srgb, var(--text) 8%, var(--surface));outline:none}.account-menu-item:hover:not(:disabled) .account-menu-meta,.account-menu-item:focus-visible .account-menu-meta{color:color-mix(in srgb, var(--muted) 55%, var(--text))}.account-menu-item:disabled{opacity:.6;cursor:wait}.account-menu-item-active{background:color-mix(in srgb, var(--text) 6%, var(--surface));font-weight:600}.account-menu-item-danger{color:var(--text)}.account-menu-meta{color:var(--muted);font-size:.75rem;font-weight:450}.account-menu-sep{background:var(--border);height:1px;margin:.25rem .35rem}.account-menu-error{color:var(--danger,#a33);margin:.15rem .6rem .35rem;font-size:.75rem}.account-menu-back{color:var(--muted);font-size:.8rem}.account-menu-landing{flex-direction:column;gap:.45rem;max-width:16rem;padding:.45rem .55rem .55rem;display:flex}.account-menu-landing-title{color:var(--text);margin:0;font-size:.875rem;font-weight:600}.account-menu-landing-body{color:var(--muted);margin:0 0 .25rem;font-size:.75rem;line-height:1.4}.workspace-landing{flex-direction:column;gap:.75rem;max-width:28rem;display:flex}.workspace-landing-lead{margin:0;font-size:1.05rem;font-weight:600}.workspace-landing-body{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.workspace-landing-points{color:var(--text);margin:0;padding-left:1.15rem;font-size:.875rem;line-height:1.5}.workspace-landing-points li+li{margin-top:.25rem}.ws-section{border-bottom:1px solid var(--border);flex-direction:column;gap:.65rem;margin-bottom:1.25rem;padding-bottom:1.15rem;display:flex}.ws-section:last-of-type{border-bottom:none;margin-bottom:.5rem;padding-bottom:0}.ws-section-title{color:var(--muted);letter-spacing:.01em;margin:0;font-size:.8rem;font-weight:600}.ws-switch-btn{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:0;display:flex}.ws-switch-btn:disabled{cursor:default}.ws-switch-btn-active{font-weight:600}.ws-danger{border-top:1px dashed var(--border);justify-content:flex-start;margin-top:.35rem;padding-top:.65rem;display:flex}.ws-section-create{opacity:1}.settings-modal-panel{width:min(44rem,100vw - 2rem);height:min(34rem,100dvh - 2rem);max-height:calc(100dvh - 2rem);overflow:hidden}.settings-shell{flex:1;grid-template-columns:11rem minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.settings-nav{border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 55%, var(--bg));overscroll-behavior:contain;flex-direction:column;gap:.75rem;min-height:0;padding:1.25rem .75rem 1.25rem 1rem;display:flex;overflow:auto}.settings-modal-title{margin:0;padding:0 .35rem;font-size:1rem;font-weight:600}.settings-nav-list{flex-direction:column;gap:.15rem;display:flex}.settings-nav-item{border-radius:var(--radius);width:100%;color:var(--muted);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:.45rem .55rem;font-size:.875rem;font-weight:450;display:block}.settings-nav-item:hover,.settings-nav-item:focus-visible{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent);outline:none}.settings-nav-item-active{color:var(--text);background:color-mix(in srgb, var(--text) 10%, transparent);font-weight:600}.settings-content{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:1.25rem 1.1rem 1.35rem 1.35rem;overflow:auto}.settings-modal-panel .object-modal-close{right:1.35rem}.settings-section-title{margin:0 0 1rem;font-size:.95rem;font-weight:600}.settings-form{flex-direction:column;gap:.85rem;max-width:24rem;display:flex}.settings-avatar-row{align-items:center;gap:.85rem;margin-bottom:.25rem;display:flex}.settings-avatar{border-radius:50%;width:4rem;height:4rem}.settings-avatar-actions{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.settings-avatar-btns{flex-wrap:wrap;gap:.25rem .5rem;display:flex}.settings-avatar-label{color:var(--muted);margin:0;font-size:.8rem}.settings-password-block{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:.35rem;display:flex}.settings-subsection-label{color:var(--muted);margin:.35rem 0 0;font-size:.8rem;font-weight:600}.settings-form-wide{max-width:none}.settings-inline-form{flex-wrap:wrap;align-items:flex-end;gap:.65rem;margin-bottom:.75rem;display:flex}.settings-inline-form .field{flex:10rem;min-width:8rem}.settings-list{flex-direction:column;gap:.35rem;margin:0 0 .85rem;padding:0;list-style:none;display:flex}.settings-list-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .5rem;font-size:.875rem;display:flex}.settings-form-actions{justify-content:flex-end;margin-top:.25rem;display:flex}@media (width<=640px){.settings-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-nav{border-right:none;border-bottom:1px solid var(--border);padding:1rem 1rem .75rem}.settings-nav-list{flex-flow:wrap}.settings-modal-panel{height:min(90dvh,100dvh - 1rem)}}.page-login{gap:.9rem;width:100%;max-width:22rem;margin:0}.app-body:has(.page-login){flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:none;padding:clamp(2.5rem,12vh,5.5rem) 1.25rem 2rem;display:flex}.page-legal{gap:.85rem;width:100%;max-width:40rem;margin:0 auto;padding-bottom:1rem}.legal-title{margin:0;font-size:1.35rem;font-weight:600}.legal-meta{color:var(--muted);margin:0;font-size:.85rem}.legal-intro,.legal-section p{color:var(--text);margin:0;font-size:.95rem;line-height:1.55}.legal-section{flex-direction:column;gap:.55rem;display:flex}.legal-section h2{margin:.6rem 0 0;font-size:1.05rem;font-weight:600}.legal-intro a,.legal-section a,.legal-nav a{color:var(--paper);text-underline-offset:.15em}.legal-nav{color:var(--muted);margin:1rem 0 0;font-size:.85rem}.page-login .chip-row{width:100%}.page-login .chip{flex:1;justify-content:center}.login-title{margin:0;font-size:1.35rem;font-weight:600}.page-login .login-switch{margin-top:.15rem}.login-form{flex-direction:column;gap:.85rem;display:flex}.turnstile-host{width:100%;min-width:0;min-height:65px}.login-switch{margin-top:.25rem}.agree-field{color:var(--muted);cursor:pointer;align-items:flex-start;gap:.55rem;margin:0;font-size:.82rem;line-height:1.4;display:flex}.agree-field input{width:1rem;height:1rem;accent-color:var(--paper);flex-shrink:0;margin:.15rem 0 0}.agree-field a{color:var(--text);text-underline-offset:.15em}.agree-field a:hover{color:var(--paper)}button.linkish{font:inherit;color:var(--text);text-underline-offset:.15em;cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}button.linkish:hover{color:var(--paper)}.app-body{flex:1;width:min(100%,1440px);min-height:0;margin:0 auto;padding:1.1rem 1.5rem 1.5rem}.app-body:has(.page-library){flex-direction:column;min-height:0;padding-bottom:1.1rem;display:flex;overflow:hidden}.page{flex-direction:column;gap:1rem;display:flex}.page-capture,.page-review,.page-detail{width:100%;max-width:34rem;margin:0 auto}.page-lead{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.page-capture{text-align:center;align-items:center;gap:1.1rem;padding-top:1.75rem}.page-capture .page-lead{max-width:22rem}.capture-frame{aspect-ratio:3/4;background:var(--surface-2);border:1px solid var(--border);width:min(100%,19rem);max-height:52vh;margin:.35rem 0;position:relative;overflow:hidden}.capture-frame-live{padding:0}.capture-video{object-fit:cover;background:var(--surface-2);width:100%;height:100%;display:block}.capture-video-fallback{color:var(--muted);pointer-events:none;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;inset:0}.capture-actions{flex-direction:column;align-items:center;gap:.55rem;width:100%;display:flex}.category-section{flex-direction:column;gap:.55rem;display:flex}.category-heading{letter-spacing:0;text-transform:none;font-size:.85rem;font-weight:600;font-family:var(--font);color:var(--text);align-items:baseline;gap:.4rem;margin:.35rem 0 0;display:flex}.category-count{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.detail-category{font-family:var(--font);letter-spacing:0;text-transform:none;color:var(--muted);margin:0;font-size:.85rem}.capture-frame:before,.capture-frame:after{content:"";border-color:var(--muted);opacity:.65;border-style:solid;width:12px;height:12px;position:absolute}.capture-frame:before{border-width:1px 0 0 1px;top:6px;left:6px}.capture-frame:after{border-width:1px 1px 0 0;top:6px;right:6px}.capture-frame .fid-bl,.capture-frame .fid-br{border-color:var(--muted);pointer-events:none;opacity:.65;border-style:solid;width:12px;height:12px;position:absolute}.capture-frame .fid-bl{border-width:0 0 1px 1px;bottom:6px;left:6px}.capture-frame .fid-br{border-width:0 1px 1px 0;bottom:6px;right:6px}.btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--surface);min-height:2.5rem;color:var(--text);white-space:nowrap;transition:background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out), opacity var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);justify-content:center;align-items:center;gap:.35rem;padding:.5rem .9rem;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:1px solid var(--paper);outline-offset:2px}.btn:active:not(:disabled):not(.btn-disabled){transform:scale(.97)}.btn-primary{background:var(--paper);border-color:var(--paper);color:var(--paper-ink)}.btn-secondary{min-height:2.1rem;font-size:.85rem;font-family:var(--font);text-transform:none;letter-spacing:0;color:var(--text);border-color:var(--border);background:0 0;padding:.35rem .65rem}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}@media (hover:hover) and (pointer:fine){.btn-ghost:hover:not(:disabled):not(.btn-disabled){color:var(--text)}.btn:hover:not(:disabled):not(.btn-disabled):not(.btn-ghost):not(.btn-primary){border-color:var(--muted)}}.btn-large{width:100%;max-width:16rem;padding:.85rem 1rem;font-size:1rem}.btn-disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.visually-hidden{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.status-line{color:var(--muted);margin:0;font-size:.9rem}.status-error{color:var(--danger)}.status-ok{color:var(--ok)}.empty-state{border:1px solid var(--border);border-radius:var(--radius);text-align:left;color:var(--muted);background:0 0;flex-direction:column;align-items:flex-start;gap:.85rem;padding:2rem 1rem;display:flex}.empty-state p{text-wrap:pretty;max-width:36ch;margin:0;line-height:1.5}.error-state{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.error-state p{min-width:12rem;color:var(--danger);flex:1;margin:0;font-size:.9rem}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:.65rem;display:grid}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);aspect-ratio:1;flex-direction:column;display:flex;overflow:hidden}.skeleton-card-preview{background:var(--surface-2);flex:1;min-height:0}.skeleton-card-body{box-sizing:border-box;background:color-mix(in srgb, var(--paper) 12%, var(--surface));flex-direction:column;flex-shrink:0;justify-content:center;gap:.35rem;height:4.1rem;padding:.45rem .55rem;display:flex}.skeleton-line{border-radius:var(--radius);background:var(--surface-2);height:.65rem;display:block}.skeleton-line-short{width:40%}.skeleton-line-med{width:72%}.skeleton-line-qty{width:28%;height:.5rem}.field{flex-direction:column;gap:.28rem;display:flex}.field label{letter-spacing:0;text-transform:none;font-size:.85rem;font-weight:500;font-family:var(--font);color:var(--muted)}.field input,.field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.5rem .65rem;font-family:inherit;font-size:1rem}.field textarea{resize:none}.field input:focus-visible,.field textarea:focus-visible,.library-toolbar input:focus-visible,.library-sidebar input:focus-visible{outline:1px solid var(--paper);outline-offset:1px;border-color:var(--muted)}.field-row{gap:.75rem;display:flex}.field-qty{max-width:5.5rem}.field-qty input{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.field-grow{flex:1}.hint{color:var(--muted);margin:0;font-size:.85rem}.field-error{color:var(--danger);margin:0;font-size:.85rem}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.capture-modes{justify-content:center}.docs-panel{text-align:left;border-top:1px solid var(--border);flex-direction:column;gap:.5rem;width:100%;padding-top:.75rem;display:flex}.docs-panel h2{letter-spacing:0;text-transform:none;font-size:.85rem;font-weight:600;font-family:var(--font);color:var(--text);margin:0}.docs-overview{margin:0;font-size:.9rem;line-height:1.5}.docs-ideas-label{color:var(--muted);margin:.25rem 0 0;font-size:.85rem;font-weight:500}.docs-ideas{margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.45}.docs-panel .btn{align-self:flex-start}.review-hero{align-items:flex-start;gap:.85rem;display:flex}.review-hero-meta{flex:1;min-width:0}.review-suggested{letter-spacing:0;text-transform:none;font-size:.85rem;font-weight:500;font-family:var(--font);color:var(--muted);margin:0 0 .2rem}.review-photo-thumb{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);flex-shrink:0;width:4.5rem;height:4.5rem}.similar-block h2{letter-spacing:0;text-transform:none;font-size:.85rem;font-weight:600;font-family:var(--font);color:var(--text);margin:0 0 .5rem}.similar-list{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.similar-row{border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .7rem;display:flex}.similar-row:last-child{border-bottom:none}.similar-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.review-actions{gap:.55rem;display:flex}.review-actions .btn{flex:1}.page-library{flex:1;grid-template-columns:12.5rem minmax(0,1fr);gap:1.5rem;max-width:none;min-height:0;display:grid;overflow:hidden}.library-sidebar{overscroll-behavior:contain;flex-direction:column;gap:1.15rem;min-height:0;padding-right:.15rem;display:flex;overflow:hidden auto}.sidebar-block{flex-direction:column;gap:.4rem;display:flex}.workspace-name,.sidebar-label{letter-spacing:0;text-transform:none;font-size:.85rem;font-weight:500;font-family:var(--font);color:var(--muted);margin:0}.library-sidebar input[type=search]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:2.35rem;color:var(--text);padding:.45rem .55rem;font-family:inherit;font-size:.9rem}.library-sidebar input[type=search]::placeholder{color:var(--muted);opacity:1}.sidebar-nav{flex-direction:column;gap:.05rem;display:flex}.sidebar-link{text-align:left;color:var(--muted);font:inherit;border-radius:var(--radius);cursor:pointer;min-height:2.25rem;transition:color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out);background:0 0;border:none;padding:.4rem .5rem;font-size:.9rem;font-weight:450}.sidebar-link:focus-visible{outline:1px solid var(--paper);outline-offset:1px}@media (hover:hover) and (pointer:fine){.sidebar-link:hover{color:var(--text)}}.sidebar-link-active{color:var(--text);background:var(--surface);box-shadow:none;font-weight:600}.btn-block{justify-content:center;width:100%}.chip-row-stack{max-height:11rem;overflow:auto}.library-main{overscroll-behavior:contain;flex-direction:column;gap:1.15rem;min-width:0;min-height:0;display:flex;overflow:hidden auto}.library-main-head{justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.15rem;display:flex}.library-title{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.35rem;font-weight:600}.library-meta{font-family:var(--font);color:var(--muted);text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.filter-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.filter-chip{border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--paper-ink);min-height:1.85rem;font-size:.8rem;font-family:var(--font);align-items:center;gap:.3rem;padding:.25rem .4rem .25rem .5rem;display:inline-flex}.filter-chip button{color:var(--paper-ink);opacity:.55;cursor:pointer;font:inherit;border-radius:var(--radius);background:0 0;border:none;padding:.1rem .2rem;line-height:1}.filter-chip button:focus-visible{outline:1px solid var(--paper-ink);outline-offset:1px}@media (hover:hover) and (pointer:fine){.filter-chip button:hover{opacity:1}}.library-toolbar{gap:.6rem;display:flex}.library-toolbar input[type=search]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);flex:1;padding:.5rem .65rem;font-family:inherit;font-size:1rem}.chip-row{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--border);border-radius:var(--radius);min-height:1.85rem;font-size:.8rem;font-weight:500;font-family:var(--font);cursor:pointer;color:var(--muted);transition:color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);background:0 0;padding:.3rem .5rem}.chip:focus-visible{outline:1px solid var(--paper);outline-offset:1px}.chip:active:not(:disabled){transform:scale(.97)}.chip-active{background:var(--paper);border-color:var(--paper);color:var(--paper-ink);box-shadow:none}.tag-field{gap:.35rem}.tag-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2.6rem;padding:.35rem .45rem;display:flex}.tag-input:focus-within{outline:1px solid var(--paper);outline-offset:1px;border-color:var(--muted)}.tag-input-disabled{opacity:.55;cursor:not-allowed}.tag-pill{border-radius:var(--radius);background:var(--paper);max-width:100%;color:var(--paper-ink);align-items:center;gap:.15rem;padding:.2rem .2rem .2rem .45rem;font-size:.8rem;font-weight:500;line-height:1.2;display:inline-flex}.tag-pill-text{overflow-wrap:anywhere;min-width:0}.tag-pill-remove{color:var(--paper-ink);opacity:.5;cursor:pointer;font:inherit;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;padding:0;font-size:1rem;line-height:1;display:inline-flex}.tag-pill-remove:focus-visible{outline:1px solid var(--paper-ink);outline-offset:1px;opacity:1}@media (hover:hover) and (pointer:fine){.tag-pill-remove:hover:not(:disabled){opacity:1;background:color-mix(in srgb, var(--paper-ink) 10%, transparent)}}.tag-input-field{width:auto;min-width:8rem;max-width:100%;box-shadow:none;appearance:none;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:8rem;margin:0;padding:.2rem .15rem;font-size:.9rem;line-height:1.3}.tag-input-field::-webkit-calendar-picker-indicator{display:none!important}.tag-input-field::-webkit-list-button{display:none!important}.tag-input-field::placeholder{color:var(--muted);opacity:1}.tag-suggest-row{flex-wrap:wrap;gap:.3rem;display:flex}.tag-suggest{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font:inherit;cursor:pointer;background:0 0;min-height:1.7rem;padding:.2rem .45rem;font-size:.75rem}.tag-suggest:focus-visible{outline:1px solid var(--paper);outline-offset:1px}@media (hover:hover) and (pointer:fine){.tag-suggest:hover:not(:disabled){color:var(--text);border-style:solid;border-color:var(--muted)}}.tag-pill-static{padding:.25rem .5rem}.object-prose-notes{-webkit-line-clamp:6}.object-tag-row{flex-wrap:wrap;gap:.35rem;display:flex}.library-grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:.65rem;display:grid}.library-card{border:1px solid var(--border);border-radius:var(--radius);color:inherit;background:var(--surface);aspect-ratio:1;min-width:0;transition:border-color var(--duration) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.library-card:focus-visible{outline:1px solid var(--paper);outline-offset:2px}@media (hover:hover) and (pointer:fine){.library-card:hover{border-color:var(--muted)}}.library-card-preview{background:var(--surface-2);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.library-card-preview img{object-fit:cover;width:100%;height:100%}.library-card-noimage{color:var(--muted);font-size:.8rem;font-family:var(--font)}.library-card-body{background:var(--paper);min-width:0;height:4.1rem;color:var(--paper-ink);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:flex-start;gap:.2rem;padding:.45rem .55rem .5rem;display:flex}.library-card-name{min-width:0;height:2.15rem;color:var(--paper-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.library-card-qty{font-size:.72rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--paper-ink) 62%, transparent);flex-shrink:0;margin:0;line-height:1.2}@media (width<=860px){.app-shell:has(.page-library){height:auto;min-height:100dvh;max-height:none;overflow:visible}.app-body:has(.page-library){padding-bottom:2.75rem;display:block;overflow:visible}.page-library{flex:none;grid-template-columns:1fr;min-height:0;overflow:visible}.library-sidebar{overscroll-behavior:auto;border-bottom:1px solid var(--border);padding-bottom:1rem;overflow:visible}.library-main{overscroll-behavior:auto;overflow:visible}.sidebar-nav{flex-flow:wrap}.app-header{flex-wrap:wrap;align-items:center;row-gap:.35rem}.app-header-brand{display:contents}.app-logo{order:1}.app-header-tools{order:2;margin-left:auto}.app-nav{flex:1 0 100%;order:3}.account-email{display:none}.account-menu-trigger{padding-right:.25rem}}.back-link{color:var(--muted);font-size:.85rem;font-family:var(--font);text-transform:none;letter-spacing:0;align-self:flex-start;text-decoration:none}.object-card{border:none;border-right:1px solid var(--border);background:var(--surface);border-radius:0;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.object-card-media{background:var(--surface-2);flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.object-card-media img{object-fit:cover;width:100%;height:100%}.object-card-media-empty{color:var(--muted);font-size:.9rem}.object-card-label{background:var(--paper);color:var(--paper-ink);flex-direction:column;flex-shrink:0;gap:.2rem;padding:.75rem .9rem .85rem;display:flex}.object-card-label .detail-name{color:var(--paper-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.1rem;line-height:1.25;display:-webkit-box;overflow:hidden}.object-card-meta{color:color-mix(in srgb, var(--paper-ink) 62%, transparent);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.object-card-meta .object-qty{font-family:var(--font-mono)}.object-body{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.object-body-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;flex:1;gap:.7rem;min-height:0;padding:.9rem 1.1rem .65rem;display:flex;overflow:auto}.object-body-footer{border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.55rem;padding:.65rem 1.1rem .9rem;display:flex}.object-section{flex-direction:column;gap:.3rem;min-height:0;display:flex}.object-section-title{color:var(--muted);margin:0;font-size:.8rem;font-weight:600}.object-prose{color:var(--text);text-wrap:pretty;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}.object-ideas{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;padding-left:1.05rem;font-size:.88rem;line-height:1.35;display:-webkit-box;overflow:hidden}.object-dates{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:.15rem;margin:0;font-size:.75rem;display:flex}.object-dates-inline{flex-flow:wrap;gap:.75rem}.detail-name{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.25rem;font-weight:600}.detail-actions{flex-wrap:wrap;gap:.55rem;display:flex}.object-modal{overscroll-behavior:none;background:0 0;border:none;width:100%;max-width:100vw;height:100%;max-height:100dvh;margin:0;padding:1rem;overflow:hidden}.object-modal[open]{justify-content:center;align-items:center;display:flex}.object-modal::backdrop{overscroll-behavior:none;background:#141312c7}.object-modal-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overscroll-behavior:contain;flex-direction:column;width:min(58rem,100vw - 2rem);height:min(34rem,100dvh - 2rem);max-height:calc(100dvh - 2rem);margin:auto;display:flex;position:relative;overflow:hidden}.object-modal-close{z-index:2;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg) 92%, transparent);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.35rem;line-height:1;display:inline-flex;position:absolute;top:.5rem;right:1.35rem}.object-modal-close:focus-visible{outline:1px solid var(--paper);outline-offset:2px}@media (hover:hover) and (pointer:fine){.object-modal-close:hover{background:var(--surface)}}.object-modal-close:active{transform:scale(.97)}.object-modal-body{flex:1;grid-template-columns:minmax(15rem,22rem) minmax(0,1fr);gap:0;min-height:0;padding:0;display:grid;overflow:hidden}.object-modal-loading{flex:1;grid-template-columns:minmax(15rem,22rem) minmax(0,1fr);min-height:0;display:grid}.object-modal-loading .object-card{height:100%}.object-modal-loading .object-card-label{flex-direction:column;justify-content:center;gap:.4rem;min-height:3.25rem;display:flex}.object-modal-body>.error-state{grid-column:1/-1;margin:1.25rem}.object-modal-error{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.object-modal .field{gap:.2rem}.object-modal .field input,.object-modal .field textarea{padding:.4rem .55rem;font-size:.95rem}.object-modal .field label{font-size:.8rem}.object-modal .tag-input-hint{display:none}.object-modal .tag-suggest-row{max-height:3.6rem;overflow:hidden}@media (width<=720px){.object-modal-panel{width:calc(100vw - 1rem);height:calc(100dvh - 1rem)}.object-modal-body,.object-modal-loading{grid-template-rows:minmax(12rem,40%) minmax(0,1fr);grid-template-columns:1fr}.object-card{border-right:none;border-bottom:1px solid var(--border)}}.back-link:focus-visible{outline:1px solid var(--paper);outline-offset:2px;border-radius:var(--radius)}.logo-focus:focus-visible{outline:1px solid var(--paper);outline-offset:3px}.confirm-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);max-width:min(22rem,100vw - 2rem);z-index:var(--z-modal);padding:0}.confirm-dialog::backdrop{background:#141312b8}.confirm-dialog-body{flex-direction:column;gap:.75rem;padding:1.1rem 1.15rem 1.15rem;display:flex}.confirm-dialog-title{text-wrap:balance;margin:0;font-size:1rem;font-weight:600}.confirm-dialog-desc{color:var(--muted);text-wrap:pretty;margin:0;font-size:.9rem;line-height:1.45}.confirm-dialog-actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
