@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital@1&display=swap";.landing[data-v-b72891a1]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2c1810;background:#fff;min-height:100vh;overflow-x:hidden}.lp-btn-ghost[data-v-b72891a1]{background:transparent;border:1.5px solid rgba(255,255,255,.55);color:#fff;padding:8px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.lp-btn-ghost[data-v-b72891a1]:hover{background:#ffffff1a}.lp-btn-primary[data-v-b72891a1]{background:#c9a227;border:none;color:#fff;padding:8px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s}.lp-btn-primary[data-v-b72891a1]:hover{background:#b08b1a;transform:translateY(-1px)}.lp-btn-cta[data-v-b72891a1]{background:#c9a227;border:none;color:#fff;padding:14px 32px;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 16px #c9a22766}.lp-btn-cta[data-v-b72891a1]:hover{background:#b08b1a;transform:translateY(-2px);box-shadow:0 8px 24px #c9a22773}.lp-btn-cta-outline[data-v-b72891a1]{background:transparent;border:2px solid rgba(255,255,255,.45);color:#ffffffe6;padding:13px 28px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.lp-btn-cta-outline[data-v-b72891a1]:hover{background:#ffffff1a;border-color:#ffffffb3}.lp-header[data-v-b72891a1]{position:fixed;top:0;left:0;right:0;z-index:100;background:#4d0f0fe6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}.lp-header-inner[data-v-b72891a1]{max-width:1100px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between}.lp-logo[data-v-b72891a1]{display:flex;align-items:center;gap:10px;color:#fff}.lp-logo-icon[data-v-b72891a1]{width:32px;height:32px}.lp-logo-name[data-v-b72891a1]{font-size:1.05rem;font-weight:700;letter-spacing:.01em}.lp-header-nav[data-v-b72891a1]{display:flex;align-items:center;gap:10px}.lp-hero[data-v-b72891a1]{min-height:100vh;background:linear-gradient(145deg,#3a0a0a,#7a1a1a,#4d0f0f);display:flex;align-items:center;padding:80px 24px 0;overflow:hidden}.lp-hero-inner[data-v-b72891a1]{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:flex-end;width:100%}.lp-hero-text[data-v-b72891a1]{padding-bottom:60px}.lp-hero-eyebrow[data-v-b72891a1]{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c9a227;margin:0 0 16px}.lp-hero-title[data-v-b72891a1]{font-size:clamp(2.2rem,4vw,3.4rem);font-weight:800;color:#fff;line-height:1.15;margin:0 0 20px;letter-spacing:-.02em}.lp-hero-sub[data-v-b72891a1]{font-size:1.05rem;color:#ffffffb8;line-height:1.7;margin:0 0 36px;max-width:420px}.lp-hero-cta[data-v-b72891a1]{display:flex;gap:14px;flex-wrap:wrap}.lp-hero-phones[data-v-b72891a1]{display:flex;align-items:flex-end;justify-content:center;position:relative;height:520px}.lp-iphone[data-v-b72891a1]{position:absolute;background:#0d0d0d;border-radius:36px;border:2.5px solid rgba(255,255,255,.18);box-shadow:0 32px 80px #0000008c,inset 0 0 0 1px #ffffff0f;overflow:hidden;display:flex;flex-direction:column;width:210px}.lp-iphone-notch[data-v-b72891a1]{width:56px;height:5px;background:#ffffff1f;border-radius:3px;margin:10px auto 0;flex-shrink:0}.lp-iphone-screen[data-v-b72891a1]{width:100%;display:block;flex:1;object-fit:cover;object-position:top}.lp-iphone--left[data-v-b72891a1]{left:20px;bottom:0;transform:rotate(-4deg);z-index:2;height:460px}.lp-iphone--right[data-v-b72891a1]{right:20px;bottom:0;transform:rotate(3deg) translateY(24px);z-index:1;height:440px;opacity:.88}.lp-section-inner[data-v-b72891a1]{max-width:1100px;margin:0 auto;padding:0 24px;text-align:center}.lp-section-eyebrow[data-v-b72891a1]{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a83232;margin:0 0 12px}.lp-section-title[data-v-b72891a1]{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#2c1810;margin:0 0 12px;letter-spacing:-.02em}.lp-section-sub[data-v-b72891a1]{font-size:1rem;color:#7a6458;margin:0 0 52px;line-height:1.6}.lp-eyebrow--light[data-v-b72891a1]{color:#c9a227}.lp-title--light[data-v-b72891a1]{color:#fff}.lp-sub--light[data-v-b72891a1]{color:#fff9}.lp-features[data-v-b72891a1]{background:#f7f1e9;padding:96px 24px}.lp-features-grid[data-v-b72891a1]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left;margin-top:52px}.lp-feature-card[data-v-b72891a1]{background:#fff;border-radius:16px;padding:28px 24px;border:1px solid #dbd0c2;transition:transform .2s,box-shadow .2s}.lp-feature-card[data-v-b72891a1]:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.lp-feature-card--highlight[data-v-b72891a1]{border-color:#c9a2274d;background:linear-gradient(135deg,#fff 70%,#fdf8ee)}.lp-feature-icon[data-v-b72891a1]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.lp-feature-icon svg[data-v-b72891a1]{width:22px;height:22px}.lp-icon--add[data-v-b72891a1]{background:#fde8e8}.lp-icon--add svg[data-v-b72891a1]{stroke:#c0392b}.lp-icon--cave[data-v-b72891a1]{background:#ede8f5}.lp-icon--cave svg[data-v-b72891a1]{stroke:#6b3fa0}.lp-icon--accords[data-v-b72891a1]{background:#e8f0fd}.lp-icon--accords svg[data-v-b72891a1]{stroke:#2563eb}.lp-icon--journal[data-v-b72891a1]{background:#e8f5ee}.lp-icon--journal svg[data-v-b72891a1]{stroke:#2d6a4f}.lp-icon--quiz[data-v-b72891a1]{background:#fff4e0}.lp-icon--quiz svg[data-v-b72891a1]{stroke:#b07a00}.lp-icon--offline[data-v-b72891a1]{background:#f5f0e8}.lp-icon--offline svg[data-v-b72891a1]{stroke:#7a6458}.lp-feature-card h3[data-v-b72891a1]{font-size:1rem;font-weight:700;color:#2c1810;margin:0 0 8px}.lp-feature-card p[data-v-b72891a1]{font-size:.88rem;color:#7a6458;line-height:1.65;margin:0}.lp-feature-card em[data-v-b72891a1]{color:#7a1a1a;font-style:normal;font-weight:600}.lp-mac-section[data-v-b72891a1]{background:linear-gradient(180deg,#4d0f0f,#7a1a1a);padding:96px 24px 112px}.lp-browser[data-v-b72891a1]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 40px 100px #00000073,0 0 0 1px #ffffff14;max-width:960px;margin:0 auto}.lp-browser-bar[data-v-b72891a1]{background:#e2e2e2;padding:10px 16px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #ccc}.lp-browser-dots[data-v-b72891a1]{display:flex;gap:7px}.lp-dot[data-v-b72891a1]{width:13px;height:13px;border-radius:50%}.lp-dot--red[data-v-b72891a1]{background:#ff5f57}.lp-dot--yellow[data-v-b72891a1]{background:#febc2e}.lp-dot--green[data-v-b72891a1]{background:#28c840}.lp-browser-url[data-v-b72891a1]{background:#fff;border-radius:6px;padding:4px 14px;font-size:.75rem;color:#555;flex:1;max-width:320px;margin:0 auto;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-browser-img[data-v-b72891a1]{width:100%;display:block}.lp-cta-final[data-v-b72891a1]{background:#fff;padding:96px 24px;text-align:center}.lp-cta-final-inner[data-v-b72891a1]{max-width:560px;margin:0 auto}.lp-cta-final h2[data-v-b72891a1]{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:#2c1810;margin:0 0 14px;letter-spacing:-.02em}.lp-cta-final p[data-v-b72891a1]{font-size:1rem;color:#7a6458;margin:0 0 32px;line-height:1.6}.lp-footer[data-v-b72891a1]{background:#2c1810;padding:24px;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff6;font-size:.85rem}.lp-footer-icon[data-v-b72891a1]{width:24px;height:24px;opacity:.7}.lp-mobile-brand[data-v-b72891a1]{display:none}@media (max-width: 900px){.lp-features-grid[data-v-b72891a1]{grid-template-columns:repeat(2,1fr)}.lp-hero-inner[data-v-b72891a1]{grid-template-columns:1fr;gap:0}.lp-hero-phones[data-v-b72891a1]{height:340px;margin-top:32px}.lp-iphone[data-v-b72891a1]{width:160px}.lp-iphone--left[data-v-b72891a1]{height:340px;left:10%}.lp-iphone--right[data-v-b72891a1]{height:320px;right:10%}.lp-hero-text[data-v-b72891a1]{padding-bottom:0}}@media (max-width: 600px){.landing[data-v-b72891a1]{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.lp-header[data-v-b72891a1],.lp-features[data-v-b72891a1],.lp-mac-section[data-v-b72891a1],.lp-cta-final[data-v-b72891a1]{display:none}.lp-hero[data-v-b72891a1]{flex:1;min-height:auto;padding:20px 28px 16px;align-items:center;justify-content:center}.lp-hero-inner[data-v-b72891a1]{grid-template-columns:1fr;gap:0;align-items:center;justify-items:center;text-align:center;width:100%}.lp-hero-phones[data-v-b72891a1]{display:none}.lp-hero-text[data-v-b72891a1]{padding-bottom:0;width:100%}.lp-hero-eyebrow[data-v-b72891a1]{display:none}.lp-hero-title[data-v-b72891a1]{font-size:1.75rem;margin:12px 0 10px}.lp-hero-sub[data-v-b72891a1]{max-width:100%;margin:0 0 24px;font-size:.9rem}.lp-mobile-brand[data-v-b72891a1]{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 4px}.lp-mobile-brand-icon[data-v-b72891a1]{width:52px;height:52px}.lp-mobile-brand span[data-v-b72891a1]{color:#c9a227;font-size:1.2rem;font-weight:700;letter-spacing:.02em}.lp-hero-cta[data-v-b72891a1]{flex-direction:column;gap:10px;width:100%;max-width:300px;margin:0 auto}.lp-btn-cta[data-v-b72891a1],.lp-btn-cta-outline[data-v-b72891a1]{display:block;width:100%;padding:13px 20px;text-align:center}.lp-footer[data-v-b72891a1]{padding:14px 24px;flex-shrink:0}}.slide-left-enter-active,.slide-left-leave-active,.slide-right-enter-active,.slide-right-leave-active{transition:transform .22s ease,opacity .22s ease}.slide-left-enter-from{transform:translate(24px);opacity:0}.slide-left-leave-to,.slide-right-enter-from{transform:translate(-24px);opacity:0}.slide-right-leave-to{transform:translate(24px);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c1810a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center}.login-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1rem;color:var(--text-light);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,color .15s}.login-close:hover{background:var(--cream);color:var(--wine)}.login-card{position:relative}.login-overlay.hidden{display:none}.auth-cancel{display:block;text-align:center;font-size:.85rem;color:var(--text-light);margin-top:4px;text-decoration:none}.auth-cancel:hover{color:var(--wine)}.login-card{background:var(--white);border-radius:var(--radius);box-shadow:0 4px 24px #0000001f;padding:40px 36px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px}.login-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:4px}.login-logo{width:56px;height:56px;object-fit:contain;margin-bottom:6px}.login-header span{font-size:2.5rem}.login-header h1{font-size:1.6rem;color:var(--wine)}.login-header p{color:var(--text-light);font-size:.9rem}#login-btn{background:var(--wine);color:var(--white);border:none;border-radius:var(--radius);padding:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}#login-btn:hover{background:var(--wine-light)}#login-btn:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{text-align:center;font-size:.85rem;color:var(--text-light);margin-top:-4px}.auth-toggle a{color:var(--wine);text-decoration:none;font-weight:500}.auth-toggle a:hover{text-decoration:underline}.logout-btn{margin-left:auto;background:#ffffff26;color:var(--white);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);padding:6px 14px;font-size:.85rem;cursor:pointer;transition:background .2s}.logout-btn:hover{background:#ffffff40}.auth-fields{display:flex;flex-direction:column;gap:18px}.login-card--register{max-width:560px}.login-card--register .auth-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:18px}.login-card--register .auth-fields>*{min-width:0}.login-card--register .auth-field-prenom{grid-column:1;grid-row:1}.login-card--register .auth-field-nom{grid-column:2;grid-row:1}.login-card--register .auth-field-email{grid-column:1;grid-row:2}.login-card--register .auth-field-niveau{grid-column:2;grid-row:2}.login-card--register .auth-field-mdp{grid-column:1;grid-row:3}.login-card--register .auth-field-confirm{grid-column:2;grid-row:3}.password-rules{margin-top:7px;display:flex;flex-direction:column;gap:4px}.pw-rule{font-size:.78rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;color:var(--text-muted, #999)}.pw-rule--confirm{margin-top:6px}.pw-rule.ok{color:#2d8a4e}.pw-rule.fail{color:#b44}.pw-cat{display:inline-block;padding:1px 5px;border-radius:3px;font-size:.72rem;background:#eee;color:#999;white-space:nowrap}.pw-cat.ok{background:#d4edda;color:#2d8a4e}.admin-account-btn{margin-left:auto;background:#ffffff26;color:var(--white);border:1px solid rgba(255,255,255,.3);border-radius:50%;width:36px;height:36px;font-size:1.15rem;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;padding:0}.admin-account-btn:hover{background:#ffffff4d}.admin-account-btn svg{width:18px;height:18px;stroke:currentColor}:root{--wine: #7a1a1a;--wine-dark: #4d0f0f;--wine-light: #a83232;--gold: #c9a227;--cream: #f7f1e9;--white: #ffffff;--border: #dbd0c2;--text: #2c1810;--text-light: #7a6458;--success: #2d6a4f;--error: #c0392b;--radius: 14px;--shadow: 0 4px 20px rgba(0,0,0,.1)}.btn-primary{background:var(--wine);color:var(--white);border:none;border-radius:var(--radius);padding:10px 20px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--wine-light)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.btn-secondary:hover{border-color:var(--wine-light);background:var(--cream)}.btn-text{background:none;border:none;color:var(--text-light);font-size:.85rem;cursor:pointer;padding:4px 6px;text-decoration:underline;text-underline-offset:2px}.btn-text:hover{color:var(--text)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--cream);overflow-x:clip}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--cream);color:var(--text);min-height:100vh;overflow-x:clip}header{background:linear-gradient(135deg,var(--wine-dark) 0%,var(--wine) 100%);color:var(--white);padding:16px 32px;box-shadow:0 2px 12px #00000040;border-bottom:2px solid rgba(201,162,39,.35)}.header-inner{max-width:860px;margin:0 auto;display:flex;align-items:center;gap:16px}.header-icon{width:2.4rem;height:2.4rem;flex-shrink:0}header h1{font-size:1.8rem;font-weight:700;letter-spacing:-.5px}header p{font-size:.9rem;opacity:.7;margin-top:2px}.header-brand{cursor:pointer;display:flex;align-items:center;gap:16px;flex:1;min-width:0}.header-brand:hover h1{opacity:.85}main{max-width:860px;margin:32px auto;padding:0 16px 64px;display:flex;flex-direction:column;gap:24px}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;box-shadow:var(--shadow)}.add-methods-container{display:flex;flex-direction:column;gap:20px;max-width:960px;width:100%;margin:0 auto}.add-method-card{display:flex;flex-direction:column;gap:10px;min-width:0;transition:box-shadow .2s,border-color .2s}.add-method-card--loading{border-color:var(--wine-light);box-shadow:0 4px 16px #7a1a1a14}.add-methods-error{width:100%}.wine-loader--card{margin:8px auto}.add-method-header{display:flex;align-items:center;gap:7px;margin-bottom:2px}.add-method-emoji{font-size:1.15rem;line-height:1}.add-method-title{font-size:.9rem;color:var(--text)}.add-method-hint{font-size:.8rem;color:var(--text-light);margin:0;line-height:1.4;flex:1}.btn-add-method{display:inline-block;padding:9px 16px;background:var(--surface);color:var(--text);border:1.5px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-weight:500;cursor:pointer;text-align:center;white-space:nowrap;transition:background .15s,border-color .15s;align-self:flex-start;margin-top:auto}.btn-add-method:hover{background:#f0ebe7;border-color:var(--wine-light)}.add-method-input-row{display:flex;gap:8px;align-items:center;margin-top:auto}.add-method-input-row input{flex:1;min-width:0;padding:9px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.95rem;color:var(--text);background:var(--cream);transition:border-color .2s}.add-method-input-row input:focus{outline:none;border-color:var(--wine-light);background:var(--white)}#analyze-btn{padding:9px 20px;background:var(--wine);color:var(--white);border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;flex-shrink:0}#analyze-btn:hover{background:var(--wine-light)}#analyze-btn:active{background:var(--wine-dark)}#analyze-btn:disabled{background:#b0a09a;cursor:not-allowed}@media (max-width: 600px){.add-method-input-row{flex-wrap:wrap}.add-method-input-row input,#analyze-btn{width:100%}}.photo-preview-wrap{display:flex;align-items:center;gap:12px;margin-top:10px}.photo-preview{width:72px;height:72px;object-fit:cover;border-radius:8px;border:2px solid var(--border);flex-shrink:0}.photo-remove-btn{background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-light);font-size:.8rem;padding:5px 10px;transition:all .15s}.photo-remove-btn:hover{border-color:var(--error);color:var(--error)}.photo-crop-btn{display:flex;align-items:center;gap:5px}.photo-crop-btn:hover{border-color:var(--wine)!important;color:var(--wine)!important}.spinner{width:36px;height:36px;border:3px dashed var(--wine-light);border-radius:50%;animation:spin 1.2s linear infinite;margin:16px auto 0}.wine-loader{width:72px;height:72px;display:block;margin:16px auto 0}.error-msg{color:var(--error);font-size:.9rem;margin-top:10px;padding:10px 14px;background:#fdf0f0;border:1px solid #f5c6c6;border-radius:6px}.warning-msg{color:#7a5200;font-size:.9rem;margin-top:10px;padding:10px 14px;background:#fffbea;border:1px solid #f0d080;border-radius:6px}.hidden{display:none!important}.form-title{font-size:1.15rem;font-weight:700;color:var(--wine-dark);margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--border)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.form-grid>*{min-width:0}.assemblage-cepage-wrap{display:flex;gap:16px;align-items:flex-start}.assemblage-cepage-wrap .field{flex:1;min-width:0}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.form-grid-2>*{min-width:0}.form-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px}.form-grid-4>*{min-width:0}.form-grid-4 .f-quarter{grid-column:span 1}.form-grid-4 .f-half{grid-column:span 2}.form-grid-4 .f-full{grid-column:span 4}.field{display:flex;flex-direction:column;gap:6px}.field.full-width{grid-column:1 / -1;margin-top:4px}.field label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light)}.optional{font-weight:400;text-transform:none;font-size:.75rem;color:#b0a09a;margin-left:4px}.field input,.field select,.field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:.95rem;color:var(--text);background:var(--cream);transition:border-color .2s;font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--wine-light);background:var(--white)}.field textarea{resize:vertical}.temp-range{display:flex;align-items:center;gap:8px}.temp-range input{flex:1}.temp-sep{color:var(--text-light);font-weight:300}.toggle-field{justify-content:flex-start}.toggle-wrapper{display:flex;align-items:center;gap:10px;margin-top:4px}.toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d0c5bc;border-radius:24px;transition:background .25s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:transform .25s;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider{background:var(--wine)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-label{font-size:.9rem;color:var(--text-light);min-width:28px}.chips-container{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1.5px solid var(--border);border-radius:8px;background:var(--cream);min-height:52px}.chip{padding:5px 12px;border:1.5px solid var(--border);border-radius:20px;font-size:.85rem;cursor:pointer;background:var(--white);color:var(--text-light);transition:all .15s;-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--wine-light);color:var(--wine)}.chip.selected{background:var(--wine);border-color:var(--wine);color:var(--white);font-weight:600}.chip-add-row{display:flex;gap:8px;margin-top:8px}.chip-add-row input{flex:1;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:.88rem;background:var(--cream);color:var(--text);font-family:inherit}.chip-add-row input:focus{outline:none;border-color:var(--wine-light);background:var(--white)}.btn-add-chip{padding:8px 16px;background:var(--cream);border:1.5px solid var(--border);border-radius:8px;font-size:.85rem;cursor:pointer;color:var(--text-light);transition:all .15s}.btn-add-chip:hover{border-color:var(--wine-light);color:var(--wine)}.star-rating{display:flex;gap:6px;margin-top:4px}.star{font-size:1.5rem;cursor:pointer;color:#d0c5bc;transition:color .15s,transform .1s;line-height:1}.star:hover,.star.active{color:var(--gold)}.star:active{transform:scale(.9)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.btn-save{padding:12px 32px;background:var(--wine);color:var(--white);border:none;text-align:center;border-radius:var(--radius);font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.btn-save:hover{background:var(--wine-light)}.btn-cancel{padding:12px 24px;background:transparent;color:var(--text-light);border:1.5px solid var(--border);border-radius:var(--radius);font-size:.95rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{border-color:var(--text-light);color:var(--text)}.success-banner{display:flex;align-items:center;gap:16px;background:#f0faf5;border-color:#a8d5bc}.success-icon{font-size:1.8rem;color:var(--success);font-weight:700}.success-banner strong{color:var(--success);font-size:1rem}.import-done-banner--empty{background:#fdf0f0;border-color:#e8b4b4}.import-done-banner--empty .success-icon,.import-done-banner--empty strong{color:#c0392b}.success-banner p{font-size:.88rem;color:var(--text-light);margin-top:2px}.success-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.btn-new,.btn-cave{padding:10px 20px;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-new{background:var(--success);color:var(--white)}.btn-cave{background:var(--wine);color:var(--white)}.btn-new:hover,.btn-cave:hover{opacity:.85}.tab-nav{margin-top:24px;padding:0 32px}.tab-nav-inner{max-width:860px;margin:0 auto;display:flex;padding:0 8px;background:#00000040;border-radius:0 0 8px 8px}.tab-btn{padding:10px 20px;background:transparent;color:#fff9;border:none;border-bottom:3px solid transparent;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s}.tab-btn:hover{color:#ffffffe6;background:#ffffff12;border-radius:6px 6px 0 0}.tab-btn.active{color:var(--white);font-weight:600;border-bottom:3px solid var(--gold);border-bottom-color:var(--gold)}.cave-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cave-stats{font-size:.9rem;color:var(--text-light);white-space:nowrap}.cave-stats strong{color:var(--text)}.cave-search-wrap{flex:1;min-width:200px}.cave-search-wrap input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9rem;background:var(--white);color:var(--text)}.cave-search-wrap input:focus{outline:none;border-color:var(--wine-light)}.filter-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.filter-bar{display:flex;align-items:center;gap:10px;padding:12px 18px}.filter-toggle-btn{display:flex;align-items:center;gap:8px;background:transparent;border:none;font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer;padding:0}.filter-toggle-btn:hover{color:var(--wine)}#filter-chevron{font-size:.65rem;color:var(--text-light);transition:transform .2s}#filter-chevron.open{transform:rotate(180deg)}.filter-count{background:var(--wine);color:var(--white);font-size:.72rem;font-weight:700;border-radius:10px;padding:1px 7px;min-width:20px;text-align:center}.filter-reset-btn{margin-left:auto;background:transparent;border:1px solid var(--border);border-radius:6px;padding:4px 12px;font-size:.8rem;color:var(--text-light);cursor:pointer;transition:all .15s}.filter-reset-btn:hover{border-color:var(--wine-light);color:var(--wine)}.filter-body{border-top:1px solid var(--border);padding:16px 18px;display:flex;flex-direction:column;gap:14px}.filter-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:8px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{padding:4px 11px;border:1.5px solid var(--border);border-radius:16px;font-size:.82rem;cursor:pointer;background:var(--white);color:var(--text-light);transition:all .15s;-webkit-user-select:none;user-select:none}.filter-chip:hover:not(.disabled){border-color:var(--wine-light);color:var(--wine)}.filter-chip.selected{background:var(--wine);border-color:var(--wine);color:var(--white);font-weight:600}.filter-chip.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.cave-empty{text-align:center;padding:64px 24px;color:var(--text-light)}.cave-empty span{font-size:3rem;display:block;margin-bottom:12px}.cave-empty p{margin-bottom:20px;line-height:1.6}.cave-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.wine-card{background:var(--white);border:1px solid var(--border);border-left:5px solid var(--wine);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.wine-card-main{display:flex;align-items:stretch;flex:1;overflow:hidden}.wine-card-content{padding:14px 16px 12px;flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.wine-card-title{font-size:1rem;font-weight:700;color:var(--text);line-height:1.3}.wine-card-title em{font-style:normal;color:var(--text-light);font-weight:400;font-size:.9rem}.wine-card-sub{font-size:.82rem;color:var(--text-light);margin-top:-2px}.wine-card-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{padding:2px 9px;border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid}.badge-type{color:var(--white);border-color:transparent}.badge-info{background:var(--cream);color:var(--text-light);border-color:var(--border)}.badge-emplacement{background:#eef2ff;color:#4a5a9a;border-color:#c7d0f0}.wine-card-cepages,.wine-card-caracts{font-size:.8rem;color:var(--text-light);line-height:1.5}.wine-card-cepages span,.wine-card-caracts span{font-weight:600;color:var(--text)}.wine-card-footer{padding:10px 18px;border-top:1px solid var(--border);background:#fdf9f5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wine-card-stars{display:inline-flex;gap:1px}.wine-card-stars .qstar{font-size:.95rem}.wine-card-meta{display:flex;gap:12px;font-size:.8rem;color:var(--text-light)}.wine-card-meta strong{color:var(--text)}.wine-card{cursor:pointer;transition:box-shadow .15s}@media (hover: hover){.wine-card-wrapper:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000024;transition:transform .2s,box-shadow .2s}}.wine-card-photo-col{width:130px;flex-shrink:0;background:var(--cream);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center}.wine-card-photo-col:has(img:not([src])){display:none}.wine-card-photo{width:130px;height:175px;object-fit:contain;display:block}.cave-sort-bar{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:.85rem;color:var(--text-light)}.cave-sort-bar select{font-size:.85rem;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);cursor:pointer}.cave-sort-bar select:focus{outline:none;border-color:var(--wine)}.sort-dir-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);cursor:pointer;font-size:.9rem;flex-shrink:0;transition:border-color .15s,color .15s}.sort-dir-btn:hover{border-color:var(--wine);color:var(--wine)}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding:24px 0 8px}.pag-btn{padding:7px 20px;font-size:.9rem;font-weight:600;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);cursor:pointer;transition:all .15s}.pag-btn:hover:not(:disabled){background:var(--cream);border-color:var(--wine);color:var(--wine)}.pag-btn:disabled{opacity:.4;cursor:not-allowed}.pag-info{font-size:.85rem;color:var(--text-light)}.expert-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);margin-top:20px}.expert-summary{cursor:pointer;padding:11px 16px;font-size:.88rem;font-weight:600;color:var(--text-light);display:flex;align-items:center;justify-content:space-between;list-style:none;-webkit-user-select:none;user-select:none;border-radius:var(--radius)}.expert-summary::-webkit-details-marker{display:none}.expert-summary:hover{color:var(--text)}.expert-chevron{transition:transform .2s;font-size:.8rem}details[open] .expert-chevron{transform:rotate(180deg)}.expert-content{padding:2px 16px 14px;display:flex;flex-direction:column;gap:16px}.cepages-assemblage-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.cepage-pct-chip{display:inline-flex;align-items:center;background:#f5ecee;border:1px solid #dfc4ca;border-radius:999px;padding:4px 8px 4px 12px;font-size:.83rem;transition:border-color .15s,box-shadow .15s}.cepage-pct-chip:focus-within{border-color:var(--wine-light);box-shadow:0 0 0 2px #7a1a1a1a}.cepage-pct-name{font-weight:600;color:var(--wine-dark);white-space:nowrap}.cepage-pct-name:after{content:"·";margin:0 5px;font-weight:400;color:#9a7080}.cepage-pct-input{width:28px;border:none;border-bottom:1.5px solid #d0b0ba;border-radius:0;padding:0 1px;font-size:.83rem;text-align:right;color:var(--text);font-family:inherit;background:transparent;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cepage-pct-input::-webkit-outer-spin-button,.cepage-pct-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.cepage-pct-input:focus{outline:none;border-bottom-color:var(--wine)}.cepage-pct-unit{font-size:.78rem;color:#8a6070;margin-left:1px}.cepage-remove-btn{background:none;border:none;cursor:pointer;color:#9a7080;font-size:.88rem;line-height:1;padding:0 0 0 6px;transition:color .15s}.cepage-remove-btn:hover{color:var(--wine)}.cepage-pct-chip--blanc{background:#fdf8e4;border-color:#d8c860}.cepage-pct-chip--blanc:focus-within{border-color:#b09010;box-shadow:0 0 0 2px #a082001f}.cepage-pct-chip--blanc .cepage-pct-name{color:#5a4a00}.cepage-pct-chip--blanc .cepage-pct-name:after{color:#9a8820}.cepage-pct-chip--blanc .cepage-pct-input{border-bottom-color:#c0a840}.cepage-pct-chip--blanc .cepage-pct-input:focus{border-bottom-color:#9a7810}.cepage-pct-chip--blanc .cepage-pct-unit{color:#7a6010}.cepage-pct-chip--blanc .cepage-remove-btn{color:#9a8820}.cepage-pct-chip--blanc .cepage-remove-btn:hover{color:#7a6010}.autocomplete-wrap{position:relative}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);max-height:220px;overflow-y:auto;z-index:200;box-shadow:0 6px 16px #0000001a}.suggestion-item{padding:8px 14px;cursor:pointer;font-size:.9rem;color:var(--text)}.suggestion-item:hover{background:var(--cream)}.suggestion-add{color:var(--wine);font-style:italic}.retirer-btn{display:none;padding:3px 9px;font-size:.75rem;font-weight:600;color:var(--retirer-color, var(--wine));background:transparent;border:1.5px solid var(--retirer-color, var(--wine));border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.wine-card:hover .retirer-btn{display:inline-block}.retirer-btn:hover{background:var(--retirer-color, var(--wine));color:var(--white)}.stats-kpi-row{display:flex;gap:16px;padding:24px 20px 0;max-width:960px;margin:0 auto}.stats-kpi-card{flex:1;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px 24px;text-align:center}.stats-kpi-value{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;color:var(--wine);line-height:1;white-space:nowrap}.stats-kpi-label{font-size:.82rem;color:var(--text-light);margin-top:6px;text-transform:uppercase;letter-spacing:.04em}.stats-charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px 20px;max-width:960px;margin:0 auto}@media (max-width: 700px){.stats-charts-grid{grid-template-columns:1fr}.stats-kpi-row{flex-direction:column}}.stats-chart-card{display:flex;flex-direction:column;gap:12px}.stats-chart-title{font-size:.9rem;font-weight:700;color:var(--wine-dark);text-transform:uppercase;letter-spacing:.04em;margin:0}.stats-chart-body{display:flex;flex-direction:column;align-items:center;gap:12px}.pie-svg{width:160px;height:160px;flex-shrink:0}.pie-legend{width:100%;display:flex;flex-direction:column;gap:5px}.pie-legend-item{display:flex;align-items:center;gap:7px;font-size:.8rem}.pie-legend-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.pie-legend-label{flex:1;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pie-legend-count{color:var(--text-light);white-space:nowrap}.stats-no-data{font-size:.85rem;color:var(--text-light);font-style:italic;text-align:center;padding:16px 0}#unsaved-modal,#tasting-delete-modal{z-index:200}.pie-tooltip{position:fixed;background:#1c120ae0;color:#fff;padding:8px 12px;border-radius:7px;font-size:.82rem;line-height:1.6;pointer-events:none;z-index:2000;white-space:nowrap}.journal-main-tabs{display:flex;justify-content:center;margin-bottom:20px}.journal-main-tabs-inner{display:flex;background:#ece8e4;border-radius:50px;padding:3px}.journal-main-tab-btn{flex:1;background:transparent;border:none;border-radius:50px;padding:8px 28px;font-size:.92rem;font-weight:500;color:var(--text);cursor:pointer;font-family:inherit;transition:background .18s,color .18s,font-weight .18s;white-space:nowrap}.journal-main-tab-btn:not(.active):hover{background:#00000012}.journal-main-tab-btn.active{background:var(--wine);color:#fff;font-weight:700}.stats-journal-card{width:100%;max-width:960px;margin:0 auto 32px;padding:20px 24px}.journal-header{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.journal-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.journal-header-top .form-title{margin:0}.journal-search-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.journal-search-row .cave-search-wrap{flex:1;min-width:160px}.btn-blind-tasting{background:transparent;border:1.5px solid var(--wine);color:var(--wine);border-radius:var(--radius);padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.btn-blind-tasting:hover{background:var(--wine);color:var(--white)}.btn-add-deg-short{display:none}.journal-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:.75rem}.journal-tab-btn{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.5rem 1.1rem;font-size:.9rem;color:var(--muted);cursor:pointer;font-weight:500;transition:color .15s,border-color .15s}.journal-tab-btn:hover{color:var(--wine)}.journal-tab-btn.active{color:var(--wine);border-bottom-color:var(--wine);font-weight:600}.journal-tab-ajouts.active{color:#2d8a4e;border-bottom-color:#2d8a4e}.journal-tab-retraits.active{color:#c0392b;border-bottom-color:#c0392b}.journal-ajout-count{color:#2d8a4e;font-size:.85em;font-weight:500}.journal-retrait-count{color:#c0392b;font-size:.85em;font-weight:500}.blind-tasting-types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.blind-type-btn{background:var(--white);border:2px solid var(--border, #e0d6cc);color:var(--wine-dark);border-radius:var(--radius);padding:18px 12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:center}.blind-type-btn:hover{background:var(--type-color, var(--wine));border-color:var(--type-color, var(--wine));color:var(--white)}.blind-more-toggle{background:none;border:none;color:var(--wine);font-size:.85rem;font-weight:600;cursor:pointer;padding:8px 0 4px;display:block;width:100%;text-align:left}.blind-more-toggle:hover{text-decoration:underline}#blind-more-types{margin-top:8px}.blind-pending-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8e1;border:1.5px solid #f0b429;border-radius:var(--radius);padding:12px 16px;margin-bottom:12px}.blind-pending-banner-text{display:flex;flex-direction:column;gap:2px;font-size:.88rem}.blind-pending-banner-text strong{color:#7a5a00}.blind-pending-banner-text span{color:#5a4000}.blind-pending-cancel{background:none;border:1.5px solid #f0b429;color:#7a5a00;border-radius:var(--radius);padding:6px 12px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.blind-pending-cancel:hover{background:#f0b42920}.journal-list{margin-top:8px}.journal-date-section{margin-bottom:12px}.journal-date-section:last-child{margin-bottom:0}.journal-date-label{font-size:.78rem;font-weight:600;color:var(--text-light);margin-bottom:4px}.journal-date-group{border-left:2px solid var(--border);padding-left:12px}.journal-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--border)}.journal-row:last-child{border-bottom:none}.journal-row-eye{display:none;width:16px;height:16px;flex-shrink:0;stroke:var(--wine);cursor:pointer}.jrow-count-compact{display:none;font-size:.85em;font-weight:500;flex-shrink:0}.jcount-full{display:inline}.tasting-wine-name{cursor:pointer;text-align:left;margin-top:3px}.tasting-wine-line1{font-size:.85rem;font-weight:600;color:var(--text);line-height:1.3}.tasting-wine-line2{font-size:.78rem;font-weight:400;color:var(--text-light);line-height:1.3}.tasting-slide-enter-active,.tasting-slide-leave-active{transition:opacity .28s ease}.tasting-slide-enter-from,.tasting-slide-leave-to{opacity:0}.tasting-slide-enter-active .modal-dialog,.tasting-slide-leave-active .modal-dialog{transition:transform .28s ease}.tasting-slide-enter-from .modal-dialog,.tasting-slide-leave-to .modal-dialog{transform:translate(100%)}.jrow-date{width:76px;flex-shrink:0;color:var(--text-light);font-size:.8rem;white-space:nowrap}.jrow-body{flex:1;display:flex;align-items:flex-start;gap:7px;min-width:0}.jrow-name{display:flex;flex-direction:column;gap:1px;overflow-wrap:break-word;word-break:break-word;min-width:0}.jrow-name-line1{font-weight:600;font-size:.88rem;color:var(--text)}.jrow-name-line2{font-weight:400;font-size:.8rem;color:var(--text-light)}.jrow-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:260px;flex-shrink:0}.journal-date{color:var(--text-light);white-space:nowrap;font-size:.82rem}.journal-count{display:inline-block;background:var(--cream);color:var(--text-light);border-radius:10px;padding:1px 7px;font-size:.78rem;font-weight:600;margin-left:4px}.journal-loc{color:var(--text-light);font-size:.82rem}.journal-action{text-align:right;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end;gap:8px}.journal-link{background:none;border:1.5px solid var(--wine-light);border-radius:8px;color:var(--wine);font-size:.8rem;padding:4px 10px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.journal-link:hover{background:var(--wine);color:var(--white)}.journal-link-add-wine{background:#fff;color:#1a6bb5;border-color:#1a6bb5}.journal-link-add-wine:hover{background:#1a6bb5;border-color:#1a6bb5;color:#fff}.add-wine-label-short{display:none}.journal-label-pencil{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:.82rem;padding:0 3px;opacity:.55;vertical-align:middle;line-height:1}.journal-label-pencil:hover{opacity:1;color:var(--wine)}.journal-label-edit{display:inline-flex;align-items:center;gap:4px}.journal-label-input{font-size:.88rem;font-family:inherit;border:1px solid var(--border);border-radius:4px;padding:2px 6px;max-width:220px}.journal-label-save{background:none;border:1px solid var(--wine);color:var(--wine);border-radius:4px;cursor:pointer;padding:2px 7px;font-size:.85rem;font-weight:600;flex-shrink:0}.journal-link-gone{font-size:.8rem;color:var(--text-light);font-style:italic}.retirer-info-text{font-size:.88rem;color:var(--text-light);line-height:1.5}.retirer-mode-toggle{display:flex;gap:6px}.retirer-mode-btn{flex:1;padding:8px;border:2px solid var(--border);background:var(--bg);border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text);transition:background .15s,color .15s,border-color .15s}.retirer-mode-btn--active-retirer{background:#c0392b;color:#fff;border-color:#c0392b}.retirer-mode-btn--active-ajouter{background:#27ae60;color:#fff;border-color:#27ae60}.retirer-mode-btn:disabled{opacity:.35;cursor:not-allowed}.btn-stock-retirer{background:#c0392b!important}.btn-stock-retirer:hover{background:#a93226!important}.btn-stock-ajouter{background:#27ae60!important}.btn-stock-ajouter:hover{background:#219a52!important}.retirer-stepper{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 0 4px}.retirer-stepper-btn{width:44px;height:44px;border-radius:50%;border:2px solid #c0392b;background:transparent;color:#c0392b;font-size:1.5rem;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s,opacity .15s;flex-shrink:0}.retirer-stepper-btn:hover:not(:disabled){background:#c0392b;color:#fff}.retirer-stepper-btn:disabled{opacity:.25;cursor:not-allowed}[data-mode=ajouter] .retirer-stepper-btn{border-color:#27ae60;color:#27ae60}[data-mode=ajouter] .retirer-stepper-btn:hover:not(:disabled){background:#27ae60;color:#fff}.retirer-stepper-value{width:72px;text-align:center;font-size:2.2rem;font-weight:700;color:var(--text);border:none;border-bottom:2px solid var(--border);background:transparent;padding:2px 0;-moz-appearance:textfield}.retirer-stepper-value::-webkit-outer-spin-button,.retirer-stepper-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.retirer-stepper-value:focus{outline:none;border-bottom-color:var(--wine)}.retirer-btn--recaver{color:#27ae60!important;border-color:#27ae60!important}.retirer-btn--recaver:hover{background:#27ae60!important;color:#fff!important}.modal-footer-view{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-footer-delete{display:flex;flex-direction:column;gap:10px}.modal-footer-right{display:flex;gap:10px;align-items:center}.delete-warning-text{font-size:.85rem;color:var(--error);line-height:1.5}.btn-delete{padding:10px 18px;background:transparent;color:var(--error);border:1.5px solid var(--error);border-radius:var(--radius);font-size:.9rem;font-weight:600;line-height:normal;box-sizing:border-box;cursor:pointer;transition:all .15s}.btn-delete:hover{background:var(--error);color:var(--white)}.btn-delete-confirm{padding:10px 18px;background:var(--error);color:var(--white);border:none;border-radius:var(--radius);font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s}.btn-delete-confirm:hover{opacity:.85}.tasting-footer-inner{display:flex;justify-content:flex-end;align-items:center;gap:10px;width:100%}#tasting-delete-btn{margin-right:auto}.filter-epuises{padding-top:14px;border-top:1px solid var(--border);margin-top:2px}.epuises-label{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-light);cursor:pointer;-webkit-user-select:none;user-select:none}.epuises-label input[type=checkbox]{cursor:pointer;width:15px;height:15px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1408088c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal-dialog{background:var(--white);border-radius:14px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header-text h2{font-size:1.1rem;font-weight:700;color:var(--text)}.modal-header-text p{font-size:.85rem;color:var(--text-light);margin-top:3px}.modal-close-btn{background:transparent;border:none;font-size:1.2rem;color:var(--text-light);cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.modal-close-btn:hover{color:var(--wine)}.modal-body{padding:20px 24px;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;display:flex;flex-direction:column;gap:16px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0}.modal-footer>div{display:flex;justify-content:flex-end;gap:10px}.modal-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.modal-field{display:flex;flex-direction:column;gap:3px}.modal-field.full{grid-column:1 / -1}.modal-field-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light)}.modal-field-value{font-size:.95rem;color:var(--text)}.modal-field-value .stars{color:var(--gold)}.modal-field-value .stars .empty{color:#d0c5bc}.modal-separator{border:none;border-top:1px solid var(--border);margin:4px 0;grid-column:1 / -1}.view-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.view-chip{padding:3px 10px;background:var(--cream);border:1px solid var(--border);border-radius:14px;font-size:.8rem;color:var(--text-light)}.modal-commentaires{font-size:.9rem;color:var(--text);line-height:1.6;padding:10px 12px;background:var(--cream);border-radius:8px;border:1px solid var(--border);white-space:pre-wrap}.field-edit-pencil{background:none;border:none;cursor:pointer;font-size:.85rem;padding:0 3px;opacity:.45;vertical-align:middle;transition:opacity .15s;color:var(--text-light)}.field-edit-pencil:hover{opacity:1;color:var(--wine)}.modal-field-empty{color:var(--text-light);font-style:italic}.inline-edit-textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;resize:vertical;font-family:inherit;background:var(--bg);color:var(--text);line-height:1.5}.inline-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.modal-photo{width:100%;max-height:220px;object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);background:var(--cream);margin-bottom:4px}.modal-photo-edit-wrap{display:flex;align-items:center;gap:16px;padding:12px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--cream)}.modal-photo-thumb{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid var(--border);flex-shrink:0}.modal-photo-placeholder{width:80px;height:80px;border:2px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:1.6rem;flex-shrink:0}.modal-photo-actions{display:flex;flex-direction:column;gap:8px}.btn-change-photo{display:inline-block;padding:8px 16px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);font-size:.875rem;cursor:pointer;color:var(--text);transition:all .15s;-webkit-user-select:none;user-select:none}.btn-change-photo:hover{border-color:var(--wine);color:var(--wine)}@media (max-width: 600px){.card{padding:20px 16px}.form-grid{grid-template-columns:1fr}.field.full-width{grid-column:1}.form-grid-4{grid-template-columns:repeat(2,1fr)}.form-grid-4 .f-quarter{grid-column:span 1}.form-grid-4 .f-half,.form-grid-4 .f-full{grid-column:span 2}header{padding:14px 16px}.cave-grid{grid-template-columns:1fr}.success-actions{flex-direction:column}}.import-progress{display:flex;align-items:center;gap:14px;padding:14px 18px;border-left:4px solid var(--wine)}.import-progress-inner{display:flex;align-items:center;gap:14px;flex:1}.import-progress-icon{font-size:1.6rem;line-height:1}.import-progress strong{font-size:1rem;color:var(--text)}.import-progress-sub{margin:2px 0 0;font-size:.82rem;color:var(--text-muted)}.import-sub-row{display:flex;align-items:center;gap:6px}.btn-edit-desc{background:none;border:none;cursor:pointer;padding:2px 4px;color:var(--text-muted);border-radius:4px;line-height:1;display:flex;align-items:center;transition:color .15s}.btn-edit-desc:hover{color:var(--wine)}.btn-change-photo{background:none;border:none;cursor:pointer;padding:0;margin-top:2px;font-size:.78rem;color:var(--wine);text-decoration:underline;text-underline-offset:2px}.btn-change-photo:hover{opacity:.75}.image-suggestion{margin-top:10px;padding:14px 16px;position:relative}.image-suggestion-header-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;align-items:center}.img-action-btn{background:transparent;border:none;padding:4px 8px;font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px;transition:background .15s}.img-action-btn--back{color:#222;font-size:1.2rem}.img-action-btn--back:hover{background:#eee}.img-action-btn--close{color:#c00}.img-action-btn--close:hover{background:#fee}.image-suggestion-status{margin:0;font-size:.9rem;color:var(--text-muted)}.image-suggestion-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.image-suggestion-title{align-self:flex-start;margin:0;font-size:1.05rem;font-weight:700;color:var(--text)}.image-suggestion-thumbs{margin-bottom:0;max-width:100%;min-height:250px;display:flex;align-items:center;justify-content:center}.image-suggestion-photo{max-height:300px;width:auto;max-width:100%;object-fit:contain;border-radius:12px;display:block;cursor:pointer;margin:0 auto}.image-suggestion-source{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;text-align:center;margin-top:6px;max-width:100%}.bg-removing-wrap{position:relative;display:inline-block}.image-suggestion-confirmed-img{max-height:300px;width:auto;max-width:100%;object-fit:contain;border-radius:6px;cursor:pointer;display:block;margin-bottom:4px;transition:opacity .3s}.bg-removing-label{font-size:.78rem;color:var(--text-muted);text-align:center;margin:0 0 8px;animation:pulse-opacity 1.2s ease-in-out infinite}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.4}}.btn-crop-link{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--text);font-size:.9rem;cursor:pointer;text-decoration:underline;padding:4px 0;margin-top:2px}.btn-crop-link:hover{color:var(--wine)}.image-suggestion-confirmed-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.image-suggestion-add{padding:4px 0}.image-suggestion-add-actions{display:flex;gap:10px;flex-wrap:wrap}#image-suggestion-confirmed,#m_img_confirmed{display:flex;flex-direction:column;align-items:center}.image-suggestion-label{align-self:flex-start;margin:0 0 12px;font-size:1.05rem;font-weight:700;color:var(--text)}.image-suggestion-counter{font-size:1.05rem;font-weight:600;color:var(--text);min-width:44px;text-align:center}#image-suggestion-results,#m_img_results{display:flex;flex-direction:column;align-items:center;text-align:center}.image-suggestion-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin:14px 0 12px}.img-nav-btn{width:46px;height:46px;border-radius:10px;border:2px solid var(--wine);color:var(--wine);background:transparent;font-size:1.1rem;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.img-nav-btn:hover{background:var(--wine);color:var(--white)}.btn-use-photo{width:100%;max-width:320px;background:var(--wine);color:var(--white);border:none;border-radius:var(--radius);padding:14px;font-size:1rem;font-weight:700;cursor:pointer;margin-bottom:6px;transition:background .15s}.btn-use-photo:hover{background:var(--wine-light)}.image-suggestion-no-result{color:var(--text-light);font-size:.85rem;margin:0 0 8px;font-style:italic}.crop-dialog{position:relative;background:var(--white);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:16px;width:min(520px,90vw);align-items:center}.crop-close-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;font-size:1.2rem;color:#222;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px}.crop-close-btn:hover{color:var(--wine)}.crop-title{font-weight:600;color:var(--text);margin:0;align-self:flex-start}.crop-container{position:relative;display:inline-block;background:#fff;line-height:0;border-radius:4px;overflow:hidden}.crop-img{display:block;max-width:min(480px,80vw);max-height:60vh;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.crop-selection{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0000008c;cursor:move;box-sizing:border-box}.crop-handle{position:absolute;width:14px;height:14px;background:#fff;border:2px solid rgba(0,0,0,.35);border-radius:50%;box-sizing:border-box}.crop-handle[data-handle=tl]{top:-7px;left:-7px;cursor:nw-resize}.crop-handle[data-handle=tr]{top:-7px;right:-7px;cursor:ne-resize}.crop-handle[data-handle=bl]{bottom:-7px;left:-7px;cursor:sw-resize}.crop-handle[data-handle=br]{bottom:-7px;right:-7px;cursor:se-resize}.crop-actions{display:flex;gap:10px;justify-content:center}.image-lightbox-dialog{display:flex;flex-direction:column;align-items:center;gap:16px;background:#fff;border-radius:12px;padding:20px;max-width:90vw;max-height:90vh}.image-lightbox-img{max-width:min(480px,80vw);max-height:65vh;object-fit:contain;border-radius:6px}.image-lightbox-actions{display:flex;gap:10px}.cave-sort-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.export-wrap{margin-left:auto;position:relative}.export-btn{padding:6px 14px;background:var(--surface);color:var(--text);border:1.5px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.export-btn:hover{background:#f0ebe7;border-color:var(--wine-light)}.export-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001a;min-width:160px;z-index:200;overflow:hidden}.export-menu-item{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:.88rem;color:var(--text);cursor:pointer;transition:background .12s}.export-menu-item:hover{background:#f5f0ec}.modal-note-field{cursor:default}.modal-quick-rating,.modal-view-rating{display:inline-flex;align-items:center;gap:1px;cursor:pointer;-webkit-user-select:none;user-select:none}.qstar{position:relative;font-size:1.5rem;line-height:1;display:inline-block;width:1.2em}.qstar:before{content:"★";color:#ddd}.qstar:after{content:"★";position:absolute;left:0;top:0;color:#c8a840;overflow:hidden;width:0}.qstar-empty:after{width:0}.qstar-half:after{width:50%}.qstar-full:after{width:100%}.qstar-hint{font-size:.82rem;color:var(--text-light);margin-left:10px;min-width:60px}.quick-comment-zone{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:#faf7f4;border:1.5px solid var(--border);border-radius:var(--radius);margin-top:10px}.quick-comment-label{font-size:.85rem;font-weight:600;color:var(--text);margin:0}.quick-comment-zone textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-family:inherit;color:var(--text);background:var(--white);resize:vertical;box-sizing:border-box;transition:border-color .2s}.quick-comment-zone textarea:focus{outline:none;border-color:var(--wine-light)}.quick-comment-actions{display:flex;justify-content:flex-end;gap:8px}.btn-quit-import{padding:10px 16px;background:none;color:#c0392b;border:1.5px solid #c0392b;border-radius:var(--radius);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s;margin-right:auto}.btn-quit-import:hover{background:#c0392b12}#form-actions-import{justify-content:flex-start}.form-actions-right{display:flex;gap:10px;margin-left:auto}.form-actions-card{padding:8px 0 16px}#form-actions-card .form-actions{margin-top:0;padding-top:0;border-top:none}#tasting-step-form,#tasting-step-note{display:flex;flex-direction:column;flex:1;min-height:0}.tasting-section-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--wine);border-bottom:1.5px solid var(--border);padding-bottom:5px;margin-bottom:-4px}.tasting-row{display:flex;gap:16px;flex-wrap:wrap}.tasting-row .field{flex:1;min-width:150px}.tasting-color-selector{display:flex;gap:6px;flex-wrap:wrap;padding:4px 0 8px}.tasting-color-btn{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px 6px 6px;border-radius:8px;transition:background .12s}.tasting-color-btn:hover{background:var(--cream)}.tasting-color-circle{width:36px;height:36px;border-radius:50%;border:3px solid transparent;box-shadow:0 1px 4px #0000002e;transition:transform .15s,border-color .15s}.tasting-color-btn.selected .tasting-color-circle{border-color:var(--wine);transform:scale(1.18);box-shadow:0 2px 8px #00000047}.tasting-color-name{font-size:.66rem;color:var(--text-light);white-space:nowrap}.tasting-color-btn.selected .tasting-color-name{color:var(--wine);font-weight:600}.tasting-seg{display:flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}.tasting-seg button{flex:1;padding:7px 6px;background:#fff;border:none;border-right:1px solid var(--border);cursor:pointer;font-size:.79rem;color:var(--text-light);font-family:inherit;transition:background .12s,color .12s;white-space:nowrap}.tasting-seg button:last-child{border-right:none}.tasting-seg button:hover{background:var(--cream);color:var(--text)}.tasting-seg button.active{background:var(--wine);color:#fff;font-weight:600}.tasting-hint{font-size:.73rem;color:var(--text-light);font-weight:400}.tasting-chips{min-height:36px}.tasting-chips .chip{font-size:.8rem;padding:4px 10px}.tasting-evaluation-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.tasting-parker-wrap{flex:0 0 auto}.tasting-parker-wrap label{display:block;font-size:.85rem;font-weight:600;color:var(--text-light);margin-bottom:4px}.tasting-parker-wrap input[type=number]{width:80px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;background:var(--bg);color:var(--text)}.tasting-parker-badge{font-size:.82rem;font-weight:700;padding:5px 12px;border-radius:20px;display:none;white-space:nowrap}.tasting-parker-badge:not(:empty){display:inline-block}.parker-inacceptable{background:#fde8e8;color:var(--error)}.parker-inferieur{background:#fef0e0;color:#e67e22}.parker-moyen{background:#fef8d0;color:#b8860b}.parker-bon{background:#e6f9ed;color:#27ae60}.parker-excellent{background:#e0f0fe;color:#2980b9}.parker-exceptionnel{background:#f0e8f8;color:#6c3483}.btn-retirer{padding:10px 16px;background:transparent;color:#b05820;border:1.5px solid #b05820;border-radius:8px;font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .2s,color .2s}.btn-retirer:hover{background:#b05820;color:#fff}.btn-modal-stock{padding:10px 18px;background:transparent;color:var(--modal-wine-color, var(--wine));border:1.5px solid var(--modal-wine-color, var(--wine));border-radius:var(--radius);font-size:.9rem;font-weight:600;line-height:normal;box-sizing:border-box;cursor:pointer;transition:all .15s}.btn-modal-stock:hover{background:var(--modal-wine-color, var(--wine));color:var(--white)}.btn-modal-recaver{padding:10px 18px;background:transparent;color:#27ae60;border:1.5px solid #27ae60;border-radius:var(--radius);font-size:.9rem;font-weight:600;line-height:normal;box-sizing:border-box;cursor:pointer;transition:all .15s}.btn-modal-recaver:hover{background:#27ae60;color:var(--white)}.modal-tastings-section{display:flex;flex-direction:column;gap:4px}.modal-tastings-empty{font-size:.85rem;color:var(--muted)}.modal-tasting-link{background:none;border:none;padding:2px 0;font-family:inherit;font-size:.88rem;color:var(--wine);cursor:pointer;text-align:left;text-decoration:underline;display:flex;align-items:center;gap:6px}.modal-tasting-link:hover{opacity:.7}.modal-add-tasting-btn{margin-top:6px;padding:8px 14px;background:transparent;border:1.5px solid var(--modal-wine-color, var(--wine));border-radius:var(--radius);color:var(--modal-wine-color, var(--wine));font-size:.85rem;font-weight:600;cursor:pointer;align-self:flex-start;transition:background .15s,color .15s}.modal-add-tasting-btn:hover{background:var(--modal-wine-color, var(--wine));color:var(--white)}.btn-tasting{padding:12px 20px;background:transparent;color:var(--wine);border:1.5px solid var(--wine);border-radius:var(--radius);font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .2s,color .2s}.btn-tasting:hover{background:var(--wine);color:#fff}.journal-color-dot{display:inline-block;width:10px;height:10px;min-width:10px;border-radius:50%;margin-right:0;margin-top:3px;flex-shrink:0;box-shadow:0 0 0 1.5px #0000001f}.journal-delete-btn{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:.85rem;padding:3px 7px;border-radius:4px;margin-left:6px;transition:color .15s,background .15s}.journal-delete-btn:hover{color:#c0392b;background:#ffeaea}.offline-banner{background:#fff8e1;border-bottom:1px solid #ffe082;padding:9px 20px;text-align:center;font-size:.86rem;color:#795548;font-weight:500}.offline-tab-msg{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 24px;text-align:center}.offline-tab-icon{font-size:2.8rem;line-height:1}.offline-tab-msg p{margin:0;color:var(--text);line-height:1.65;font-size:.97rem}.accords-search-card{display:flex;flex-direction:column;gap:20px}.accords-search-wrap{display:flex;gap:10px}.accords-search-wrap input{flex:1;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.97rem;font-family:inherit;color:var(--text);background:var(--white);box-sizing:border-box;transition:border-color .2s}.accords-search-wrap input:focus{outline:none;border-color:var(--wine-light)}#accords-search-btn{padding:11px 22px;background:var(--wine);color:#fff;border:none;border-radius:var(--radius);font-size:.97rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,opacity .2s}#accords-search-btn:hover:not(:disabled){background:var(--wine-dark)}#accords-search-btn:disabled{opacity:.45;cursor:default}.accords-ambiance-row{display:flex;gap:12px}.ambiance-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;background:var(--cream);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:border-color .18s,background .18s;font-family:inherit}.ambiance-btn:hover{background:#f0e8e0;border-color:var(--wine-light)}.ambiance-btn.active{background:#fdf4ee;border-color:var(--wine)}.ambiance-emoji{font-size:1.6rem;line-height:1}.ambiance-label{font-size:.9rem;font-weight:700;color:var(--text)}.ambiance-sublabel{font-size:.78rem;color:var(--text-light);text-align:center}.accords-intro-card{background:#fdf9f5;border-left:4px solid var(--wine-light)}.accords-intro-card p{margin:0;font-size:.96rem;color:var(--text);line-height:1.65}.accords-bullets{margin:10px 0 0;padding-left:18px;font-size:.96rem;color:var(--text);line-height:1.65;display:flex;flex-direction:column;gap:6px}.accords-bullets li{padding-left:4px}.accord-card-wrap{position:relative;display:flex;flex-direction:column}.accord-card-wrap>.wine-card-wrapper{flex:1}.accord-reason-wrap{position:absolute;top:8px;right:8px;z-index:5}.accord-reason-btn{width:22px;height:22px;border-radius:50%;color:var(--white);border:none;cursor:pointer;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;opacity:.85;transition:opacity .15s;box-shadow:0 1px 4px #0003}.accord-reason-btn:hover{opacity:1}.accord-reason-tooltip{display:none;position:absolute;top:28px;right:0;width:220px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:.84rem;color:var(--text);line-height:1.55;box-shadow:0 4px 16px #0000001f;z-index:20}@media (hover: hover){.accord-reason-wrap:hover .accord-reason-tooltip{display:block}}.accord-reason-wrap.active .accord-reason-tooltip{display:block}.accord-reason-tooltip-spinner{display:flex;align-items:center;gap:8px;color:var(--text-light);font-size:.82rem}.accord-reason-loader{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--wine);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.accord-reason-tooltip-text{margin:0}.accords-streaming #accords-intro-text:after{content:"▋";color:var(--wine);font-size:.9em;animation:accords-blink .65s step-end infinite;margin-left:1px}@keyframes accords-blink{0%,to{opacity:1}50%{opacity:0}}.accords-wines-count{font-size:.92rem;color:var(--text-light);font-weight:600;margin:18px 0 8px}@media (max-width: 600px){.accords-ambiance-row,.accords-search-wrap{flex-direction:column}#accords-search-btn{width:100%}}body:has(.modal-overlay:not(.hidden)){overflow:hidden}.menu-toggle-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius);cursor:pointer;padding:9px;flex-shrink:0;margin-left:auto}.hamburger-line{display:block;width:18px;height:2px;background:var(--white);border-radius:2px}.nav-drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s}.nav-drawer{display:none;position:fixed;top:0;right:0;width:80%;max-width:300px;height:100%;background:var(--white);z-index:201;flex-direction:column;box-shadow:-4px 0 24px #0003;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}body.nav-open .nav-drawer-backdrop{opacity:1;pointer-events:auto}body.nav-open .nav-drawer{transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:calc(20px + env(safe-area-inset-top)) 16px 16px;background:linear-gradient(135deg,var(--wine-dark),var(--wine));color:var(--white);flex-shrink:0}.nav-drawer-brand{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:700}.nav-drawer-brand span:first-child{font-size:1.4rem}.nav-drawer-close{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:var(--white);border-radius:6px;width:32px;height:32px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-drawer-items{display:flex;flex-direction:column;flex:1;padding:8px 0;overflow-y:auto}.nav-drawer-item{display:flex;align-items:center;padding:16px 20px;background:transparent;border:none;border-left:3px solid transparent;font-size:1rem;font-weight:500;color:var(--text);cursor:pointer;text-align:left;transition:background .15s,border-color .15s,color .15s}.nav-drawer-item:hover{background:var(--cream)}.nav-drawer-item.active{color:var(--wine);border-left-color:var(--wine);background:#fdf5f5;font-weight:700}.nav-drawer-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);flex-shrink:0}.nav-drawer-logout,.nav-drawer-admin{width:100%;padding:11px;background:transparent;border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-light);font-size:.9rem;cursor:pointer;transition:all .15s}.nav-drawer-logout:hover,.nav-drawer-admin:hover{border-color:var(--wine);color:var(--wine)}.landscape-warning{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--wine-dark);z-index:9999;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:32px;color:var(--white)}.landscape-warning-icon{font-size:3rem}.landscape-warning p{font-size:1rem;line-height:1.6;opacity:.9;max-width:280px}@media (orientation: landscape) and (max-height: 600px){.landscape-warning{display:flex}html,body{overflow:hidden;position:fixed;width:100%;height:100%}}#tasting-modal{z-index:110}#saved-sheet{z-index:115}#retirer-modal{z-index:140}.modal-back-btn{display:none}.journal-name-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.journal-name-text{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.journal-name-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.journal-gone-actions{align-items:center;gap:10px}.admin-container{max-width:560px;margin:0 auto;padding:32px 24px 48px;display:flex;flex-direction:column;gap:28px}.admin-title{font-size:1.5rem;color:var(--wine);font-weight:700;margin:0}.admin-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 20px 16px;display:flex;flex-direction:column;gap:14px}.admin-section-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 4px}.admin-btn-row{display:flex;justify-content:flex-end}.admin-msg{font-size:.88rem;border-radius:6px;padding:7px 12px;margin:0}.admin-msg--success{background:#e8f5e9;color:var(--success)}.admin-msg--error{background:#fdecea;color:var(--error)}.admin-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;gap:12px}.admin-logout-btn{background:transparent;color:var(--wine);border:1px solid var(--wine);border-radius:var(--radius);padding:8px 18px;font-size:.9rem;cursor:pointer;transition:all .15s}.admin-logout-btn:hover{background:var(--wine);color:var(--white)}.admin-version{font-size:.78rem;color:var(--text-light);margin:0}.bottom-nav,.tab-label-short{display:none}body.is-pwa .journal-row{cursor:pointer}body.is-pwa .tab-nav{display:none}body.is-pwa .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--white);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}body.is-pwa .bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 2px 6px;gap:3px;background:none;border:none;color:var(--text-light);font-size:.62rem;font-weight:500;cursor:pointer;transition:color .15s;min-width:0}body.is-pwa .bottom-nav-item.active{color:var(--wine);font-weight:700}body.is-pwa .bottom-nav-item svg{width:22px;height:22px;flex-shrink:0}body.is-pwa .bottom-nav-item--main{background:#7a1a1a12;border-radius:12px;padding:4px 10px;margin:0 2px}body.is-pwa .bottom-nav-item--main svg{width:24px;height:24px}body.is-pwa .bottom-nav-item--main span{font-weight:600}body.is-pwa .bottom-nav-item--main.active{background:#7a1a1a24}body.is-pwa .bottom-nav--hidden{display:none!important}body.is-pwa header{position:fixed;top:0;left:0;right:0;z-index:50;padding:max(50px,env(safe-area-inset-top)) 16px 12px}body.is-pwa{padding-top:var(--header-h, 110px);overscroll-behavior:none}body.is-pwa main{padding-bottom:80px}body.is-pwa[data-route=home]{padding-top:0}body.is-pwa[data-route=home] main{padding-bottom:0}body.is-pwa[data-route=home] #tab-home .hv-hero{padding-top:calc(env(safe-area-inset-top,0px) + 28px)}body.is-landing{overscroll-behavior:none}@media (max-width: 768px){input,select,textarea{font-size:16px!important}.tab-nav{padding:0 4px;margin-top:14px;overflow-x:auto;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab-nav-inner{padding:0 2px}.tab-btn{padding:7px 10px;font-size:.75rem;white-space:nowrap}.logout-btn{display:none!important}.admin-account-btn{display:flex!important;width:32px;height:32px;font-size:1rem}.header-inner{gap:10px}.header-icon{width:1.8rem;height:1.8rem}header h1{font-size:1.3rem}header p{font-size:.8rem}main{margin:16px auto;padding:0 16px;gap:16px}#wine-modal,#tasting-modal{background:var(--cream);align-items:stretch;justify-content:stretch;padding:0;transform:translateY(0);transition:transform .2s ease-out;display:flex!important}#wine-modal.hidden,#tasting-modal.hidden{transform:translateY(100%);pointer-events:none;visibility:hidden;display:flex!important}#wine-modal .modal-dialog,#tasting-modal .modal-dialog{max-width:100%;max-height:100%;width:100%;height:100%;border-radius:0;flex:1;box-shadow:none;background:var(--cream)}#wine-modal .modal-header,#tasting-modal .modal-header{padding-top:max(20px,env(safe-area-inset-top));background:var(--white);justify-content:flex-start}#tasting-modal .tasting-row{flex-direction:column}#tasting-modal .tasting-row .field{flex:none;min-width:0}.modal-back-btn{display:flex;background:transparent;border:none;color:var(--wine);font-size:.9rem;font-weight:600;cursor:pointer;padding:4px 0;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}#wine-modal .modal-close-btn,#tasting-modal .modal-close-btn{display:none}#saved-sheet{align-items:flex-end;background:#00000073;padding:0}#saved-sheet .modal-dialog{width:100%;max-width:100%;border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #0000002e;padding-bottom:max(16px,env(safe-area-inset-bottom))}.card{padding:18px 16px}.retirer-btn{display:none!important}.modal-overlay{padding:0;align-items:flex-end}.modal-dialog{max-width:100%;max-height:95vh;border-radius:14px 14px 0 0}.modal-header{padding:16px 16px 12px}.modal-body{padding:16px}.modal-footer{padding:12px 16px}.modal-footer-view,.modal-footer-right{flex-wrap:wrap;gap:8px}.modal-footer-view>button,.modal-footer-right>button{flex:1;min-width:0}#modal-footer-edit{display:flex;flex-wrap:wrap;gap:8px}#modal-footer-edit>button{flex:1}.journal-header-top{flex-wrap:wrap}.blind-pending-banner{flex-direction:column;align-items:flex-start}.add-wine-label-full{display:none}.add-wine-label-short{display:inline}.btn-add-deg-full{display:none}.btn-add-deg-short{display:inline}.blind-tasting-types{grid-template-columns:repeat(2,1fr)}.journal-main-tabs{margin-top:12px}.journal-main-tab-btn{padding:8px 20px}.journal-row{flex-wrap:nowrap;gap:8px;padding:10px 0}.jrow-body{flex:1;min-width:0}.jrow-name{white-space:normal;word-break:break-word}.jrow-actions{display:none}.journal-row-eye{display:flex;align-items:center}.jrow-count-compact{display:inline}.login-overlay:has(.login-card--register){background:var(--white);align-items:flex-start;overflow:hidden}.login-overlay:has(.login-card--register) .login-card{max-width:100%;width:100%;height:100%;border-radius:0;box-shadow:none;padding:calc(env(safe-area-inset-top) + 10px) 24px 40px;overflow-y:auto}.login-card--register .auth-fields{grid-template-columns:1fr}.login-card--register .auth-field-prenom,.login-card--register .auth-field-nom,.login-card--register .auth-field-email,.login-card--register .auth-field-niveau,.login-card--register .auth-field-mdp,.login-card--register .auth-field-confirm{grid-column:1;grid-row:auto}}#tab-quiz{padding:24px 16px 40px;max-width:700px;margin:0 auto}.quiz-screen{width:100%}.quiz-screen.hidden{display:none}.quiz-hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;text-align:center}.quiz-hero-icon{font-size:3.5rem;line-height:1}.quiz-hero-title{font-size:1.8rem;color:var(--wine);font-weight:700;margin:0}.quiz-hero-sub{color:var(--text-light);font-size:1rem;margin:0}.quiz-setup-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:24px;max-width:480px;margin:32px auto}.quiz-setup-title{font-size:1.3rem;color:var(--wine);font-weight:700;margin:0}.quiz-setup-section{display:flex;flex-direction:column;gap:10px}.quiz-setup-label{font-size:.9rem;font-weight:600;color:var(--text)}.quiz-optional{font-weight:400;color:var(--text-light);font-size:.85rem}.quiz-count-row{display:flex;gap:10px}.quiz-count-btn{flex:1;padding:10px 0;border:2px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);font-size:1.05rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.quiz-count-btn:hover{border-color:var(--wine-light)}.quiz-count-btn.active{border-color:var(--wine);background:var(--wine);color:var(--white)}.quiz-macro-row{display:flex;gap:8px}.quiz-macro-btn{flex:1;padding:8px 10px;border:2px solid var(--border);border-radius:20px;background:var(--white);font-size:.85rem;font-weight:500;color:var(--text);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s}.quiz-macro-btn:hover{border-color:var(--wine-light)}.quiz-macro-btn.active{border-color:var(--wine);background:var(--wine);color:var(--white)}.quiz-sub-dropdown{position:relative}.quiz-sub-dropdown-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--white);font-size:.9rem;color:var(--text);cursor:pointer;text-align:left;gap:8px}.quiz-sub-dropdown-btn:hover{border-color:var(--wine-light)}.quiz-sub-dropdown-arrow{color:var(--muted);font-size:.75rem;flex-shrink:0}.quiz-sub-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001f;z-index:50;max-height:220px;overflow-y:auto;padding:4px 0}.quiz-sub-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:.88rem;cursor:pointer;color:var(--text);transition:background .1s}.quiz-sub-dropdown-item:hover{background:#fdf0f0}.quiz-sub-dropdown-item input[type=checkbox]{accent-color:var(--wine);width:15px;height:15px;cursor:pointer}.quiz-launch-error{color:var(--error, #c0392b);font-size:.88rem}.quiz-launch-error.hidden{display:none}.quiz-setup-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.quiz-btn-primary{background:var(--wine);color:var(--white);border:none;border-radius:var(--radius);padding:10px 24px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.quiz-btn-primary:hover{background:var(--wine-light)}.quiz-btn-primary:disabled{opacity:.55;cursor:not-allowed}.quiz-btn-primary.quiz-btn-big{padding:14px 36px;font-size:1.05rem}.quiz-btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px 20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.quiz-btn-secondary:hover{border-color:var(--wine-light);background:var(--cream)}.quiz-game-header{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.quiz-progress-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden}.quiz-progress-fill{height:100%;background:var(--wine);border-radius:99px;transition:width .3s ease;width:0%}.quiz-progress-meta{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-light)}.quiz-difficulty{font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.quiz-diff--easy{background:#d4edda;color:#1e6b34}.quiz-diff--medium{background:#fff3cd;color:#7a5c00}.quiz-diff--hard{background:#f8d7da;color:#7a1a1a}.quiz-question-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px 28px 24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 2px 12px #0000000f}.quiz-question-text{font-size:1.1rem;font-weight:600;color:var(--text);margin:0;line-height:1.5}.quiz-answers-grid{display:flex;flex-direction:column;gap:10px}.quiz-answer-btn{width:100%;text-align:left;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);font-size:.95rem;cursor:pointer;transition:border-color .12s,background .12s;line-height:1.4}.quiz-answer-btn:hover:not(:disabled){border-color:var(--wine-light);background:var(--cream)}.quiz-answer-btn:disabled{cursor:default}.quiz-answer-btn.quiz-answer--correct{border-color:#27ae60;background:#d4f0df;color:#1a6b3a;font-weight:600}.quiz-answer-btn.quiz-answer--wrong{border-color:#e74c3c;background:#fde8e6;color:#8a1a1a}.quiz-feedback{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:10px}.quiz-feedback.hidden{display:none}.quiz-verdict{font-size:1rem;font-weight:700}.quiz-verdict--correct{color:#27ae60}.quiz-verdict--wrong{color:#e74c3c}.quiz-feedback-explanation{font-size:.9rem;color:var(--text);line-height:1.55;background:var(--cream);padding:10px 14px;border-radius:var(--radius);margin:0}.quiz-feedback-explanation.hidden{display:none}.quiz-ok-btn{align-self:flex-end}.quiz-ok-btn.hidden{display:none}.quiz-results-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;max-width:400px;margin:40px auto;box-shadow:0 2px 12px #0000000f}.quiz-results-icon{font-size:3rem;line-height:1}.quiz-results-title{font-size:1.4rem;color:var(--wine);font-weight:700;margin:0}.quiz-results-score{font-size:2.2rem;font-weight:700;color:var(--wine)}.quiz-results-actions{display:flex;gap:12px;margin-top:8px}.field-hint{font-size:.82rem;color:var(--text-light);margin-top:4px;display:block}.admin-separator{height:1px;background:var(--border);margin:8px 0}.admin-hint{font-size:.85rem;color:var(--text-light);margin:0}.admin-hint code{background:var(--cream);padding:1px 5px;border-radius:4px;font-family:monospace;font-size:.82rem}.btn-outline{background:transparent;border:1px solid var(--wine);color:var(--wine);border-radius:var(--radius);padding:8px 18px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.btn-outline:hover{background:var(--wine);color:var(--white)}.btn-outline:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){#tab-quiz{padding:16px 12px 90px}.quiz-question-card{padding:20px 16px}.quiz-setup-card{padding:24px 16px;margin:16px auto}.quiz-results-card{padding:28px 20px;margin:20px auto}.quiz-hero{padding:32px 12px}}.similar-wines-section{margin-top:0}.similar-wines-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.6rem}.similar-wines-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #888)}.similar-wines-badge{font-size:.72rem;background:#f0eded;color:#888;border-radius:10px;padding:1px 7px;font-weight:600}.similar-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.similar-pill{padding:.28rem .75rem;border-radius:20px;font-size:.82rem;font-weight:500;border:none;transition:background .15s,opacity .15s}.similar-pill--current{background:var(--modal-wine-color, #7a1a1a);color:#fff;cursor:default}.similar-pill--other{background:#f0eded;color:#555;cursor:pointer}.similar-pill--other:hover{background:#e0d8d8}.similar-wines-add-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--modal-wine-color, var(--wine));background:none;border:1px dashed var(--modal-wine-color, #c8a0a0);border-radius:6px;padding:.3rem .75rem;cursor:pointer;font-weight:500;transition:background .15s}.similar-wines-add-btn:hover{background:#fdf6f6}.import-progress--variation{border-left:3px solid #7a1a1a}.field--locked input,.field--locked select,.field--locked textarea{background:#f5f3f1!important;color:#888!important;cursor:not-allowed!important;border-color:#ddd!important;opacity:1}.conf-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:5px;vertical-align:middle;flex-shrink:0}.conf-dot--2{background:#c0392b}.conf-dot--3{background:#e67e22}.conf-dot--4{background:#27ae60}.lock-icon{font-size:.65rem;margin-left:4px;opacity:.5;vertical-align:middle}#tab-cave,#tab-catalogue,#tab-accords{padding-top:10px}.wine-card-wrapper{position:relative;overflow:hidden;touch-action:pan-y;border-radius:var(--radius);display:flex;flex-direction:column}.wine-card-wrapper>.wine-card{flex:1}.swipe-panel{position:absolute;right:0;top:0;bottom:0;width:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#f5f0ed;border-radius:0 var(--radius) var(--radius) 0;padding:12px 10px}.swipe-panel-count{display:flex;align-items:center;gap:10px}.swipe-panel-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border);background:var(--white);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.swipe-panel-btn:disabled{opacity:.35;cursor:not-allowed}.swipe-panel-nb{font-size:1.3rem;font-weight:700;min-width:24px;text-align:center;color:var(--text)}.swipe-panel-confirm{color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer;width:100%;text-align:center}.swipe-panel-confirm:disabled{opacity:.4;cursor:not-allowed}.lpm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#ffffff2e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:stretch;justify-content:center}.lpm-fullpage{width:100%;max-width:540px;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 20px) 20px calc(env(safe-area-inset-bottom) + 16px)}.lpm-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:8px}.lpm-wine-name{font-size:.9rem;color:var(--text-light);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.lpm-close-x{background:#0000000f;border:none;width:32px;height:32px;border-radius:50%;font-size:.85rem;cursor:pointer;color:var(--text-light);flex-shrink:0;margin-left:12px}.lpm-actions{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;padding:8px 0}.lpm-action{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;border:none;border-radius:14px;background:#ffffffbf;box-shadow:0 2px 12px #00000012;font-size:1.05rem;font-weight:500;color:var(--text);text-align:left;cursor:pointer;transition:background .12s,transform .1s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lpm-action:active{background:#ffffffeb;transform:scale(.98)}.lpm-action--danger{color:#c0392b}.lpm-action--star{color:#b8860b}.lpm-icon{font-size:1.2rem;width:28px;text-align:center;flex-shrink:0}.lpm-cancel{margin-top:12px;width:100%;padding:16px;border:none;border-radius:14px;background:#ffffffbf;box-shadow:0 2px 12px #00000012;font-size:1rem;font-weight:700;color:var(--text-light);cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lpm-noter{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.lpm-noter-title{font-size:1.2rem;font-weight:700;color:var(--text)}.lpm-star-row{display:flex;justify-content:center;gap:6px}.lpm-star{font-size:2.8rem;background:none;border:none;cursor:pointer;padding:4px;color:#ddd;transition:color .1s,transform .12s;line-height:1}.lpm-star--active{color:#c9a227;transform:scale(1.2)}.lpm-star-hint{font-size:.9rem;color:var(--text-light)}.lpm-noter-actions{display:flex;gap:12px;width:100%}.lpm-noter-actions .btn-primary,.lpm-noter-actions .btn-secondary{flex:1;padding:14px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.theme-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;border:2px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer;transition:border-color .15s}.theme-btn--active{border-color:var(--wine)}.theme-preview-swatch{display:flex;width:100%;height:28px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.theme-swatch-bg{flex:3}.theme-swatch-accent{flex:1}.theme-btn-label{font-size:.78rem;color:var(--text);font-weight:500;text-align:center}.duplicate-intro{margin:0 0 .75rem;color:var(--text, #333);font-size:.9rem}.duplicate-cards{display:flex;flex-direction:column;gap:1rem}.duplicate-card-wrapper{cursor:pointer;border-radius:10px;border:2px solid transparent;transition:border-color .15s;position:relative}.duplicate-card-wrapper:hover{border-color:#ddd}.duplicate-card-wrapper .retirer-btn{display:none!important}.duplicate-card--selected{border-color:#4a7a4a}.duplicate-card--selected:after{content:"✓";position:absolute;top:10px;right:10px;background:#4a7a4a;color:#fff;border-radius:50%;width:22px;height:22px;line-height:22px;text-align:center;font-size:.75rem;font-weight:700;z-index:2;pointer-events:none}.france-map-wrap{margin-top:10px;background:#fff;border-radius:10px;padding:8px 4px 4px}.france-map{width:100%;max-width:340px;margin:0 auto;display:block}.france-map svg{width:100%;height:auto;display:block}.france-map .wine-region{cursor:pointer;transition:opacity .15s}.france-map .wine-region:hover{opacity:.8}.france-map .wine-region path{transition:fill .22s ease}.france-map .map-region--selected path{filter:drop-shadow(0 0 3px rgba(0,0,0,.3))}.france-map-actions{display:flex;gap:8px;justify-content:center;margin-top:10px}.map-action-btn{font-size:.78rem;padding:4px 12px;border:1px solid #bbb;border-radius:12px;background:#fff;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.map-action-btn:hover:not(:disabled){border-color:var(--wine);color:var(--wine)}.map-action-btn:disabled{opacity:.4;cursor:default}.france-map-selected{font-size:.8rem;color:var(--text);text-align:center;margin:8px 0 0;line-height:1.5}.france-map-hint{font-size:.78rem;color:var(--text-light);text-align:center;margin:8px 0 0}.world-wine-wrap{margin-top:10px}.world-wine-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.wine-country-card{width:calc(25% - 6px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:2px solid #ccc;border-radius:12px;background:#f6f4f1;cursor:pointer;transition:border-color .2s,box-shadow .2s;color:var(--text)}.wine-country-card:hover{border-color:var(--wine)}.wine-country-card--selected{border-color:transparent;box-shadow:0 0 0 2px var(--wine)}.wine-country-svg{width:100%;aspect-ratio:1;display:block}.wine-country-label{font-size:.6rem;font-weight:400;text-align:center;line-height:1.2}.wine-country-label--selected{font-weight:700}.general-theme-wrap{margin-top:10px}.general-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.general-theme-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:2px solid #ccc;border-radius:12px;background:#f6f4f1;cursor:pointer;transition:border-color .2s,box-shadow .2s}.general-theme-chip:hover{border-color:var(--wine)}.general-theme-chip--selected{border-color:transparent;box-shadow:0 0 0 2px var(--wine)}.general-theme-img{width:52px;height:52px;object-fit:contain;display:block}.general-theme-label{font-size:.56rem;font-weight:400;text-align:center;line-height:1.2;color:var(--text)}.general-theme-chip--selected .general-theme-label{font-weight:700}.voice-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fdf5f5;border:1.5px solid #ddbaba;border-radius:10px;flex-wrap:wrap;flex-shrink:0}.voice-banner--recording{background:#fff0f0;border-color:var(--wine)}.voice-banner-icon{font-size:1.2rem;flex-shrink:0}.voice-banner-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.voice-banner-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.voice-banner-title{font-size:.88rem;font-weight:600;color:var(--text)}.voice-record-btn{padding:7px 14px;background:var(--wine);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:background .15s,opacity .15s}.voice-record-btn:hover:not(:disabled){background:var(--wine-light)}.voice-record-btn:disabled{opacity:.5;cursor:not-allowed}.voice-send-btn{padding:7px 14px;background:#c0392b;color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:background .15s}.voice-send-btn:hover{background:#a93226}.voice-rec-dot{width:10px;height:10px;border-radius:50%;background:#c0392b;flex-shrink:0;animation:voice-dot-pulse 1.1s ease-in-out infinite}@keyframes voice-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.voice-bars{display:flex;align-items:center;gap:3px;height:20px}.voice-bar{width:3px;background:var(--wine);border-radius:2px;animation:voice-bar-bounce .8s ease-in-out infinite alternate}.voice-bar--1{height:6px;animation-delay:0s}.voice-bar--2{height:14px;animation-delay:.1s}.voice-bar--3{height:18px;animation-delay:.2s}.voice-bar--4{height:12px;animation-delay:.3s}.voice-bar--5{height:7px;animation-delay:.4s}@keyframes voice-bar-bounce{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}.voice-timer{font-size:.85rem;font-weight:700;color:#c0392b;font-variant-numeric:tabular-nums;flex-shrink:0}.voice-analyzing-gif-banner{width:32px;height:auto}.voice-done-count{font-size:.82rem;color:var(--success, #27ae60);font-weight:600;width:100%;margin-top:2px}.voice-error-msg{font-size:.85rem;color:var(--error, #c0392b);margin:0}.voice-form-container{position:relative}.voice-form-fields{display:flex;flex-direction:column;gap:16px}.voice-form-fields--locked{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.65}
