#analyze{position:relative;padding:140px 60px 80px;min-height:100vh;overflow:hidden}.analyze-bg{position:absolute;inset:0;background:radial-gradient(ellipse 50% 50% at 75% 20%,var(--overlay-blush-glow) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 15% 90%,var(--overlay-sage-glow) 0%,transparent 60%),var(--cream);z-index:0}.analyze-inner{position:relative;z-index:1;max-width:880px;margin:0 auto}.analyze-header{margin-bottom:40px;text-align:center}.analyze-header h1{font-size:clamp(40px,5vw,64px);font-weight:600;line-height:1.05;color:var(--brown);margin-bottom:16px}.analyze-header .section-sub{margin:16px auto 0}.signin-card{background:var(--surface);border-radius:var(--radius-card);padding:48px 40px;box-shadow:var(--shadow-card-soft);text-align:center;border:1px solid var(--border-terracotta-faint)}.signin-card h2{font-size:28px;color:var(--brown);margin-bottom:12px}.signin-card p{color:var(--text-mid);margin-bottom:28px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.6}.signin-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.mode-tabs{display:flex;gap:8px;background:var(--cream-dark);padding:6px;border-radius:var(--radius-pill);margin-bottom:24px;width:fit-content;margin-left:auto;margin-right:auto}.mode-tab{background:transparent;border:none;padding:10px 24px;border-radius:var(--radius-pill);font:inherit;font-size:14px;font-weight:600;color:var(--text-mid);cursor:pointer;transition:background .2s,color .2s}.mode-tab.active{background:var(--terracotta);color:var(--text-inverse)}.mode-tab:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--surface);border-radius:var(--radius-card);padding:32px;box-shadow:var(--shadow-card-soft);border:1px solid var(--border-terracotta-faint)}textarea#text-input{width:100%;border:1.5px solid var(--border-terracotta-soft);border-radius:var(--radius-control);padding:16px;font:inherit;font-size:15px;color:var(--text);background:var(--cream);resize:vertical;min-height:160px}textarea#text-input:focus{outline:none;border-color:var(--terracotta)}.dropzone{display:block;border:2px dashed var(--border-terracotta-medium);border-radius:var(--radius-control);padding:32px;text-align:center;cursor:pointer;background:var(--cream);transition:background .2s,border-color .2s}.dropzone:hover{background:var(--terracotta-pale);border-color:var(--terracotta)}#analyze-app.busy .dropzone{pointer-events:none;opacity:.6;cursor:not-allowed}.dropzone-icon{width:56px;height:56px;background:var(--terracotta);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--text-inverse);margin:0 auto 16px}.dropzone-icon svg{width:28px;height:28px}.dropzone-title{font-weight:600;color:var(--brown);margin-bottom:6px}.dropzone-hint{font-size:13px;color:var(--text-light)}#image-preview{max-width:100%;max-height:320px;border-radius:var(--radius-control);margin:0 auto;display:block}.panel-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.state-card{margin-top:24px;padding:20px 24px;border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-card-soft);display:flex;align-items:center;gap:14px;color:var(--text-mid);font-size:15px}.state-card.error{background:var(--status-danger-bg);color:var(--status-danger-text)}.state-card.warning{background:var(--status-warning-bg);color:var(--status-warning-text)}[hidden]{display:none!important}.spinner{width:20px;height:20px;border:2px solid var(--border-terracotta-medium);border-top-color:var(--terracotta);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results{margin-top:40px;display:flex;flex-direction:column;gap:56px}.result{display:flex;flex-direction:column;align-items:stretch;gap:16px}.result-header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.result-provider{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--brown);line-height:1.1}.result-header-meta{display:flex;gap:6px;flex-wrap:wrap}.result-chip{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-light);background:var(--cream-dark);padding:4px 10px;border-radius:var(--radius-pill)}.result-category{align-self:center;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--terracotta);background:var(--terracotta-pale);padding:4px 16px;border-radius:var(--radius-pill);margin-top:8px}.result-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 0 4px}.hero-orb{--orb-size: clamp(200px, 56vw, 240px);--orb-ring-thickness: calc(var(--orb-size) * .1);width:var(--orb-size);height:var(--orb-size);border-radius:50%;position:relative;box-shadow:0 18px 36px var(--orb-shadow, rgba(0,0,0,.25))}.hero-orb-ring{position:absolute;inset:0;border-radius:50%;background:linear-gradient(210deg,#ffffff59,#ffffff0f 2.5%,#00000024 9%,#0000 35%,#0000001a),linear-gradient(225deg,var(--orb-light) 0%,rgba(255,255,255,0) 50%,var(--orb-dark) 100%),var(--orb-color);overflow:hidden}.hero-orb-inner{position:absolute;inset:var(--orb-ring-thickness);border-radius:50%;background:linear-gradient(158deg,#fff,#f3f3ee);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-orb-glare{position:absolute;top:calc(var(--orb-size) * .05);left:30%;width:40%;height:14px;border-radius:12px;background:#ffffffe6;opacity:.85;pointer-events:none}.hero-orb-text{font-family:Georgia,Times New Roman,serif;font-size:calc(var(--orb-size) * .52);font-weight:400;letter-spacing:-3px;line-height:1;white-space:nowrap;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}.hero-orb-text-small{font-size:calc(var(--orb-size) * .4)}.hero-bucket-label{font-size:17px;font-weight:600;color:var(--brown);margin-top:6px;padding:0 24px}.hero-brief{font-size:16px;line-height:1.6;color:var(--text-mid);max-width:560px}.hero-detailed{font-size:14px;line-height:1.7;color:var(--text-mid);max-width:600px}.result-section{display:flex;flex-direction:column;gap:12px}.result-section-title{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-light);margin:0 0 0 4px}.snapshot-card{background:var(--surface);border-radius:var(--radius-card);padding:4px 18px;box-shadow:var(--shadow-app-card)}.snapshot-row{padding:11px 0;border-bottom:1px solid var(--border-warm);font-size:15px;line-height:1.5}.snapshot-row:last-child{border-bottom:none}.snapshot-row-badge{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.snapshot-inline{display:inline}.snapshot-label{font-size:15px;font-weight:600;color:var(--text-mid)}.snapshot-value{font-size:15px;font-weight:500;color:var(--text)}.snapshot-badge{font-size:14px;font-weight:600;padding:3px 14px;border-radius:var(--radius-pill);text-transform:capitalize}.score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.score-card{appearance:none;background:var(--surface);border:none;border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;font:inherit;color:inherit;box-shadow:var(--shadow-app-card);transition:transform .15s,box-shadow .15s}.score-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #2c181014}.score-card-head{display:flex;align-items:center;gap:10px}.score-card-icon{font-size:20px;line-height:1}.score-card-name{flex:1;font-size:14px;font-weight:600;color:var(--text-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-card-num{font-size:22px;font-weight:800;line-height:1}.score-card-body{display:none;margin-top:10px}.score-card.open .score-card-body{display:block}.score-card-rating{font-size:13px;font-weight:600;text-align:center;margin-bottom:4px}.score-card-brief{font-size:13px;color:var(--text-mid);line-height:1.45;text-align:center}.score-card-detailed{font-size:12px;color:var(--text-light);line-height:1.5;margin-top:6px}.expand-row{appearance:none;background:var(--surface);border:none;border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;box-shadow:var(--shadow-app-card);margin-bottom:6px;transition:transform .15s,box-shadow .15s}.expand-row:hover{transform:translateY(-1px);box-shadow:0 4px 14px #2c181014}.expand-row-head{display:flex;align-items:center;gap:10px}.expand-row-circle{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center}.expand-row-circle-icon{font-size:13px;font-weight:700;line-height:1}.expand-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.expand-row-name{font-size:15px;font-weight:600;color:var(--text)}.expand-row-brief{font-size:14px;color:var(--text-mid);line-height:1.4}.expand-row-chevron{flex-shrink:0;font-size:11px;color:var(--text-light);transition:transform .2s}.expand-row.open .expand-row-chevron{transform:rotate(180deg)}.expand-row-detail{display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-warm);font-size:14px;color:var(--text-mid);line-height:1.55}.expand-row.open .expand-row-detail{display:block}.result-ingredients .ingredients-toggle{appearance:none;background:none;border:none;cursor:pointer;font:inherit;color:inherit;display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px}.ingredients-chevron{font-size:11px;color:var(--text-light);transition:transform .2s}.result-ingredients.open .ingredients-chevron{transform:rotate(180deg)}.ingredients-list{display:none;margin:0;background:var(--surface);border-radius:14px;padding:14px 18px 14px 36px;box-shadow:var(--shadow-app-card)}.result-ingredients.open .ingredients-list{display:block}.ingredients-item{font-size:14px;color:var(--text-mid);line-height:1.7;padding:1px 0}.result-footer{padding-top:8px;font-size:11px;color:var(--text-light);text-align:right;letter-spacing:.04em}.result-error{background:var(--status-danger-bg);border-radius:var(--radius-control);padding:14px 18px;color:var(--status-danger-text)}.result-error-title{font-size:13px;font-weight:700;margin-bottom:4px}.result-error-body{font-size:13px;opacity:.9;line-height:1.55;word-break:break-word}@media(max-width:700px){#analyze{padding:110px 20px 60px}.panel,.signin-card{padding:24px 20px}.results{gap:40px}.result-provider{font-size:24px}.hero-bucket-label{font-size:16px}}
