/* I Love Design System — semantic, scoped and dependency-free. */
:root{
  color-scheme:dark;
  --ilove-primary:#f02a6b;
  --ilove-primary-soft:#4a142b;
  --ilove-primary-strong:#a70f43;
  --ilove-secondary:#ff6a9d;
  --ilove-accent:#ffd27a;
  --ilove-background:#090408;
  --ilove-surface:#170810;
  --ilove-surface-elevated:#24101a;
  --ilove-border:#542039;
  --ilove-text:#fff7fb;
  --ilove-text-secondary:#d9bdc8;
  --ilove-muted:#a98b99;
  --ilove-success:#70dbac;
  --ilove-warning:#ffd27a;
  --ilove-danger:#ff3b5f;
  --ilove-premium:#e9b85f;
  --ilove-font-ui:Inter,Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ilove-font-display:Georgia,"Times New Roman",serif;
  --ilove-text-display:clamp(2.5rem,7vw,6rem);
  --ilove-text-h1:clamp(2rem,5vw,4rem);
  --ilove-text-h2:clamp(1.45rem,3vw,2.25rem);
  --ilove-text-h3:1.2rem;
  --ilove-text-title:1.05rem;
  --ilove-text-body-large:1.125rem;
  --ilove-text-body:1rem;
  --ilove-text-body-small:.875rem;
  --ilove-text-label:.875rem;
  --ilove-text-caption:.75rem;
  --ilove-space-1:.25rem;
  --ilove-space-2:.5rem;
  --ilove-space-3:.75rem;
  --ilove-space-4:1rem;
  --ilove-space-5:1.25rem;
  --ilove-space-6:1.5rem;
  --ilove-space-8:2rem;
  --ilove-space-10:2.5rem;
  --ilove-space-12:3rem;
  --ilove-space-16:4rem;
  --ilove-radius-chip:999px;
  --ilove-radius-input:.875rem;
  --ilove-radius-button:999px;
  --ilove-radius-card:1.375rem;
  --ilove-radius-sheet:1.75rem;
  --ilove-radius-modal:1.75rem;
  --ilove-radius-photo:1.5rem;
  --ilove-shadow-1:0 8px 24px #0003;
  --ilove-shadow-2:0 20px 55px #0005;
  --ilove-shadow-3:0 40px 110px #0009;
  --ilove-focus:0 0 0 3px #ffd27a;
  --ilove-touch:44px;
}

.ilove-ui{font-family:var(--ilove-font-ui);color:var(--ilove-text)}
.ilove-display{font:800 var(--ilove-text-display)/.96 var(--ilove-font-ui);letter-spacing:-.055em}
.ilove-editorial{font-family:var(--ilove-font-display);font-weight:700}
.ilove-h1{font-size:var(--ilove-text-h1);line-height:1;letter-spacing:-.045em}
.ilove-h2{font-size:var(--ilove-text-h2);line-height:1.12;letter-spacing:-.03em}
.ilove-h3{font-size:var(--ilove-text-h3);line-height:1.25}
.ilove-title{font-size:var(--ilove-text-title);font-weight:800}
.ilove-body-large{font-size:var(--ilove-text-body-large)}
.ilove-body{font-size:var(--ilove-text-body)}
.ilove-body-small{font-size:var(--ilove-text-body-small)}
.ilove-label{font-size:var(--ilove-text-label);font-weight:800}
.ilove-caption{font-size:var(--ilove-text-caption);color:var(--ilove-muted)}

