@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Jost:wght@300;400;500&display=swap");:root{--bg:#0d0a12;--fg:#f0e8d8;--card:#16102a;--secondary:#201530;--muted:#8a7a8e;--gold:#c9a84c;--border:rgb(var(--accent-rgb)/0.12);--radius:0.5rem;--bg-rgb:13 10 18;--fg-rgb:240 232 216;--card-rgb:22 16 42;--secondary-rgb:32 21 48;--accent-rgb:201 168 76;--shadow-rgb:0 0 0;--warn:#d9924e;--warn-rgb:217 146 78;--bad:#e0929c;--bad-rgb:201 112 127}[data-theme=patina]{--bg:#0b1512;--fg:#e4ece7;--card:#132320;--secondary:#0e1b18;--muted:#8ca79c;--gold:#c98a5e;--border:rgb(var(--accent-rgb)/0.18);--bg-rgb:11 21 18;--fg-rgb:228 236 231;--card-rgb:19 35 32;--secondary-rgb:14 27 24;--accent-rgb:201 138 94;--shadow-rgb:0 0 0;--warn:#d0a45e;--warn-rgb:208 164 94;--bad:#d08079;--bad-rgb:208 128 121}[data-theme=vitrine]{--bg:#e9e7e2;--fg:#1b1b1d;--card:#f4f3f0;--secondary:#fff;--muted:#6b6a67;--gold:#1f4d47;--border:rgba(27,27,29,.14);--bg-rgb:233 231 226;--fg-rgb:27 27 29;--card-rgb:244 243 240;--secondary-rgb:255 255 255;--accent-rgb:31 77 71;--shadow-rgb:27 27 29;--warn:#8a5a1c;--warn-rgb:138 90 28;--bad:#8f3230;--bad-rgb:143 50 48}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.5}[hidden]{display:none!important}body{font-family:Jost,sans-serif;background:var(--bg);color:var(--fg);min-height:100vh;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgb(var(--card-rgb)/.98) 0,rgb(var(--card-rgb)/.9) 100%);flex-shrink:0;z-index:30;position:relative}.brand-label{font-size:.625rem;letter-spacing:.35em;color:var(--muted);text-transform:uppercase;line-height:1;margin-bottom:.25rem}.brand-name{font-family:Playfair Display,serif;font-style:italic;color:var(--gold);font-size:1.875rem;line-height:1}.hamburger-btn{display:none;align-items:center;justify-content:center;padding:.375rem;border:none;border-radius:.375rem;background:transparent;color:var(--muted);cursor:pointer;transition:color .2s}.hamburger-btn:hover{color:var(--fg)}.header-right{display:flex;align-items:center;gap:.75rem}.auth-btn{padding:.375rem .875rem;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:.3125rem;cursor:pointer;transition:all .2s;font-family:Jost,sans-serif;background:transparent;color:var(--muted);white-space:nowrap}.auth-btn:hover{color:var(--gold);border-color:rgb(var(--accent-rgb)/.35)}.account{position:relative}.account-btn{width:2rem;height:2rem;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;cursor:pointer;background:rgb(var(--accent-rgb)/.08);color:var(--gold);font-family:Jost,sans-serif;font-size:.8125rem;line-height:1;transition:all .2s}.account-btn:hover,.account-btn[aria-expanded=true]{border-color:rgb(var(--accent-rgb)/.35);background:rgb(var(--accent-rgb)/.16)}.account-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:45;min-width:12rem;max-width:min(16rem,calc(100vw - 2rem));padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:0 8px 24px rgb(var(--shadow-rgb)/.45);display:flex;flex-direction:column;gap:.125rem}.account-who{padding:.25rem .5rem .5rem;font-size:.6875rem;color:var(--muted);overflow-wrap:anywhere;border-bottom:1px solid var(--border);margin-bottom:.25rem}.account-item{padding:.5rem;border:none;border-radius:.3125rem;background:transparent;color:var(--fg);font-family:Jost,sans-serif;font-size:.8125rem;text-align:left;cursor:pointer;transition:all .2s}.account-item:hover{background:rgb(var(--accent-rgb)/.1);color:var(--gold)}.view-switcher{gap:.125rem;border:1px solid var(--border);border-radius:.5rem;padding:.1875rem;background:rgb(var(--bg-rgb)/.6)}.view-switcher,.view-tab{display:flex;align-items:center}.view-tab{gap:.4rem;padding:.375rem .875rem;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;border:none;border-radius:.3125rem;cursor:pointer;transition:all .2s;font-family:Jost,sans-serif;background:transparent;color:var(--muted);white-space:nowrap}.view-tab.active{background:rgb(var(--accent-rgb)/.12);color:var(--gold);box-shadow:0 1px 4px rgb(var(--shadow-rgb)/.3)}.view-tab:not(.active):hover{color:var(--fg)}.body{display:flex;flex:1 1;min-height:0;overflow:hidden;position:relative}.app>[data-amplify-theme]{display:contents}.sidebar{width:13rem;border-right:1px solid var(--border);padding:1rem .75rem;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;gap:.25rem;background:var(--bg);transition:transform .25s ease}.sidebar-backdrop{display:none}.sidebar-search-wrap{position:relative;margin-bottom:.5rem}.sidebar-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:flex}.sidebar-search-input{background:var(--secondary);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);padding:.4375rem .75rem .4375rem 2rem;font-size:.8125rem;font-family:Jost,sans-serif;width:100%;outline:none;transition:border-color .2s}.sidebar-search-input:focus{border-color:rgb(var(--accent-rgb)/.3)}.sidebar-add-btn{width:100%;justify-content:center;margin-bottom:.25rem}.sidebar-label{font-size:.5625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);padding:0 .5rem;margin-bottom:.375rem;display:flex;align-items:center;gap:.375rem}.sidebar-nav{display:flex;flex-direction:column;gap:.125rem;margin-bottom:.625rem}.sidebar-section-toggle{background:transparent;border:none;cursor:pointer;width:100%;text-align:left;margin-bottom:.375rem}.sidebar-section-toggle:hover{color:var(--fg)}.sidebar-section-toggle .sidebar-section-value{margin-left:auto;color:var(--gold);letter-spacing:.12em;text-transform:none}.sidebar-nav-btn{display:flex;align-items:center;justify-content:space-between;padding:.375rem .625rem;font-size:.6875rem;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s;font-family:Jost,sans-serif;background:transparent;color:var(--muted);text-align:left;width:100%}.sidebar-nav-btn.active{color:var(--gold);background:rgb(var(--accent-rgb)/.08)}.sidebar-nav-btn:not(.active):hover{color:var(--fg)}.sidebar-nav-count{font-size:.625rem;opacity:.5}.sidebar-show-filter{display:flex;gap:.125rem;padding:.125rem;border:1px solid var(--border);border-radius:.375rem;background:rgb(var(--card-rgb)/.8);margin-bottom:.25rem;flex-wrap:wrap}.sidebar-show-filter .filter-btn{flex:1 1 auto;min-width:0;text-align:center;padding-left:.3rem;padding-right:.3rem;letter-spacing:.08em}.sidebar-divider{height:1px;background:var(--border);margin:.5rem 0;flex-shrink:0}.filter-btn{padding:.25rem .5rem;font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s;font-family:Jost,sans-serif;background:transparent;color:var(--muted)}.filter-btn.active{background:rgb(var(--accent-rgb)/.12);color:var(--gold)}.fav-item{display:flex;align-items:center;gap:.625rem;padding:.5rem;border-radius:var(--radius);border:none;background:transparent;cursor:pointer;text-align:left;width:100%;transition:background .2s;color:var(--muted)}.fav-item:hover{color:var(--fg)}.fav-item.selected{background:rgb(var(--accent-rgb)/.07)}.fav-item-name{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-stats{margin-top:auto;padding-top:1.25rem;border-top:1px solid var(--border);padding-left:.5rem;padding-right:.5rem}.stats-section{margin-bottom:1rem}.stats-section-label{font-size:.5625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;display:flex;align-items:center;gap:.25rem}.stat-row{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;padding:.125rem 0;white-space:nowrap}.stat-label{color:var(--muted)}.add-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:rgb(var(--accent-rgb)/.12);border:1px solid rgb(var(--accent-rgb)/.3);border-radius:var(--radius);color:var(--gold);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:Jost,sans-serif;transition:all .2s}.add-btn:hover{background:rgb(var(--accent-rgb)/.22)}.main{--main-pad:1.75rem;flex:1 1;overflow-y:auto;padding:var(--main-pad)}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem}@media (min-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1200px){.grid{grid-template-columns:repeat(4,1fr)}}.card{position:relative;border-radius:.5rem;padding:1.25rem;cursor:pointer;transition:border-color .3s,box-shadow .3s;border:1px solid var(--border);background:rgb(var(--card-rgb)/.8);box-shadow:0 2px 16px rgb(var(--shadow-rgb)/.35);overflow:hidden;display:flex;flex-direction:column}.card:hover{border-color:rgb(var(--accent-rgb)/.25)}.card.selected{border-color:rgb(var(--accent-rgb)/.3);background:linear-gradient(135deg,rgb(var(--accent-rgb)/.08) 0,rgb(var(--card-rgb)/.95) 100%);box-shadow:0 4px 32px rgb(var(--shadow-rgb)/.5)}.card.wishlist-card{background:rgb(var(--accent-rgb)/.03);border-color:rgb(var(--accent-rgb)/.18)}.card.gone-card{opacity:.72}.card.gone-card .card-medallion{filter:grayscale(.75)}.card.gone-card:hover{opacity:1}.photo-main-open{display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in;position:relative;border-radius:var(--radius);overflow:hidden}.photo-main-hint{position:absolute;left:.5rem;bottom:.5rem;font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .4rem;border-radius:.25rem;background:rgb(var(--bg-rgb)/.7);color:var(--muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-viewer{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:rgb(var(--bg-rgb)/.97)}.photo-viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.photo-viewer-count{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.photo-viewer-close{width:36px;height:36px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);background:none;color:var(--fg)}.photo-viewer-stage{position:relative;flex:1 1;min-height:0;display:grid;place-items:center;padding:0 1rem 1rem;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.photo-viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius)}.photo-viewer-loading{width:60%;aspect-ratio:1;border-radius:var(--radius);background:var(--secondary)}.photo-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--fg);border:1px solid var(--border);border-radius:50%;background:rgb(var(--card-rgb)/.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.photo-viewer-arrow.prev{left:.75rem}.photo-viewer-arrow.next{right:.75rem}.photo-viewer-arrow:disabled{opacity:.3;cursor:default}.photo-viewer-dots{display:flex;gap:.4rem;justify-content:center;padding:0 1rem calc(1.5rem + env(safe-area-inset-bottom, 0px))}.photo-viewer-dot{width:8px;height:8px;padding:0;border-radius:50%;cursor:pointer;border:1px solid rgb(var(--fg-rgb)/.4);background:transparent}.photo-viewer-dot[aria-current=true]{background:var(--gold);border-color:var(--gold)}.cover-framing{margin-top:.75rem}.cover-framing-label{margin:0 0 .375rem;font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.cover-framing-photo{position:relative;border-radius:var(--radius);overflow:hidden;cursor:crosshair;border:1px solid var(--border);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cover-framing-photo img{display:block;width:100%;height:auto;background:var(--secondary)}.cover-framing-photo:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.cover-framing-mask{position:absolute;inset:0;pointer-events:none;background:rgb(var(--bg-rgb)/.62);-webkit-mask:radial-gradient(ellipse var(--rx) var(--ry) at var(--fx) var(--fy),transparent 99%,#000 100%);mask:radial-gradient(ellipse var(--rx) var(--ry) at var(--fx) var(--fy),transparent 99%,#000 100%)}.cover-framing-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-top:.375rem}.cover-framing-hint{font-size:.6875rem;color:var(--muted)}.cover-pick-btn{margin-top:.75rem;width:100%}.cover-framing-zoom{display:flex;align-items:center;gap:.6rem;margin-top:.6rem}.cover-framing-zoom input[type=range]{flex:1 1;min-width:0;accent-color:var(--gold)}.cover-framing-zoom-value{font-size:.6875rem;color:var(--muted);min-width:2.2rem;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-medallion-wrap{position:relative;margin:0 auto 1rem;width:100%;max-width:13rem}.card-medallion{position:relative;width:100%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:var(--secondary);border:1px solid var(--border)}.card-medallion .card-photo-img{width:100%;height:100%;display:block;background-repeat:no-repeat;transition:transform .4s}.card:hover .card-medallion .card-photo-img{transform:scale(1.04)}.card-corner-actions{position:absolute;top:.625rem;right:.625rem;display:flex;gap:.25rem;z-index:1}.delete-confirm{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:var(--radius);border:1px solid rgb(var(--bad-rgb)/.35);background:rgb(var(--bad-rgb)/.06)}.delete-confirm-text{margin:0;font-size:.75rem;line-height:1.5;color:var(--fg)}.delete-confirm .field-hint{margin:0}.delete-confirm-actions{display:flex;flex-direction:column;gap:.375rem}.gone-chip{display:inline-block;font-size:.5625rem;letter-spacing:.15em;text-transform:uppercase;line-height:1.4;color:var(--muted);border:1px solid var(--border);border-radius:.75rem;padding:.2rem .4rem}.card-glow{position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none}.card:hover .card-glow{opacity:1}.piece-plate{position:absolute;inset:0;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--plate-stone) 20%,var(--secondary)),color-mix(in srgb,var(--plate-stone) 6%,var(--secondary)))}.piece-plate-ground{position:absolute;inset:-14%;width:128%;height:128%;opacity:.26}.piece-plate-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,rgb(var(--fg-rgb)/.06) 0,transparent 58%),radial-gradient(ellipse at 50% 50%,transparent 44%,rgb(var(--bg-rgb)/.26) 100%)}.piece-plate-art{position:absolute;inset:0;width:100%;height:100%;padding:5px 0;box-sizing:border-box;--plate-ink-rgb:var(--fg-rgb);filter:drop-shadow(0 1px 2px rgb(var(--shadow-rgb)/.22))}.detail-plate{position:relative;height:160px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);margin-bottom:.75rem}.card-photo-loading{width:100%;height:100%;background:linear-gradient(90deg,var(--secondary) 25%,rgb(var(--secondary-rgb)/.8) 50%,var(--secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.card-actions{gap:.25rem}.card-actions,.icon-btn{display:flex;align-items:center}.icon-btn{padding:.375rem;border:none;border-radius:50%;background:transparent;cursor:pointer;transition:color .2s;justify-content:center;color:var(--muted);line-height:1}.icon-btn.on-photo{background:rgb(var(--bg-rgb)/.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.icon-btn.active{color:var(--gold)}.icon-btn:hover{color:var(--fg)}.card-name{font-family:Playfair Display,serif;font-style:italic;font-size:1rem;line-height:1.3;margin:0;overflow-wrap:anywhere;min-width:0;text-align:center}.card-tags{display:flex;flex-wrap:wrap;justify-content:center;margin:.6rem 0 .125rem}.card-tags,.wishlist-badge{align-items:center;gap:.25rem}.wishlist-badge{display:inline-flex;font-size:.5625rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .4rem;border-radius:.25rem;background:rgb(var(--accent-rgb)/.12);color:var(--gold);border:1px solid rgb(var(--accent-rgb)/.25);white-space:nowrap;line-height:1.4}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:16rem;color:var(--muted);gap:.5rem}.empty-text{font-size:.875rem;font-style:italic;font-family:Playfair Display,serif}.loading{display:flex;align-items:center;justify-content:center;height:16rem;color:var(--muted);font-size:.875rem;letter-spacing:.2em;text-transform:uppercase}.piece-detail{max-width:30rem}.piece-detail.editing{max-width:40rem}.piece-detail .detail-body{overflow-y:auto;flex:1 1;min-height:0}.piece-detail .detail-body>*{flex-shrink:0}.piece-detail .detail-body .detail-plate,.piece-detail .detail-body .photo-gallery{max-width:18rem;width:100%;margin-inline:auto}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--card)}.detail-header-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-style:italic;font-size:1rem;pointer-events:none;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.editor-error{margin:.75rem 1.5rem 0}.editor-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.editor-header .btn-save{justify-self:end}.editor-header .btn-cancel{justify-self:start}.detail-header-label{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.detail-body{padding:1.25rem;gap:1.25rem}.detail-body,.photo-gallery{display:flex;flex-direction:column}.photo-gallery{gap:.5rem}.photo-gallery-main{width:100%;height:180px;border-radius:var(--radius);overflow:hidden;background:var(--secondary);position:relative;border:1px solid var(--border)}.photo-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.photo-strip-wrap{position:relative}.photo-confirm{position:absolute;bottom:calc(100% + .5rem);transform:translateX(-50%);width:240px;z-index:6;padding:.6rem .7rem;border-radius:.5rem;border:1px solid rgb(var(--bad-rgb)/.35);background:var(--card);box-shadow:0 8px 24px rgb(var(--shadow-rgb)/.22)}.photo-confirm:after,.photo-confirm:before{content:"";position:absolute;top:100%;left:var(--caret,50%);margin-left:-6px;border:6px solid transparent}.photo-confirm:before{border-top-color:rgb(var(--bad-rgb)/.35)}.photo-confirm:after{border-top-color:var(--card);margin-top:-1px}.photo-confirm-q{margin:0;font-size:.8125rem;color:var(--fg)}.photo-confirm-note{margin:.2rem 0 .6rem;font-size:.6875rem;color:var(--muted);line-height:1.4}.photo-confirm-actions{display:flex;gap:.4rem}.photo-confirm-actions>*{flex:1 1;justify-content:center;padding:.4rem .5rem;font-size:.625rem}.photo-gallery-strip{display:flex;gap:.375rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.125rem}.photo-gallery-strip::-webkit-scrollbar{display:none}.photo-thumb{position:relative;flex-shrink:0;width:48px;height:48px;border-radius:.25rem;overflow:hidden;border:1px solid var(--border);transition:border-color .2s}.photo-thumb-pick{display:block;width:100%;height:100%;padding:0;border:none;background:transparent;cursor:pointer}.photo-thumb-cover{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:.4375rem;letter-spacing:.12em;text-transform:uppercase;background:rgb(var(--bg-rgb)/.72);color:var(--gold);padding:.05rem 0;pointer-events:none}.photo-thumb.active{border-color:var(--gold)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb-remove{position:absolute;inset:0;background:rgb(var(--bg-rgb)/.7);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;color:var(--fg);opacity:0;pointer-events:none;transition:opacity .2s,background .2s}.photo-thumb-remove:focus-visible,.photo-thumb:hover .photo-thumb-remove{opacity:1;pointer-events:auto}.photo-thumb:focus-within{border-color:var(--gold)}.photo-thumb-pick:focus-visible,.photo-thumb-remove:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.photo-thumb-remove:hover{background:rgb(var(--bad-rgb)/.75)}.photo-thumb-add{flex-shrink:0;width:48px;height:48px;border-radius:.25rem;border:1px dashed rgb(var(--accent-rgb)/.3);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.photo-thumb-add:hover{border-color:rgb(var(--accent-rgb)/.6);color:var(--gold)}.photo-gallery-grid{display:flex;flex-wrap:wrap;gap:.375rem}.photo-gallery-grid .photo-thumb,.photo-gallery-grid .photo-thumb-add{width:58px;height:58px}.photo-thumb.arrangeable{touch-action:none;cursor:-webkit-grab;cursor:grab}.photo-thumb.arrangeable .photo-thumb-pick{cursor:inherit}.photo-thumb.dragging{opacity:.35;cursor:-webkit-grabbing;cursor:grabbing}.photo-thumb.drop-after:after,.photo-thumb.drop-before:before{content:"";position:absolute;top:0;bottom:0;width:4px;background:var(--gold);z-index:3;box-shadow:0 0 0 1px rgb(var(--bg-rgb)/.85)}.photo-thumb.drop-before:before{left:0}.photo-thumb.drop-after:after{right:0}.photo-arrange-hint{margin-top:.125rem}.photo-gallery-loading{width:100%;height:100%;background:linear-gradient(90deg,var(--secondary) 25%,rgb(var(--secondary-rgb)/.8) 50%,var(--secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.gem-hero{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem 0}.detail-name{font-family:Playfair Display,serif;font-style:italic;font-size:1.25rem;text-align:center;line-height:1.2;margin:0;overflow-wrap:anywhere}.detail-cat{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:.25rem}.spec-list{display:flex;flex-direction:column}.spec-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.spec-row>:last-child{min-width:0;overflow-wrap:anywhere}.spec-label{flex:none;font-size:.625rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.spec-gold{color:var(--gold);font-family:Playfair Display,serif}.provenance{padding:.875rem;border-radius:var(--radius);background:rgb(var(--accent-rgb)/.04);border:1px solid rgb(var(--accent-rgb)/.1)}.provenance-label{font-size:.625rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.375rem}.provenance-text{font-size:.75rem;line-height:1.6;color:rgb(var(--fg-rgb)/.75);margin:0;overflow-wrap:anywhere}.detail-value-section{text-align:center;padding:.5rem 0;border-top:1px solid var(--border)}.detail-value-label{font-size:.625rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}.detail-value-amount{font-family:Playfair Display,serif;color:var(--gold);font-size:1.5rem}.action-btns{display:flex;flex-direction:column;gap:.5rem}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem;border-radius:var(--radius);border:1px solid var(--border);background:transparent;font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;font-family:Jost,sans-serif;transition:all .2s;color:var(--muted)}.action-btn.active{border-color:rgb(var(--accent-rgb)/.4);color:var(--gold);background:rgb(var(--accent-rgb)/.06)}.action-btn:hover{color:var(--fg);border-color:rgb(var(--accent-rgb)/.2)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.delete-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem;border-radius:var(--radius);border:1px solid rgb(var(--bad-rgb)/.2);background:transparent;font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;font-family:Jost,sans-serif;transition:all .2s;color:rgb(var(--bad-rgb)/.55)}.delete-btn:hover{border-color:rgb(var(--bad-rgb)/.5);color:rgb(var(--bad-rgb)/.9)}.gem-orb{border-radius:50%;position:relative;flex-shrink:0}.gem-orb:before{background:radial-gradient(circle at 33% 28%,hsla(0,0%,100%,.38) 0,transparent 55%)}.gem-orb:after,.gem-orb:before{content:"";position:absolute;inset:0;border-radius:50%}.gem-orb:after{background:radial-gradient(circle at 65% 72%,rgb(var(--shadow-rgb)/.3) 0,transparent 50%)}.tag-picker{display:flex;flex-wrap:wrap;gap:.375rem}.tag{padding:.25rem .625rem;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;border-radius:2rem;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-family:Jost,sans-serif;transition:all .15s;line-height:1.6}.tag:hover{border-color:rgb(var(--accent-rgb)/.3);color:var(--fg)}.tag.active{border-color:rgb(var(--accent-rgb)/.5);background:rgb(var(--accent-rgb)/.1);color:var(--gold)}.field-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.link-btn{font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;border:none;background:transparent;color:var(--gold);cursor:pointer;font-family:Jost,sans-serif;padding:0;transition:opacity .2s}.link-btn:hover{opacity:.7}.stone-entry{border:1px solid var(--border);border-radius:var(--radius);padding:.875rem;display:flex;flex-direction:column;gap:.625rem;background:rgb(var(--bg-rgb)/.3);margin-top:.5rem}.stone-entry-header{display:flex;align-items:center;justify-content:space-between}.stone-entry-label{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.stone-entry-sub{display:flex;flex-direction:column;gap:.375rem}.modal-photo-grid{display:flex;flex-wrap:wrap;gap:.5rem}.modal-photo-preview{position:relative;width:72px;height:72px;border-radius:.25rem;overflow:hidden;border:1px solid var(--border)}.modal-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.modal-photo-preview-remove{position:absolute;inset:0;background:rgb(var(--bg-rgb)/.6);display:none;align-items:center;justify-content:center;border:none;cursor:pointer;color:var(--fg);transition:background .2s}.modal-photo-preview:hover .modal-photo-preview-remove{display:flex}.modal-photo-preview-remove:hover{background:rgb(var(--bad-rgb)/.75)}.modal-photo-add{width:72px;height:72px;border-radius:.25rem;border:1px dashed rgb(var(--accent-rgb)/.25);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-photo-add:hover{border-color:rgb(var(--accent-rgb)/.5);color:var(--gold)}.modal-overlay{position:fixed;inset:0;background:rgb(var(--bg-rgb)/.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--card);border:1px solid rgb(var(--accent-rgb)/.2);border-radius:.75rem;width:100%;max-width:40rem;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgb(var(--shadow-rgb)/.7)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-family:Playfair Display,serif;font-style:italic;font-size:1.25rem;color:var(--gold);margin:0}.modal-body{padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;align-items:end;overflow-y:auto;flex:1 1;min-height:0}.field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.money-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch}.money-row .field-input{flex:1 1 8rem;min-width:6rem}.money-row.three .field-input{flex:1 1 4rem;min-width:4rem}.money-row .field-select{flex:0 1 auto;width:auto;min-width:5.5rem}.field.full,.pref-budgets{grid-column:1/-1}.pref-budgets{display:flex;flex-direction:column;gap:.5rem}.pref-heading{font-family:inherit;font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:.5rem 0 0}.pref-budget-row{display:grid;grid-template-columns:6rem 1fr 1fr;grid-gap:.5rem;gap:.5rem;align-items:center}.pref-budget-row .field-label{margin:0}@media (max-width:560px){.pref-budget-row{grid-template-columns:1fr 1fr}.pref-budget-row .field-label{grid-column:1/-1}}.field-label{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.field-input,.field-select,.field-textarea{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-size:.875rem;font-family:Jost,sans-serif;padding:.5rem .75rem;outline:none;transition:border-color .2s;width:100%}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:rgb(var(--accent-rgb)/.35)}.field-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.field-select option{background:var(--secondary)}.field-textarea{resize:vertical;min-height:4rem}.mode-switch{display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--border);border-radius:var(--radius);background:rgb(var(--bg-rgb)/.6)}.mode-tab{flex:1 1;padding:.5rem .75rem;border:none;border-radius:.3125rem;background:transparent;color:var(--muted);cursor:pointer;font-family:Jost,sans-serif;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;transition:all .2s}.mode-tab:hover:not(.active){color:var(--fg)}.mode-tab.active{background:rgb(var(--accent-rgb)/.12);color:var(--gold)}.detail-edit-btn{margin-left:auto;margin-right:.5rem;padding:.3rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;font-family:Jost,sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;transition:all .2s}.detail-edit-btn:hover{color:var(--gold);border-color:rgb(var(--accent-rgb)/.3)}.modal.modal-narrow{max-width:460px}.seller-selected{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--secondary)}.seller-name{color:var(--fg);font-size:.875rem}.seller-kind{font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:auto}.made-and-sold{margin:.5rem 0 0}.seller-loc{color:var(--muted);font-size:.72rem;margin-left:auto}.seller-results{margin-top:.35rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--secondary);overflow:hidden}.seller-result{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .7rem;border:none;background:transparent;cursor:pointer;color:var(--fg);font-family:Jost,sans-serif;font-size:.8125rem;text-align:left;border-bottom:1px solid var(--border);transition:background .15s}.seller-result:last-of-type{border-bottom:none}.seller-result.cursor,.seller-result:hover{background:rgb(var(--accent-rgb)/.08)}.lookup-empty{padding:.5rem .7rem;margin:0}.lookup-picker{position:relative}.lookup-picker .seller-results{position:absolute;top:100%;left:0;right:0;z-index:20;box-shadow:0 8px 20px rgb(var(--shadow-rgb)/.18)}.seller-add{display:block;width:100%;text-align:left;padding:.5rem .7rem}.seller-editor{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;gap:.7rem}.seller-editor .btn-save{align-self:flex-start}.ring-echo{margin:.4rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.ring-primary{color:var(--gold);font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ring-alts{margin:.25rem 0 0;color:var(--muted);font-size:.7rem;letter-spacing:.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ring-echo .ring-alts{margin:0}.priority-chip{display:inline-block;padding:.2rem .4rem;border-radius:.25rem;border:1px solid rgb(var(--accent-rgb)/.25);background:rgb(var(--accent-rgb)/.08);color:var(--gold);font-size:.5625rem;letter-spacing:.15em;text-transform:uppercase;line-height:1.4}.band-filters{display:flex;flex-wrap:wrap;gap:.25rem;padding:0 .5rem .5rem}.band-btn{padding:.25rem .5rem;border:1px solid var(--border);border-radius:.25rem;background:transparent;color:var(--muted);cursor:pointer;font-family:Jost,sans-serif;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;transition:all .2s}.band-btn:hover:not(.active){color:var(--fg)}.band-btn.active{background:rgb(var(--accent-rgb)/.14);color:var(--gold);border-color:rgb(var(--accent-rgb)/.35)}.how-calc{margin-top:.4rem}.how-calc-toggle{border:none;background:transparent;padding:0;cursor:pointer;font-family:Jost,sans-serif;font-size:.68rem;letter-spacing:.08em;color:var(--muted);transition:color .2s}.how-calc-toggle:hover{color:var(--gold)}.how-calc-body{margin-top:.45rem;padding:.6rem .75rem;border-left:2px solid rgb(var(--accent-rgb)/.25);border-radius:0 4px 4px 0;background:rgb(var(--accent-rgb)/.05);font-size:.75rem;line-height:1.55;color:var(--muted)}.how-calc-body p{margin:0 0 .5rem}.how-calc-body p:last-child{margin-bottom:0}.how-calc-body b{color:var(--fg);font-weight:400}.unit-switch{display:flex;gap:.125rem}.unit-tab{padding:.2rem .5rem;border:1px solid var(--border);border-radius:.25rem;background:transparent;color:var(--muted);cursor:pointer;font-family:Jost,sans-serif;font-size:.65rem;letter-spacing:.06em;transition:all .2s}.unit-tab:hover:not(.active){color:var(--fg)}.unit-tab.active{background:rgb(var(--accent-rgb)/.14);color:var(--gold);border-color:rgb(var(--accent-rgb)/.35)}.measure-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));grid-gap:.75rem;gap:.75rem}.link-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.link-row .field-input{flex:1 1}.disclosure{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem 0;border:none;border-top:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-family:Jost,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}.disclosure:hover{color:var(--gold)}.disclosure-caret{display:inline-block;transition:transform .2s}.disclosure-caret.open{transform:rotate(90deg)}.disclosure-hint{margin-left:auto;text-transform:none;letter-spacing:0;font-size:.72rem;font-style:italic;color:var(--muted);opacity:.75}.piece-links{display:flex;flex-wrap:wrap;gap:.4rem}.piece-link{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:rgb(var(--accent-rgb)/.06);color:var(--gold);text-decoration:none;font-size:.75rem;transition:all .2s;max-width:100%}.piece-link:hover{background:rgb(var(--accent-rgb)/.16)}.piece-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-error{margin:.375rem 0 0;font-size:.75rem;color:var(--warn)}.field-input.invalid,.field-input.invalid:focus{border-color:rgb(var(--warn-rgb)/.55)}.field-hint{margin:.25rem 0 0;font-size:.75rem;color:var(--muted);font-style:italic}.discard-bar{justify-content:space-between;align-items:center;flex-wrap:wrap}.discard-text{margin:0 auto 0 0;font-size:.8125rem;color:var(--warn)}.btn-discard{padding:.625rem 1.25rem;border:1px solid rgb(var(--bad-rgb)/.45);border-radius:var(--radius);background:rgb(var(--bad-rgb)/.12);color:var(--bad);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:Jost,sans-serif;transition:all .2s}.btn-discard:hover{background:rgb(var(--bad-rgb)/.22)}.checkbox-row{display:flex;align-items:center;gap:.5rem}.checkbox-label{font-size:.875rem;cursor:pointer}.field-checkbox{accent-color:var(--gold);width:1rem;height:1rem;cursor:pointer}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem;flex-shrink:0}.btn-cancel{padding:.625rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:Jost,sans-serif;transition:all .2s}.btn-cancel:hover{color:var(--fg);border-color:rgb(var(--accent-rgb)/.2)}.btn-save{padding:.625rem 1.5rem;border:1px solid rgb(var(--accent-rgb)/.4);border-radius:var(--radius);background:rgb(var(--accent-rgb)/.12);color:var(--gold);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:Jost,sans-serif;transition:all .2s}.btn-save:hover{background:rgb(var(--accent-rgb)/.22)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.tools-body{display:flex;flex:1 1;overflow:hidden}.tools-sidebar{width:13rem;flex-shrink:0;border-right:1px solid var(--border);padding:1.5rem .75rem;background:var(--bg);display:flex;flex-direction:column}.tools-sidebar-label{font-size:.5625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);padding:0 .5rem;margin-bottom:.75rem}.tools-nav{display:flex;flex-direction:column;gap:.125rem}.tools-nav-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.75rem;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s;font-family:Jost,sans-serif;background:transparent;color:var(--muted);text-align:left;width:100%}.tools-nav-btn.active{color:var(--gold);background:rgb(var(--accent-rgb)/.08)}.tools-nav-btn:not(.active):hover{color:var(--fg)}.tools-content{flex:1 1;overflow-y:auto;padding:3rem 2rem;display:flex;justify-content:center}.tools-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:30rem;width:100%;color:var(--muted)}.tools-placeholder-icon{width:3rem;height:3rem;border-radius:50%;border:1px solid var(--border);background:rgb(var(--accent-rgb)/.05);display:flex;align-items:center;justify-content:center;color:var(--gold)}.tools-placeholder-title{font-family:Playfair Display,serif;font-style:italic;font-size:1.375rem;color:var(--fg);text-align:center;margin:0}.tools-placeholder-desc{font-size:.8125rem;line-height:1.75;text-align:center;margin:0;max-width:24rem}.tools-input-card{width:100%;gap:1rem;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;background:rgb(var(--card-rgb)/.6);margin-top:.5rem}.tools-field,.tools-input-card{display:flex;flex-direction:column}.tools-field{gap:.375rem}.tools-field-row{display:flex;gap:1rem}.tools-field-row .tools-field{flex:1 1}.tools-field-label{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.tools-field-input{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:.875rem;font-family:Jost,sans-serif;padding:.5rem .75rem;outline:none;width:100%;opacity:.55;cursor:not-allowed}.tools-field-active{opacity:1;cursor:text;color:var(--fg);transition:border-color .2s}.tools-field-active:focus{border-color:rgb(var(--accent-rgb)/.35)}select.tools-field-active{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.tools-field-active option{background:var(--secondary)}.tools-result-row{display:flex;justify-content:space-between;align-items:baseline;padding:.875rem 0 0;border-top:1px solid var(--border)}.tools-result-label{font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.tools-result-value{font-family:Playfair Display SC,serif;font-size:1.25rem;color:var(--gold);opacity:.4;transition:opacity .3s}.tools-result-value--live{opacity:1}.tools-result-figures{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.tools-field-alt,.tools-result-alt{font-size:.6875rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tools-field-alt{display:block;margin-top:.375rem}.tools-coming-soon{display:flex;align-items:center;justify-content:center;padding:.5rem;font-size:.5625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:.5;border:1px dashed rgb(var(--accent-rgb)/.18);border-radius:var(--radius)}.tools-spot-label-row{display:flex;align-items:center;justify-content:space-between}.tools-spot-refresh{display:flex;align-items:center;justify-content:center;padding:.125rem .25rem;background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:.25rem;transition:color .2s;line-height:1}.tools-spot-refresh:hover{color:var(--gold)}.tools-spot-refresh:disabled{opacity:.35;cursor:not-allowed}.tools-spot-meta{font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.25rem;display:block}.tools-spot-meta--err{color:var(--bad)}.tools-purity-row{padding-top:.25rem}.tools-purity-note{font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);opacity:.6}.tools-comp-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:.375rem;overflow:hidden}.tools-comp-header{padding:.5rem .875rem;background:rgb(var(--bg-rgb)/.5);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.tools-comp-header,.tools-comp-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:.5rem;gap:.5rem}.tools-comp-row{padding:.625rem .875rem;border-top:1px solid var(--border);font-size:.75rem;color:rgb(var(--fg-rgb)/.45);align-items:center}.tools-comp-value{font-family:Playfair Display,serif;color:var(--gold);opacity:.5}@media (max-width:768px){.header{padding:.75rem 1rem}.brand-name{font-size:1.5rem}.brand-label{font-size:.5rem}.hamburger-btn{display:flex}.view-tab{padding:.375rem .625rem}.view-tab-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:40;width:16rem;padding-top:1rem;transform:translateX(-100%);box-shadow:4px 0 24px rgb(var(--shadow-rgb)/.5);border-right-color:rgb(var(--accent-rgb)/.2)}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgb(var(--bg-rgb)/.75);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:39}.grid{grid-template-columns:1fr}.main{--main-pad:1rem}.modal-overlay{padding:0;align-items:flex-end}.modal{border-radius:1rem 1rem 0 0;max-height:92vh}.modal-body{grid-template-columns:1fr}.field.full{grid-column:1}.tools-sidebar{width:9rem;padding:1rem .5rem}.tools-nav-btn{font-size:.6875rem;gap:.375rem;padding:.5rem}.tools-content{padding:1.5rem 1rem}.tools-field-row{flex-direction:column;gap:.75rem}.tools-comp-header,.tools-comp-row{grid-template-columns:2fr 1fr 1fr}.tools-comp-header span:nth-child(4),.tools-comp-row span:nth-child(4){display:none}.tools-comp-row span:nth-child(3){color:var(--gold);opacity:.5;font-family:Playfair Display,serif}}[data-amplify-authenticator]{--amplify-components-fieldcontrol-background-color:var(--bg);--amplify-components-authenticator-router-box-shadow:0 8px 32px rgb(var(--shadow-rgb)/0.45);--amplify-components-authenticator-router-border-width:1px;padding:2rem 1rem}[data-amplify-authenticator] [data-amplify-router]{border-radius:var(--radius)}[data-amplify-authenticator] input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg) inset;-webkit-text-fill-color:var(--fg)}.insights{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.75rem}.insights .stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.75rem;gap:.75rem}.insights .stat-row:has(>.stat:only-child){grid-template-columns:minmax(150px,20rem)}.stat{padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.insights .stat-label{margin:0 0 .35rem;font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.stat-value{margin:0;font-family:Playfair Display,serif;font-size:1.6rem;line-height:1.1;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-note{margin:.35rem 0 0;font-size:.7rem;color:var(--muted);font-style:italic}.chart{display:flex;flex-direction:column;gap:.75rem}.chart-controls{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:flex-end}.chart-pager{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:.25rem;overflow:hidden}.chart-pager-btn{display:flex;align-items:center;justify-content:center;padding:.2rem .45rem;border:none;border-left:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer}.chart-pager-btn:hover:not(:disabled){color:var(--fg);background:rgb(var(--accent-rgb)/.08)}.chart-pager-btn:disabled{cursor:default}.chart-pager-btn:disabled svg{opacity:.3}.chart-period{display:flex;align-items:center;justify-content:center;padding:.2rem .55rem;min-width:5.5rem;font-size:.65rem;letter-spacing:.06em;color:var(--fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-note{margin:-.5rem 0 0}.insights-band{position:relative;padding-left:.9rem;display:flex;flex-direction:column;gap:1.75rem}.insights-band:before{content:"";position:absolute;left:0;top:.45rem;bottom:.6rem;width:2px;border-radius:1px;background:rgb(var(--accent-rgb)/.3)}.insights-band-title{margin:0;font-family:Jost,sans-serif;font-weight:500;font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.insights-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.25rem}.insights-reveal{display:flex;align-items:center;justify-content:center;padding:.25rem .4rem;border:1px solid var(--border);border-radius:.25rem;background:transparent;color:var(--muted);cursor:pointer;transition:color .2s}.insights-reveal:hover{color:var(--fg)}.insights-reveal[aria-pressed=true]{color:var(--gold);border-color:rgb(var(--accent-rgb)/.35)}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.chart-title{margin:0;font-family:Playfair Display,serif;font-style:italic;font-size:1.05rem;color:var(--fg)}.columns-scroll{overflow-x:auto;overflow-y:hidden;margin:0 -.25rem;padding:0 .25rem}.columns{align-items:flex-end;list-style:none;margin:0;padding:0;min-width:100%}.column,.columns{display:flex;gap:.3rem}.column{flex:1 0 3.4rem;flex-direction:column;align-items:center}.column-label,.column-value{font-size:.625rem;color:var(--muted);white-space:nowrap;line-height:1}.column-value{min-height:.75rem}.column-track{width:100%;height:7rem;display:flex;align-items:flex-end;position:relative;background:rgb(var(--fg-rgb)/.05);border-radius:.25rem}.column-limit{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--warn);pointer-events:none}.column-fill.over{background:var(--warn)}.budget-progress-group+.budget-progress-group{margin-top:1rem}.budget-progress-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.budget-progress-scope{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.budget-progress-gone{font-size:.6875rem;color:var(--muted)}.budget-progress-row{display:grid;grid-template-columns:3.5rem 1fr auto;grid-gap:.6rem;gap:.6rem;align-items:center;margin-top:.35rem}.budget-progress-label,.budget-progress-text{font-size:.75rem;color:var(--muted)}.budget-progress-text{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-progress-track{position:relative;height:.5rem;border-radius:999px;overflow:hidden;background:rgb(var(--fg-rgb)/.07)}.budget-progress-fill{display:block;height:100%;background:var(--gold);border-radius:999px;transition:width .3s}.budget-progress-fill.over{background:var(--warn)}.budget-progress-pace{position:absolute;top:0;bottom:0;width:1px;background:rgb(var(--fg-rgb)/.45)}.budget-columns .column-track{overflow:visible}.budget-track{position:relative}.budget-pair{display:flex;align-items:flex-end;gap:2px;width:100%;height:100%}.budget-fill{flex:1 1;border-radius:.2rem .2rem 0 0;transition:height .3s}.budget-fill.spent{background:var(--gold)}.budget-fill.count{background:rgb(var(--accent-rgb)/.45)}.budget-fill.over{background:var(--warn)}.budget-key{gap:.6rem}.budget-key,.budget-key-item{display:flex;align-items:center}.budget-key-item{gap:.3rem;font-size:.6875rem;color:var(--muted)}.budget-swatch{width:.5rem;height:.5rem;border-radius:2px;display:inline-block}.budget-swatch.spent{background:var(--gold)}.budget-swatch.count{background:rgb(var(--accent-rgb)/.45)}.column-fill{width:100%;background:var(--gold);border-radius:.25rem .25rem 0 0;transition:height .3s}.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.bar-row{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;align-items:center;grid-gap:.75rem;gap:.75rem}.bar-label{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:rgb(var(--fg-rgb)/.05);height:14px}.bar-fill,.bar-track{border-radius:0 4px 4px 0}.bar-fill{display:block;height:100%;background:var(--gold)}.bar-value{font-size:.75rem;color:var(--fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}@media (prefers-reduced-motion:no-preference){.bar-fill{transition:width .25s ease}}.main.main-fill{overflow:hidden;display:flex;flex-direction:column;gap:.75rem}.main.main-fill .table-view{flex:1 1;min-height:0}.add-fab{display:none}@media (max-width:768px){.add-fab{display:inline-flex;align-items:center;gap:.4rem;position:fixed;right:1rem;z-index:30;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));padding:.8rem 1.15rem;border-radius:999px;cursor:pointer;border:1px solid rgb(var(--accent-rgb)/.4);background:var(--gold);color:var(--bg);font-family:Jost,sans-serif;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;box-shadow:0 6px 20px rgb(var(--shadow-rgb)/.45)}.add-fab svg{width:16px;height:16px}}.vault-toolbar{display:flex;align-items:center;gap:.5rem;position:-webkit-sticky;position:sticky;top:calc(var(--main-pad) * -1);z-index:20;background:var(--bg);margin:calc(var(--main-pad) * -1) calc(var(--main-pad) * -1) 1rem;padding:var(--main-pad) var(--main-pad) .75rem}.main-fill .vault-toolbar{margin-bottom:0}.vault-layout-switch{align-self:flex-start}.table-scroll{flex:1 1;min-height:0;overflow:auto}.table-view{display:flex;flex-direction:column;gap:.75rem;min-width:0}.table-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.table-filters .field-select{width:auto;min-width:8rem}.table-search{flex:1 1 16rem;min-width:12rem}.table-count{margin:0;font-size:.72rem;color:var(--muted)}.piece-table{width:100%;border-collapse:collapse;font-size:.8125rem}.piece-table td,.piece-table th{text-align:left;padding:.5rem .75rem .5rem 0;border-bottom:1px solid var(--border);white-space:nowrap}.piece-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:1;padding-bottom:.4rem}.th-rank{font-size:.55rem;margin-left:.1rem;opacity:.7}.piece-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-left:1.25rem}.th-btn{border:none;background:transparent;cursor:pointer;padding:0;font-family:Jost,sans-serif;font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .2s}.th-arrow,.th-btn:hover{color:var(--gold)}.th-arrow{margin-left:.3rem;font-size:.55rem}.piece-table tbody tr{cursor:pointer;transition:background .15s}.piece-table tbody tr:hover{background:rgb(var(--accent-rgb)/.06)}.piece-table tfoot td{border-bottom:none;border-top:1px solid var(--border);color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:.6rem}.gap-dot{margin-left:.4rem;color:var(--gold);opacity:.55}.import-row{border-bottom:1px solid var(--border);padding-bottom:.875rem;margin-bottom:.25rem}.import-input-row{display:flex;align-items:center;gap:.5rem}.import-field{position:relative;flex:1 1;min-width:0;display:flex}.import-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:flex}.import-input{width:100%;padding-left:2rem}.import-btn{white-space:nowrap;flex-shrink:0}.import-status{margin-top:.375rem;min-height:1.1em}.import-status-problem{color:var(--warn)}.field-label-line{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.import-mark{font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.8;white-space:nowrap}.import-mark-guess{color:var(--warn);opacity:1}@media (max-width:768px){.import-input-row{flex-wrap:wrap}.import-btn{width:100%}}.live-note{font-size:.625rem;padding:.25rem .5rem;border-radius:.3125rem;background:rgb(var(--warn-rgb)/.1)}.arrival-badge,.live-note{letter-spacing:.15em;text-transform:uppercase;color:var(--warn);white-space:nowrap}.arrival-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.5625rem;padding:.2rem .4rem;border-radius:.25rem;background:rgb(var(--warn-rgb)/.12);border:1px solid rgb(var(--warn-rgb)/.25);line-height:1.4}.arrived-btn{border-color:rgb(var(--accent-rgb)/.4);color:var(--gold);background:rgb(var(--accent-rgb)/.06)}.arrived-btn:hover{background:rgb(var(--accent-rgb)/.12);color:var(--gold)}.photo-error{margin:.5rem 0 0;padding:.5rem .625rem;border-radius:var(--radius);background:rgb(var(--warn-rgb)/.1);border:1px solid rgb(var(--warn-rgb)/.25);color:var(--warn);font-size:.75rem;line-height:1.5}.photo-queue{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.pq-bar{display:flex;align-items:center;gap:.75rem;padding:calc(.65rem + env(safe-area-inset-top, 0px)) 1rem .65rem;border-bottom:1px solid var(--border)}.pq-icon-btn{width:40px;height:40px;display:grid;place-items:center;flex:none;background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);cursor:pointer}.pq-icon-btn:hover{border-color:rgb(var(--accent-rgb)/.3)}.pq-count{flex:1 1;text-align:center;font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pq-rail{height:2px;background:rgb(var(--fg-rgb)/.08)}.pq-rail span{display:block;height:100%;background:var(--gold)}.pq-card{flex:1 1;overflow-y:auto;width:100%;max-width:30rem;margin:0 auto;padding:1rem 1rem .5rem;display:flex;flex-direction:column}.pq-name{font-family:Playfair Display,serif;font-size:1.25rem;line-height:1.2;margin:0 0 .3rem}.pq-meta{margin:0 0 .75rem;font-size:.78rem;color:var(--muted)}.pq-frame{position:relative;aspect-ratio:1;height:min(30vh,240px);max-width:100%;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden;display:grid;place-items:center}.pq-frame img,.pq-frame svg{width:100%;height:100%;object-fit:cover;display:block}.pq-frame-note{position:absolute;bottom:.5rem;left:0;right:0;text-align:center;font-size:.625rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.pq-thumbs{list-style:none;margin:0;padding:.6rem 0 0;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.pq-thumb{position:relative;width:54px;height:54px}.pq-thumb img,.pq-thumb-blank{width:100%;height:100%;object-fit:cover;display:block;border:1px solid var(--border);border-radius:6px;background:var(--secondary)}.pq-thumb-uploading img{opacity:.5}.pq-thumb-failed img{border-color:var(--bad);opacity:.5}.pq-thumb-cover{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;background:rgb(var(--accent-rgb)/.85);color:var(--bg);border-radius:0 0 5px 5px}.pq-status{min-height:1.25rem;margin:.6rem 0 0;text-align:center;font-size:.75rem;color:var(--muted)}.pq-actions{margin-top:auto;padding-top:.75rem}.pq-add{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:.6rem;border-radius:var(--radius);cursor:pointer;border:1px solid var(--gold);background:var(--gold);color:var(--bg);font-family:Jost,sans-serif;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}.pq-add:hover{opacity:.9}.pq-footer{display:flex;gap:.75rem;width:100%;max-width:30rem;margin:0 auto;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--border)}.pq-footer .action-btn{padding:.9rem .625rem}.pq-skip{flex:0 0 34%}.pq-next{flex:1 1;border-color:rgb(var(--accent-rgb)/.4);color:var(--gold);background:rgb(var(--accent-rgb)/.06)}.pq-done{flex:1 1;overflow-y:auto;padding:2.5rem 1.5rem;text-align:center}.pq-done h2{font-family:Playfair Display,serif;font-size:1.5rem;margin:0 0 .5rem}.pq-done-note{max-width:28ch;margin:0 auto 1.5rem;color:var(--muted);font-size:.8rem}.pq-tally{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.pq-tally div{min-width:7rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.pq-tally-label{margin:0;font-size:.5625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.pq-tally-value{margin:.35rem 0 0;font-family:Playfair Display,serif;font-size:1.5rem;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pq-done-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.pq-done-actions .action-btn{padding:.75rem 1.5rem}.pq-done-btn{border-color:rgb(var(--accent-rgb)/.4);color:var(--gold);background:rgb(var(--accent-rgb)/.06)}.pq-sheet{position:fixed;inset:0;z-index:91;display:flex;flex-direction:column;justify-content:flex-end}.pq-scrim{position:absolute;inset:0;border:none;padding:0;background:rgb(var(--bg-rgb)/.8);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.pq-panel{position:relative;background:var(--card);border-top:1px solid var(--border);border-radius:1rem 1rem 0 0;max-height:78%;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0)}.pq-panel h3{font-family:Playfair Display,serif;font-style:italic;font-weight:500;font-size:1rem;margin:0;padding:1rem 1rem .5rem}.pq-search{margin:0 1rem .5rem;padding:.7rem .8rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-family:Jost,sans-serif}.pq-hits{list-style:none;margin:0;padding:0 .5rem .75rem;overflow-y:auto}.pq-hits button{width:100%;display:flex;align-items:baseline;gap:.5rem;text-align:left;background:none;border:none;color:var(--fg);font-family:Jost,sans-serif;font-size:.875rem;padding:.7rem .6rem;border-radius:var(--radius);cursor:pointer}.pq-hits button:hover{background:rgb(var(--accent-rgb)/.08)}.pq-hit-done{margin-left:auto;font-size:.5625rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.pq-no-hits{padding:.5rem .6rem 1rem;font-size:.8rem;color:var(--muted)}.photo-queue-btn{padding:.2rem .5rem;gap:.35rem;border-radius:.25rem;font-size:.65rem;letter-spacing:.06em;text-transform:none}.photo-queue-btn svg{width:.85rem;height:.85rem}.photo-queue-count{margin-left:.1rem;padding:0 .3rem;border-radius:999px;font-size:.65rem;background:rgb(var(--accent-rgb)/.16);color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}