*{box-sizing:border-box}html,body{margin:0;padding:0;background:#161618;color:#f4f4f5;font-family:"Archivo","Segoe UI",system-ui,-apple-system,sans-serif}body{background:radial-gradient(900px 500px at 85% -10%, rgba(140,192,58,0.1), transparent 60%),#161618;min-height:100vh}.page{margin:0 auto;padding:40px 20px 10px}@media (min-width: 1260px){.page{margin:0 20px}}.accent{color:#8cc03a}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:24px}@media (min-width: 960px){.grid{grid-template-columns:minmax(0, 5fr) minmax(0, 7fr)}}.workspace,.collection{min-width:0}.workspace{display:flex;flex-direction:column;gap:20px}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:42px;height:42px;border-radius:12px;background:rgba(140,192,58,0.14);border:1px solid #8cc03a;color:#8cc03a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-title{margin:0;font-size:20px;font-weight:800;letter-spacing:-0.02em;line-height:1.2}.brand-sub{margin:0;font-size:12px;color:#9a9aa2}@media (min-width: 960px){.brand .brand-title{font-size:28px}.brand .brand-icon{width:48px;height:48px}.brand .brand-icon svg{width:24px;height:24px}}.stats-pills{display:flex;gap:8px;flex-wrap:wrap}.pill{font-size:12px;padding:6px 12px;border-radius:999px;background:rgba(140,192,58,0.14);border:1px solid #8cc03a;color:#9a9aa2;font-variant-numeric:tabular-nums}.pill-accent{background:rgba(140,192,58,0.14);border-color:#8cc03a;color:#f4f4f5;font-weight:600}.site-footer{margin-top:48px;padding-top:20px;border-top:1px solid rgba(161,161,168,0.16);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;color:#9a9aa2}.site-footer .github-link{display:inline-flex;align-items:center;color:#9a9aa2;transition:color 0.2s ease}.site-footer .github-link:hover,.site-footer .github-link:focus-visible{color:#8cc03a}.card{background:#222226;border:1px solid rgba(161,161,168,0.16);border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,0.3);padding:20px}.card-flat{background:transparent;border:none;box-shadow:none;padding:0 4px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#8cc03a;display:inline-flex;align-items:center;gap:6px}.seed-label{font-size:11px;color:#9a9aa2}.image-frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(161,161,168,0.16);background:#2a2a2e;aspect-ratio:3/2}.image-frame #current-image{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .3s ease}.image-frame #current-image.loaded{opacity:1}.image-frame .image-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9a9aa2;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.image-frame .image-loader.hidden{display:none}.btn{width:100%;padding:12px 16px;font-size:14px;font-weight:700;font-family:"Archivo","Segoe UI",system-ui,-apple-system,sans-serif;border-radius:12px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform 0.15s ease,box-shadow 0.2s ease,background 0.2s ease}.btn:active{transform:translateY(0)}.btn-primary{background:#8cc03a;color:#161618;margin-top:4px}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(140,192,58,0.25)}.btn-secondary{background:#2a2a2e;border:1px solid #8cc03a;color:#f4f4f5;margin-top:14px}.btn-secondary:hover{border-color:#fff}.btn-ghost{background:transparent;color:#9a9aa2;font-weight:500;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:6px}.btn-ghost:hover{color:#e05252}.field-label{display:block;font-size:12px;font-weight:600;color:#9a9aa2;margin-bottom:6px}#email-input{width:100%;padding:11px 14px;font-size:14px;font-family:inherit;color:#f4f4f5;background:#2a2a2e;border:1px solid rgba(161,161,168,0.16);border-radius:12px;transition:border-color 0.2s ease,box-shadow 0.2s ease}#email-input:focus{outline:none;border-color:#8cc03a;box-shadow:0 0 0 3px rgba(140,192,58,0.14)}#email-input.invalid{border-color:#e05252}#email-input.valid{border-color:#8cc03a}.saved-email-picker{margin-bottom:20px}.saved-email-picker[hidden]{display:none}.saved-email-picker label{display:block;margin-bottom:8px;color:#9a9aa2;font-size:12px;font-weight:600}.saved-email-picker select{width:100%;min-width:0;padding:12px 14px;background:#2a2a2e;color:#9a9aa2;border:1px solid rgba(161,161,168,0.16);border-radius:13px;font-family:inherit;font-size:14px;color-scheme:dark}.saved-email-picker select:focus-visible{outline:2px solid #8cc03a;outline-offset:3px}.feedback{min-height:18px;margin:6px 0 12px}.feedback.ok{color:#8cc03a}.feedback.err{color:#e05252}.feedback.info{color:#9a9aa2}.rule-note{margin:14px 0 0;font-size:12px;line-height:1.6;color:#9a9aa2}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#222226;border:1px solid #8cc03a;border-radius:13px;color:#f4f4f5;padding:12px 20px;font-size:13px;font-weight:600;box-shadow:0 12px 40px rgba(0,0,0,0.5);opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:50;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.collection-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.collection-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.collection-hint{font-size:12px;color:#9a9aa2}.empty-state{text-align:center;padding:60px 20px;border:1px dashed rgba(161,161,168,0.16);border-radius:16px;color:#9a9aa2}.empty-state svg{margin-bottom:12px;opacity:.5}.empty-state p{margin:4px 0;font-size:14px}.empty-state .empty-sub{font-size:12px}.empty-state.hidden{display:none}.group{background:#222226;border:1px solid rgba(161,161,168,0.16);border-radius:16px;overflow:hidden;margin-bottom:16px;animation:fadeUp .4s ease both}.group.collapsed .chev{transform:rotate(-90deg)}.group.collapsed .group-body{display:none}.group-head{display:flex;align-items:center;gap:12px;padding:14px 20px;width:100%;background:transparent;color:inherit;font:inherit;text-align:left;border:0;border-bottom:1px solid rgba(161,161,168,0.16);cursor:pointer;user-select:none;transition:background 0.2s ease}.group-head:hover{background:rgba(161,161,168,0.06)}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;background:rgba(140,192,58,0.14);color:#8cc03a}.avatar.avatar-color-1{color:#8cc03a;background:rgba(140,192,58,0.14)}.avatar.avatar-color-2{color:#c9a86a;background:rgba(201,168,106,0.14)}.avatar.avatar-color-3{color:#7ba8b8;background:rgba(123,168,184,0.14)}.avatar.avatar-color-4{color:#d97757;background:rgba(217,119,87,0.14)}.avatar.avatar-color-5{color:#a78bd9;background:rgba(167,139,217,0.14)}.group-meta{flex:1;min-width:0}.group-email{font-size:14px;font-weight:600;font-family:ui-monospace,"SF Mono",Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.group-sub{font-size:11px;color:#9a9aa2}.count-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;background:#2a2a2e;border:1px solid #8cc03a;font-variant-numeric:tabular-nums}.chev{color:#9a9aa2;flex-shrink:0;transition:transform .25s ease;display:inline-flex}.group-body{padding:14px}.thumbs{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}@media (min-width: 560px){.thumbs{grid-template-columns:repeat(4, minmax(0, 1fr))}}.thumb{position:relative;aspect-ratio:1 / 1;border-radius:10px;overflow:hidden;border:1px solid rgba(161,161,168,0.16);background:#2a2a2e;transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;cursor:pointer;min-width:0;min-height:0}.thumb .remove-photo{position:absolute;top:6px;right:6px;z-index:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:#222226;color:#f4f4f5;font-size:20px;cursor:pointer}.thumb .remove-photo:hover{background:#e05252}.thumb .remove-photo:focus-visible{outline:2px solid #8cc03a}.thumb:hover{transform:translateY(-3px) scale(1.02);border-color:#8cc03a;box-shadow:0 10px 30px rgba(0,0,0,0.45)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.shared{border-color:#c9a86a}.thumb .preview-photo{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;position:absolute;inset:0}.thumb .preview-photo:focus-visible{outline:3px solid #8cc03a;outline-offset:-3px}.shared-badge{position:absolute;bottom:6px;right:6px;font-size:9px;font-weight:700;padding:2px 6px;border-radius:5px;background:#c9a86a;color:#161618;letter-spacing:.02em;z-index:1;pointer-events:none}.photo-modal{width:92vw;max-width:900px;padding:64px 16px 16px;max-height:90vh;border:1px solid rgba(161,161,168,0.16);border-radius:16px;background:#222226;color:#f4f4f5;overflow-y:auto}.photo-modal::backdrop{background:rgba(0,0,0,0.8)}.photo-modal .modal-loader{margin:0;padding:40px 16px;color:#9a9aa2;text-align:center}.photo-modal #modal-image[hidden],.photo-modal #modal-loader[hidden]{display:none}.photo-modal #modal-image{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:8px}.photo-modal .modal-caption{margin:16px 0 0;color:#9a9aa2;font-size:13px;text-align:center}.photo-modal .modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:none;border-radius:50%;background:#2a2a2e;color:#f4f4f5;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.3s ease, transform 0.3s ease;padding:0 0 2px}.photo-modal .modal-close:hover{background:#8cc03a;transform:rotate(90deg)}.photo-modal .modal-close:focus-visible{outline:2px solid #8cc03a}@media (prefers-reduced-motion: reduce){.group{animation:none}.btn,.thumb,.chev,.toast,.image-frame #current-image,.photo-modal .modal-close{transition:none}.thumb:hover,.btn-primary:hover,.photo-modal .modal-close:hover{transform:none}.toast,.toast.show{transform:translateX(-50%)}}