.ilove-button,.ilove-icon-button,.ilove-fab{
  min-height:var(--ilove-touch);border:1px solid transparent;border-radius:var(--ilove-radius-button);
  display:inline-flex;align-items:center;justify-content:center;gap:var(--ilove-space-2);padding:.72rem 1.1rem;
  background:linear-gradient(135deg,var(--ilove-primary-strong),var(--ilove-primary));color:#fff;
  font:800 var(--ilove-text-label)/1 var(--ilove-font-ui);text-decoration:none;cursor:pointer;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease;
}
.ilove-button:hover:not(:disabled),.ilove-icon-button:hover:not(:disabled),.ilove-fab:hover:not(:disabled){transform:translateY(-1px)}
.ilove-button:active:not(:disabled),.ilove-icon-button:active:not(:disabled),.ilove-fab:active:not(:disabled){transform:translateY(1px) scale(.99)}
.ilove-button:focus-visible,.ilove-icon-button:focus-visible,.ilove-fab:focus-visible,.ilove-chip:focus-visible,.ilove-input:focus-visible,.ilove-select:focus-visible,.ilove-textarea:focus-visible{outline:0;box-shadow:var(--ilove-focus)}
.ilove-button:disabled,.ilove-icon-button:disabled,.ilove-fab:disabled,.ilove-button[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}
.ilove-button--secondary{background:var(--ilove-surface-elevated);border-color:var(--ilove-primary);color:var(--ilove-text)}
.ilove-button--ghost{background:transparent;border-color:var(--ilove-border);color:var(--ilove-text)}
.ilove-button--danger{background:var(--ilove-danger)}
.ilove-button--premium{background:linear-gradient(135deg,#805d20,var(--ilove-premium));color:#211409}
.ilove-button[data-loading=true]{color:transparent;position:relative;pointer-events:none}
.ilove-button[data-loading=true]:after{content:"";position:absolute;width:18px;height:18px;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;animation:ilove-spin .75s linear infinite}
.ilove-icon-button,.ilove-fab{width:var(--ilove-touch);padding:0;border-radius:50%}
.ilove-fab{width:56px;height:56px;box-shadow:var(--ilove-shadow-2)}

.ilove-chip,.ilove-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--ilove-radius-chip);font-weight:800;line-height:1}
.ilove-chip{min-height:36px;padding:.45rem .7rem;border:1px solid var(--ilove-border);background:#10070bbf;color:var(--ilove-text)}
.ilove-chip[aria-pressed=true],.ilove-chip--selected{border-color:var(--ilove-primary);background:var(--ilove-primary-soft)}
.ilove-chip--interest{border-color:#ffffff33}.ilove-chip--premium{border-color:#9e7639;color:#ffe5ad}.ilove-chip--location{border-color:#356258;color:#c4ecdf}
.ilove-badge{min-height:24px;padding:.3rem .55rem;background:var(--ilove-primary-soft);color:#ffd4e3;font-size:var(--ilove-text-caption)}
.ilove-badge--verification{background:#123629;color:#bdf2da}.ilove-badge--status{background:#3d2d12;color:#ffe1a2}.ilove-badge--premium{background:#4a3411;color:#ffe3a5}

.ilove-avatar{width:56px;height:56px;border-radius:18px;object-fit:cover;background:var(--ilove-surface-elevated);border:1px solid var(--ilove-border)}
.ilove-avatar--sm{width:40px;height:40px;border-radius:14px}.ilove-avatar--lg{width:84px;height:84px;border-radius:28px}
.ilove-avatar-group{display:flex}.ilove-avatar-group .ilove-avatar{margin-left:-12px;border:3px solid var(--ilove-surface)}.ilove-avatar-group .ilove-avatar:first-child{margin-left:0}
.ilove-match-avatar{border-radius:50%;outline:2px solid var(--ilove-primary);outline-offset:2px}

.ilove-card{border:1px solid var(--ilove-border);border-radius:var(--ilove-radius-card);background:linear-gradient(145deg,var(--ilove-surface),#12070d);box-shadow:var(--ilove-shadow-1);overflow:hidden}
.ilove-card__body{padding:var(--ilove-space-5)}
.ilove-card--profile{position:relative;isolation:isolate}.ilove-card--photo img,.ilove-photo-carousel img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.ilove-card--feature{background:linear-gradient(145deg,#4a1230,#1d0a15)}
.ilove-card--premium{border-color:#805d20;background:linear-gradient(145deg,#33250f,#171008)}
.ilove-discovery-collection{min-height:140px;display:flex;align-items:flex-end;padding:var(--ilove-space-4);color:#fff;text-decoration:none}

.ilove-field{display:grid;gap:var(--ilove-space-2)}
.ilove-input,.ilove-select,.ilove-textarea,.ilove-search{width:100%;min-height:48px;padding:.82rem 1rem;border:1px solid #6b2947;border-radius:var(--ilove-radius-input);background:#10050b;color:var(--ilove-text);font:inherit}
.ilove-textarea{min-height:112px;resize:vertical}.ilove-search{padding-left:2.7rem;border-radius:var(--ilove-radius-button)}
.ilove-field[data-error=true] :is(.ilove-input,.ilove-select,.ilove-textarea){border-color:var(--ilove-danger)}
.ilove-validation{font-size:var(--ilove-text-body-small);color:var(--ilove-danger)}

.ilove-switch{position:relative;width:50px;height:30px;border:0;border-radius:999px;background:#573047;padding:3px;cursor:pointer}
.ilove-switch:after{content:"";display:block;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .16s ease}.ilove-switch[aria-checked=true]{background:var(--ilove-primary)}.ilove-switch[aria-checked=true]:after{transform:translateX(20px)}
.ilove-check,.ilove-radio{accent-color:var(--ilove-primary);width:20px;height:20px}
.ilove-range{width:100%;accent-color:var(--ilove-primary)}
.ilove-dual-range{display:grid;grid-template-areas:"range"}.ilove-dual-range input{grid-area:range;pointer-events:none}.ilove-dual-range input::-webkit-slider-thumb{pointer-events:auto}

.ilove-tabs,.ilove-segmented{display:flex;gap:var(--ilove-space-1);padding:var(--ilove-space-1);border-radius:var(--ilove-radius-chip);background:#10050b;overflow:auto}
.ilove-tabs a,.ilove-segmented button{flex:1;min-height:40px;padding:.55rem .8rem;border:0;border-radius:var(--ilove-radius-chip);background:transparent;color:var(--ilove-text-secondary);text-align:center;text-decoration:none}
.ilove-tabs [aria-current=page],.ilove-segmented [aria-pressed=true]{background:var(--ilove-primary-strong);color:#fff}

.ilove-modal,.ilove-sheet{border:1px solid var(--ilove-border);background:var(--ilove-surface);color:var(--ilove-text);box-shadow:var(--ilove-shadow-3)}
.ilove-modal{max-width:560px;border-radius:var(--ilove-radius-modal);padding:var(--ilove-space-6)}
.ilove-sheet{position:fixed;left:0;right:0;bottom:0;border-radius:var(--ilove-radius-sheet) var(--ilove-radius-sheet) 0 0;padding:var(--ilove-space-6) max(var(--ilove-space-4),env(safe-area-inset-right)) calc(var(--ilove-space-6) + env(safe-area-inset-bottom)) max(var(--ilove-space-4),env(safe-area-inset-left))}
.ilove-modal::backdrop,.ilove-sheet::backdrop{background:#090408d9;backdrop-filter:blur(7px)}
.ilove-toast{display:flex;align-items:center;gap:var(--ilove-space-3);padding:.8rem 1rem;border:1px solid var(--ilove-border);border-radius:var(--ilove-radius-input);background:var(--ilove-surface-elevated);box-shadow:var(--ilove-shadow-2)}
.ilove-tooltip{position:absolute;z-index:80;max-width:260px;padding:.45rem .65rem;border-radius:.6rem;background:#fff;color:#25101a;font-size:var(--ilove-text-caption)}

.ilove-skeleton{position:relative;overflow:hidden;min-height:18px;border-radius:.65rem;background:#2b1420}.ilove-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#ffffff16,transparent);animation:ilove-shimmer 1.25s infinite}
.ilove-empty,.ilove-error{min-height:220px;display:grid;place-items:center;text-align:center;padding:var(--ilove-space-8);border:1px dashed var(--ilove-border);border-radius:var(--ilove-radius-card);background:var(--ilove-surface)}
.ilove-error{border-color:#7a2638}.ilove-spinner{width:32px;height:32px;border:3px solid #5a2940;border-top-color:var(--ilove-primary);border-radius:50%;animation:ilove-spin .75s linear infinite}

.ilove-photo-carousel{display:flex;gap:var(--ilove-space-3);overflow:auto;scroll-snap-type:x mandatory}.ilove-photo-carousel>*{flex:0 0 85%;scroll-snap-align:center;border-radius:var(--ilove-radius-photo);overflow:hidden}
.ilove-swipe-actions{display:flex;align-items:center;justify-content:center;gap:var(--ilove-space-3)}
.ilove-premium-gate{padding:var(--ilove-space-5);border:1px solid #805d20;border-radius:var(--ilove-radius-card);background:linear-gradient(145deg,#30230f,#160e08);text-align:center}
.ilove-profile-section{display:grid;gap:var(--ilove-space-3);padding:var(--ilove-space-5) 0;border-bottom:1px solid var(--ilove-border)}
.ilove-settings-group{border:1px solid var(--ilove-border);border-radius:var(--ilove-radius-card);background:var(--ilove-surface);overflow:hidden}
.ilove-settings-row,.ilove-notification-row,.ilove-conversation-row{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--ilove-space-4);padding:.75rem 1rem;border-bottom:1px solid var(--ilove-border)}
.ilove-settings-row:last-child,.ilove-notification-row:last-child,.ilove-conversation-row:last-child{border-bottom:0}
.ilove-zone-cluster{display:grid;place-items:center;min-width:48px;height:48px;padding:.3rem;border:1px solid #ffffff44;border-radius:50%;background:#7a3157cc;color:#fff;font-weight:900;box-shadow:0 0 0 10px #7a315733}
.ilove-plan-card{display:grid;gap:var(--ilove-space-4);padding:var(--ilove-space-6)}
.ilove-plan-comparison{width:100%;border-collapse:collapse}.ilove-plan-comparison th,.ilove-plan-comparison td{padding:.75rem;border-bottom:1px solid var(--ilove-border);text-align:left}
.ilove-feature-limit{height:8px;border-radius:999px;background:#3b1a2b;overflow:hidden}.ilove-feature-limit span{display:block;height:100%;background:linear-gradient(90deg,var(--ilove-primary),var(--ilove-premium))}

.ilove-kit{display:grid;gap:var(--ilove-space-6)}
.ilove-kit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ilove-space-4)}
.ilove-kit-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ilove-space-3)}
.ilove-token-swatch{min-height:96px;display:flex;align-items:flex-end;padding:var(--ilove-space-3);border-radius:var(--ilove-radius-card);border:1px solid #ffffff22;font-weight:800}

@keyframes ilove-spin{to{transform:rotate(360deg)}}
@keyframes ilove-shimmer{to{transform:translateX(100%)}}
@media(max-width:430px){.ilove-card__body,.ilove-plan-card{padding:var(--ilove-space-4)}.ilove-kit-grid{grid-template-columns:1fr}.ilove-button{max-width:100%}}
@media(prefers-reduced-motion:reduce){.ilove-button,.ilove-icon-button,.ilove-fab,.ilove-switch:after{transition:none}.ilove-skeleton:after,.ilove-spinner,.ilove-button[data-loading=true]:after{animation:none}}
@media(forced-colors:active){.ilove-button,.ilove-chip,.ilove-card,.ilove-input,.ilove-select,.ilove-textarea{forced-color-adjust:auto}}
