.dev-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#ff6b9d,#ffd93d);color:#000;text-align:center;padding:6px 16px;font-size:12px;font-weight:600;z-index:9999;font-family:Inter,sans-serif}body.dev-banner-active{padding-top:32px}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.modal-overlay.visible{opacity:1;visibility:visible}.modal-content{transform:scale(.95) translateY(10px);transition:transform var(--transition-normal)}.modal-overlay.visible .modal-content{transform:scale(1) translateY(0)}.city-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.city-option:hover{background:var(--glass-bg-strong)}.city-option.selected{border-color:var(--color-accent-primary);background:#ff6b9d1a}.city-check{color:var(--color-accent-primary);opacity:0;transition:opacity var(--transition-fast)}.city-option.selected .city-check{opacity:1}.card-hero{position:relative;height:300px;margin:0 calc(var(--space-md) * -1);overflow:hidden}.gallery-container{width:100%;height:100%;position:relative}.gallery-track{display:flex;height:100%;transition:transform .3s ease}.gallery-slide{min-width:100%;height:100%;position:relative;cursor:pointer}.gallery-nav-zone{position:absolute;top:0;bottom:0;width:25%;z-index:5;cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.gallery-nav-zone:hover{opacity:1}.gallery-nav-zone.prev{left:0;background:linear-gradient(90deg,rgba(0,0,0,.3),transparent)}.gallery-nav-zone.next{right:0;background:linear-gradient(270deg,rgba(0,0,0,.3),transparent)}.gallery-nav-zone svg{position:absolute;top:50%;transform:translateY(-50%);color:#fff}.gallery-nav-zone.prev svg{left:var(--space-md)}.gallery-nav-zone.next svg{right:var(--space-md)}@media(max-width:768px){.gallery-nav-zone{display:none}}.card-hero-overlay{position:absolute;top:0;left:0;right:0;padding:var(--space-md);display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(180deg,rgba(0,0,0,.4),transparent);z-index:10}.card-hero-actions{display:flex;gap:var(--space-sm)}.gallery-dots{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);display:flex;gap:var(--space-xs);z-index:10}.gallery-dot{width:8px;height:8px;border-radius:50%;background:#fff6;cursor:pointer;transition:all var(--transition-fast)}.gallery-dot.active{background:#fff;width:24px;border-radius:4px}.price-tag{font-size:1.5rem;font-weight:700;color:var(--color-accent-secondary)}.price-label{font-size:.875rem;color:var(--color-text-muted)}.info-list-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--glass-border-light)}.info-list-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.info-list-item:last-child{border-bottom:none;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.info-list-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-list-content{flex:1}.like-btn{position:relative;transition:all var(--transition-fast)}.like-btn.liked{background:var(--color-accent-primary);color:#fff;box-shadow:var(--glow-primary)}.card-favorite{position:relative;overflow:visible}.card-favorite.liked{background:var(--color-accent-primary)!important;color:#fff!important;box-shadow:var(--glow-primary)}.card-favorite.liked svg{fill:currentColor}.card.removing{animation:card-remove .4s ease-out forwards}@keyframes card-remove{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8);height:0;margin:0;padding:0}}.settings-list-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--glass-border-light);text-decoration:none;color:inherit;transition:background var(--transition-fast)}.settings-list-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.settings-list-item:last-child{border-bottom:none;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.settings-list-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-list-content{flex:1}.settings-list-content .title{font-weight:500}.settings-list-content .subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings-list-action{color:var(--color-text-muted)}a.settings-list-item:hover{background:var(--glass-bg)}.test-screen{display:none;opacity:0;transition:opacity var(--transition-normal)}.test-screen.active{display:block;opacity:1}.option-card{padding:var(--space-lg);display:flex;align-items:center;gap:var(--space-md)}.option-card-icon{width:56px;height:56px;border-radius:var(--radius-md);background:var(--glass-bg-strong);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.option-card-content{flex:1}.option-card-title{font-weight:600;font-size:var(--font-size-base);margin-bottom:2px}.option-card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.option-card.selected .option-card-icon{background:#ff6b9d40}.calendar{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.calendar-title{font-weight:600;font-size:var(--font-size-lg)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-xs)}.calendar-weekday{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-xs);font-weight:500}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.calendar-day:hover:not(.disabled):not(.empty){background:var(--glass-bg-strong)}.calendar-day.empty{cursor:default}.calendar-day.disabled{color:var(--color-text-muted);opacity:.4;cursor:not-allowed}.calendar-day.today{font-weight:600;color:var(--color-accent-secondary)}.calendar-day.start-date,.calendar-day.end-date{background:var(--gradient-primary);color:#fff;font-weight:600}.calendar-day.in-range{background:#ff6b9d33;border-radius:0}.calendar-day.start-date{border-radius:var(--radius-md) 0 0 var(--radius-md)}.calendar-day.end-date{border-radius:0 var(--radius-md) var(--radius-md) 0}.calendar-day.start-date.end-date{border-radius:var(--radius-md)}.tag-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}@media(min-width:400px){.tag-cards-grid{grid-template-columns:repeat(3,1fr)}}.tag-card{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);border:2px solid var(--glass-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.tag-card-emoji{font-size:32px;line-height:1}.tag-card-name{font-size:var(--font-size-sm);font-weight:500;text-align:center;line-height:1.2}.tag-card-indicator{position:absolute;top:var(--space-sm);right:var(--space-sm);font-size:16px;opacity:0;transform:scale(.8);transition:all var(--transition-fast)}.tag-card[data-state=neutral]{background:var(--glass-bg);border-color:var(--glass-border)}.tag-card[data-state=like]{background:linear-gradient(135deg,#4ecdc426,#60a5fa1a);border-color:#4ecdc480}.tag-card[data-state=like] .tag-card-indicator{opacity:1;transform:scale(1)}.tag-card[data-state=strongly_like]{background:linear-gradient(135deg,#ff6b9d33,#ffd93d26);border-color:#ff6b9d80}.tag-card[data-state=strongly_like] .tag-card-indicator{opacity:1;transform:scale(1)}.tag-card[data-state=dislike]{background:linear-gradient(135deg,#64647826,#5050641a);border-color:#9696aa4d;opacity:.7}.tag-card[data-state=dislike] .tag-card-indicator{opacity:1;transform:scale(1)}.tag-card:hover{transform:translateY(-2px)}.tag-card:active{transform:scale(.97)}.tag-legend{display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap}.tag-legend-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tag-legend-dot{width:10px;height:10px;border-radius:var(--radius-full)}.tag-legend-dot.neutral{background:var(--glass-bg-strong);border:1px solid var(--glass-border)}.tag-legend-dot.like{background:linear-gradient(135deg,#4ecdc4,#60a5fa)}.tag-legend-dot.strongly-like{background:linear-gradient(135deg,#ff6b9d,#ffd93d)}.tag-legend-dot.dislike{background:linear-gradient(135deg,#64647a,#505064)}.selection-header{text-align:center;padding:var(--space-lg) 0}.selection-title{font-size:1.75rem;font-weight:700;margin-bottom:var(--space-xs);background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.selection-subtitle{color:var(--color-text-muted)}.pick-cards{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-md) 0}.pick-card{position:relative;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease}.pick-card:hover{transform:translateY(-4px)}.pick-card-match{position:absolute;top:var(--space-md);right:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--gradient-secondary);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:#fff;z-index:10}.pick-card-image{height:140px;position:relative;overflow:hidden}.pick-card-image-bg{width:100%;height:100%;background-size:cover;background-position:center}.pick-card-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.pick-card-content{padding:var(--space-md)}.pick-card-title{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-xs)}.pick-card-meta{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-sm)}.pick-card-tags{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md)}.pick-card-actions{display:flex;gap:var(--space-sm);padding:0 var(--space-md) var(--space-md)}.btn-choose{flex:1;background:var(--gradient-primary);color:#fff;font-weight:600;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);border:none;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer}.btn-swap{width:48px;height:48px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted)}.pick-card-link{text-decoration:none;color:inherit;display:block}.test-results{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-md);margin-bottom:var(--space-lg)}.test-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.test-results-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.test-results-edit{color:var(--color-accent-secondary);font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:var(--space-xs)}.test-results-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.redo-section{text-align:center;padding:var(--space-xl) 0}.redo-hint{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-md)}
