@font-face{font-family:Geist;src:url(/fonts/Geist-VariableFont_wght.ttf) format("truetype-variations"),url(/fonts/Geist-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#F0F2F5;--bg-elevated:#FFFFFF;--bg-sunken:#E6E8EC;--bg-overlay:rgba(240,242,245,.82);--field:#F6F7F9;--ink:#08080A;--ink-60:rgba(8,8,10,.6);--ink-25:rgba(8,8,10,.25);--ink-12:rgba(8,8,10,.12);--ink-06:rgba(8,8,10,.06);--accent:#FF5A1F;--accent-ink:#FFFFFF;--accent-12:color-mix(in srgb, var(--accent) 12%, transparent);--accent-25:color-mix(in srgb, var(--accent) 25%, transparent);--accent-06:color-mix(in srgb, var(--accent) 6%, transparent);--pos:#00C853;--warn:#FF9100;--neg:#FF1744;--info:#2979FF;--pos-25:rgba(0,200,83,.25);--warn-25:rgba(255,145,0,.25);--neg-25:rgba(255,23,68,.25);--font-body:"Geist",-apple-system,BlinkMacSystemFont,sans-serif;--font-data:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--size-body:.938rem;--size-small:.813rem;--size-micro:.688rem;--ls-tight:.04em;--ls-wide:.08em;--lh-compact:1.55;--lh-reading:1.7;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-pill:100px;--r-surface:16px;--r-technical:4px;--r-round:50%;--fluid:cubic-bezier(.16,.85,.2,1);--snap:cubic-bezier(.34,1.56,.64,1);--drift:cubic-bezier(.4,0,.2,1);--t-fast:.18s;--t-med:.4s;--t-slow:.7s;--shadow-sm:0 1px 3px rgba(0,0,0,.04);--shadow-md:0 6px 20px rgba(0,0,0,.08);--shadow-lg:0 10px 32px rgba(0,0,0,.12);--shadow-accent:0 6px 20px var(--accent-25);--pad:var(--s5)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--size-body);line-height:var(--lh-reading);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background var(--t-med) var(--fluid),color var(--t-med) var(--fluid)}::selection{background:var(--accent-12);color:var(--accent)}input,button,select,textarea{font:inherit}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.shell{max-width:660px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.flow-head{position:sticky;top:0;z-index:40;background:var(--bg-overlay);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--ink-12);padding:calc(var(--s3) + env(safe-area-inset-top)) var(--s4) var(--s3)}.fh-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}.fh-brand{display:flex;flex-direction:column;gap:2px;min-width:0}.fh-eyebrow{font-family:var(--font-data);font-size:var(--size-micro);font-weight:500;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:var(--s2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fh-eyebrow:before{content:"";width:16px;height:1px;background:var(--accent);flex-shrink:0}.fh-title{font-family:var(--font-body);font-weight:300;letter-spacing:-.03em;font-size:1.15rem;line-height:1;color:var(--ink)}.fh-tools{display:flex;gap:var(--s2);flex-shrink:0}.icon-btn{width:40px;height:40px;min-width:40px;border-radius:var(--r-pill);border:1px solid var(--ink-12);background:var(--bg-elevated);color:var(--ink-60);display:grid;place-items:center;cursor:pointer;transition:all var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent}.icon-btn svg{width:18px;height:18px}.icon-btn:hover,.icon-btn:active{border-radius:var(--r-technical);border-color:var(--accent-25);color:var(--accent)}.stepper{display:flex;align-items:center;gap:0}.step-dot{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;background:none;border:0;padding:0;cursor:default;-webkit-tap-highlight-color:transparent;min-width:0}.step-dot.clickable{cursor:pointer}.step-dot .sd-bubble{width:26px;height:26px;border-radius:var(--r-round);display:grid;place-items:center;font-family:var(--font-data);font-size:var(--size-micro);font-weight:500;color:var(--ink-25);background:var(--bg-sunken);border:1px solid var(--ink-12);transition:all var(--t-med) var(--snap);z-index:1}.step-dot .sd-bubble svg{width:13px;height:13px}.step-dot .sd-label{font-family:var(--font-data);font-size:9px;letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);transition:color var(--t-med) var(--fluid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.step-dot.done .sd-bubble{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.step-dot.current .sd-bubble{background:var(--ink);border-color:var(--ink);color:var(--bg);border-radius:var(--r-technical);transform:scale(1.08)}.step-dot.current .sd-label{color:var(--ink)}.step-dot.done .sd-label{color:var(--ink-60)}.step-dot.disabled .sd-label{opacity:.55}.step-line{flex:0 0 auto;width:14px;height:1px;background:var(--ink-12);margin-top:-16px}.step-line.done{background:var(--accent)}@media(max-width:430px){.step-dot .sd-label{font-size:8px}.step-line{width:8px}}.flow-body{flex:1;padding:var(--s5) var(--s4) var(--s4);position:relative}@media(min-width:560px){.flow-body{padding:var(--s6) var(--s5) var(--s5)}}.step{display:none;animation:stepIn var(--t-med) var(--fluid)}.step.active{display:block}@keyframes stepIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-lead{margin-bottom:var(--s5)}.step-kicker{font-family:var(--font-data);font-size:var(--size-micro);font-weight:500;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}.step-kicker:before{content:"";width:18px;height:1px;background:var(--accent)}.step-h{font-family:var(--font-body);font-weight:300;letter-spacing:-.03em;font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.05;color:var(--ink)}.step-sub{font-size:var(--size-small);color:var(--ink-60);line-height:1.6;margin-top:var(--s3);max-width:46ch}.step-sub button.inline-link{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}.field-block{margin-bottom:var(--s4)}.field-block:last-child{margin-bottom:0}.product-input-wrap{position:relative}.product-input{width:100%;padding:var(--s4) var(--s4);min-height:56px;background:var(--bg-elevated);border:1px solid var(--ink-12);border-radius:var(--r-surface);color:var(--ink);font-family:var(--font-body);font-size:1.15rem;font-weight:500;letter-spacing:-.02em;outline:none;transition:border-radius var(--t-fast) var(--fluid),border-color var(--t-fast) var(--fluid),box-shadow var(--t-fast) var(--fluid)}.product-input::placeholder{color:var(--ink-25);font-weight:400}.product-input:focus{border-radius:var(--r-technical);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-12)}.product-label{position:absolute;top:-8px;left:var(--s4);font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);background:var(--bg);padding:0 var(--s1);transition:color var(--t-fast)}.product-input:focus~.product-label,.product-input:not(:placeholder-shown)~.product-label{color:var(--accent)}.unit-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s3) var(--s2) var(--s4);background:var(--field);border:1px solid var(--ink-06);border-radius:var(--r-surface);margin-bottom:var(--s4)}.unit-row-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-60);display:flex;align-items:center;gap:var(--s2)}.unit-row-label svg{width:15px;height:15px;color:var(--ink-25)}.seg{display:inline-flex;gap:2px;padding:3px;background:var(--bg-sunken);border:1px solid var(--ink-06);border-radius:var(--r-pill)}.seg-block{display:flex;width:100%}.seg-block .seg-opt{flex:1}.seg-opt{min-height:40px;padding:8px 14px;border:0;background:transparent;color:var(--ink-60);font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;cursor:pointer;border-radius:var(--r-pill);transition:all var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent;white-space:nowrap}.seg-opt:hover{color:var(--ink)}.seg-opt.active{background:var(--ink);color:var(--bg);border-radius:var(--r-technical);box-shadow:var(--shadow-sm)}.seg-opt:first-child.active{border-top-left-radius:calc(var(--r-pill) - 3px);border-bottom-left-radius:calc(var(--r-pill) - 3px)}.seg-opt:last-child.active{border-top-right-radius:calc(var(--r-pill) - 3px);border-bottom-right-radius:calc(var(--r-pill) - 3px)}.rfd-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.rfd-field{position:relative}.rfd-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-60);display:flex;align-items:center;gap:6px;margin-bottom:var(--s2)}.rfd-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.rfd-input-wrap{position:relative;display:flex;align-items:center}.rfd-input{width:100%;padding:var(--s3) 44px var(--s3) var(--s4);min-height:52px;background:var(--field);border:1px solid var(--ink-06);border-radius:var(--r-surface);color:var(--ink);font-family:var(--font-data);font-size:1.1rem;font-weight:500;outline:none;transition:all var(--t-fast) var(--fluid);-moz-appearance:textfield;font-variant-numeric:tabular-nums}.rfd-input::-webkit-outer-spin-button,.rfd-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rfd-input:focus{border-radius:var(--r-technical);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-12);background:var(--bg-elevated)}.rfd-unit{position:absolute;right:var(--s4);font-family:var(--font-data);font-size:var(--size-micro);color:var(--ink-25);letter-spacing:var(--ls-tight);pointer-events:none}.rfd-sum{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4);margin-top:var(--s4);background:var(--bg-sunken);border:1px solid var(--ink-12);border-radius:var(--r-surface)}.rfd-sum-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-25)}.rfd-sum-breakdown{font-family:var(--font-data);font-size:var(--size-micro);color:var(--ink-25);margin-top:4px}.rfd-sum-val{font-family:var(--font-body);font-weight:300;letter-spacing:-.03em;font-size:1.7rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.rfd-bar-wrap{margin-top:var(--s4)}.rfd-bar-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-25);margin-bottom:var(--s2)}.rfd-bar{display:flex;height:8px;border-radius:var(--r-pill);overflow:hidden;gap:1px;background:var(--ink-06)}.rfd-seg{transition:flex var(--t-med) var(--fluid);min-width:0}.rfd-legend{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s3)}.rfd-legend-item{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);display:flex;align-items:center;gap:5px}.rfd-legend-item span.sw{width:9px;height:5px;border-radius:2px;display:inline-block}.custom-mat{padding:var(--s3) var(--s4);background:var(--bg-sunken);border:1px solid var(--ink-06);border-radius:var(--r-surface);margin-bottom:var(--s4)}.custom-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s3)}.custom-title{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-60)}.custom-hint{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25)}.custom-grid{display:grid;grid-template-columns:1fr;gap:var(--s2)}@media(min-width:480px){.custom-grid{grid-template-columns:1fr minmax(112px,.62fr) auto;align-items:center}}.custom-input{width:100%;padding:var(--s3) var(--s4);min-height:46px;background:var(--bg-elevated);border:1px solid var(--ink-06);border-radius:var(--r-surface);color:var(--ink);font-family:var(--font-body);font-size:var(--size-small);outline:none;transition:border-color var(--t-fast) var(--fluid),box-shadow var(--t-fast) var(--fluid)}.custom-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-12)}.custom-input::placeholder{color:var(--ink-25)}.custom-duration-wrap{position:relative;display:flex;align-items:center}.custom-duration-wrap .custom-input{padding-right:44px;font-family:var(--font-data);font-weight:500}.custom-unit{position:absolute;right:var(--s3);font-family:var(--font-data);font-size:var(--size-micro);color:var(--ink-25);letter-spacing:var(--ls-tight);pointer-events:none}.custom-add{min-height:46px;min-width:46px;border-radius:var(--r-pill);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;cursor:pointer;transition:all var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent}.custom-add svg{width:18px;height:18px}.custom-add:hover,.custom-add:active{border-radius:var(--r-technical);box-shadow:var(--shadow-accent)}.custom-error{display:none;margin-top:var(--s2);font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);color:var(--neg)}.custom-error.visible{display:block}@media(max-width:479px){.custom-add{width:100%;min-height:44px}}.mat-search-wrap{position:relative;margin-bottom:var(--s3)}.mat-search-wrap svg{position:absolute;left:var(--s4);top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--ink-25);pointer-events:none}.mat-search{width:100%;padding:var(--s3) var(--s4) var(--s3) calc(var(--s4) + 26px);min-height:52px;background:var(--field);border:1px solid var(--ink-06);border-radius:var(--r-surface);color:var(--ink);font-family:var(--font-body);font-size:var(--size-small);outline:none;transition:border-color var(--t-fast) var(--fluid),box-shadow var(--t-fast) var(--fluid),background var(--t-fast) var(--fluid)}.mat-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-12);background:var(--bg-elevated)}.mat-search::placeholder{color:var(--ink-25)}.mat-list{max-height:46vh;overflow-y:auto;margin:0 calc(-1 * var(--s1));padding:0 var(--s1) var(--s1);display:flex;flex-direction:column;gap:var(--s3);-webkit-overflow-scrolling:touch}.mat-list::-webkit-scrollbar{width:4px}.mat-list::-webkit-scrollbar-track{background:transparent}.mat-list::-webkit-scrollbar-thumb{background:var(--ink-12);border-radius:2px}.mat-group{display:flex;flex-direction:column;gap:6px}.mat-group+.mat-group{margin-top:var(--s2)}.mat-group-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-25);padding:var(--s2) var(--s3) var(--s1);position:sticky;top:0;background:var(--bg);z-index:1}.mat-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3);min-height:56px;border-radius:var(--r-surface);border:1px solid var(--ink-06);background:var(--bg-elevated);cursor:pointer;transition:background var(--t-med) var(--fluid),border-color var(--t-med) var(--fluid),border-radius var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent;text-align:left;width:100%}.mat-item:hover{background:var(--accent-06);border-color:var(--accent-25)}.mat-item.selected{background:var(--accent-12);border-color:var(--accent);border-radius:var(--r-technical)}.mat-item-left{display:flex;align-items:center;gap:var(--s3);min-width:0}.mat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mat-name{font-size:var(--size-small);font-weight:500;color:var(--ink)}.mat-sub{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);color:var(--ink-25);margin-top:2px}.mat-mp{font-family:var(--font-data);font-size:var(--size-small);font-weight:500;color:var(--ink-60);white-space:nowrap;font-variant-numeric:tabular-nums}.mat-item.selected .mat-mp{color:var(--accent)}.mat-check{width:20px;height:20px;flex-shrink:0;color:var(--accent);opacity:0;transition:opacity var(--t-fast)}.mat-item.selected .mat-check{opacity:1}.mat-list-empty{padding:24px;text-align:center;color:var(--ink-25);font-size:var(--size-small)}.result-card{position:relative;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--ink-06);border-radius:var(--r-surface);padding:var(--pad);box-shadow:var(--shadow-sm)}.result-card+.result-card{margin-top:var(--s4)}.result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--zone-color,var(--ink-12));transition:background var(--t-med) var(--fluid)}.card-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:var(--s3)}.card-label:before{content:"";width:18px;height:1px;background:var(--accent)}.result-head{margin-bottom:var(--s5)}.result-product-name{font-family:var(--font-body);font-weight:300;font-size:1.4rem;letter-spacing:-.025em;margin-top:6px;color:var(--ink);overflow-wrap:anywhere}.result-material{font-family:var(--font-data);font-size:var(--size-small);letter-spacing:var(--ls-tight);color:var(--accent);margin-top:4px;overflow-wrap:anywhere}.result-inner{display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:center}@media(min-width:600px){.result-inner{grid-template-columns:auto 1fr;gap:var(--s6)}}.ddi-display{text-align:center}.ddi-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-25);margin-bottom:var(--s1)}.ddi-number{font-family:var(--font-body);font-weight:300;font-size:clamp(3.6rem,20vw,5rem);line-height:.95;letter-spacing:-.045em;color:var(--zone-color,var(--ink-25));font-variant-numeric:tabular-nums;transition:color var(--t-med) var(--fluid)}.ddi-badge{display:inline-block;padding:var(--s1) var(--s3);border-radius:var(--r-pill);font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;background:var(--zone-bg,var(--ink-06));color:var(--zone-ink,var(--ink-25));border:1px solid var(--zone-border,var(--ink-12));margin-top:var(--s3);transition:all var(--t-med) var(--fluid)}.result-formula{font-family:var(--font-data);font-size:var(--size-small);color:var(--ink-60);margin-bottom:var(--s3);line-height:1.55;overflow-wrap:anywhere}.result-formula span{color:var(--ink);font-weight:500}.result-ratio{font-family:var(--font-data);font-size:var(--size-small);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);margin-bottom:var(--s3)}.result-desc{font-size:var(--size-small);color:var(--ink-60);line-height:1.65}.result-desc strong{color:var(--ink);font-weight:500}.result-desc em{display:block;margin-top:var(--s2);font-style:normal;color:var(--ink-60)}.needle-section{margin-top:var(--s5)}.needle-track-label{display:flex;justify-content:space-between;font-family:var(--font-data);font-size:var(--size-micro);color:var(--ink-25);margin-bottom:var(--s2)}.needle-bar{height:10px;border-radius:var(--r-pill);background:linear-gradient(to right,#00c853 0,#00c853 20%,#ff9100 20%,#ff9100 40%,#ff1744 40%,#ff1744);position:relative;margin-bottom:var(--s2)}.needle-region{position:absolute;top:-3px;bottom:-3px;border-radius:var(--r-pill);background:var(--zone-color,var(--ink-25));opacity:.28;border:1px solid var(--zone-color,var(--ink-25));transition:left var(--t-med) var(--fluid),width var(--t-med) var(--fluid),background var(--t-med) var(--fluid);left:0;width:0}.needle-pointer{position:absolute;top:-6px;width:5px;height:22px;background:var(--ink);border-radius:3px;transform:translate(-50%);box-shadow:0 2px 8px #00000040;transition:left var(--t-med) var(--fluid);z-index:2}.needle-foot{font-family:var(--font-data);font-size:var(--size-micro);color:var(--ink-25);text-align:center;margin-top:var(--s1)}.result-spans{display:flex;flex-direction:column;gap:var(--s2);margin:var(--s4) 0 var(--s3)}.span-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.span-key{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);white-space:nowrap}.span-val{font-family:var(--font-data);font-size:var(--size-small);font-weight:500;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.span-val small{display:block;font-weight:400;color:var(--ink-60)}.confidence-badge{display:inline-block;padding:2px var(--s2);border-radius:var(--r-pill);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;border:1px solid var(--ink-12);color:var(--ink-60)}.confidence-badge.conf-high{color:var(--pos);border-color:var(--pos-25)}.confidence-badge.conf-medium-high{color:#7ccc00;border-color:#7ccc004d}.confidence-badge.conf-medium{color:var(--warn);border-color:var(--warn-25)}.confidence-badge.conf-low{color:var(--neg);border-color:var(--neg-25)}.result-hint{font-family:var(--font-body);font-size:var(--size-micro);line-height:1.5;color:var(--ink-25);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--ink-06)}.formula-cells{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);margin-top:var(--s5)}@media(min-width:520px){.formula-cells{grid-template-columns:repeat(4,1fr)}}.f-cell{background:var(--bg-sunken);border:1px solid var(--ink-06);border-radius:var(--r-surface);padding:var(--s3) var(--s4);transition:border-radius var(--t-med) var(--fluid)}.f-cell:hover{border-radius:var(--r-technical)}.f-cell-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);margin-bottom:var(--s2)}.f-cell-val{font-family:var(--font-body);font-weight:300;font-size:1.35rem;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1;overflow-wrap:anywhere}.f-cell-sub{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);color:var(--ink-25);margin-top:var(--s2);overflow-wrap:anywhere}.phase-card .card-label{margin-bottom:var(--s3)}.phase-text{font-size:var(--size-small);line-height:1.7;color:var(--ink-60);margin-bottom:var(--s4);overflow-wrap:anywhere}.phase-question{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);background:var(--bg-sunken);border:1px solid var(--ink-06);border-radius:var(--r-surface)}.phase-q-label{font-size:var(--size-small);font-weight:500;color:var(--ink);overflow-wrap:anywhere}.phase-toggle{width:100%}.phase-toggle .seg-opt{flex:1;min-width:64px;justify-content:center;min-height:46px}.phase-toggle .seg-opt[data-answer=yes].active{background:var(--pos);color:#fff}.phase-toggle .seg-opt[data-answer=no].active{background:var(--neg);color:#fff}.verdict-card{--zone-color:var(--ink-12)}.verdict-card.ok{--zone-color:var(--pos);background:color-mix(in srgb,var(--pos) 7%,var(--bg-elevated));border-color:var(--pos-25)}.verdict-card.bad{--zone-color:var(--neg);background:color-mix(in srgb,var(--neg) 7%,var(--bg-elevated));border-color:var(--neg-25)}.verdict-title{font-family:var(--font-body);font-weight:300;letter-spacing:-.02em;font-size:1.6rem;line-height:1.1;color:var(--ink);margin:var(--s2) 0 var(--s3);overflow-wrap:anywhere}.verdict-card.ok .verdict-title{color:#0a7a3c}.verdict-card.bad .verdict-title{color:var(--neg)}.verdict-desc{font-size:var(--size-small);line-height:1.7;color:var(--ink-60);overflow-wrap:anywhere}.verdict-desc strong{color:var(--ink);font-weight:500}.verdict-desc em{display:block;margin-top:var(--s2);font-style:normal;color:var(--ink-60)}.verdict-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:46px;padding:10px 20px;border-radius:var(--r-pill);background:var(--bg-elevated);border:1px solid var(--ink-12);color:var(--ink);font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;cursor:pointer;transition:all var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent}.t-btn svg{width:16px;height:16px;flex-shrink:0}.t-btn:hover,.t-btn:active{border-radius:var(--r-technical);background:var(--ink);color:var(--bg);border-color:var(--ink)}.t-btn.accent{border-color:var(--accent);color:var(--accent);background:var(--bg-elevated)}.t-btn.accent:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--shadow-accent)}.state-note{text-align:center;padding:var(--s6) var(--s4);color:var(--ink-25)}.state-note .state-icon{color:var(--ink-12);margin-bottom:var(--s3);display:inline-block;line-height:0}.state-note .state-icon svg{width:48px;height:48px}.state-note .state-text{font-size:var(--size-small);max-width:320px;margin:0 auto;line-height:1.55;color:var(--ink-60)}.flow-nav{position:sticky;bottom:0;z-index:40;display:flex;gap:var(--s3);padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom));background:var(--bg-overlay);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-top:1px solid var(--ink-12)}.nav-btn{min-height:52px;border-radius:var(--r-pill);border:1px solid var(--ink-12);background:var(--bg-elevated);color:var(--ink-60);font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);transition:all var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent}.nav-btn svg{width:16px;height:16px}.nav-back{flex:0 0 auto;padding:0 var(--s5)}.nav-back:hover{border-radius:var(--r-technical);color:var(--ink);border-color:var(--ink-25)}.nav-next{flex:1;padding:0 var(--s5);background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.nav-next:hover:not(:disabled){border-radius:var(--r-technical);box-shadow:var(--shadow-accent)}.nav-next:disabled{opacity:.4;cursor:not-allowed}.nav-hint{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);text-align:center;padding:0 var(--s3)}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#08080a66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:safe center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--t-med) var(--fluid);padding:var(--s4);overflow-y:auto}.modal-veil.open{opacity:1;pointer-events:auto}.modal-panel{width:100%;max-width:560px;margin:auto;background:var(--bg-elevated);border:1px solid var(--ink-06);border-radius:var(--r-surface);padding:var(--s5);box-shadow:var(--shadow-lg);transform:translateY(16px) scale(.99);transition:transform var(--t-med) var(--snap)}.modal-veil.open .modal-panel{transform:translateY(0) scale(1)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}.modal-eyebrow{font-family:var(--font-data);font-size:var(--size-micro);font-weight:500;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s2)}.modal-eyebrow:before{content:"";width:18px;height:1px;background:var(--accent)}.modal-title{font-family:var(--font-body);font-weight:300;letter-spacing:-.02em;font-size:1.5rem;line-height:1.1;color:var(--ink)}.modal-close{flex-shrink:0;width:36px;height:36px;border-radius:var(--r-pill);border:1px solid var(--ink-12);background:transparent;color:var(--ink-60);display:grid;place-items:center;cursor:pointer;transition:all var(--t-med) var(--fluid)}.modal-close svg{width:16px;height:16px}.modal-close:hover{border-radius:var(--r-technical);color:var(--accent);border-color:var(--accent-25)}.modal-body{font-size:var(--size-small);line-height:var(--lh-reading);color:var(--ink-60)}.modal-body p{margin-bottom:var(--s3)}.modal-body strong{color:var(--ink);font-weight:500}.modal-formula{font-family:var(--font-data);font-size:1rem;color:var(--ink);background:var(--bg-sunken);border-radius:var(--r-technical);padding:var(--s3) var(--s4);text-align:center;margin:var(--s3) 0}.modal-zones{list-style:none;display:flex;flex-direction:column;gap:var(--s2);margin:var(--s3) 0}.modal-zones li{display:flex;align-items:center;gap:var(--s3);font-family:var(--font-data);font-size:var(--size-small)}.modal-zones .zdot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.modal-actions{margin-top:var(--s5);display:flex;justify-content:flex-end;gap:var(--s2)}.form-field{display:flex;flex-direction:column;gap:var(--s1);margin-bottom:var(--s3)}.form-field label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25)}.form-field input,.form-field textarea,.form-field select{width:100%;padding:var(--s2) var(--s3);min-height:44px;background:var(--bg-sunken);border:1px solid var(--ink-06);border-radius:var(--r-technical);color:var(--ink);font-family:var(--font-body);font-size:var(--size-small);outline:none;transition:all var(--t-fast) var(--fluid)}.form-field textarea{min-height:90px;resize:vertical;line-height:1.5}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-12);background:var(--bg-elevated)}.form-feedback{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);margin-top:var(--s2);min-height:1em}.form-feedback.ok{color:var(--pos)}.form-feedback.err{color:var(--neg)}.form-feedback.muted{color:var(--ink-25)}.impressum-text{font-family:var(--font-body);font-size:var(--size-small);line-height:1.7;color:var(--ink-60);white-space:pre-line}.app-foot{padding:var(--s4) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);justify-content:center}.foot-link{background:none;border:0;padding:var(--s1) var(--s2);cursor:pointer;font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-tight);text-transform:uppercase;color:var(--ink-25);transition:color var(--t-fast) var(--fluid)}.foot-link:hover{color:var(--accent)}.foot-sep{color:var(--ink-12)}@media(max-width:480px){.foot-sep{display:none}}@media(max-width:420px){.span-row{flex-direction:column;align-items:flex-start;gap:2px}.span-val{text-align:left}}@media(min-width:1024px){.shell{max-width:1080px;padding:0 var(--s6) var(--s6)}.flow-head{position:static;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:var(--s6) 0 var(--s4)}.fh-title{font-size:1.5rem}.stepper,.flow-nav{display:none}.flow-body{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5);align-items:start}.step{animation:none}.step:not(.hidden){display:block!important}.step[data-step-panel="0"],.step[data-step-panel="3"],.step[data-step-panel="4"]{grid-column:1 / -1}.step[data-step-panel="1"]{grid-column:1}.step[data-step-panel="2"]{grid-column:2}.step-lead{margin-bottom:var(--s4)}.step-h{font-size:1.15rem;font-weight:500;letter-spacing:-.01em}.step-sub{max-width:70ch}.app-foot{padding:var(--s5) 0 var(--s6);justify-content:flex-start}}
