@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)}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;padding:var(--s4);transition:background var(--t-med) var(--fluid),color var(--t-med) var(--fluid)}@media(min-width:760px){body{padding:var(--s6)}}.page{max-width:1080px;margin:0 auto;position:relative}::selection{background:var(--accent-12);color:var(--accent)}input{font-family:inherit}button{font:inherit}.hidden{display:none!important}.app-head{display:flex;flex-direction:column;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--ink-12);margin-bottom:var(--s5)}@media(min-width:760px){.app-head{flex-direction:row;align-items:flex-start;justify-content:space-between}}.head-brand{display:flex;flex-direction:column;gap:var(--s2)}.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)}.eyebrow:before{content:"";width:18px;height:1px;background:var(--accent)}.head-title{font-family:var(--font-body);font-weight:300;letter-spacing:-.03em;font-size:clamp(1.7rem,5vw,2.1rem);line-height:1;color:var(--ink)}.head-tools{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.seg-wrap{display:inline-flex;align-items:center;gap:var(--s2)}.seg-label{font-family:var(--font-data);font-size:var(--size-micro);letter-spacing:var(--ls-wide);text-transform:uppercase;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-opt{min-height:38px;padding:7px 13px;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)}.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:40px;padding:8px 16px;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}.custom-add svg{width:18px;height:18px}.empty-icon svg{width:54px;height:54px}.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)}.main-grid{display:grid;grid-template-columns:1fr;gap:var(--s4);align-items:start}@media(min-width:760px){.main-grid{grid-template-columns:1fr 1fr}}.result-area{grid-column:1 / -1}.surface{background:var(--bg-elevated);border:1px solid var(--ink-06);border-radius:var(--r-surface);padding:var(--pad);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color var(--t-med) var(--fluid),box-shadow var(--t-med) var(--fluid),background var(--t-med) var(--fluid)}.surface:hover{box-shadow:var(--shadow-md)}.surface-head{margin-bottom:var(--s4)}.surface-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)}.surface-eyebrow:before{content:"";width:18px;height:1px;background:var(--accent)}.surface-title{font-size:1.05rem;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.surface-title small{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--size-small);color:var(--ink-60);margin-top:3px;letter-spacing:0;line-height:1.4}.product-header{margin-bottom:var(--s5)}.product-input-wrap{position:relative}.product-input{width:100%;padding:var(--s3) var(--s4);background:var(--bg-elevated);border:1px solid var(--ink-12);border-radius:var(--r-pill);color:var(--ink);font-family:var(--font-body);font-size:1.05rem;font-weight:500;letter-spacing:-.02em;outline:none;transition:all 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)}.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(108px,.62fr) auto;align-items:center}}.custom-input{width:100%;padding:var(--s3) var(--s4);min-height:44px;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),background var(--t-fast) var(--fluid)}.custom-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-12);background:var(--bg-elevated)}.custom-input::placeholder{color:var(--ink-25)}.custom-duration-wrap{position:relative;display:flex;align-items:center}.custom-duration-wrap .custom-input{padding-right:42px;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:44px;min-width:44px;border-radius:var(--r-pill);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;cursor:pointer;font-size:1.2rem;line-height:1;transition:all var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent}.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%}}.mat-search{width:100%;padding:var(--s3) var(--s4);min-height:48px;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;margin-bottom:var(--s3);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:320px;overflow-y:auto;margin:0 calc(-1 * var(--s1));padding:0 var(--s1);display:flex;flex-direction:column;gap:var(--s3)}.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(--s3)}.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)}.mat-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s3);min-height:50px;border-radius:var(--r-surface);border:1px solid transparent;cursor:pointer;transition:background var(--t-med) var(--fluid),border-color var(--t-med) var(--fluid);-webkit-tap-highlight-color:transparent}.mat-item:hover{background:var(--accent-06);border-color:var(--accent-25)}.mat-item.selected{background:var(--accent-12);border-color:var(--accent-25)}.mat-item-left{display:flex;align-items:center;gap:var(--s3);min-width:0}.mat-dot{width:9px;height:9px;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-list-empty{padding:20px;text-align:center;color:var(--ink-25);font-size:.875rem}.result-material{font-family:var(--font-data);font-size:var(--size-small);letter-spacing:var(--ls-tight);color:var(--accent);margin-top:4px}.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-25);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) 40px var(--s3) var(--s4);min-height:48px;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.05rem;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}.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);transition:box-shadow var(--t-med) var(--fluid),background var(--t-med) var(--fluid)}.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)}.result-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s5)}.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-product-name{font-family:var(--font-body);font-weight:300;font-size:1.4rem;letter-spacing:-.025em;margin-top:6px;color:var(--ink)}.result-inner{display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:center}@media(min-width:720px){.result-inner{grid-template-columns:auto 1fr auto;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.4rem,16vw,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);min-width:120px}.ddi-number.empty{color:var(--ink-12)}.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(--s2);line-height:1.5}.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}.needle-section{min-width:200px}.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)}.formula-cells{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);margin-top:var(--s5)}@media(min-width:560px){.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}.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)}.result-area>.result-card+.result-card{margin-top:var(--s4)}.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)}.phase-question{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) 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)}.phase-toggle .seg-opt{min-width:64px;justify-content:center}.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)}.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)}.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)}.empty-hint{text-align:center;padding:var(--s7) var(--s4);color:var(--ink-25)}.empty-icon{color:var(--ink-12);margin-bottom:var(--s3);display:inline-block;line-height:0}.empty-text{font-size:var(--size-small);max-width:300px;margin:0 auto;line-height:1.55}.result-spans{display:flex;flex-direction:column;gap:var(--s2);margin-bottom: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)}.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{border-radius:var(--r-technical);border-color:var(--accent-25);color:var(--accent)}.icon-btn.accent{border-color:var(--accent);color:var(--accent)}.icon-btn.accent:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--shadow-accent)}.app-foot{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--ink-12);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);justify-content:center}.foot-link{background:none;border:0;padding:0;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)}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#08080a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items: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:34px;height:34px;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:42px;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}
