:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16181d;--surface:#1e2128;--surface-deep:#14161b;--border:#2c3039;--text:#ffffffe6;--text-muted:#9aa0ae;--accent:#ec6d00;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:var(--accent);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{filter:brightness(1.15)}button{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.achievement-toast{z-index:90;background:linear-gradient(135deg, var(--surface), var(--surface-deep));border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;width:min(22rem,100vw - 2rem);animation:.35s cubic-bezier(.2,.9,.3,1.2) toast-in;position:fixed;bottom:1rem;right:1rem;box-shadow:0 10px 28px #00000080}.achievement-toast.toast-leaving{animation:.25s forwards toast-out}.toast-body{width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem .9rem .5rem;display:flex}.toast-icon{font-size:1.6rem;animation:.9s .3s medal-wiggle}.toast-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.65rem;display:block}.toast-name{font-weight:700;display:block}.toast-flavor{color:var(--text-muted);font-size:.8rem;display:block}.toast-actions{justify-content:flex-end;gap:.25rem;padding:0 .5rem .5rem;display:flex}.toast-action{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .4rem;font-size:.72rem}.toast-action:hover,.toast-action:focus-visible{color:var(--text);background:var(--surface-deep)}@keyframes toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{to{opacity:0;transform:translate(120%)}}@keyframes medal-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-14deg)}55%{transform:rotate(10deg)}80%{transform:rotate(-5deg)}}.milestone-overlay{z-index:100;cursor:pointer;background:#08090cc7;justify-content:center;align-items:center;padding:1rem;animation:.25s overlay-in;display:flex;position:fixed;inset:0}.milestone-card{text-align:center;cursor:default;max-width:26rem;animation:.45s cubic-bezier(.2,1.1,.3,1.15) milestone-pop}.milestone-badge{background:radial-gradient(circle at 35% 30%, #ffb45e, var(--accent) 60%, #b34f00);border-radius:50%;justify-content:center;align-items:center;width:6rem;height:6rem;margin:0 auto 1rem;font-size:2.8rem;display:flex;box-shadow:0 0 0 6px #ec6d0038,0 0 42px #ec6d008c}.milestone-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.75rem}.milestone-name{margin:.25rem 0;font-size:1.5rem;font-weight:800}.milestone-flavor{color:var(--text-muted)}.milestone-hint{color:var(--text-muted);opacity:.8;margin-top:1.25rem;font-size:.75rem}.milestone-skip{margin-top:.75rem}@keyframes overlay-in{0%{opacity:0}}@keyframes milestone-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}.recap-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(26rem,100%);padding:1.5rem}.recap-list{text-align:left;gap:.6rem;max-height:45vh;margin:1rem 0;padding:0;list-style:none;display:grid;overflow-y:auto}.recap-list li{align-items:center;gap:.6rem;display:flex}.recap-icon{font-size:1.3rem}.recap-name{font-weight:600;display:block}.recap-desc{color:var(--text-muted);font-size:.78rem;display:block}.confetti-field{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;width:8px;height:13px;animation:1.9s ease-in forwards confetti-fall;position:absolute;top:18%}@keyframes confetti-fall{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(var(--drift,0px), 62vh) rotate(560deg)}}.nav-badge{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:1.15rem;margin-left:.35rem;padding:0 .3rem;font-size:.68rem;font-weight:700;line-height:1.15rem;display:inline-block}.achievements-hero{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1.1rem;display:flex}.hero-stats{flex-wrap:wrap;gap:1.5rem;display:flex}.hero-stat .hero-value{font-size:1.35rem;font-weight:800;display:block}.hero-stat .hero-caption{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;display:block}.hero-next{color:var(--text-muted);font-size:.85rem}.hero-next strong{color:var(--text)}.achievements-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.view-switch{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.view-switch button{background:var(--surface);color:var(--text-muted);cursor:pointer;font:inherit;border:none;padding:.4rem .9rem;font-size:.85rem}.view-switch button.view-active{background:var(--accent);color:#fff;font-weight:600}.achievement-log{border-left:2px solid var(--border);gap:.9rem;margin-left:.6rem;padding-left:1.1rem;display:grid}.log-item{position:relative}.log-item:before{content:"";background:var(--accent);border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:.45rem;left:-1.45rem}.log-item.log-next:before{background:var(--surface-deep);border:2px dashed var(--text-muted);width:.45rem;height:.45rem}.log-title{font-weight:700}.log-date{color:var(--text-muted);font-size:.75rem}.log-flavor{color:var(--text-muted);font-size:.82rem}.category-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.9rem;display:grid}.category-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem}.category-title{margin-bottom:.6rem;font-weight:700}.tier-chain{flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:.6rem;display:flex}.tier-node{background:radial-gradient(circle at 35% 30%, #ffb45e, var(--accent) 65%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.72rem;font-weight:700;display:inline-flex}.tier-node.tier-locked{background:var(--surface-deep);color:var(--text-muted);border:1px solid var(--border)}.tier-link{background:var(--border);flex:0 0 .7rem;height:2px}.tier-link.tier-link-done{background:var(--accent)}.achievement-row{align-items:flex-start;gap:.65rem;padding:.45rem 0;display:flex}.achievement-row+.achievement-row{border-top:1px solid var(--border)}.achievement-row.row-locked{opacity:.65}.row-icon{font-size:1.25rem}.row-locked .row-icon{filter:grayscale();opacity:.6}.row-name{flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:600;display:flex}.row-desc{color:var(--text-muted);font-size:.8rem}.row-progress{align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.row-progress .progress-track{flex:1;max-width:12rem}.row-progress-caption{color:var(--text-muted);white-space:nowrap;font-size:.72rem}.rarity-pill{text-transform:uppercase;letter-spacing:.05em;color:#ffd166;border:1px solid #ffd16673;border-radius:999px;padding:.05rem .45rem;font-size:.65rem;font-weight:700}.hidden-row{color:var(--text-muted);font-style:italic}.streak-grace{color:var(--text-muted);font-size:.7rem}@media (prefers-reduced-motion:reduce){.achievement-toast,.achievement-toast.toast-leaving,.milestone-card,.milestone-overlay,.toast-icon{animation:none}.achievement-toast,.milestone-overlay{transition:opacity .2s}.confetti-piece{display:none}}.app{max-width:960px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.app-header h1{color:var(--accent);letter-spacing:.02em;margin:0;font-size:1.75rem}.tagline{color:var(--text-muted);margin:.15rem 0 0;font-size:.9rem}.summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem}.summary-progress-labels{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.summary-progress-title{font-weight:600}.summary-progress-value{color:var(--accent);font-size:1.5rem;font-weight:700}.progress-track{background:var(--surface-deep);border-radius:6px;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent) 0%, #ff9d3f 100%);border-radius:6px;height:100%;transition:width .4s}.summary-caption{color:var(--text-muted);margin:.5rem 0 0;font-size:.85rem}.summary-statuses{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.status-chip{background:var(--surface-deep);border:1px solid var(--border);cursor:pointer;min-width:5.5rem;color:var(--text);border-radius:10px;flex-direction:column;align-items:center;padding:.5rem .75rem;transition:border-color .15s,background .15s;display:flex}.status-chip:hover{border-color:var(--accent)}.status-chip.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, var(--surface-deep))}.status-chip-count{font-size:1.25rem;font-weight:700}.status-chip-label{color:var(--text-muted);font-size:.75rem}.toolbar{gap:.75rem;margin-bottom:1.25rem;display:flex}.search-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;flex:1;padding:.6rem .9rem;font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem}.add-form h2{margin:0 0 1rem;font-size:1.1rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.form-field{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.form-field-wide{grid-column:1/-1}.form-field input,.form-field select{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.form-actions{gap:.75rem;margin-top:1rem;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;transition:filter .15s}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-spinner{vertical-align:-.1em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.85em;height:.85em;margin-right:.45em;animation:.6s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation-duration:2s}}.pending-hint{color:var(--text-muted);margin-top:.5rem;font-size:.85rem;display:block}a.provider-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-ghost{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:.6rem 1.1rem}.btn-ghost:hover{border-color:var(--text-muted)}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem .5rem;font-size:.9rem}.btn-icon:hover{color:#ff6b6b;background:var(--surface-deep)}.system-group{margin-bottom:1.5rem}.system-title{align-items:baseline;gap:.6rem;margin:0 0 .6rem;font-size:1.05rem;display:flex}.system-count{color:var(--text-muted);font-size:.8rem;font-weight:400}.mini-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.mini-card{background:var(--surface);border:1px solid var(--border);border-left-width:4px;border-radius:10px;padding:.7rem .9rem}.mini-card-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.mini-card-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.mini-card-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.mini-card-meta{color:var(--text-muted);gap:.6rem;font-size:.8rem;display:flex}.mini-card-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.status-select{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);cursor:pointer;border-radius:8px;padding:.4rem .6rem;font-size:.85rem}.status-border-wishlist{border-left-color:#8b8fa3}.status-border-unassembled{border-left-color:#a0aec0}.status-border-assembled{border-left-color:#63b3ed}.status-border-inprogress{border-left-color:#f6ad55}.status-border-complete{border-left-color:#68d391}.list-placeholder{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.empty-state .empty-title{color:var(--text);font-size:1.1rem;font-weight:600}.error{color:#ff8a8a}.error.banner{background:color-mix(in srgb, #ff6b6b 12%, var(--surface));border:1px solid color-mix(in srgb, #ff6b6b 40%, var(--border));border-radius:10px;margin-bottom:1.25rem;padding:.75rem 1rem}.notice.banner{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--text);border-radius:10px;margin:.75rem 0 1rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}footer{text-align:center;color:var(--text-muted);margin-top:2.5rem;font-size:.8rem}.header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.user-menu{align-items:center;gap:.5rem;display:flex}.user-email{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;color:var(--text-muted);font-size:.85rem;overflow:hidden}.btn-secondary{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.btn-secondary:hover{border-color:var(--accent)}.page-loading{min-height:50vh;color:var(--text-muted);place-items:center;display:grid}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:380px;padding:2rem}.auth-card h1{color:var(--accent);margin:0 0 .25rem;font-size:1.5rem}.auth-card h2{color:var(--text-muted);margin:0 0 1.25rem;font-size:1.1rem;font-weight:500}.brand-link{text-decoration:none}.auth-intro{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9rem;line-height:1.5}.auth-form{flex-direction:column;gap:.9rem;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.auth-form input{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;padding:.6rem .8rem;font-size:.95rem}.auth-switch{color:var(--text-muted);margin:1.25rem 0 0;font-size:.85rem}.auth-switch a{color:var(--accent)}.external-providers{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}.divider{text-align:center;color:var(--text-muted);margin:0 0 .25rem;font-size:.8rem}.provider-btn{text-align:center}.landing{max-width:1040px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.landing-header{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.landing-brand{color:var(--accent);letter-spacing:.02em;font-size:1.4rem;font-weight:800}.landing-header nav{gap:.6rem;display:flex}.landing-header a{text-decoration:none}.hero{text-align:center;padding:3rem 0 3.5rem}.hero h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.25rem);line-height:1.1}.hero-sub{max-width:620px;color:var(--text-muted);margin:0 auto 1.75rem;font-size:1.1rem;line-height:1.6}.hero-cta a{text-decoration:none}.btn-lg{padding:.85rem 1.75rem;font-size:1.05rem}.features{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:2rem 0 3.5rem;display:grid}.feature{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.4rem}.feature h3{color:var(--accent);margin:0 0 .5rem;font-size:1rem}.feature p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.waitlist{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:2.5rem 1.5rem}.waitlist h2{margin:0 0 .6rem}.waitlist p{color:var(--text-muted);max-width:520px;margin:0 auto 1.25rem}.waitlist-form{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.waitlist-form input{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:10px;min-width:240px;padding:.7rem .9rem;font-size:.95rem}.waitlist-thanks{font-weight:600;color:var(--text)!important}.scanner-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.scanner-head h2{margin:0;font-size:1.1rem}.scanner-video-wrap{margin-bottom:.75rem}.scanner-video{background:var(--surface-deep);object-fit:cover;border-radius:10px;width:100%;max-height:280px}.scanner-hint{color:var(--text-muted);margin:.5rem 0;font-size:.85rem}.scanner-manual{gap:.6rem;display:flex}.scanner-manual input{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;flex:1;padding:.6rem .8rem;font-size:.95rem}.scanner-head-actions{align-items:center;gap:.4rem;display:flex}.scanner-video-wrap{position:relative}.scanner-video-wrap--hidden{display:none}.scanner-zoom{width:96px;accent-color:var(--accent)}.scanner-reticle{border:2px solid var(--accent);pointer-events:none;border-radius:10px;width:min(280px,70%);height:min(150px,42%);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000059}.scanner-reticle-hit{border-color:#4caf50;box-shadow:0 0 0 9999px #00000059,0 0 18px #4caf50e6}.scanner-sweep{background:var(--accent);opacity:.8;height:2px;animation:1.6s ease-in-out infinite alternate scanner-sweep;position:absolute;left:6%;right:6%}@keyframes scanner-sweep{0%{top:12%}to{top:86%}}@media (prefers-reduced-motion:reduce){.scanner-sweep{animation:none;top:50%}}.scan-history{margin-top:.75rem}.scan-history-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.8rem;display:block}.scan-history-chips{flex-wrap:wrap;gap:.4rem;display:flex}.scan-history-chip{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.8rem}.scan-history-chip:hover:not(:disabled){border-color:var(--accent)}.scan-card{border:1px solid var(--border);background:var(--surface-deep);border-radius:10px;align-items:flex-start;gap:.9rem;padding:.9rem;display:flex}.scan-card-added{border-color:#4caf50}.scan-card-image{object-fit:cover;border-radius:8px;flex-shrink:0;width:96px;height:96px}.scan-card-body{flex:1;min-width:0}.scan-card-body h3{margin:0 0 .25rem;font-size:1.05rem}.scan-card-meta{color:var(--text-muted);margin:0;font-size:.85rem}.scan-card-code{color:var(--text-muted);margin:.3rem 0 0;font-family:ui-monospace,monospace;font-size:.75rem}.scan-card-actions{flex-direction:column;flex-shrink:0;gap:.45rem;display:flex}@media (width<=560px){.scan-card{flex-direction:column}.scan-card-actions{flex-flow:wrap}}.modal-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{width:min(560px,100%);max-height:90vh;overflow-y:auto}.modal-panel .card{margin-bottom:0}@media (width<=600px){.modal-backdrop{align-items:stretch;padding:0}.modal-panel{width:100%;max-height:100vh}.modal-panel .card{border:none;border-radius:0;min-height:100vh}}.app-nav{gap:.4rem;display:flex}.app-nav a{text-decoration:none}.nav-active{border-color:var(--accent);color:var(--accent)}.paint-list{flex-direction:column;gap:.45rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.paint-row{align-items:center;gap:.7rem;display:flex}.paint-swatch{border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:26px;height:26px}.paint-name{flex-direction:column;flex:1;min-width:0;display:flex}.paint-brand{color:var(--text-muted);font-size:.8rem}.paint-equivalent{color:var(--accent);font-size:.8rem}.paint-owned{color:var(--text-muted);font-size:.85rem}.recipe{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.recipe-head{justify-content:space-between;align-items:center;display:flex}.recipe-head h3{margin:0;font-size:1rem}.recipe-steps{color:var(--text-muted);margin:.5rem 0 0;padding-left:1.25rem;font-size:.9rem}.recipe-form{border-top:1px solid var(--border);flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}.recipe-form h3{margin:0;font-size:1rem}.recipe-form input,.recipe-form select{border:1px solid var(--border);background:var(--surface-deep);color:var(--text);border-radius:8px;padding:.55rem .7rem;font-size:.9rem}.recipe-step-row{gap:.5rem;display:flex}.recipe-step-row input{flex:1}.invite-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.invite-head h2{margin:0 0 .25rem;font-size:1.1rem}.invite-head .scanner-hint{margin:0}.invite-list{flex-direction:column;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.invite-row{background:var(--surface-deep);border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem}.invite-summary{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.invite-code{letter-spacing:.06em;font-family:ui-monospace,monospace;font-size:.95rem}.invite-status{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.invite-status-pending{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--accent)}.invite-status-claimed{color:#68d391;border-color:#68d391}.invite-expiry{color:var(--text-muted);margin-left:auto;font-size:.8rem}.invite-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.invite-link{border:1px solid var(--border);background:var(--surface);min-width:200px;color:var(--text-muted);border-radius:8px;flex:1;padding:.45rem .7rem;font-family:ui-monospace,monospace;font-size:.8rem}.photo-gallery{border-top:1px solid var(--border);margin-top:.7rem;padding-top:.7rem}.photo-grid{flex-wrap:wrap;gap:.5rem;display:flex}.photo-thumb{width:84px;height:84px;margin:0;position:relative}.photo-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%;height:100%}.photo-delete{color:#fff;background:#0000008c;border-radius:6px;padding:.1rem .35rem;font-size:.75rem;position:absolute;top:2px;right:2px}.photo-add{border:1px dashed var(--border);background:var(--surface-deep);width:84px;height:84px;color:var(--text-muted);cursor:pointer;border-radius:8px;font-size:.8rem}.photo-add:hover:not(:disabled){border-color:var(--accent);color:var(--text)}@media (width<=600px){.app-header{flex-direction:column;align-items:flex-start}.mini-card-row{flex-direction:column;align-items:stretch}.mini-card-actions{justify-content:space-between}}
