:root{--gold: #C9A961;--gold-bright: #E0C685;--gold-ink: #171308;--bg: #0F0E0C;--surface: #12100E;--card: #171512;--raise: #1D1A15;--border: #2B2721;--border-2: #3A342B;--line: #221F1A;--text: #F2EDE4;--muted: #A79E8F;--faint: #6E6659;--danger-bg: #3A231F;--danger-border: #7A4038;--danger-text: #E8A79B;--ok: #9CB89C}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,.serif{font-family:Fraunces,serif;font-weight:400;margin:0}a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-bright)}::placeholder{color:var(--faint)}input,textarea,button{font-family:Inter,sans-serif}.input{height:50px;border-radius:12px;border:1px solid var(--border-2);background:var(--card);color:var(--text);font-size:15px;padding:0 18px;outline:none;width:100%}.input:focus{border-color:var(--gold)}textarea.input{height:auto;padding:12px 14px;resize:none;font-size:14px}.btn{height:50px;border:none;border-radius:12px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;padding:0 18px;white-space:nowrap}.btn:disabled{opacity:.5;cursor:default}.btn-gold{background:var(--gold);color:var(--gold-ink)}.btn-gold:hover:not(:disabled){background:var(--gold-bright)}.btn-ghost{background:var(--card);color:var(--text);border:1px solid var(--border-2);font-weight:500}.btn-ghost:hover:not(:disabled){border-color:var(--faint)}.btn-plain{background:transparent;color:var(--muted);font-weight:500}.btn-danger{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.btn-sm{height:38px;font-size:13px;border-radius:10px;padding:0 16px}.kicker{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.progress-track{height:3px;border-radius:2px;background:var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--gold);transition:width .25s ease}.badge{padding:4px 12px;border-radius:99px;border:1px solid var(--gold);color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.06em}.grid-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px}@media (min-width: 900px){.grid-photos{grid-template-columns:repeat(6,1fr);gap:6px;padding:8px}}.tile{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;background:var(--card);border-radius:0}@media (min-width: 900px){.tile{border-radius:6px}}.tile img{width:100%;height:100%;object-fit:cover;display:block}.tile-sel-overlay{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 2px var(--gold);background:#0f0e0c2e;pointer-events:none}.tile-check-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0e0c66;box-shadow:inset 0 0 0 2px var(--text);pointer-events:none}.dot{position:absolute;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.dot-heart{top:7px;right:7px;background:var(--gold)}.dot-heart-empty{top:7px;right:7px;background:#0f0e0c73;border:1.5px solid rgba(255,255,255,.55)}.dot-check{top:7px;left:7px;background:var(--text)}.dot-check-empty{top:7px;left:7px;border:1.5px solid rgba(255,255,255,.6);background:#0f0e0c59}.dot-x{top:7px;right:7px;background:#0f0e0cb3;border:1px solid rgba(255,255,255,.25);color:var(--text);font-size:11px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{width:440px;max-width:100%;max-height:92vh;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:30px 32px 32px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px #00000080}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--raise);border:1px solid var(--border-2);color:var(--text);padding:12px 20px;border-radius:12px;font-size:14px;z-index:100;box-shadow:0 8px 30px #00000080}.spinner{width:22px;height:22px;border:2px solid var(--border-2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-page{min-height:100dvh;display:flex;align-items:center;justify-content:center}.topbar{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:#0f0e0cd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 640px){.topbar{padding:0 16px}}.page{max-width:1360px;margin:0 auto;width:100%;padding:32px 24px}@media (max-width: 640px){.page{padding:22px 16px}}.logo-mark{width:38px;height:38px;flex-shrink:0;border-radius:10px;background:linear-gradient(145deg,var(--gold),#a8863f);color:var(--gold-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:.02em}.logo-name{font-size:18px;font-weight:500;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}@media (max-width: 520px){.card-grid{grid-template-columns:1fr 1fr;gap:12px}}.gallery-card{overflow:hidden;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.gallery-card:hover{transform:translateY(-2px);border-color:var(--border-2);box-shadow:0 12px 32px #00000059}.tab{cursor:pointer;padding-bottom:8px;color:var(--muted);border-bottom:2px solid transparent;transition:color .15s ease}.tab:hover{color:var(--text)}.tab-on{color:var(--text);font-weight:500;border-bottom-color:var(--gold)}.link{color:var(--muted);cursor:pointer;transition:color .15s ease}.link:hover{color:var(--text)}.seg{flex:1;height:40px;border-radius:10px;border:1px solid var(--border-2);background:transparent;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.seg:hover{color:var(--text)}.seg-on{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}.stat-tile{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 12px;text-align:center}.stat-num{font-family:Fraunces,serif;font-size:24px;font-weight:500;line-height:1}.stat-label{font-size:11px;color:var(--muted);margin-top:6px;letter-spacing:.02em}@media (hover: none){.dot{width:26px!important;height:26px!important}}
