.entry-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.entry-detail{background:var(--iq-ocean);border-radius:20px 20px 0 0;width:100%;max-height:90vh;overflow-y:auto;padding:1.5rem 1.25rem 2rem;position:relative;border:1px solid var(--iq-border);border-bottom:none;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.entry-detail-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;background:var(--iq-card);color:var(--iq-foil);font-size:1.5rem;line-height:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.entry-detail-title{font-size:1.1rem;font-weight:600;color:var(--iq-foil);margin-bottom:1.5rem;padding-right:2.5rem}.entry-detail-grid{display:flex;flex-direction:column;gap:1.25rem}.entry-detail-section{background:var(--iq-card);border:1px solid var(--iq-border);border-radius:12px;padding:1rem 1.25rem}.entry-detail-section h3{font-family:Bebas Neue,sans-serif;font-size:.9rem;font-weight:400;color:var(--iq-accent);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.12em}.entry-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.35rem 0;font-size:.95rem}.entry-detail-row:not(:last-child){border-bottom:1px solid var(--iq-border)}.entry-detail-label{color:var(--iq-muted);flex-shrink:0}.entry-detail-value{color:var(--iq-foil);text-align:right}.entry-detail-empty{color:var(--iq-muted);font-size:.9rem;margin:0}.entry-detail-link{display:inline-block;margin-top:.5rem;color:var(--iq-accent);text-decoration:none;font-size:.9rem}.entry-detail-link:hover{text-decoration:underline}.entry-detail-note{border-left:3px solid var(--iq-accent)}.entry-detail-note-text{color:var(--iq-foil);font-size:.95rem;line-height:1.5;margin:0;white-space:pre-wrap}.entry-list-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--iq-muted)}.entry-list-spinner{width:40px;height:40px;border:3px solid var(--iq-border);border-top-color:var(--iq-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.entry-list-empty{text-align:center;padding:3rem 1rem;color:var(--iq-muted)}.entry-list-empty-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.7}.entry-list-empty-hint{font-size:.9rem;margin-top:.5rem}.entry-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.entry-card{background:var(--iq-card);border:1px solid var(--iq-border);border-radius:12px;padding:1rem 1.25rem;transition:border-color .2s;cursor:pointer;position:relative}.entry-card:hover{border-color:#ff6b0059;background:var(--iq-card-hover)}.entry-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.entry-card-date{font-weight:600;color:var(--iq-foil)}.entry-card-location{font-size:.8rem;color:var(--iq-muted)}.entry-card-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.entry-stat{font-size:.85rem;color:var(--iq-muted)}.entry-card-arrow{color:var(--iq-muted);font-size:1.1rem;flex-shrink:0}.rake-measurer{background:var(--iq-card);border:1px solid var(--iq-border);border-radius:12px;padding:1.25rem;position:relative;overflow:hidden}.rake-measurer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/iqfoil-board-silhouette.svg);background-size:100% auto;background-position:center;background-repeat:no-repeat;opacity:.15;pointer-events:none}.rake-instructions{font-size:.9rem;color:var(--iq-muted);margin-bottom:1rem;line-height:1.5;position:relative;z-index:1}.rake-angle-display{font-size:2rem;font-weight:700;color:var(--iq-accent);text-align:center;margin-bottom:1rem;font-variant-numeric:tabular-nums;position:relative;z-index:1}.rake-error{color:#ff6b6b;font-size:.85rem;margin-bottom:.5rem;position:relative;z-index:1}.rake-buttons{display:flex;gap:.5rem;flex-wrap:wrap;position:relative;z-index:1}.rake-btn{flex:1;min-width:120px;padding:.75rem 1rem;border:none;border-radius:8px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.rake-btn-primary{background:var(--iq-accent);color:var(--iq-deep)}.rake-btn-secondary{background:transparent;color:var(--iq-muted);border:1px solid var(--iq-border)}.entry-form{display:flex;flex-direction:column;gap:1.25rem}.entry-form-back{align-self:flex-start;background:none;border:none;color:var(--iq-accent);font-family:inherit;font-size:.9rem;cursor:pointer;padding:.25rem 0}.entry-form-title{font-size:1.25rem;font-weight:600;color:var(--iq-foil);margin-bottom:.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group-row{flex-direction:row;gap:1rem;flex-wrap:wrap}.form-group-row .form-group{flex:1;min-width:100px}.form-slider-row{display:flex;align-items:center;gap:1rem}.form-slider-row .form-range{flex:1}.form-slider-row .form-value{min-width:2rem;text-align:right}.form-section{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--iq-border)}.form-section-wind{background:var(--iq-card)}.form-section-wind .form-section-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/wind-bg.svg);background-size:cover;background-position:center;opacity:.2;pointer-events:none}.form-section-content{position:relative;z-index:1;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.form-hint-rake{margin-bottom:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--iq-muted)}.form-range{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--iq-border);border-radius:4px}.form-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:var(--iq-accent);border-radius:50%;cursor:pointer;box-shadow:0 0 12px #ff6b0066}.form-value{font-size:.9rem;color:var(--iq-accent);font-weight:600}.wind-direction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.wind-dir-btn{padding:.5rem;background:var(--iq-card);border:1px solid var(--iq-border);border-radius:8px;color:var(--iq-foil);font-family:inherit;font-size:.85rem;cursor:pointer;transition:all .2s}.wind-dir-btn.active{background:var(--iq-accent);color:var(--iq-deep);border-color:var(--iq-accent)}.form-input{padding:.75rem 1rem;background:var(--iq-card);border:1px solid var(--iq-border);border-radius:8px;color:var(--iq-foil);font-family:inherit;font-size:1rem}.form-input-small{max-width:80px}.form-textarea{padding:.75rem 1rem;background:var(--iq-card);border:1px solid var(--iq-border);border-radius:8px;color:var(--iq-foil);font-family:inherit;font-size:1rem;resize:vertical;min-height:80px}.form-btn{padding:.875rem 1.5rem;border:none;border-radius:10px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.form-btn-primary{background:linear-gradient(135deg,var(--iq-accent) 0%,var(--iq-accent-dim) 100%);color:var(--iq-deep)}.form-btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-btn-secondary{background:var(--iq-card);color:var(--iq-accent);border:1px solid var(--iq-accent)}.form-info{font-size:.85rem;color:var(--iq-muted)}.rake-result{font-size:.95rem;color:var(--iq-accent);font-weight:600}.form-error{color:#ff6b6b;font-size:.9rem}.form-link{color:var(--iq-accent);text-decoration:none}.form-link:hover{text-decoration:underline}.form-section-heading{font-family:Bebas Neue,sans-serif;font-size:1.05rem;font-weight:400;color:var(--iq-accent);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--iq-border);letter-spacing:.15em;text-transform:uppercase}.form-section-weather{background:var(--iq-card);padding:1rem 1.25rem;border-radius:12px;border:1px solid var(--iq-border)}.form-row-3,.form-row-2{display:flex;gap:1rem;flex-wrap:wrap}.form-row-3 .form-field,.form-row-2 .form-field{flex:1;min-width:80px}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field-label{font-size:.8rem;color:var(--iq-muted)}.form-input-narrow{max-width:80px}.form-row-inline{display:flex;align-items:center;gap:.75rem}.form-info-muted{opacity:.7}.form-btn-group{display:flex;gap:.5rem;flex-wrap:wrap}.form-btn-group-small .form-btn-option{padding:.5rem .75rem;font-size:.9rem}.form-btn-option{background:var(--iq-card);color:var(--iq-foil);border:1px solid var(--iq-border)}.form-btn-option.active{background:var(--iq-accent);color:var(--iq-deep);border-color:var(--iq-accent)}.ruler-container{position:relative;padding:.5rem 0 1.5rem}.ruler-track{display:flex;height:24px;margin-bottom:4px;position:relative}.ruler-big-tick-group{flex:1;display:flex;align-items:flex-end;justify-content:space-between}.ruler-tick{background:var(--iq-border)}.ruler-tick-big{width:2px;height:16px;flex-shrink:0}.ruler-tick-small{width:1px;height:8px;flex:1;max-width:1px}.ruler-slider{position:absolute;top:0;left:0;right:0;width:100%;margin:0}.ruler-labels{position:relative;height:20px;margin-top:4px}.ruler-label{position:absolute;transform:translate(-50%);font-size:.75rem;color:var(--iq-muted)}.ruler-value{position:absolute;right:0;bottom:-4px}.dual-slider-container{display:flex;flex-direction:column;gap:.5rem}.dual-slider-track{position:relative;height:32px;display:flex;align-items:center}.dual-slider-track:before{content:"";position:absolute;left:0;right:0;height:8px;background:var(--iq-border);border-radius:4px;pointer-events:none}.dual-slider-range{position:absolute;height:8px;background:var(--iq-accent);opacity:.4;border-radius:4px;pointer-events:none}.dual-slider-input{position:absolute;left:0;right:0;width:100%;height:32px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.dual-slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;background:var(--iq-accent);border-radius:50%;cursor:grab;box-shadow:0 0 8px #ff6b0066}.dual-slider-input::-webkit-slider-thumb:active{cursor:grabbing}.dual-slider-input::-moz-range-thumb{width:28px;height:28px;background:var(--iq-accent);border-radius:50%;cursor:grab;border:none}.dual-slider-input::-moz-range-thumb:active{cursor:grabbing}.dual-slider-left{z-index:2}.dual-slider-right{z-index:3}.dual-slider-labels{display:flex;justify-content:space-between;font-size:.85rem;color:var(--iq-accent)}.diary{padding:0 1rem 2rem;position:relative;z-index:1}.diary-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;margin-top:1.5rem;background:linear-gradient(135deg,var(--iq-accent) 0%,var(--iq-accent-dim) 100%);color:var(--iq-deep);border:none;border-radius:12px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.diary-add-btn:active{transform:scale(.98)}.diary-add-btn:hover{box-shadow:0 0 20px #ff6b0059}.diary-no-user{padding:2rem 1rem;text-align:center;color:var(--iq-muted)}.diary-add-icon{font-size:1.5rem;line-height:1}.garmin-import{padding:1rem;max-width:800px;margin:0 auto}.garmin-login{display:flex;flex-direction:column;gap:1.25rem}.garmin-title{font-size:1.25rem;font-weight:600;color:var(--iq-foil);margin:0 0 .25rem}.garmin-hint{font-size:.85rem;color:var(--iq-muted);margin:0 0 .5rem}.garmin-error{color:#e74c3c;font-size:.9rem;margin:0}.garmin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.garmin-logout{background:none;border:1px solid var(--iq-border);color:var(--iq-muted);font-size:.85rem;padding:.35rem .75rem;border-radius:6px;cursor:pointer}.garmin-logout:hover{color:var(--iq-foil)}.garmin-layout{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.garmin-layout{flex-direction:row}.garmin-list{width:320px;flex-shrink:0}.garmin-map-wrap{flex:1;min-height:400px}}.garmin-list{border:1px solid var(--iq-border);border-radius:12px;overflow:hidden;max-height:400px;overflow-y:auto}.garmin-empty{padding:1.5rem;text-align:center;color:var(--iq-muted);margin:0}.garmin-activities{list-style:none;margin:0;padding:0}.garmin-activity-item{border-bottom:1px solid var(--iq-border)}.garmin-activity-item:last-child{border-bottom:none}.garmin-activity-btn{display:block;width:100%;text-align:left;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-family:inherit;color:inherit;transition:background .15s}.garmin-activity-btn:hover:not(:disabled){background:#00d4aa1a}.garmin-activity-btn.loading{opacity:.7;cursor:wait}.garmin-activity-name{display:block;font-weight:500;font-size:.95rem}.garmin-activity-meta{display:block;font-size:.8rem;color:var(--iq-muted);margin-top:.25rem}.garmin-map-wrap{border:1px solid var(--iq-border);border-radius:12px;overflow:hidden;min-height:280px}.garmin-map{width:100%;height:100%;min-height:280px}.garmin-map-placeholder{display:flex;align-items:center;justify-content:center;min-height:280px;background:var(--iq-card);color:var(--iq-muted);font-size:.9rem}.header{padding:1.25rem 1.25rem 1.5rem;text-align:center;position:relative;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,transparent 100%);border-bottom:1px solid var(--iq-border)}.header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:2px;background:var(--iq-accent);opacity:.8}.header-logos{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:.75rem;flex-wrap:wrap}.header-logo{height:28px;width:auto;object-fit:contain;opacity:.95}.header-logo-starboard{filter:brightness(1.1)}.header-logo-iqfoil{height:32px}.header-title{font-family:Bebas Neue,sans-serif;font-size:1.1rem;font-weight:400;color:var(--iq-muted);letter-spacing:.25em;text-transform:uppercase;margin-bottom:.5rem}.header-user{font-size:.95rem;color:var(--iq-accent);font-weight:500}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-nav{display:flex;gap:.25rem;padding:0 1rem .5rem;border-bottom:1px solid var(--iq-border)}.app-nav-btn{background:none;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;color:var(--iq-muted);cursor:pointer;border-radius:6px}.app-nav-btn:hover{color:var(--iq-foil)}.app-nav-btn.active{color:var(--iq-foil);background:#00d4aa26}.main{flex:1}.app-footer{position:relative;padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;border-top:1px solid var(--iq-border);background:#00000040}.app-footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--iq-accent);opacity:.6}.app-footer-logos{display:flex;align-items:center;gap:1rem}.app-footer-logo{height:18px;opacity:.7}.app-footer-tag{font-size:.65rem;color:var(--iq-muted);letter-spacing:.15em;text-transform:uppercase}:root{--iq-navy: #0a1628;--iq-deep: #061220;--iq-ocean: #0c1929;--iq-accent: #ff6b00;--iq-accent-bright: #ff8533;--iq-accent-dim: #e55a00;--iq-foil: #f5f5f5;--iq-white: #ffffff;--iq-muted: #8b9cad;--iq-card: #0e1f33;--iq-card-hover: #132a42;--iq-border: #1a3350;--iq-gradient: linear-gradient(180deg, #061220 0%, #0a1628 30%, #0c1929 100%);--iq-glow: 0 0 24px rgba(255, 107, 0, .2);--iq-shadow: 0 4px 20px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--iq-gradient);color:var(--iq-foil);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{min-height:100vh;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0)}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 100% 60% at 50% -10%,rgba(255,107,0,.04) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 100% 0%,rgba(255,133,51,.03) 0%,transparent 50%);pointer-events:none;z-index:0}
