.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--color-accent);color:#fff;border-radius:.25rem;z-index:200;font-size:var(--font-size-sm)}.skip-link:focus{top:.5rem}.header{position:absolute;top:0;left:0;right:0;z-index:100;background:transparent}.header-inner{display:flex;align-items:center;justify-content:flex-start;height:var(--header-height);padding-top:var(--space-2)}.logo{display:flex;flex-direction:column;align-items:center;gap:0;font-weight:700;color:var(--color-text);transition:color var(--transition-fast)}.logo:hover{color:var(--color-accent)}.logo-icon{font-size:1.6rem;line-height:1}.logo-text{font-size:var(--font-size-sm);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width:768px){.logo-icon{font-size:1.8rem}.logo-text{font-size:var(--font-size-base)}}.footer{margin-top:auto;padding:var(--space-6) 0;background:transparent;border-top:1px solid var(--color-border)}.footer-inner{display:flex;flex-direction:column;gap:var(--space-5)}.footer-top{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.footer-logo{display:flex;flex-direction:column;align-items:center;gap:0;font-weight:700;color:var(--color-text);transition:color var(--transition-fast)}.footer-logo:hover{color:var(--color-accent)}.footer-logo-icon{font-size:1.4rem;line-height:1}.footer-logo-text{font-size:var(--font-size-sm);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.footer-link{font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);padding:var(--space-1) var(--space-2)}.footer-link:hover{color:var(--color-accent)}.contact-btn{display:inline-flex;align-items:center;gap:var(--space-2)}.footer-social{display:flex;align-items:center;gap:var(--space-3)}.social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);color:var(--color-text-muted);background:var(--color-glass);transition:all var(--transition-fast)}.social-link:hover{color:var(--color-accent);background:var(--color-bg-elevated);transform:translateY(-2px)}.footer-bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1)}.footer-affiliate{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;opacity:.8}.footer-disclaimer,.footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media(min-width:768px){.footer-logo-icon{font-size:1.6rem}.footer-logo-text{font-size:var(--font-size-base)}}.search-bar{display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:600px;padding:var(--space-3);background:var(--color-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-base)}.search-bar.focused{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.search-input-wrapper{flex:1;display:flex;align-items:center;gap:var(--space-3)}.search-icon{color:var(--color-text-muted);flex-shrink:0}.search-input{flex:1;background:transparent;border:none;outline:none;box-shadow:none;color:var(--color-text);font-size:var(--font-size-base);min-width:0;-webkit-appearance:none;appearance:none}.search-input:focus{outline:none;box-shadow:none;border:none}.search-input::placeholder{color:var(--color-text-muted)}.near-me-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-bg);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-base);white-space:nowrap}.near-me-btn:hover:not(:disabled){background:#5dddd4;box-shadow:var(--shadow-glow);transform:translateY(-1px)}.near-me-btn:disabled{opacity:.7;cursor:not-allowed}.near-me-text{display:none}@media(min-width:480px){.near-me-text{display:inline}}.spin{animation:spin 1s linear infinite}.visibility-score{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;font-weight:700;text-transform:capitalize}.visibility-score.size-sm{min-width:36px;height:36px;font-size:var(--font-size-base);padding:var(--space-1)}.visibility-score.size-md{min-width:48px;height:48px;font-size:var(--font-size-xl);padding:var(--space-2)}.visibility-score.size-lg{min-width:72px;height:72px;font-size:var(--font-size-3xl);padding:var(--space-3)}.visibility-score.score-perfect{color:var(--color-perfect);background:#4ecdc426}.visibility-score.score-good{color:var(--color-good);background:#7dd87d26}.visibility-score.score-fair{color:var(--color-fair);background:#f4d35e26}.visibility-score.score-poor{color:var(--color-poor);background:#f7815426}.visibility-score.score-zero{color:var(--color-zero);background:#ee635226}.score-value{line-height:1}.score-label{font-size:var(--font-size-xs);font-weight:500;opacity:.8;margin-top:var(--space-1)}.score-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%}.score-ring-bg{fill:none;stroke:#ffffff1a}.score-ring-progress{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dasharray .5s ease}.deck-card{position:relative;display:flex;flex-direction:column;min-height:160px;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base)}.deck-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.deck-card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background-color:var(--color-bg-elevated);transition:transform var(--transition-slow)}.deck-card:hover .deck-card-bg{transform:scale(1.05)}.deck-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000000e6,#0006,#0003)}.deck-card-content{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;padding:var(--space-3)}.deck-card-header{display:flex;align-items:flex-start;justify-content:space-between}.deck-flag{font-size:var(--font-size-xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.deck-card-info{margin-top:auto}.deck-name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-1);line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.5)}.deck-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.deck-meta:before{content:""}.deck-city:after{content:"•";margin-left:var(--space-2);opacity:.5}.deck-height{opacity:.8}.deck-distance{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-accent);margin-top:var(--space-2)}.deck-card-status{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-good);animation:pulse 2s ease-in-out infinite}.status-text{text-transform:uppercase;letter-spacing:.5px;font-weight:500}.deck-card.skeleton .deck-card-bg{background:var(--color-glass)}.deck-card.skeleton .deck-card-overlay{display:none}@media(min-width:768px){.deck-card{min-height:200px}.deck-card-content{padding:var(--space-4)}}.maintenance-wrapper{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--color-bg);z-index:1000}.maintenance-view{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);text-align:center}.maintenance-content{max-width:400px}.maintenance-logo{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8)}.maintenance-logo .logo-icon{font-size:3rem;animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.maintenance-logo .logo-text{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text)}.maintenance-title{font-size:var(--font-size-xl);font-weight:400;margin-bottom:var(--space-4);color:var(--color-text-secondary)}.maintenance-message{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-6)}.home{min-height:100vh;display:flex;flex-direction:column}.hero{padding:var(--space-16) 0 var(--space-4);text-align:center}.hero-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.hero-tagline{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);line-height:1.2}.hero-description{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:500px}.hero-search{width:100%;max-width:500px;margin-top:var(--space-4)}.decks-section.section{padding-top:var(--space-4);padding-bottom:var(--space-8)}.decks-section{flex:1}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.section-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text)}.view-all-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--color-accent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);transition:all var(--transition-base)}.view-all-link:hover{background:var(--color-accent-dim)}.section-title-dropdown{position:relative}.dropdown-trigger{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);background:transparent;border:none;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background var(--transition-base)}.dropdown-trigger:hover{background:var(--color-glass)}.dropdown-chevron{transition:transform var(--transition-base)}.dropdown-chevron.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:200px;background:#1e232dfa;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);box-shadow:0 12px 32px #0006;z-index:100;overflow:hidden;animation:dropdown-fade-in .15s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);background:transparent;border:none;font-size:var(--font-size-base);font-weight:500;color:#ffffffd9;cursor:pointer;text-align:left;transition:all var(--transition-base)}.dropdown-item:hover{background:#ffffff1a;color:#fff}.dropdown-item.active{background:var(--color-accent);color:#fff}.dropdown-item svg{opacity:.8}.dropdown-item:hover svg,.dropdown-item.active svg{opacity:1}.dropdown-item .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.location-message{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-glass);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-secondary)}@media(min-width:768px){.hero{padding:8rem 0 var(--space-10)}.hero-tagline{font-size:var(--font-size-3xl)}.hero-description{font-size:var(--font-size-base);max-width:500px}.hero-search{margin-top:var(--space-5)}.decks-section.section{padding-top:var(--space-12);padding-bottom:var(--space-12)}.section-header{margin-bottom:var(--space-6)}.location-message{padding:var(--space-4);margin-bottom:var(--space-6);font-size:var(--font-size-sm)}}.all-decks{min-height:100vh;padding:var(--space-16) 0 var(--space-16)}.back-home{display:inline-block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);transition:color var(--transition-fast)}.page-header{margin-bottom:var(--space-6);text-align:center}.page-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.page-subtitle{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.controls-bar{display:flex;justify-content:center;margin-bottom:var(--space-6)}.search-sort-row{display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:550px}.simple-search{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-glass);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-base)}.simple-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.simple-search .search-icon{color:var(--color-text-muted);flex-shrink:0}.simple-search .search-input{flex:1;background:transparent;border:none;outline:none;color:var(--color-text);font-size:var(--font-size-sm);min-width:0}.simple-search .search-input::placeholder{color:var(--color-text-muted)}.sort-dropdown{position:relative;display:flex;align-items:center;flex-shrink:0}.sort-select{appearance:none;padding:var(--space-2) var(--space-6) var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.sort-select:hover{color:var(--color-text);border-color:var(--color-border-strong)}.sort-select:focus{outline:none;color:var(--color-text);border-color:var(--color-accent)}.sort-chevron{position:absolute;right:var(--space-2);color:var(--color-text-muted);pointer-events:none}.filter-group{display:flex;align-items:center;gap:var(--space-2)}.filter-group:last-of-type{margin-bottom:0}.filter-label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);white-space:nowrap}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-chip{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast)}.filter-chip:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border-strong)}.filter-chip.active{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.filter-chip:disabled{opacity:.5;cursor:not-allowed}.clear-filters{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-2);transition:color var(--transition-fast)}.clear-filters:hover{color:var(--color-text)}.empty-state{text-align:center;padding:var(--space-16) var(--space-4)}.empty-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.empty-description{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:var(--space-6)}@media(min-width:768px){.controls-bar{flex-direction:column;align-items:center}.search-wrapper{max-width:500px}}.score-gauge{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;width:100%}.live-indicator{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.score-help-wrapper{display:inline-flex;position:relative;margin-left:4px;cursor:help;vertical-align:middle}.score-help-icon{color:#fff6;transition:color .2s ease}.score-help-wrapper:hover .score-help-icon{color:#fffc}.score-help-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);margin-bottom:8px;width:220px;padding:10px 12px;background:var(--color-bg-elevated, #1e2336);border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:8px;font-size:.75rem;font-weight:400;color:#fffc;line-height:1.5;text-align:left;box-shadow:0 4px 20px #0000004d;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:100}.score-help-tooltip:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:var(--color-bg-elevated, #1e2336);border-right:1px solid var(--color-border, rgba(255, 255, 255, .1));border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1))}.score-help-wrapper:hover .score-help-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.live-badge{display:flex;align-items:center;gap:var(--space-1)}.live-dot{width:6px;height:6px;background:#4ade80b3;border-radius:50%;animation:blink 1.5s ease-in-out infinite}.live-text{font-size:.65rem;font-weight:500;color:#4ade80b3;letter-spacing:.08em}.updated-time{font-size:.6rem;font-weight:400;color:#ffffff80;letter-spacing:.02em}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.gauge-wrapper{position:relative;width:120px;height:70px}.gauge-svg{width:100%;height:50px;overflow:visible}.gauge-fill{transition:stroke-dasharray .6s ease}.gauge-center{position:absolute;bottom:8px;left:0;right:0;text-align:center}.gauge-score{font-size:1.5rem;font-weight:300;line-height:1;color:currentColor}.gauge-info{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;margin-top:-12px}.gauge-status{display:inline-flex;align-items:center;font-size:var(--font-size-base);color:#fffc}.gauge-status strong{color:currentColor}.gauge-confidence{font-size:var(--font-size-sm);color:#ffffff80}.accuracy-badge{font-size:.85em;font-weight:500;letter-spacing:.01em}.accuracy-estimated{color:#fbbf24cc}.accuracy-limited{color:#f87171cc}.gauge-description{font-size:var(--font-size-sm);color:#fff9;text-align:center;max-width:280px;line-height:1.4;margin:0}.score-gauge.score-perfect{color:var(--color-perfect)}.score-gauge.score-good{color:var(--color-good)}.score-gauge.score-fair{color:var(--color-fair)}.score-gauge.score-poor{color:var(--color-poor)}.score-gauge.score-zero{color:var(--color-zero)}@media(min-width:480px){.score-gauge{gap:var(--space-2)}.gauge-wrapper{width:180px;height:100px}.gauge-svg{height:80px}.gauge-center{bottom:10px}.gauge-score{font-size:2.5rem}.gauge-info{margin-top:-12px}.gauge-description{font-size:var(--font-size-base);max-width:320px}}.ticket-modal-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:fadeIn .2s ease}.ticket-modal{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-6);max-width:420px;width:100%;position:relative;border:1px solid var(--color-border);box-shadow:0 20px 60px #0006;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ticket-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--color-glass);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);transition:all .2s ease}.ticket-modal-close:hover{background:var(--color-glass-hover);color:var(--color-text)}.ticket-modal-header{text-align:center;margin-bottom:var(--space-6)}.ticket-modal-header svg{color:var(--color-accent);margin-bottom:var(--space-2)}.ticket-modal-header h2{font-size:var(--font-size-xl);margin:0;color:var(--color-text)}.ticket-modal-deck-name{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:var(--space-1) 0 0}.ticket-modal-grid{display:flex;flex-direction:column;gap:var(--space-3)}.ticket-option-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text);transition:all .2s ease;position:relative}.ticket-option-card:hover{background:var(--color-glass-hover);border-color:var(--color-accent);transform:translate(4px)}.ticket-option-logo{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-lg);color:#fff;flex-shrink:0}.ticket-option-info{flex:1;display:flex;flex-direction:column;gap:2px}.ticket-option-name{font-weight:600;font-size:var(--font-size-base)}.ticket-option-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ticket-option-badge{position:absolute;top:-6px;right:12px;background:linear-gradient(135deg,var(--color-accent),#2db5ae);color:var(--color-bg);font-size:.625rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.025em}.ticket-option-arrow{color:var(--color-text-muted);flex-shrink:0;transition:all .2s ease}.ticket-option-card:hover .ticket-option-arrow{color:var(--color-accent);transform:translate(2px)}.ticket-modal-disclaimer{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-4) 0 0;line-height:1.4;opacity:.7}.feedback-widget{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.feedback-submitted{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-3) 0}.feedback-prompt{display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.feedback-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.feedback-buttons{display:flex;gap:var(--space-2)}.feedback-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base)}.feedback-btn:hover{background:var(--color-glass-hover);border-color:var(--color-border-strong);color:var(--color-text)}.feedback-btn.active{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-accent)}.feedback-form{display:flex;flex-direction:column;gap:var(--space-3)}.feedback-form-header{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.feedback-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.feedback-close:hover{color:var(--color-text);background:var(--color-surface)}.feedback-form textarea{width:100%;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);resize:none;transition:border-color var(--transition-fast)}.feedback-form textarea:focus{outline:none;border-color:var(--color-accent)}.feedback-form textarea::placeholder{color:var(--color-text-muted)}.feedback-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.feedback-skip{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-2) var(--space-3);transition:color var(--transition-fast)}.feedback-skip:hover{color:var(--color-text-secondary)}.feedback-submit{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-accent);border:none;border-radius:var(--radius-full);color:var(--color-bg);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.feedback-submit:disabled{opacity:.4;cursor:not-allowed}.feedback-submit:not(:disabled):hover{background:#5dddd4;box-shadow:var(--shadow-glow)}.deck-detail{min-height:100vh}.detail-hero{position:relative;min-height:220px;display:flex;align-items:flex-end}.detail-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--color-bg-elevated)}.detail-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--color-bg) 0%,rgba(30,35,54,.8) 50%,rgba(30,35,54,.4) 100%)}.detail-hero-content{position:relative;z-index:1;padding-top:var(--space-8);padding-bottom:var(--space-2);width:100%}.back-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 0;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:#ffffffb3;background:transparent;transition:color var(--transition-fast)}.back-btn:hover{color:var(--color-text)}.detail-header{display:flex;flex-direction:column;gap:var(--space-2)}.detail-flag{font-size:var(--font-size-3xl)}.detail-name{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text);line-height:1.2}.detail-location{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);color:var(--color-text-secondary)}.detail-content{padding:var(--space-4) var(--container-padding) var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.score-card{padding:var(--space-3);text-align:center}.score-header{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:0}.score-main{display:flex;align-items:center;justify-content:center;gap:var(--space-5);margin-bottom:var(--space-2)}.score-info{display:flex;flex-direction:column;gap:var(--space-1);text-align:left}.score-status{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text)}.score-updated{font-size:var(--font-size-xs);color:var(--color-text-muted)}.score-recommendation{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--space-5)}.metar-details{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.metar-item{display:flex;flex-direction:column;gap:var(--space-1)}.metar-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.metar-value{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.forecast-section{padding:var(--space-3);overflow:visible!important}.forecast-section.glass{overflow:visible!important}.forecast-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.5rem;margin-bottom:.5rem;color:var(--color-accent);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.forecast-title-group{display:flex;align-items:center;gap:.5rem}.forecast-timezone{display:block;font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted);text-transform:none;letter-spacing:0;margin-bottom:var(--space-2)}.forecast-day-nav{display:flex;gap:var(--space-1)}.day-nav-btn{padding:var(--space-1) var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.day-nav-btn:hover{background:var(--color-glass);border-color:var(--color-accent);color:var(--color-text)}.day-nav-btn:active{transform:scale(.98)}.day-nav-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.forecast-scroll{position:relative;overflow-x:auto;overflow-y:visible;margin:0 calc(var(--space-3) * -1);padding:0 var(--space-3);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.forecast-section:after{content:"→";position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--font-size-lg);color:var(--color-accent);opacity:.6;pointer-events:none;animation:scrollHint 1.5s ease-in-out infinite;display:none}@media(max-width:768px){.forecast-section:after{display:block}}@keyframes scrollHint{0%,to{transform:translateY(-50%) translate(0);opacity:.6}50%{transform:translateY(-50%) translate(4px);opacity:1}}.forecast-scroll::-webkit-scrollbar{height:6px}.forecast-scroll::-webkit-scrollbar-track{background:transparent}.forecast-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.forecast-track{display:flex;gap:var(--space-2);padding-bottom:var(--space-1);padding-right:var(--space-6)}.forecast-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:60px;padding:var(--space-2);background:var(--color-bg);border-radius:var(--radius-sm);text-align:center}.forecast-time{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.forecast-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.forecast-status{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:capitalize}.weather-forecast-section{padding:var(--space-4);position:relative}.weather-forecast-section:after{content:"→";position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--font-size-lg);color:var(--color-accent);opacity:.6;pointer-events:none;animation:scrollHint 1.5s ease-in-out infinite;display:none}@media(max-width:768px){.weather-forecast-section:after{display:block}}.weather-forecast-header{display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3)}.weather-forecast-header h3{font-size:inherit;font-weight:inherit;color:inherit;margin:0}.weather-forecast-header svg{color:inherit}.temp-unit-toggle{display:flex;gap:2px;margin-left:auto;background:var(--color-bg);border-radius:var(--radius-sm);padding:2px}.temp-unit-btn{padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);min-width:32px}.temp-unit-btn:hover{color:var(--color-text-secondary)}.temp-unit-btn.active{background:var(--color-accent);color:var(--color-bg)}.weather-days-grid{display:flex;gap:var(--space-2);overflow-x:auto;margin:0 calc(var(--space-4) * -1);padding:0 var(--space-4) var(--space-2) var(--space-4);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.weather-days-grid::-webkit-scrollbar{height:6px}.weather-days-grid::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.weather-day-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:140px;flex:1;max-width:200px;padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);text-align:center;flex-shrink:0}.weather-day-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.weather-day-emoji{font-size:var(--font-size-2xl)}.weather-day-temp{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.weather-day-conditions{font-size:var(--font-size-xs);color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(min-width:1024px){.weather-day-card{min-width:150px;max-width:220px}}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.stat-card{padding:var(--space-4);text-align:center}.stat-icon{color:var(--color-accent);margin-bottom:var(--space-2)}.stat-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.action-buttons{display:flex;flex-direction:column;gap:var(--space-3)}.action-buttons .btn{width:100%;padding:var(--space-4);font-size:var(--font-size-base)}.btn-outbound{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-base)}.btn-outbound:hover{background:var(--color-glass);border-color:var(--color-text-secondary);color:var(--color-text)}.btn-outbound svg{opacity:.7}.info-section{padding:var(--space-6)}.info-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4)}.info-text{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.info-text:last-child{margin-bottom:0}.info-highlights{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.highlight-item{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.highlight-item strong{color:var(--color-text);margin-right:var(--space-1)}.not-found{text-align:center;padding:var(--space-16) var(--space-4)}.not-found h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-4)}.not-found p{color:var(--color-text-muted);margin-bottom:var(--space-6)}@media(min-width:480px){.metar-details{grid-template-columns:repeat(4,1fr)}}@media(min-width:768px){.detail-hero{min-height:400px}.detail-name{font-size:var(--font-size-hero)}.action-buttons{flex-direction:row}.action-buttons .btn{width:auto;flex:1}.stats-grid{gap:var(--space-6)}.stat-card{padding:var(--space-6)}.stat-value{font-size:var(--font-size-xl)}.forecast-item{min-width:80px}}@media(max-width:480px){.forecast-header{font-size:.7rem;gap:.25rem}.forecast-title-group{gap:.25rem}.forecast-title-group svg{width:14px;height:14px}.day-nav-btn{padding:.2rem .4rem;font-size:.6rem}.stat-value{font-size:var(--font-size-sm)}}.sun-card{justify-content:center}.sun-times-grid{display:flex;flex-direction:column;gap:var(--space-2)}.sun-row{display:flex;align-items:center;gap:var(--space-2)}.sun-icon{flex-shrink:0}.sun-icon.sunrise{color:#f59e0b}.sun-icon.sunset{color:#f472b6}.sun-time{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.forecast-item.clickable{cursor:pointer;transition:all var(--transition-fast);position:relative}.forecast-item.clickable:hover{background:var(--color-glass);transform:translateY(-2px)}.forecast-tooltip-portal{pointer-events:none}.forecast-tooltip{width:200px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;padding:var(--space-2)}.tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-glass);border-bottom:1px solid var(--color-border)}.tooltip-header strong{font-size:var(--font-size-sm);color:var(--color-text)}.tooltip-close{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:0;line-height:1}.tooltip-close:hover{color:var(--color-text)}.tooltip-content{padding:var(--space-2)}.tooltip-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.tooltip-score{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tooltip-score strong{color:var(--color-text)}.tooltip-status-badge{font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.tooltip-status-badge.perfect,.tooltip-status-badge.clear{background:#22c55e33;color:#22c55e}.tooltip-status-badge.good,.tooltip-status-badge.fair{background:#fbbf2433;color:#fbbf24}.tooltip-status-badge.poor,.tooltip-status-badge.obscured{background:#ef444433;color:#ef4444}.tooltip-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-2) 0 0 0;line-height:1.4}.night-indicator{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:#fbbf24;margin-bottom:var(--space-2)}.night-indicator svg{color:#fcd34d}.forecast-time{display:inline-flex;align-items:center;white-space:nowrap}.forecast-time .night-icon{color:#fbbf24;margin-right:2px;flex-shrink:0;width:12px;height:12px}.closure-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.closure-banner.closed{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171}.closure-banner.coming_soon{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#4ade80}.closure-banner svg{flex-shrink:0;margin-top:2px}.closure-banner-content{display:flex;flex-direction:column;gap:var(--space-1)}.closure-banner-content strong{font-size:var(--font-size-sm);font-weight:600}.closure-banner-content span{font-size:var(--font-size-xs);opacity:.8}.explore-decks-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:var(--font-size-sm);font-weight:600;color:var(--color-bg);text-decoration:none;background:var(--color-accent);border-radius:var(--radius-full);transition:all var(--transition-fast)}.explore-decks-btn:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4ecdc466}.explore-decks-btn svg{opacity:.9}.explore-decks-btn:hover svg{opacity:1}@media(max-width:768px){.explore-decks-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);gap:var(--space-1);margin-bottom:var(--space-2)}.explore-decks-btn svg{width:14px;height:14px}}.contact-page{min-height:100vh;padding:var(--space-16) 0 var(--space-16)}.contact-card{position:relative;max-width:500px;margin:0 auto;padding:var(--space-8);border-radius:var(--radius-xl)}.close-btn{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.close-btn:hover{background:var(--color-bg);color:var(--color-text)}.contact-header{text-align:center;margin-bottom:var(--space-8)}.contact-icon{color:var(--color-accent);margin-bottom:var(--space-4)}.contact-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.contact-header p{font-size:var(--font-size-sm);color:var(--color-text-muted)}.contact-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-group input,.form-group textarea{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.success-message{text-align:center;padding:var(--space-8) 0}.success-icon{color:var(--color-success);margin-bottom:var(--space-4)}.success-message h2{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.success-message p{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:var(--space-6)}.back-home{display:inline-block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);transition:color var(--transition-fast)}.back-home:hover{color:var(--color-text)}.legal-page{min-height:100vh;padding:calc(var(--header-height) + var(--space-4)) 0 var(--space-16)}.legal-page .container{max-width:800px}.legal-page .back-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2);margin-left:calc(var(--space-2) * -1);margin-bottom:var(--space-4);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);background:transparent;text-decoration:none;cursor:pointer;transition:color var(--transition-fast)}.legal-page .back-btn:hover{color:var(--color-accent)}.legal-page h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.legal-page .last-updated{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-8)}.legal-page section{margin-bottom:var(--space-8)}.legal-page h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-3)}.legal-page h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-top:var(--space-4);margin-bottom:var(--space-2)}.legal-page p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-3)}.legal-page ul{list-style:disc;padding-left:var(--space-6);margin-bottom:var(--space-4)}.legal-page li{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-2)}.legal-page strong{color:var(--color-text)}.faq-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-8)}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast)}.faq-item:hover{border-color:var(--color-border-hover, var(--color-accent))}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:transparent;border:none;font-size:var(--font-size-base);font-weight:500;color:var(--color-text);text-align:left;cursor:pointer;transition:color var(--transition-fast)}.faq-question:hover{color:var(--color-accent)}.faq-icon{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--transition-fast)}.faq-icon.rotated{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.faq-item.open .faq-answer{max-height:500px}.faq-answer p{padding:0 var(--space-4) var(--space-4);margin-bottom:0}.faq-contact{text-align:center;padding:var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.faq-contact h2{margin-bottom:var(--space-2)}.faq-contact p{margin-bottom:0}.faq-contact a{color:var(--color-accent);text-decoration:none}.faq-contact a:hover{text-decoration:underline}@media(max-width:768px){.legal-page h1{font-size:var(--font-size-2xl)}.legal-page h2{font-size:var(--font-size-base)}.faq-question{font-size:var(--font-size-sm);padding:var(--space-3)}.faq-answer p{font-size:var(--font-size-sm);padding:0 var(--space-3) var(--space-3)}}:root{--color-bg: #1e2336;--color-bg-elevated: #2a3048;--color-surface: rgba(255, 255, 255, .08);--color-glass: rgba(255, 255, 255, .1);--color-glass-hover: rgba(255, 255, 255, .15);--color-border: rgba(255, 255, 255, .15);--color-border-strong: rgba(255, 255, 255, .25);--color-text: #f5f5f7;--color-text-secondary: rgba(255, 255, 255, .8);--color-text-muted: rgba(255, 255, 255, .6);--color-accent: #4ecdc4;--color-accent-dim: rgba(78, 205, 196, .25);--color-accent-glow: rgba(78, 205, 196, .4);--color-perfect: #22c55e;--color-good: #7dd87d;--color-fair: #f4d35e;--color-poor: #f78154;--color-zero: #ee6352;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: clamp(.7rem, 2vw, .75rem);--font-size-sm: clamp(.8rem, 2.5vw, .875rem);--font-size-base: clamp(.9rem, 3vw, 1rem);--font-size-lg: clamp(1rem, 3.5vw, 1.125rem);--font-size-xl: clamp(1.15rem, 4vw, 1.25rem);--font-size-2xl: clamp(1.4rem, 5vw, 1.75rem);--font-size-3xl: clamp(1.8rem, 6vw, 2.25rem);--font-size-hero: clamp(2.2rem, 8vw, 3.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--container-max: 1600px;--container-padding: var(--space-4);--header-height: 60px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-accent-glow);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--glass-blur: blur(12px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background:var(--color-bg);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;height:60vh;background:radial-gradient(ellipse at 50% 0%,rgba(78,205,196,.08) 0%,transparent 70%);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}input,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-text)}h1{font-size:var(--font-size-hero)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-accent)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--space-12) 0}.glass{background:var(--color-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.glass:hover{background:var(--color-glass-hover);border-color:var(--color-border-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-full);transition:all var(--transition-base);white-space:nowrap}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:#5dddd4;box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--color-glass);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-glass-hover);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text);background:var(--color-glass)}.score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:var(--space-2);font-size:var(--font-size-xl);font-weight:700;border-radius:var(--radius-md);background:var(--color-glass)}.score-badge.score-perfect{color:var(--color-perfect);background:#4ecdc426}.score-badge.score-good{color:var(--color-good);background:#7dd87d26}.score-badge.score-fair{color:var(--color-fair);background:#f4d35e26}.score-badge.score-poor{color:var(--color-poor);background:#f7815426}.score-badge.score-zero{color:var(--color-zero);background:#ee635226}.card-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:480px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.card-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-5)}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}@media(min-width:1400px){.card-grid{grid-template-columns:repeat(5,1fr)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease forwards}.animate-fadeUp{animation:fadeUp var(--transition-slow) ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.stagger-children>*{animation:fadeUp var(--transition-slow) ease forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.skeleton{background:linear-gradient(90deg,var(--color-glass) 0%,var(--color-glass-hover) 50%,var(--color-glass) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:40vh;width:100%}.loading-state p{font-size:var(--font-size-sm);color:var(--color-text-muted);letter-spacing:.02em}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:40vh;width:100%;text-align:center;padding:var(--space-4)}.error-state .error-icon{font-size:3rem}.error-state h3{font-size:var(--font-size-lg);color:var(--color-text);margin:0}.error-state p{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:300px}.loading-brand{display:flex;align-items:center;justify-content:center}.loading-cloud{font-size:3rem;animation:cloudFloat 2s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(78,205,196,.4))}@keyframes cloudFloat{0%,to{transform:translateY(0) scale(1);opacity:.8}50%{transform:translateY(-8px) scale(1.05);opacity:1}}.loading-dots{display:flex;gap:var(--space-2)}.loading-dots span{width:10px;height:10px;border-radius:50%;background:var(--color-accent);animation:loadingDot 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.spin{animation:smoothSpin 1s linear infinite;color:var(--color-accent)}@keyframes smoothSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hide-mobile{display:none}.show-mobile{display:block}@media(min-width:768px){.hide-mobile{display:block}.show-mobile{display:none}:root{--container-padding: var(--space-6)}}@media(min-width:1024px){:root{--container-padding: var(--space-8)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
