:root,[data-theme=dark]{--bg: #0a0c10;--bg-elev: #141a24;--bg-field: #10151e;--text: #e8eef5;--muted: #8b9bb0;--accent: #00d4c8;--accent-hi: #2bb3ff;--accent-2: #3dff9a;--warn: #ffb454;--danger: #ff6b6b;--ok: #3dff9a;--border: #243044;--computed: #123028;--input-border: #3a4f68;--header-bg: #0e1218;--radius: 12px;--radius-sm: 10px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--app-max: 560px;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);--meas-h: #6aa8d8;--meas-v: #62c48a;--meas-len: #d4a056;--meas-ang: #b48fd0;--meas-rad: #4eb8c4;--meas-dia: #e08a5a;--meas-count: #8b9bb0;--meas-rem: #c9a227;--meas-neutral: #8b9bb0}[data-theme=light]{--bg: #eef2f6;--bg-elev: #ffffff;--bg-field: #f5f7fa;--text: #0a0c10;--muted: #5a6b7d;--accent: #0097a7;--accent-hi: #0077b6;--accent-2: #0a8a4a;--warn: #b86e00;--danger: #c62828;--ok: #0a8a4a;--border: #c5d0dc;--computed: #e3f5ea;--input-border: #8fa3b8;--header-bg: #ffffff;--radius: 12px;--radius-sm: 10px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--app-max: 560px;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);--meas-h: #2f6f9e;--meas-v: #2a8a52;--meas-len: #a86a1a;--meas-ang: #7a4d9a;--meas-rad: #1f7f88;--meas-dia: #c45e28;--meas-count: #5a6b7d;--meas-rem: #8a6d10;--meas-neutral: #5a6b7d}@media(min-width:768px){:root,[data-theme=dark],[data-theme=light]{--app-max: 720px}}@media(min-width:1024px){:root,[data-theme=dark],[data-theme=light]{--app-max: 1000px}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.35;-webkit-tap-highlight-color:transparent;overflow-x:hidden}#app{min-height:100dvh;max-width:var(--app-max);width:100%;margin:0 auto;display:flex;flex-direction:column;padding-bottom:calc(64px + var(--safe-b))}.screen{padding:var(--space-3) var(--space-3) var(--space-5);flex:1;min-width:0}.screen--more{padding-top:max(10px,env(safe-area-inset-top,0px))}.screen--more .brand-card--more{margin-top:0}.screen__title{margin:0 0 12px;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.app-header{display:flex;align-items:center;gap:10px;min-height:48px;margin:0 0 14px;padding:4px 0 10px;border-bottom:1px solid var(--border)}.app-header__brand{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}.app-header__logo{height:28px;width:auto;display:block;flex-shrink:0}.app-header__mark{height:28px;width:28px;display:block;flex-shrink:0}.app-header__wordmark{display:inline-flex;align-items:baseline;font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1;white-space:nowrap;flex-shrink:0}.app-header__wordmark-toms{color:var(--text)}.app-header__wordmark-space{width:.25em}.app-header__wordmark-dev{font-weight:800;background:linear-gradient(120deg,#3db8c4,#4a7fd4 55%,#6b6fcf);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .app-header__wordmark-toms{color:#14202b}[data-theme=light] .app-header__wordmark-dev{background:linear-gradient(120deg,#1f7f88,#2f6f9e 55%,#5a4d9a);-webkit-background-clip:text;background-clip:text;color:transparent}.app-header__title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;flex:1;min-width:0}.app-header__title--brand{font-size:1.15rem}.app-header__title-base{color:var(--text);font-weight:700}.app-header__title-pro{font-weight:800;background:linear-gradient(120deg,#3db8c4,#4a7fd4 55%,#6b6fcf);-webkit-background-clip:text;background-clip:text;color:transparent}[data-theme=light] .app-header__title-pro{background:linear-gradient(120deg,#1f7f88,#2f6f9e 55%,#5a4d9a);-webkit-background-clip:text;background-clip:text;color:transparent}@media(max-width:380px){.app-header{gap:8px}.app-header__brand{gap:6px}.app-header__wordmark{font-size:.62rem;letter-spacing:.05em}.app-header__title{font-size:.98rem}.app-header__title--brand{font-size:1.05rem}}@media(hover:hover)and (pointer:fine){.app-header__title--brand:hover .app-header__title-pro{filter:brightness(1.12)}}.utility-notice,.notice{margin:0 0 var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--accent-hi) 8%,var(--bg-elev));color:var(--muted);font-size:.88rem;line-height:1.4}.utility-notice--richtwert,.notice--richtwert{background:color-mix(in srgb,var(--warn) 12%,var(--bg-elev));color:var(--text)}.utility-notice--info,.notice--info{background:color-mix(in srgb,var(--accent-hi) 8%,var(--bg-elev))}.chip-row,.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3);align-items:center}.chip{min-height:40px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-field);color:var(--text);font-size:.9rem;line-height:1.2;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chip.is-active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-field));font-weight:600}.utility-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3)}.utility-live{display:grid;gap:var(--space-2);margin-bottom:14px}.data-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--space-3)}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:var(--space-2) 10px;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.tile__meta{display:block;margin-top:2px;font-size:.75rem;font-weight:500;color:var(--muted)}.brand-card{margin:20px 0 8px;padding:20px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);text-align:center}.brand-card__label{margin:0 0 12px;color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.brand-card__logo{width:min(220px,70%);height:auto;margin:0 auto;display:block}[data-theme=light] .brand-card{background:#0a0c10;border-color:#2a3a4d;box-shadow:0 0 0 1px color-mix(in srgb,#0a0c10 18%,transparent),0 10px 28px color-mix(in srgb,#0a0c10 14%,transparent)}[data-theme=light] .brand-card__label{color:#8b9bb0}.search{width:100%;min-height:48px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-field);color:var(--text);padding:0 14px;font-size:1rem;margin-bottom:16px}.search-bar{position:relative;display:flex;align-items:center;margin-bottom:16px}.search-bar__input{margin-bottom:0;padding-right:48px;appearance:none;-webkit-appearance:none}.search-bar__input::-webkit-search-cancel-button{display:none}.search-bar__clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;border-radius:10px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.search-bar__clear:hover,.search-bar__clear:focus-visible{color:var(--text);background:color-mix(in srgb,var(--border) 55%,transparent)}.search-bar__clear[hidden]{display:none}.main-panel{min-width:0}.tile--locked{opacity:.72}.tile--locked .tile__graphic{filter:grayscale(.35)}.tile--soon{opacity:.78;cursor:default;pointer-events:none}.tile--soon .tile__graphic{filter:grayscale(.4)}.tile__soon-badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,var(--bg-elev));border:1px solid var(--border)}.lock-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;color:#c45a5a;background:color-mix(in srgb,#c45a5a 14%,var(--bg-elev));border:1px solid color-mix(in srgb,#c45a5a 35%,var(--border))}[data-theme=light] .lock-badge{color:#9a3030;background:color-mix(in srgb,#c45a5a 10%,#fff)}.lock-badge__text{line-height:1.2}.lock-icon{display:inline-flex;color:inherit}.lock-banner{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,#c45a5a 40%,var(--border));background:color-mix(in srgb,#c45a5a 12%,var(--bg-elev));color:#d07070;font-weight:650;font-size:.92rem}[data-theme=light] .lock-banner{color:#8a2e2e}.feature-lock-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,#05070a 62%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.feature-lock-modal{width:min(100%,360px);padding:22px 20px 18px;border-radius:14px;border:1px solid color-mix(in srgb,#c45a5a 35%,var(--border));background:var(--bg-elev);color:var(--text);text-align:center;box-shadow:0 18px 48px color-mix(in srgb,#000 45%,transparent)}.feature-lock-modal .lock-icon{color:#c45a5a;margin-bottom:8px;justify-content:center}.feature-lock-modal__title{margin:0 0 8px;font-size:1.15rem}.feature-lock-modal__detail{margin:0 0 16px;color:var(--muted);font-size:.92rem;line-height:1.4}.feature-lock-modal__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.utility-intro{margin:0 0 var(--space-2)}.utility-intro__lead,.utility-intro .tool-lead{margin:0 0 var(--space-3);color:var(--muted);font-size:.92rem;line-height:1.4}.utility-controls__lab{font-size:.8rem;color:var(--muted)}.utility-filter{margin-bottom:12px}.data-cards{display:grid;gap:10px}.data-card{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 90%,var(--bg))}.data-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.data-card__title{margin:0;font-size:1rem;font-weight:700}.data-card__badge{font-size:.7rem;font-weight:650;padding:2px 8px;border-radius:999px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb,var(--warn, #c9a227) 12%,transparent)}.data-card__grid{display:grid;gap:6px}.data-card__row{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}.data-card__label{color:var(--muted)}.data-card__value{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.data-card__note{margin:8px 0 0;font-size:.82rem;color:var(--muted);line-height:1.35}.responsive-data .data-cards{display:none}@media(max-width:560px){.responsive-data .data-table-wrap{display:none}.responsive-data .data-cards{display:grid}}.data-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--bg-field) 55%,transparent)}.data-table th{position:sticky;top:0;background:var(--bg-elev);z-index:1}.is-feature-locked .result,.is-feature-locked .util-results{display:none!important}.is-feature-locked .tool__body>:not(.lock-banner){opacity:.55}.is-feature-locked .lock-banner{opacity:1}body.has-feature-lock{overflow:hidden}.util-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:var(--space-2);margin:0 0 var(--space-3)}.util-result{padding:10px var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 88%,var(--bg));border-left:3px solid var(--meas-mark, var(--meas-neutral))}.util-result--primary{grid-column:1 / -1;padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elev))}.util-result--info{grid-column:1 / -1;padding:8px var(--space-3);border-left-width:2px;background:transparent;opacity:.92}.util-result--info .util-result__value{font-size:1rem;font-weight:600;color:var(--muted)}.util-result--horizontal{--meas-mark: var(--meas-h)}.util-result--vertical{--meas-mark: var(--meas-v)}.util-result--length{--meas-mark: var(--meas-len)}.util-result--angle{--meas-mark: var(--meas-ang)}.util-result--radius{--meas-mark: var(--meas-rad)}.util-result--diameter{--meas-mark: var(--meas-dia)}.util-result--count{--meas-mark: var(--meas-count)}.util-result--remainder{--meas-mark: var(--meas-rem)}.util-result--neutral{--meas-mark: var(--meas-neutral)}.util-result__label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:var(--space-1)}.util-result__value-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.util-result__value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--meas-mark, var(--text));line-height:1.15}.util-result--primary .util-result__value{font-size:1.7rem}.util-result__unit{font-size:.85rem;color:var(--muted)}.util-diagram{margin:0 0 var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-field) 70%,transparent);overflow:hidden}.util-diagram svg{display:block;max-width:100%}.util-diag-panel{fill:color-mix(in srgb,var(--meas-h) 45%,transparent);stroke:var(--meas-h);stroke-width:1}.util-diag-rest{fill:color-mix(in srgb,var(--meas-rem) 55%,transparent);stroke:var(--meas-rem);stroke-width:1}.util-diag-outline{stroke:var(--muted);stroke-width:1.25;fill:none}.util-diag-fill{fill:color-mix(in srgb,var(--meas-ang) 28%,transparent);stroke:var(--meas-ang);stroke-width:1.25}.util-diag-text{fill:var(--muted);font-size:11px;font-family:inherit}.utility-links{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 70%,transparent)}.utility-links__lab{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.utility-links__row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.utility-link{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-field);color:var(--text);font-size:.85rem;text-decoration:none}.utility-link:hover,.utility-link:focus-visible{border-color:var(--accent);color:var(--accent)}.utility-body .field{margin-bottom:10px}.utility-workbench{display:grid;gap:8px;width:100%;max-width:100%}.utility-workbench__in,.utility-workbench__out{min-width:0;max-width:100%}@media(min-width:900px){.utility-workbench{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}}@media(max-width:360px){.util-results{grid-template-columns:1fr}.data-table-wrap{max-width:100%}.utility-workbench,.utility-body{overflow-x:clip}}.section-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin:16px 0 8px}.tile-grid{display:grid;gap:10px}.area-hub{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:8px}.area-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:72px;padding:14px 72px 14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);text-align:left;cursor:pointer;overflow:hidden}.area-card:active{transform:scale(.98)}.area-card__title{position:relative;z-index:1;font-size:1.1rem;font-weight:700}.area-card__blurb{position:relative;z-index:1;font-size:.85rem;font-weight:500;color:var(--muted)}.area-card .tile__graphic{opacity:.5}.area-card:hover .tile__graphic,.area-card:focus-visible .tile__graphic{opacity:.78}@media(min-width:480px){.area-hub{grid-template-columns:1fr 1fr}}.tile{position:relative;display:block;width:100%;text-align:left;min-height:64px;padding:14px 72px 14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:1.05rem;font-weight:600;cursor:pointer;overflow:hidden}.tile__label{position:relative;z-index:1;display:block;line-height:1.25}.tile__graphic{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:64px;height:48px;opacity:.58;pointer-events:none;z-index:0}.tile__graphic .tile-graphic__svg{display:block;width:100%;height:100%}.tile:hover .tile__graphic,.tile:focus-visible .tile__graphic{opacity:.82}@media(prefers-reduced-motion:no-preference){.tile__graphic{transition:opacity .15s ease,transform .15s ease}.tile:hover .tile__graphic,.tile:focus-visible .tile__graphic{transform:translateY(-50%) scale(1.04)}}@media(max-width:379px){.tile,.area-card{padding-right:56px}.tile__graphic{right:4px;width:52px;height:39px;opacity:.48}}.tile:active{transform:scale(.98)}.nav{position:fixed;left:0;right:0;bottom:0;max-width:var(--app-max);width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--bg-elev);border-top:1px solid var(--border);padding-bottom:var(--safe-b);z-index:20}.nav__btn{min-height:56px;border:0;background:transparent;color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer}.nav__btn.is-active{color:var(--accent)}.tool__head{display:grid;grid-template-columns:48px minmax(0,1fr) 48px 48px;align-items:center;gap:4px;margin-bottom:10px}.tool__head--compact{grid-template-columns:48px minmax(0,1fr) 48px}.tool__title-cluster{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.tool__title{margin:0;font-size:1.05rem;font-weight:700;text-align:center;line-height:1.25;min-width:0}.tool__graphic{flex:0 0 auto;width:40px;height:30px;display:block;opacity:.9;pointer-events:none}.tool__graphic .tile-graphic__svg{display:block;width:100%;height:100%}@media(max-width:379px){.tool__title-cluster{gap:6px}.tool__graphic{width:32px;height:24px}.tool__title{font-size:.98rem}}.icon-btn{min-width:48px;min-height:48px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:1.2rem;cursor:pointer}.icon-btn.is-on{color:var(--warn);border-color:var(--warn)}.status{padding:10px 12px;border-radius:10px;margin-bottom:12px;font-size:.9rem;font-weight:600;background:var(--bg-elev);border:1px solid var(--border)}.status--ok{border-color:var(--ok);color:var(--ok)}.status--need_more{color:var(--muted)}.status--conflict,.status--invalid{border-color:var(--danger);color:var(--danger)}.field{margin-bottom:var(--space-3)}.field__label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:4px}.field__label .meas-mark{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:.05em;background:var(--meas-mark, var(--muted));flex-shrink:0}.field__row{display:flex;gap:8px;align-items:stretch}.field__input{flex:1;min-height:52px;border-radius:12px;border:2px solid var(--input-border);background:var(--bg-field);color:var(--text);font-size:1.25rem;font-weight:600;padding:0 12px}.field--computed .field__input{background:var(--computed);border-color:var(--ok)}.field--meas-horizontal{--meas-mark: var(--meas-h)}.field--meas-vertical{--meas-mark: var(--meas-v)}.field--meas-length{--meas-mark: var(--meas-len)}.field--meas-angle{--meas-mark: var(--meas-ang)}.field--meas-radius{--meas-mark: var(--meas-rad)}.field--meas-diameter{--meas-mark: var(--meas-dia)}.field--meas-count{--meas-mark: var(--meas-count)}.field--meas-remainder{--meas-mark: var(--meas-rem)}.field--meas-neutral{--meas-mark: var(--meas-neutral)}.field[class*=field--meas-] .field__label{color:var(--meas-mark);font-weight:600}.field[class*=field--meas-] .field__input{border-left-width:3px;border-left-color:var(--meas-mark);color:var(--meas-mark);font-weight:600;font-variant-numeric:tabular-nums}.field--empty[class*=field--meas-] .field__input{color:color-mix(in srgb,var(--meas-mark) 55%,var(--muted));font-weight:500}.field--input[class*=field--meas-] .field__input,.field--computed[class*=field--meas-] .field__input{color:var(--meas-mark)}.field--computed[class*=field--meas-] .field__input{border-color:color-mix(in srgb,var(--meas-mark) 55%,var(--border));border-left-color:var(--meas-mark);border-left-width:3px;background:color-mix(in srgb,var(--meas-mark) 14%,var(--bg-field))}.field__unit,.field__suffix{min-width:64px;min-height:52px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elev);color:var(--muted);font-size:.95rem;display:flex;align-items:center;justify-content:center;padding:0 8px}.field__unit{appearance:none;text-align:center}.result{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:linear-gradient(160deg,#121822,#0f1c1a);border:1px solid var(--border);display:grid;gap:var(--space-2)}[data-theme=light] .result{background:linear-gradient(160deg,#e8f4ff,#e8f8ef)}.result__item{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.result__item:last-child{border-bottom:0;padding-bottom:0}.result__item--primary{display:grid;gap:2px;padding:10px 12px;margin:0 0 4px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))}.result__item--primary .result__label{font-size:.78rem}.result__item--primary .result__value{font-size:1.55rem;font-weight:800;width:100%;text-align:left}.result__item--secondary .result__value{font-size:1.1rem;font-weight:700}.result__item--info{opacity:.9}.result__item--info .result__value{font-size:.95rem;font-weight:600;color:var(--muted)}.result__label{color:var(--muted);font-size:.85rem}.result__value{font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.tool-lead{margin:0 0 var(--space-3);color:var(--muted);font-size:.92rem;line-height:1.4}.field-group{margin:0 0 var(--space-3);padding:var(--space-3);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--bg-elev) 55%,transparent)}.field-group>.section-label{margin-top:0}.tool-panel{display:grid;gap:var(--space-3);width:100%;min-width:0}@media(min-width:900px){.tool-panel--split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--space-5);align-items:start}.tool-panel__visual{position:sticky;top:12px}}.rechenweg{margin-top:10px}.rechenweg__toggle{display:block;width:100%;min-height:44px;padding:10px 14px;border-radius:var(--radius);border:1px dashed var(--border);background:transparent;color:var(--muted);font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.rechenweg__toggle:hover,.rechenweg__toggle:focus-visible{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.rechenweg__panel{margin-top:8px;padding:14px 14px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev)}.rechenweg__section-label{margin:12px 0 6px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.rechenweg__section-label:first-child{margin-top:0}.rechenweg__list,.rechenweg__steps{margin:0;padding:0;list-style:none;display:grid;gap:6px}.rechenweg__steps{list-style:decimal;padding-left:1.25rem}.rechenweg__row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.92rem}.rechenweg__row--result .rechenweg__v{font-weight:700;color:var(--accent)}.rechenweg__k{color:var(--muted);min-width:0}.rechenweg__v{text-align:right;word-break:break-word}.rechenweg__formula{margin:0 0 6px;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:.92rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere;color:var(--text)}.rechenweg__step{font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}.rechenweg__notes{margin-top:12px;display:grid;gap:6px}.rechenweg__note{margin:0;font-size:.86rem;line-height:1.4;color:var(--muted)}.rechenweg__badge{display:inline-block;margin-right:4px;padding:1px 6px;border-radius:6px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.rechenweg__badge--richtwert,.rechenweg__badge--naeherung{background:color-mix(in srgb,var(--meas-ang) 22%,transparent);color:var(--meas-ang)}.rechenweg__badge--hinweis,.rechenweg__badge--formel{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}@media(max-width:379px){.rechenweg__formula,.rechenweg__step{font-size:.9rem}.rechenweg__row{flex-direction:column;gap:2px}.rechenweg__v{text-align:left}}.result__label .meas-mark{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:.05em;background:var(--meas-mark, var(--muted))}.result__item--meas-horizontal{--meas-mark: var(--meas-h)}.result__item--meas-vertical{--meas-mark: var(--meas-v)}.result__item--meas-length{--meas-mark: var(--meas-len)}.result__item--meas-angle{--meas-mark: var(--meas-ang)}.result__item--meas-radius{--meas-mark: var(--meas-rad)}.result__item--meas-diameter{--meas-mark: var(--meas-dia)}.result__item--meas-count{--meas-mark: var(--meas-count)}.result__item--meas-remainder{--meas-mark: var(--meas-rem)}.result__item--meas-neutral{--meas-mark: var(--meas-neutral)}.result__item[class*=result__item--meas-] .result__label{color:var(--meas-mark)}.result__item[class*=result__item--meas-] .result__value{color:var(--meas-mark, var(--text))}.result__item--primary[class*=result__item--meas-] .result__value{color:var(--meas-mark, var(--accent))}.tool__actions{display:flex;gap:10px;margin-top:16px}.btn{flex:1;min-height:52px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:1rem;font-weight:700;cursor:pointer}.btn--primary{background:var(--accent);color:#0a1218;border-color:var(--accent)}.btn--quiet{flex:none;min-height:44px;font-size:.9rem;font-weight:600;color:var(--muted);background:color-mix(in srgb,var(--bg-elev) 70%,transparent);border-color:var(--border)}.btn--quiet:active{color:var(--text)}.more-data{margin:18px 0 0}.more-data>.section-label{margin-top:0}.more-history-card{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);text-align:left;cursor:pointer}.more-history-card:active{transform:scale(.98)}.more-history-card__icon{flex:0 0 auto;display:inline-flex;color:var(--meas-rad, var(--accent))}.more-history-card__text{display:flex;flex-direction:column;gap:2px;min-width:0}.more-history-card__title{font-size:1.05rem;font-weight:700;line-height:1.2}.more-history-card__blurb{font-size:.85rem;font-weight:500;color:var(--muted);line-height:1.3}.more-data-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;width:100%}.more-data-actions .btn{width:100%;margin:0}.more-data+.disclaimer{margin-top:16px}@media(max-width:380px){.more-data-actions{grid-template-columns:1fr}}.hint{margin:0 0 var(--space-3);color:var(--muted);font-size:.88rem;line-height:1.4}.bend-card{margin:0 0 12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 88%,var(--bg));display:grid;gap:8px}.bend-card__title{font-size:.9rem;font-weight:700;color:var(--text)}.bend-card__label{font-size:.78rem;color:var(--muted);margin-top:2px}.bend-dir-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bend-dir-chip{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:8px 12px;white-space:normal;text-align:left;line-height:1.25}.bend-dir-chip__main{font-weight:700;font-size:.9rem;min-width:0}.bend-dir-chip__arrow{flex:0 0 auto;font-weight:700;font-size:1.15rem;line-height:1;color:var(--muted)}.bend-dir-chip.is-active .bend-dir-chip__arrow{color:inherit}@media(max-width:360px){.bend-dir-chips{grid-template-columns:1fr}}.toggle{display:flex;align-items:center;gap:10px;min-height:48px;color:var(--text);margin:8px 0 12px}.linkish{background:none;border:0;color:var(--accent);font-size:1rem;font-weight:600;padding:8px 0;cursor:pointer}.history-item,.settings-row{width:100%;text-align:left;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);margin-bottom:8px;cursor:pointer}.history-item__meta{color:var(--muted);font-size:.8rem;margin-top:4px}.feature-flag{font-weight:700;font-size:.9rem}.feature-flag--on{color:var(--ok)}.feature-flag--off{color:var(--danger)}.muted-value{color:var(--muted);font-size:.9rem;text-align:right;max-width:55%}.lock-screen{display:flex;flex-direction:column;min-height:70vh;justify-content:center;padding-bottom:48px}.lock-screen__title{margin:8px 0 12px;font-size:1.35rem;text-align:center}.lock-screen__msg{margin:0 auto;max-width:28rem;text-align:center;color:var(--muted);font-size:1.05rem;line-height:1.45}.settings-row{display:flex;justify-content:space-between;align-items:center;cursor:default}.settings-row select{min-height:40px;border-radius:8px;border:1px solid var(--border);background:var(--bg-field);color:var(--text);padding:0 8px}.disclaimer{margin-top:24px;color:var(--muted);font-size:.8rem}.empty{color:var(--muted);padding:24px 0}.diagram{margin:8px 0 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);overflow:hidden}.diagram__toggle{display:block;width:100%;min-height:44px;padding:0 14px;border:0;background:transparent;color:var(--muted);font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.diagram__body{padding:0 8px 10px;border-top:1px solid var(--border);overflow:hidden}.diagram__svg{display:block;width:100%;max-width:100%;height:auto}.diagram__svg .diag-axis{stroke:var(--muted);stroke-width:2;fill:none}.diagram__svg .diag-accent{stroke:var(--accent);stroke-width:2.5;fill:none}.diagram__svg line.meas-horizontal,.diagram__svg .diag-axis.meas-horizontal,.diagram__svg .diag-dim.meas-horizontal{stroke:var(--meas-h)}.diagram__svg line.meas-vertical,.diagram__svg .diag-axis.meas-vertical,.diagram__svg .diag-dim.meas-vertical{stroke:var(--meas-v)}.diagram__svg line.meas-length,.diagram__svg .diag-accent.meas-length,.diagram__svg .diag-dim.meas-length,.diagram__svg polyline.meas-length{stroke:var(--meas-len)}.diagram__svg .diag-arc.meas-angle,.diagram__svg path.meas-angle,.diagram__svg .diag-dim.meas-angle{stroke:var(--meas-ang)}.diagram__svg line.meas-radius,.diagram__svg .diag-accent.meas-radius,.diagram__svg .diag-dim.meas-radius{stroke:var(--meas-rad)}.diagram__svg line.meas-diameter,.diagram__svg .diag-dim.meas-diameter{stroke:var(--meas-dia)}.diagram__svg .diag-dim,.diagram__svg .diag-tick,.diagram__svg .diag-right,.diagram__svg .diag-arc{stroke:var(--muted);stroke-width:1.5;fill:none}.diagram__svg .diag-leader{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 2;fill:none;opacity:.75}.diagram__svg .diag-leader.meas-horizontal{stroke:var(--meas-h);opacity:.9}.diagram__svg .diag-leader.meas-vertical{stroke:var(--meas-v);opacity:.9}.diagram__svg .diag-leader.meas-length{stroke:var(--meas-len);opacity:.9}.diagram__svg .diag-leader.meas-angle{stroke:var(--meas-ang);opacity:.9}.diagram__svg .diag-leader.meas-radius{stroke:var(--meas-rad);opacity:.9}.diagram__svg .diag-leader.meas-diameter{stroke:var(--meas-dia);opacity:.9}.diagram__svg .diag-leader.meas-count{stroke:var(--meas-count);opacity:.9}.diagram__svg .diag-leader.meas-remainder{stroke:var(--meas-rem);opacity:.9}.diagram__svg .diag-leader.meas-neutral{stroke:var(--meas-neutral);opacity:.9}.diagram__svg .diag-fill{fill:color-mix(in srgb,var(--accent) 18%,transparent);stroke:var(--accent);stroke-width:1.5}.diagram__svg .diag-fill.diag-fill--soft{stroke:none}.diagram__svg .diag-outline{stroke:color-mix(in srgb,var(--muted) 70%,transparent);stroke-width:1.25;fill:none}.diagram__svg .diag-side{fill:color-mix(in srgb,var(--accent) 28%,transparent)}.diagram__svg .diag-front{fill:color-mix(in srgb,var(--accent) 12%,transparent)}.diagram__svg .diag-overlap{fill:color-mix(in srgb,var(--warn) 45%,transparent);stroke:var(--warn);stroke-width:1}.diagram__svg .diag-rest{fill:color-mix(in srgb,var(--muted) 22%,transparent);stroke:var(--muted);stroke-width:1;stroke-dasharray:4 3}.diagram__svg .diag-mark{fill:var(--accent);stroke:none}.diagram__svg .diag-label{font-size:11px;font-weight:700;fill:var(--text)}@media(max-width:360px){.diagram__svg .diag-label{font-size:10px}.diagram__svg .diag-caption{font-size:9px}}.diagram__svg .diag-label.diag-input{fill:var(--accent-hi)}.diagram__svg .diag-label.diag-computed{fill:var(--accent-2)}.diagram__svg .diag-label.meas-horizontal,.diagram__svg .meas-horizontal.diag-label{fill:var(--meas-h)}.diagram__svg .diag-label.meas-vertical,.diagram__svg .meas-vertical.diag-label{fill:var(--meas-v)}.diagram__svg .diag-label.meas-length,.diagram__svg .meas-length.diag-label{fill:var(--meas-len)}.diagram__svg .diag-label.meas-angle,.diagram__svg .meas-angle.diag-label{fill:var(--meas-ang)}.diagram__svg .diag-label.meas-radius,.diagram__svg .meas-radius.diag-label{fill:var(--meas-rad)}.diagram__svg .diag-label.meas-diameter,.diagram__svg .meas-diameter.diag-label{fill:var(--meas-dia)}.diagram__svg .diag-label.meas-count,.diagram__svg .meas-count.diag-label{fill:var(--meas-count)}.diagram__svg .diag-label.meas-remainder,.diagram__svg .meas-remainder.diag-label{fill:var(--meas-rem)}.diagram__svg .diag-label.meas-neutral,.diagram__svg .meas-neutral.diag-label{fill:var(--meas-neutral)}.diagram__svg .diag-dim.meas-horizontal,.diagram__svg .diag-axis.meas-horizontal,.diagram__svg line.meas-horizontal{stroke:var(--meas-h)}.diagram__svg .diag-dim.meas-vertical,.diagram__svg .diag-axis.meas-vertical,.diagram__svg line.meas-vertical{stroke:var(--meas-v)}.diagram__svg .diag-dim.meas-length,.diagram__svg line.meas-length,.diagram__svg polyline.meas-length,.diagram__svg .diag-accent.meas-length{stroke:var(--meas-len)}.diagram__svg .diag-dim.meas-angle,.diagram__svg path.meas-angle,.diagram__svg .diag-arc.meas-angle{stroke:var(--meas-ang)}.diagram__svg .diag-dim.meas-radius,.diagram__svg line.meas-radius,.diagram__svg .diag-accent.meas-radius{stroke:var(--meas-rad)}.diagram__svg .diag-dim.meas-diameter,.diagram__svg line.meas-diameter{stroke:var(--meas-dia)}.diagram__svg .diag-dim.meas-remainder,.diagram__svg .diag-overlap,.diagram__svg .diag-rest{stroke:var(--meas-rem)}.diagram__svg .diag-overlap{fill:color-mix(in srgb,var(--meas-rem) 45%,transparent)}.diagram__svg .diag-rest{fill:color-mix(in srgb,var(--meas-rem) 22%,transparent)}.diagram__svg .diag-caption{font-size:10px;fill:var(--muted)}.diagram__svg .diag-arc.diag-computed{stroke:var(--meas-ang)}.diagram__preview{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left;border-radius:6px}.diagram__preview:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.diagram__hint{display:block;margin-top:4px;padding:0 2px;color:var(--muted);font-size:.75rem;font-weight:500;letter-spacing:.01em;opacity:.85}body.has-diagram-detail{overflow:hidden}.diagram-detail{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));box-sizing:border-box;background:color-mix(in srgb,#000 58%,transparent);overflow:auto;-webkit-overflow-scrolling:touch}.diagram-detail--animated{opacity:0;transition:opacity .18s ease}.diagram-detail--animated.is-open{opacity:1}.diagram-detail__panel{position:relative;width:min(100%,720px);max-width:100%;max-height:min(92vh,900px);margin:auto;padding:44px 14px 16px;box-sizing:border-box;border-radius:12px;background:var(--bg-elev);border:1px solid var(--border);box-shadow:0 16px 48px color-mix(in srgb,#000 45%,transparent);overflow:auto}.diagram-detail--animated .diagram-detail__panel{transform:scale(.97);transition:transform .18s ease}.diagram-detail--animated.is-open .diagram-detail__panel{transform:scale(1)}.diagram-detail__close{position:absolute;top:6px;right:6px;z-index:1;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:10px;background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer}.diagram-detail__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.diagram-detail__stage{width:100%;overflow:hidden}.diagram-detail__stage .diagram__svg{display:block;width:100%;max-width:100%;height:auto;max-height:min(72vh,640px);margin:0 auto}@media(min-width:720px){.diagram-detail__panel{width:min(92vw,860px);padding:52px 28px 28px}.diagram-detail__stage .diagram__svg{max-height:min(78vh,720px)}}@media(prefers-reduced-motion:reduce){.diagram-detail--animated,.diagram-detail--animated .diagram-detail__panel{transition:none}}.feedback-toast{position:fixed;left:50%;bottom:calc(72px + var(--safe-b));transform:translate(-50%) translateY(12px);max-width:min(90vw,320px);padding:10px 16px;border-radius:10px;background:var(--bg-elev);border:1px solid var(--border);color:var(--text);font-size:.9rem;font-weight:600;box-shadow:0 8px 24px color-mix(in srgb,#000 35%,transparent);opacity:0;pointer-events:none;z-index:40;transition:opacity .18s ease,transform .18s ease}.feedback-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.result.feedback-success-pulse{animation:feedback-success-pulse .45s ease}.status.feedback-error-pulse{animation:feedback-error-pulse .4s ease}.app-header--intro{animation:feedback-header-intro .35s ease}@keyframes feedback-success-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent);border-color:var(--border)}35%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent);border-color:var(--border)}}@keyframes feedback-error-pulse{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes feedback-header-intro{0%{opacity:.65}to{opacity:1}}@media(prefers-reduced-motion:reduce){.feedback-toast{transition:none}.result.feedback-success-pulse,.status.feedback-error-pulse,.app-header--intro{animation:none}}.more-legal{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:center;margin:1.25rem 0 .25rem}.more-legal .linkish{font-size:.9rem}.more-admin-slot:empty{display:none}.legal-screen{display:flex;flex-direction:column;gap:.75rem;padding-bottom:2rem}.admin-entry{display:block;margin:1.5rem auto .5rem;text-align:center;font-size:.85rem;opacity:.7}.more-admin-slot .admin-entry{margin-top:.75rem;font-size:.78rem;opacity:.45}.lock-screen .admin-entry{margin-top:2rem;font-size:.78rem;opacity:.5}.admin-body{display:flex;flex-direction:column;gap:.75rem;padding-bottom:2rem}.admin-input{max-width:11rem;text-align:right}.admin-tool-list{display:flex;flex-direction:column;gap:.5rem}.admin-tool-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;min-height:3.25rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);touch-action:manipulation}.admin-tool-row.is-dragging{opacity:.55}.admin-tool-main{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.admin-order{font-size:.75rem;color:var(--muted, #888)}.admin-moves{display:flex;gap:.35rem;flex-shrink:0}.admin-moves .icon-btn{width:2.5rem;height:2.5rem;font-size:1.1rem}.admin-toggle{font-size:.95rem;line-height:1.3}.admin-ttl-row{align-items:flex-start}.admin-ttl-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-ttl-unit{max-width:8.5rem;text-align:left}
