@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--tm-green: #00ac46;--tm-green-dark: #2e8e3a;--tm-ink: #23282a;--tm-muted: #5d6a62;--tm-surface: #ffffff;--tm-surface-soft: #f7f7f7;--tm-surface-alt: #f3f5f3;--tm-line: rgba(35, 40, 42, .1);--tm-shadow: 0 30px 80px rgba(0, 0, 0, .12);--tm-radius-xl: 28px;--tm-radius-lg: 20px;--tm-radius-md: 14px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Open Sans,sans-serif;background:#fff;color:var(--tm-ink)}button,input{font:inherit}a{color:inherit;text-decoration:none}.screen-loader{min-height:100vh;display:grid;place-items:center;gap:14px;color:var(--tm-ink);padding:24px;text-align:center}.spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(0,172,70,.15);border-top-color:var(--tm-green);animation:spin .8s linear infinite}.login-screen{min-height:100vh;padding:40px 20px;display:grid;place-items:center;position:relative;overflow:hidden}.ambient{position:absolute;border-radius:999px;filter:blur(10px)}.ambient-one{inset:80px auto auto 6%;width:320px;height:320px;background:#00ac462e;animation:floaty 9s ease-in-out infinite}.ambient-two{inset:auto 8% 70px auto;width:280px;height:280px;background:#2e8e3a2e;animation:floaty 10s ease-in-out infinite reverse}.login-card{width:min(1080px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:22px;background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:36px;box-shadow:var(--tm-shadow);padding:28px;position:relative;z-index:1}.login-card.login-card-minimal{width:min(460px,100%);grid-template-columns:1fr}.login-copy,.login-form,.hero-card,.style-card,.favorites-section,.radar-card,.profile-radar-card,.aroma-tags-card,.favorites-gallery-section,.recommendations-toolbar,.status-banner,.recipe-card,.favorite-recipe-card,.favorite-empty-state,.drawer,.topbar,.favorite-card{background:var(--tm-surface);border:1px solid var(--tm-line);border-radius:var(--tm-radius-xl)}.login-copy{padding:34px;display:flex;flex-direction:column;gap:22px;min-height:540px;justify-content:center;background:linear-gradient(160deg,rgba(0,172,70,.08),transparent 60%),var(--tm-surface)}.brand-pill{width:fit-content;display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#00ac461a;color:var(--tm-green-dark);font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:8px 12px;text-transform:uppercase}.brand-pill.subtle{background:#23282a0f;color:var(--tm-ink)}.login-copy h1{margin:0;font-size:clamp(2.6rem,4vw,4.9rem);line-height:.92;letter-spacing:-.05em}.login-copy p{margin:0;max-width:32rem;line-height:1.7;color:var(--tm-muted)}.login-hints{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.login-hints div{background:var(--tm-surface-alt);border-radius:18px;padding:14px;display:grid;gap:4px}.login-hints strong{font-size:.98rem}.login-hints span{font-size:.82rem;color:var(--tm-muted)}.login-form{padding:28px;display:grid;align-content:center;gap:18px}.login-form.login-form-standalone{min-height:0;padding:32px}.login-form label{display:grid;gap:8px}.login-form span{font-size:.9rem;font-weight:600}.login-form input{width:100%;border:1px solid rgba(35,40,42,.12);border-radius:16px;padding:15px 16px;outline:none;background:#fcfdfc}.login-form input:focus{border-color:#00ac4673;box-shadow:0 0 0 4px #00ac461f}.form-error{color:#b53232}.form-error.inline{margin:0 0 16px}.primary-button,.mode-button,.icon-button,.toggle-button{border:0;cursor:pointer}.primary-button{border-radius:999px;background:linear-gradient(135deg,var(--tm-green) 0%,var(--tm-green-dark) 100%);color:#fff;padding:15px 22px;font-weight:700;box-shadow:0 14px 36px #00ac4638}.primary-button:disabled{opacity:.55;cursor:progress}.app-shell{padding:20px}.app-shell.minimal-shell{background:#fff}.topbar{display:flex;justify-content:space-between;gap:18px;padding:18px 22px;margin-bottom:22px;background:linear-gradient(180deg,#fffffff0,#ffffffdb),radial-gradient(circle at top right,rgba(0,172,70,.08),transparent 30%);box-shadow:0 12px 34px #0000000a}.brand-block{display:grid;gap:10px}.brand-block h1,.recommendations-toolbar h2{margin:0;font-size:clamp(1.6rem,2vw,2.4rem);line-height:1;letter-spacing:-.04em}.brand-block p,.recommendations-toolbar p,.section-header p{margin:0;color:var(--tm-muted)}.flavor-id-lockup{display:inline-flex;align-items:center;gap:10px}.flavor-id-mark{width:28px;height:28px;object-fit:contain}.flavor-id-lockup-copy span{display:inline-block;font-size:1.04rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8d9698}.status-banner span{color:var(--tm-muted)}.topbar-actions{display:flex;gap:14px;align-items:center}.topbar.minimal{padding:8px 0 14px;margin-bottom:2px;background:transparent;box-shadow:none;border:0}.topbar.minimal .topbar-actions{margin-left:auto}.topbar.minimal .nav-tabs{gap:18px;padding:0;background:transparent}.topbar.minimal .nav-tab{padding:0;color:#9aa2a5;font-weight:500}.topbar.minimal .nav-tab.active{background:transparent;box-shadow:none;color:var(--tm-ink)}.topbar.minimal .profile-chip{gap:12px;padding:0;background:transparent;color:#9aa2a5;font-weight:500}.topbar.minimal .icon-button{width:38px;height:38px;border:1px solid rgba(35,40,42,.08);background:transparent}.nav-tabs{display:inline-flex;gap:8px;background:var(--tm-surface-alt);padding:6px;border-radius:999px}.nav-tab{padding:11px 18px;border-radius:999px;color:var(--tm-muted);font-weight:600}.nav-tab.active{background:#fff;color:var(--tm-ink);box-shadow:0 8px 18px #0000000f}.profile-chip{display:inline-flex;align-items:center;gap:10px;background:var(--tm-surface-alt);padding:7px 10px 7px 14px;border-radius:999px;font-weight:600}.icon-button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--tm-ink)}.page-frame{display:grid;gap:18px}.flavor-id-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.78fr);gap:52px;align-items:start}.flavor-id-panel,.favorites-gallery-section{display:grid;gap:24px;padding:0;box-shadow:none;background:transparent;border:0}.flavor-id-panel{min-height:680px;align-content:start}.profile-section-heading h2,.favorites-gallery-header h2{margin:0;font-size:clamp(1.55rem,2.1vw,1.95rem);letter-spacing:-.03em;font-weight:600}.profile-section-heading{display:grid;gap:6px}.favorites-gallery-header{display:flex;justify-content:flex-start;align-items:flex-start;gap:12px}.favorites-gallery-header.stacked p{margin:8px 0 0;color:var(--tm-muted);line-height:1.6;font-size:.92rem}.flavor-id-stage{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:42px;align-items:start}.flavor-id-main{display:grid;justify-items:center;align-content:start;gap:16px}.flavor-headline{display:grid;justify-items:center;gap:8px}.flavor-headline p{margin:0;font-size:clamp(1.05rem,1.5vw,1.2rem);letter-spacing:-.03em;color:#7c8589;font-weight:500}.flavor-headline-dots{display:inline-flex;align-items:center;gap:6px}.flavor-headline-dot,.descriptor-dot{display:inline-block;border-radius:999px;flex:0 0 auto}.flavor-visual{position:relative;width:min(100%,520px);margin-top:4px}.flavor-visual-image{width:100%;display:block;object-fit:contain}.flavor-visual-badge{position:absolute;inset:50% auto auto 50%;width:clamp(148px,20vw,188px);aspect-ratio:1;transform:translate(-50%,-48%);border-radius:50%;background:#435057f5;color:#fff;display:grid;align-content:center;justify-items:center;gap:4px;text-align:center;padding:18px;font-size:clamp(.98rem,1.5vw,1.15rem);line-height:1.2;letter-spacing:-.03em;font-style:normal;font-weight:500;box-shadow:0 20px 36px #23282a29}.descriptor-dot-panel{display:grid;gap:12px;align-content:start;padding-top:72px}.descriptor-dot-row{display:flex;align-items:center;gap:10px}.descriptor-dot-label{display:grid;gap:2px}.descriptor-dot-label small{color:#b2b8bb;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.descriptor-dot-label strong{color:#6b7478;font-size:.88rem;font-weight:500}.favorite-collection-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-right:6px}.favorite-recipe-card{padding:0;background:#fff;box-shadow:none;border:1px solid rgba(35,40,42,.07);border-radius:18px}.favorite-recipe-card.inactive{background:#fff;opacity:.38}.favorite-recipe-card-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px}.favorite-recipe-card-link{width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.favorite-recipe-copy{padding:18px 18px 14px;display:grid;gap:12px}.favorite-recipe-card-link.compact .favorite-recipe-copy,.favorite-recipe-copy.compact{padding:0;gap:8px}.favorite-recipe-status{margin:0;color:var(--tm-muted);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.favorite-recipe-copy h3{margin:0;font-size:.98rem;line-height:1.35;letter-spacing:-.02em;font-weight:600}.favorite-recipe-descriptors{display:flex;flex-wrap:wrap;gap:8px}.favorite-recipe-descriptor{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f6f7f7;color:#7b8488;font-size:.74rem;font-weight:500}.favorite-recipe-descriptor.taste{background:#153d301a;color:#1d4d3c}.favorite-recipe-descriptor.aroma{background:#3e7b5f1a;color:#427b61}.favorite-recipe-descriptor.texture{background:#c7e0cd8c;color:#6e8f78}.favorite-recipe-action{min-height:38px;border:1px solid rgba(35,40,42,.08);background:transparent;color:#6b7478;padding:0 12px;border-radius:999px;font-weight:600;font-size:.82rem;cursor:pointer;white-space:nowrap}.favorite-recipe-action.inactive{background:#fff;color:var(--tm-muted)}.favorite-recipe-action:disabled{opacity:.5;cursor:progress}.favorite-empty-state{padding:42px 28px;text-align:center}.favorite-empty-state h3,.favorite-empty-state p{margin:0}.favorite-empty-state h3{margin-bottom:8px;font-size:1.1rem;letter-spacing:-.02em}.favorite-empty-state p{color:var(--tm-muted);line-height:1.7}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px}.hero-card,.style-card,.favorites-section,.recommendations-toolbar,.status-banner{padding:26px;box-shadow:0 20px 55px #0000000d}.status-banner{display:grid;gap:6px;padding:16px 18px;background:#00ac460a;border:1px solid rgba(0,172,70,.12);border-radius:18px;box-shadow:none}.status-banner strong{font-size:.95rem}.hero-card{min-height:320px;display:grid;gap:20px;background:radial-gradient(circle at top right,rgba(0,172,70,.16),transparent 34%),linear-gradient(180deg,#fff,#f9fcf9)}.hero-badge-row,.metric-grid,.section-header,.recommendations-toolbar,.recipe-topline{display:flex;justify-content:space-between;gap:14px;align-items:center}.confidence-pill{padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700;text-transform:uppercase}.confidence-pill.low{background:#eaae0024;color:#966400}.confidence-pill.medium{background:#00ac461a;color:var(--tm-green-dark)}.confidence-pill.high{background:#23282a14;color:var(--tm-ink)}.hero-card h2{margin:0;font-size:clamp(2rem,3vw,3.5rem);letter-spacing:-.05em}.hero-copy{margin:0;font-size:1.05rem;line-height:1.8;max-width:40rem}.metric-grid{align-items:stretch}.metric-grid div{flex:1;padding:18px;border-radius:18px;background:#f3f5f3eb;display:grid;gap:8px}.metric-grid strong{font-size:1.1rem}.metric-grid span,.style-row span,.drawer-meta{color:var(--tm-muted)}.style-card header,.section-header{margin-bottom:18px}.style-card h3,.favorites-section h3,.drawer-section h3{margin:0 0 4px;font-size:1.2rem}.style-stack,.favorites-grid,.drawer-copy,.drawer-section,.drawer-radars{display:grid;gap:14px}.style-row,.favorite-card{padding:16px 18px;border-radius:18px;border:1px solid var(--tm-line);background:var(--tm-surface-alt);display:flex;justify-content:space-between;gap:14px;align-items:center}.style-row strong,.favorite-card h4,.recipe-card h3,.drawer-copy h2{margin:0}.style-metrics{display:grid;justify-items:end}.radar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.radar-card{padding:24px;min-height:378px}.radar-card header{display:grid;gap:6px;margin-bottom:10px;font-weight:700}.active-counter{font-weight:700}.favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.favorite-card.active{background:linear-gradient(135deg,#00ac4614,#fffffff0)}.favorite-cluster{display:inline-flex;margin-bottom:8px;color:var(--tm-green-dark);font-size:.82rem;font-weight:700;text-transform:uppercase}.toggle-button{width:62px;min-width:62px;height:36px;border-radius:999px;background:#23282a1f;padding:3px;display:flex;align-items:center}.toggle-button.on{background:#00ac462e;justify-content:flex-end}.toggle-thumb{width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 6px 14px #0000001f}.recommendations-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center}.recommendations-toolbar.recommendations-minimal{padding:0;background:transparent;box-shadow:none;border:0}.recommendations-toolbar.recommendations-minimal h2{margin:0;font-size:clamp(1.55rem,2.1vw,1.95rem);letter-spacing:-.03em;font-weight:600}.recommendations-pagination-summary{border-radius:999px;padding:10px 14px;background:#ffffffd1;border:1px solid rgba(35,40,42,.08);color:var(--tm-muted);font-size:.86rem;font-weight:600;white-space:nowrap}.recommendations-toolbar.recommendations-minimal p{margin:8px 0 0;color:var(--tm-muted);line-height:1.6;font-size:.94rem;max-width:38rem}.mode-toggle{display:inline-flex;gap:8px;padding:4px;border-radius:999px;background:#f3f5f3cc}.mode-button{padding:10px 16px;border-radius:999px;background:transparent;color:var(--tm-muted);font-weight:600}.mode-button.active{background:#fff;color:var(--tm-ink);box-shadow:0 6px 16px #23282a14}.recommendation-grid{display:grid;grid-template-columns:1fr;gap:12px}.recommendations-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px}.pagination-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pagination-button,.pagination-page{min-height:42px;border-radius:999px;border:1px solid rgba(35,40,42,.08);background:#fff;color:var(--tm-ink);padding:0 16px;font-weight:600;transition:border-color .2s ease,transform .2s ease,color .2s ease,background .2s ease}.pagination-page{min-width:42px;padding:0 12px}.pagination-button:hover:not(:disabled),.pagination-page:hover:not(.active){transform:translateY(-1px);border-color:#00ac464d}.pagination-page.active{background:var(--tm-green);color:#fff;border-color:transparent}.pagination-button:disabled{opacity:.45;cursor:default}.recipe-card{display:grid;grid-template-columns:176px minmax(0,1fr);padding:0;overflow:hidden;text-align:left;transition:transform .2s ease,border-color .2s ease;box-shadow:none;background:#fff;border:1px solid rgba(35,40,42,.08);border-radius:20px}.recipe-card:hover{transform:translateY(-3px);border-color:#00ac463d}.recipe-image,.drawer-image{width:100%;object-fit:cover;display:block}.recipe-image{width:100%;height:100%;min-height:132px;aspect-ratio:auto}.drawer-image{aspect-ratio:16 / 10;border-radius:22px}.drawer-image.blank{background:#fff;border:1px solid rgba(35,40,42,.08)}.recipe-content{padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;align-items:center}.recipe-copy{display:grid;gap:10px}.recipe-cluster,.recipe-score{font-size:.78rem;font-weight:600}.recipe-cluster{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#00ac4614;color:var(--tm-green-dark)}.recipe-score{color:var(--tm-muted)}.recipe-match-breakdown{display:grid;gap:12px;align-self:stretch;padding-left:8px}.recipe-match-row{display:grid;grid-template-columns:minmax(98px,118px) minmax(0,1fr);gap:12px;align-items:center}.recipe-match-label{color:var(--tm-muted);font-size:.76rem;font-weight:600;letter-spacing:.01em}.recipe-match-track{position:relative;height:4px;border-radius:999px;overflow:hidden;background:#23282a14;transform:translateZ(0)}.recipe-match-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;border-radius:inherit}.recipe-match-track.taste .recipe-match-fill{background:linear-gradient(90deg,#153d30,#296a4f)}.recipe-match-track.aroma .recipe-match-fill{background:linear-gradient(90deg,#4d876c,#79af92)}.recipe-match-track.texture .recipe-match-fill{background:linear-gradient(90deg,#b8d3bf,#dcecdf)}.recipe-content p,.drawer-description{margin:0;color:var(--tm-muted);line-height:1.55}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#23282a57;z-index:40}.drawer{position:fixed;top:0;right:0;width:min(740px,100%);height:100vh;padding:22px;overflow-y:auto;background:linear-gradient(180deg,#fffffffa,#f9fbf9fa);z-index:41;box-shadow:-18px 0 60px #0000001f}.drawer-close{position:sticky;top:0;margin-left:auto;width:42px;height:42px;border-radius:50%;border:0;background:#23282a14;display:grid;place-items:center;z-index:2}.drawer-loading{min-height:50vh;display:grid;place-items:center;text-align:center}.drawer-copy{margin:18px 0 8px}.drawer-copy h2{font-size:2rem;letter-spacing:-.04em}.drawer-descriptor-row{margin-top:4px}.drawer-meta{font-weight:600}.drawer-section+.drawer-section{margin-top:16px}.drawer-section ul,.drawer-section ol{margin:0;padding-left:1.3rem;display:grid;gap:10px;line-height:1.7}.drawer-radars{gap:18px;margin-top:10px}.sensor-tooltip{max-width:220px;padding:12px 14px;border-radius:16px;background:#fffffff5;border:1px solid rgba(35,40,42,.08);box-shadow:0 14px 34px #23282a24;display:grid;gap:4px}.sensor-tooltip strong,.sensor-tooltip span,.sensor-tooltip p{margin:0}.sensor-tooltip strong{font-size:.92rem}.sensor-tooltip span{color:var(--tm-green-dark);font-size:.78rem;font-weight:700}.sensor-tooltip p{color:var(--tm-muted);font-size:.82rem;line-height:1.55}.kochstudio-layout{display:grid;gap:28px;align-items:start}.kochstudio-panel{display:grid;gap:28px;padding:0;box-shadow:none;background:transparent;border:0}.kochstudio-result-card,.kochstudio-alert{background:var(--tm-surface);border:1px solid var(--tm-line);border-radius:var(--tm-radius-xl)}.kochstudio-result-card{padding:26px;display:grid;gap:22px;box-shadow:0 20px 55px #0000000d}.kochstudio-filter-stage{position:relative;z-index:6}.kochstudio-controls-shell{display:grid;gap:18px}.kochstudio-generation-row,.kochstudio-result-kicker-row,.kochstudio-day-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.kochstudio-section-copy,.kochstudio-progress-copy p,.kochstudio-placeholder-copy,.kochstudio-inline-list{margin:0;color:var(--tm-muted);line-height:1.6;font-size:.94rem}.kochstudio-section-copy{max-width:42rem}.kochstudio-filter-shell{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.kochstudio-filter-tabs{display:flex;flex-wrap:wrap;gap:10px;width:100%}.kochstudio-filter-tab{border:1px solid transparent;border-radius:999px;background:transparent;color:var(--tm-muted);padding:11px 18px;display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.kochstudio-filter-tab svg{transition:transform .2s ease}.kochstudio-filter-tab.active{background:#fff;color:var(--tm-ink);border-color:var(--tm-line);box-shadow:0 14px 28px #23282a14}.kochstudio-filter-tab.active svg{transform:rotate(180deg)}.kochstudio-filter-panel{position:absolute;left:0;top:calc(100% + 18px);width:min(680px,100%);z-index:20;display:grid;gap:20px;padding:22px;border:1px solid var(--tm-line);border-radius:24px;background:#fffffff5;box-shadow:0 28px 60px #23282a29;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.kochstudio-filter-panel-arrow{position:absolute;top:0;width:16px;height:16px;border-top:1px solid var(--tm-line);border-left:1px solid var(--tm-line);background:#fffffff5;transform:translate(-50%,-50%) rotate(45deg)}.kochstudio-filter-grid{display:grid;gap:20px}.kochstudio-filter-group,.kochstudio-recipe-copy,.kochstudio-result-section,.kochstudio-day-header div{display:grid;gap:12px}.kochstudio-chip-row{display:flex;flex-wrap:wrap;gap:10px}.kochstudio-filter-chip{border:1px solid rgba(35,40,42,.12);border-radius:999px;background:#fff;color:var(--tm-muted);padding:10px 14px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.kochstudio-filter-chip.active{color:var(--tm-green-dark);border-color:#00ac462e;background:#00ac4614}.kochstudio-filter-label-row{display:flex;align-items:center;gap:8px}.kochstudio-filter-label{font-size:.92rem;font-weight:700}.kochstudio-filter-hint{margin:0;color:var(--tm-muted);line-height:1.55}.kochstudio-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kochstudio-input-field,.kochstudio-textarea-field{display:grid;gap:8px}.kochstudio-input-field span{font-size:.86rem;color:var(--tm-muted);font-weight:600}.kochstudio-input-field input,.kochstudio-textarea-field textarea{width:100%;border:1px solid rgba(35,40,42,.12);border-radius:16px;padding:14px 16px;background:#fcfdfc;color:var(--tm-ink);outline:none}.kochstudio-input-field input:focus,.kochstudio-textarea-field textarea:focus{border-color:#00ac4666;box-shadow:0 0 0 4px #00ac461f}.kochstudio-textarea-field textarea{min-height:96px;resize:vertical}.kochstudio-plan-inline{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.kochstudio-plan-inline-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.kochstudio-plan-inline-group>span{font-size:.9rem;color:var(--tm-muted);font-weight:700}.kochstudio-plan-meals{display:flex;flex-wrap:wrap;gap:14px}.kochstudio-plan-badge{display:inline-flex;align-items:center;gap:10px}.kochstudio-stepper{display:inline-flex;align-items:center;gap:12px;padding:4px;border-radius:999px;background:var(--tm-surface-alt)}.kochstudio-stepper button{width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:var(--tm-ink);cursor:pointer}.kochstudio-stepper strong{min-width:18px;text-align:center}.kochstudio-generate-center{display:flex;justify-content:center}.kochstudio-progress-inline{display:grid;justify-items:center;gap:8px;padding:14px 0 4px;text-align:center}.kochstudio-progress-inline strong{font-size:.98rem}.kochstudio-progress-inline p{margin:0;color:var(--tm-muted);line-height:1.6}.kochstudio-plan-summary{color:var(--tm-muted);font-size:.9rem;font-weight:600}.kochstudio-recipe-header{display:grid;gap:14px}.kochstudio-recipe-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:28px;align-items:start}.kochstudio-recipe-copy h3,.kochstudio-result-section h4,.kochstudio-day-header h3,.kochstudio-day-meal-copy h4{margin:0;letter-spacing:-.04em}.kochstudio-recipe-copy h3{font-size:clamp(1.7rem,2.2vw,2.3rem);font-weight:600}.kochstudio-recipe-description{max-width:48rem}.kochstudio-meta-row{display:flex;flex-wrap:wrap;gap:10px}.kochstudio-meta-pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--tm-surface-alt);color:var(--tm-muted);font-size:.82rem;font-weight:700;padding:8px 12px}.kochstudio-result-image-wrap{min-height:280px;overflow:hidden;border-radius:22px;border:1px solid rgba(35,40,42,.08);background:var(--tm-surface-alt);aspect-ratio:4 / 3}.kochstudio-recipe-visual{width:100%;justify-self:end}.kochstudio-result-image{width:100%;height:100%;display:block;object-fit:cover}.kochstudio-bullet-list,.kochstudio-step-list{margin:0;padding-left:1.3rem;display:grid;gap:10px;line-height:1.65}.kochstudio-step-list.compact{gap:8px;font-size:.92rem}.kochstudio-recipe-steps-section{gap:16px;padding-top:8px;border-top:1px solid rgba(35,40,42,.08)}.kochstudio-day-grid,.kochstudio-day-meals{display:grid;gap:16px}.kochstudio-day-card{display:grid;gap:18px;padding:20px;border-radius:20px;border:1px solid rgba(35,40,42,.07);background:var(--tm-surface-alt)}.kochstudio-day-meal{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:16px;border-radius:18px;border:1px solid rgba(35,40,42,.08);background:#fff}.kochstudio-day-meal-image{width:100%;height:100%;min-height:180px;object-fit:cover;border-radius:16px}.kochstudio-day-meal-copy{display:grid;align-content:start;gap:10px}.kochstudio-summary-tags{padding-top:4px}.kochstudio-summary-empty{padding:24px 20px}.kochstudio-alert{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;box-shadow:none}.kochstudio-alert.error{background:#b532320d;border-color:#b5323224;color:#8b2f2f}.kochstudio-alert p{margin:0;line-height:1.6}.kochstudio-spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width: 1100px){.login-card,.hero-grid,.recommendations-toolbar,.flavor-id-layout,.flavor-id-stage,.kochstudio-layout,.kochstudio-recipe-hero,.kochstudio-day-meal{grid-template-columns:1fr}.kochstudio-recipe-visual{order:-1;justify-self:stretch}.topbar,.topbar-actions,.recommendations-toolbar,.kochstudio-generation-row,.kochstudio-plan-inline,.kochstudio-day-header{flex-direction:column;align-items:stretch}.favorites-grid,.recommendation-grid,.radar-grid,.kochstudio-input-grid{grid-template-columns:1fr}.recommendations-pagination{flex-direction:column;align-items:stretch}.pagination-pages{order:3}.favorite-collection-list{max-height:none}.descriptor-dot-panel{padding-top:0}.kochstudio-plan-meals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}@media (max-width: 760px){.app-shell,.login-screen{padding:14px}.login-copy,.login-form,.hero-card,.style-card,.favorites-section,.recommendations-toolbar,.profile-radar-card{padding:20px}.login-hints{grid-template-columns:1fr}.metric-grid{flex-direction:column}.nav-tabs,.mode-toggle{width:100%;justify-content:stretch}.recommendations-pagination-summary{width:100%;text-align:center}.nav-tab,.mode-button{flex:1;text-align:center;justify-content:center}.flavor-visual-badge{width:144px;padding:14px;font-size:.92rem}.favorite-recipe-card-shell{grid-template-columns:1fr;align-items:stretch}.radar-card{min-height:340px}.recipe-card,.recipe-content{grid-template-columns:1fr}.recipe-match-breakdown{padding-left:0}.recipe-image{min-height:auto;aspect-ratio:4 / 3}.favorite-recipe-action{width:100%}.kochstudio-result-card,.kochstudio-day-card{padding:20px}.kochstudio-filter-panel{width:100%;top:calc(100% + 14px);padding:18px}.kochstudio-filter-tab{justify-content:space-between;flex:1}.kochstudio-plan-meals{grid-template-columns:1fr}.kochstudio-filter-tabs{width:100%}.kochstudio-plan-inline-group{align-items:stretch}.kochstudio-plan-badge{justify-content:space-between}.kochstudio-day-meal{padding:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
