:root{color-scheme:dark;--bg:#09131c;--panel:#11212b;--panel2:#152833;--line:#2a3d47;--text:#ebf2ef;--muted:#a5b6bc;--accent:#61d8c8;--orange:#ffc58e}
.measurement-context{margin:0 0 22px;padding:16px;border:1px solid #42666a;border-radius:4px;background:#102831}.measurement-context h3{margin:0;font-size:16px}.measurement-context .form-grid{gap:12px}.workbench-details{margin-top:20px;padding:16px;border:1px solid #385e68;border-radius:4px}.workbench-details summary{cursor:pointer;color:#b8eee1;font-weight:700}.workbench-details[open] summary{margin-bottom:18px}.workbench-details .section-heading p{font-size:12px;margin:0;color:#adc6c9}.check-line{display:flex;gap:10px;align-items:start;margin:16px 0;color:#bdd3d4;font-size:12px;line-height:1.5}.check-line input{accent-color:#61d8c8;flex:none}.import-button{display:inline-flex;align-items:center;cursor:pointer}.import-button input{width:170px;margin-left:10px;max-width:100%;font-size:11px}.cluster-table input:not([type=checkbox]),.cluster-table select{width:130px;max-width:100%;padding:9px;border:1px solid #496873;border-radius:3px;background:#102630;color:#e8f4f0}.cluster-table td:nth-child(2){white-space:normal;min-width:150px}.cluster-table input[type=checkbox]{accent-color:#61d8c8}.cluster-table td{color:#c0d5d5}.cluster-table{margin-top:15px}#zone-chart,#alignment-chart{display:block;width:100%;height:auto;border:1px solid #365b65;border-radius:4px;margin-top:18px}#zone-output .table-wrap{margin-top:18px}#zone-output .legend{margin-top:18px}#stereo-library>.action-row:first-of-type{margin-top:12px}#stereo-library .table-wrap{max-height:460px}#zone-output{margin-top:24px}#bass-alignment-panel h2{font-size:22px}#bass-alignment-panel>.form-grid{margin-top:16px}
.guide-instructions{padding-left:20px;color:#bdd3d4;line-height:1.65;font-size:13px}.guide-instructions li{margin:8px 0}.guide-position-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0;color:#9fbbbe;font-size:11px;text-align:center}.guide-position-map span,.guide-position-map strong{padding:10px 5px;border:1px solid #335965;border-radius:4px;background:#122d35}.guide-position-map strong{color:#e8f7f2;border-color:#58a89e;background:#1e4d50}.guide-tasks{display:grid;gap:8px}.guide-position{display:grid;grid-template-columns:150px repeat(2,minmax(0,1fr));gap:8px;align-items:center;padding:9px;border-bottom:1px solid #294650;color:#d1e0df}.guide-task{padding:8px 10px;border-radius:3px;border:1px solid #426470;background:#102631;color:#b9ccce;text-align:left;font-size:12px}.guide-task.is-done{border-color:#4c9b91;background:#173d42;color:#dbf5ed}.guide-position small{grid-column:2/4;color:#e7bb8e;font-size:11px}.record-quality{display:block;margin-top:4px;color:#87a9ad;font-size:10px;line-height:1.4}.import-provenance{padding:13px 0;border-top:1px solid #2b4c56;margin-top:14px}.signal-chain{margin-top:18px;padding:15px;border:1px solid #3b6870;border-radius:4px;background:#102b34}.chain-flow{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px;color:#e2f3ee;font-size:12px;text-align:center}.chain-flow span{flex:1;padding:9px 5px;border:1px solid #47777c;border-radius:4px;background:#173a42}.chain-flow b{color:#61d8c8;font-size:18px}.chain-flow small{display:block;color:#94b8ba;font-size:9px;margin-top:3px}@media(max-width:720px){.guide-position{grid-template-columns:1fr 1fr}.guide-position strong{grid-column:1/-1}.guide-position small{grid-column:1/-1}.guide-position-map{grid-template-columns:repeat(2,1fr)}.chain-flow{overflow-x:auto;justify-content:flex-start}.chain-flow span{min-width:105px}.chain-flow b{flex:none}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 63% 0,#17313b 0,#09131c 31%,#08121a 100%);color:var(--text);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--accent)}.app-shell{max-width:1530px;margin:auto;padding:0 38px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29404a}.brand{display:flex;align-items:center;gap:13px;letter-spacing:.23em;font-size:17px}.brand-mark{font-size:40px;line-height:1;color:var(--accent);font-weight:300}.brand strong{font-family:var(--sans);font-weight:800}.brand small{display:block;letter-spacing:.12em;color:#89a7ad;font-size:9px;text-transform:uppercase;margin-top:3px}.top-right{display:flex;align-items:center;gap:9px;color:#b6c7c8;font-size:12px}.local-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent)}.version{color:#6f8c95;border-left:1px solid #35505a;padding-left:18px;margin-left:10px;letter-spacing:.1em;font-size:10px}
.hero{padding:72px 0 46px;max-width:1080px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--sans)}h1{font-size:clamp(43px,5.3vw,78px);line-height:1.11;letter-spacing:-.065em;margin:18px 0 24px;font-weight:700}h1 em{font-style:normal;color:var(--accent)}.hero p{font-size:17px;line-height:1.75;color:#b8c8ca;max-width:760px}.hero-facts{display:flex;flex-wrap:wrap;gap:27px;margin-top:40px;padding-top:23px;border-top:1px solid #29404a;color:#95afb3;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr);gap:22px;padding-bottom:70px}.primary,.secondary{display:flex;flex-direction:column;gap:22px;min-width:0}.card{background:linear-gradient(145deg,rgba(23,43,53,.95),rgba(15,30,39,.97));border:1px solid #2d4650;border-radius:6px;padding:29px;box-shadow:0 12px 40px #0002}.section-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px}.section-heading h2{font-size:26px;letter-spacing:-.035em;margin:5px 0 0}.section-heading.compact{margin-bottom:12px}.step-badge{font-size:10px;letter-spacing:.12em;border:1px solid #43716f;color:#8ce5da;background:#1d4245;border-radius:6px;padding:8px 12px;white-space:nowrap}.intro-note{line-height:1.6;background:#19343d;border-left:3px solid var(--accent);padding:14px 18px;color:#c0d2d0;margin-bottom:22px}.form-grid,.eq-controls{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field.wide{grid-column:1/-1}.field span,.position-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#a6bdc0;font-weight:700}.field input,.field select{width:100%;min-height:44px;background:#0c1a23;border:1px solid #3a555e;border-radius:4px;padding:10px 12px;color:#e9f2ef;outline:none}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #61d8c824}.field input[type=file]{padding:9px 11px;color:#c0d0d1;font-size:12px}.field input::file-selector-button{background:#284951;color:#d6f6ef;border:0;border-radius:3px;padding:7px 10px;margin-right:12px;cursor:pointer}.field small{color:#8da5ab;font-size:11px}.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}.button{border-radius:4px;min-height:43px;padding:10px 17px;font-weight:700;font-size:12px;letter-spacing:.02em;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:wait}.primary-button{background:var(--accent);border:1px solid var(--accent);color:#09232a}.primary-button span{margin-left:18px}.ghost-button{background:#16303a;border:1px solid #4d686f;color:#d5e9e7}.ghost-button:hover{background:#24454e}.status{color:#9ab6b8;flex:1;font-size:12px;min-width:190px}.status[data-kind=error]{color:#ffb294}.status[data-kind=success]{color:#8de3c1}.progress-track{height:3px;margin-top:18px;background:#24404a;border-radius:3px;overflow:hidden}.progress-track div{height:100%;width:0;background:var(--accent);transition:width .1s}.hidden{display:none!important}
.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #38505a;border-radius:4px;overflow:hidden;margin:4px 0 26px}.result-stats>div{padding:16px 18px;background:#102630}.result-stats>div+div{border-left:1px solid #38505a}.result-stats small{display:block;font-size:10px;letter-spacing:.12em;color:#90adb1}.result-stats strong{display:block;font-family:var(--sans);font-size:21px;margin-top:7px}.chart-head{display:flex;justify-content:space-between;gap:12px;color:#adc0c2;font-size:11px;margin-bottom:15px}.legend{display:flex;gap:15px;flex-wrap:wrap}.legend span:before{content:'';display:inline-block;width:17px;height:3px;vertical-align:middle;margin-right:6px;background:currentColor}.legend-measured{color:#6addcf}.legend-target{color:#dda876}.legend-after{color:#a9b7ff}.chart-wrap{height:310px;background:#0b1d27;border:1px solid #304a55;border-radius:4px;padding:5px;overflow:hidden}.chart-wrap svg{width:100%;height:100%}.axis-label{fill:#829da5;font-size:11px;font-family:var(--sans)}.grid-line{stroke:#2b444d;stroke-width:1}.grid-line.vertical{stroke:#213a44}.zero-line{stroke:#5c747b;stroke-width:1.3}.measured-path,.target-path,.after-path{fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.measured-path{stroke:#61d8c8}.target-path{stroke:#daa572;stroke-dasharray:7 6;stroke-width:1.8}.after-path{stroke:#aab8ff}.analysis-note,.fine-print{font-size:12px;line-height:1.6;color:#a9c0c1;margin:17px 0 0}.eq-controls{margin-bottom:23px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{font-size:10px;letter-spacing:.12em;text-align:left;text-transform:uppercase;color:#81a1a9;border-bottom:1px solid #3b525b;padding:10px 9px}td{font-size:12px;padding:14px 9px;border-bottom:1px solid #2c4650;color:#d8e5e5}td:nth-child(4){color:var(--accent);font-weight:700}
.mode-note{margin-top:18px;padding:13px 16px;border:1px solid #42666a;border-radius:4px;background:#183740;color:#c5dddd;font-size:12px;line-height:1.6}.legend-mic-a{color:#9bdfad}.legend-mic-b{color:#88b9ff}.mic-a-path,.mic-b-path{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.mic-a-path{stroke:#9bdfad}.mic-b-path{stroke:#88b9ff}
.sweep-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.sweep-fields small{grid-column:1/-1;color:#a5bdc0;font-size:11px}.sweep-fields.wide{grid-column:1/-1}
.reference-box{margin-top:18px;padding:17px;border:1px solid #3c6268;border-radius:4px;background:#102a33}.reference-box>strong{color:#8be5d8;font-size:13px}.reference-box p{font-size:12px;line-height:1.55;color:#b4c9c9;margin:7px 0 13px}.reference-box canvas{display:block;width:100%;height:auto;background:#0b1d27;border:1px solid #35515a;border-radius:3px}.reference-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:13px}.reference-actions span{color:#9db8ba;font-size:11px}
.live-card canvas{display:block;width:100%;height:auto;background:#0b1d27;border:1px solid #304a55;border-radius:4px}.live-heading{display:flex;justify-content:space-between;gap:12px;color:#a9c0c1;font-size:11px;margin-bottom:9px}.live-heading strong{color:#75e0c9}.live-heading.second{margin-top:19px}.live-heading strong.clipping{color:#ff6c62;animation:clip-flash .45s alternate infinite}@keyframes clip-flash{from{opacity:1}to{opacity:.35}}
.method-card h3{font-size:20px;line-height:1.35;margin:13px 0}.method-card ol{padding-left:19px;margin:0}.method-card li,.method-card p{font-size:12px;line-height:1.6;color:#b7cbcc}.method-card li+li{margin-top:8px}.method-card p{margin:14px 0 0;color:#e0c6a3}
.scan-import{display:flex;flex-direction:column;gap:9px;margin-top:18px;padding:14px;border:1px solid #3a5861;border-radius:4px;background:#102630}.scan-import small{color:#a4bdc0;font-size:11px}.scan-import a{font-size:11px}.preview-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:19px 0 9px;color:#b9d1d0;font-size:12px}.preview-heading small{flex:1 1 100%}.preview-heading label{display:flex;align-items:center;gap:7px;color:#8eaeb1;font-size:10px}.preview-heading input{width:96px;accent-color:#61d8c8}.room-card #room-3d{display:block;width:100%;height:auto;background:#091b24;border:1px solid #3b5660;border-radius:4px}
.scan-import small[data-kind=success]{color:#83ddbb}.scan-import small[data-kind=error]{color:#ffab93}
.insight-card{background:linear-gradient(150deg,#1c3740,#132b35);border-color:#3a6467}.insight-card h3{font-size:22px;line-height:1.35;margin:15px 0}.insight-card p,.aside-copy{font-size:13px;line-height:1.7;color:#b7cbcc;margin-bottom:0}.mini-line{height:1px;background:#426165;margin:19px 0}.room-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:21px}.room-inputs .field input{min-height:39px}.plan-wrap{background:#0c1d28;border:1px solid #39545e;border-radius:4px;margin-top:20px;padding:12px}.plan-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:560/450}.plan-legend{display:flex;align-items:center;gap:7px;color:#8ba6ad;font-size:10px}.plan-legend i{display:block;flex:1;height:6px;border-radius:6px;background:linear-gradient(90deg,#185e84,#747d80,#af8d45)}.position-label{margin:21px 0 9px}.positions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.positions label{font-size:11px;color:#b6cdcf}.positions input{width:100%;margin-top:4px;background:#0c1a23;border:1px solid #3a555e;border-radius:3px;color:#e9f2ef;padding:8px}.mode-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:19px}.mode-list div{background:#17313a;border:1px solid #31515a;border-radius:3px;padding:10px}.mode-list strong{display:block;color:var(--accent);font-family:var(--sans);font-size:15px}.mode-list span{font-size:10px;color:#9ab7b9}.recommendation{border-left:2px solid var(--orange);padding:10px 13px;background:#2a3236;color:#d5d3c7;line-height:1.55;font-size:12px;margin-top:16px}.export-block{display:flex;flex-direction:column;gap:10px;margin-top:19px}.export-block .button{align-self:flex-start}.export-block a{font-size:12px}.export-block small{color:#829fa5;font-size:10px;overflow-wrap:anywhere}.export-block code{color:#b9d1d1}footer{border-top:1px solid #29404a;padding:24px 0 35px;display:flex;justify-content:space-between;color:#718d96;letter-spacing:.08em;font-size:10px}
@media(max-width:1050px){.layout{grid-template-columns:1fr}.secondary{display:grid;grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:720px){.app-shell{padding:0 17px}.topbar{height:72px}.brand{font-size:13px}.brand-mark{font-size:30px}.top-right{font-size:0}.version{display:none}.hero{padding:54px 0 35px}.hero p{font-size:15px}.hero-facts{gap:13px 20px}.card{padding:20px}.secondary{display:flex}.form-grid,.eq-controls{grid-template-columns:1fr}.field.wide{grid-column:auto}.chart-head{display:block}.legend{margin-top:9px}.result-stats small{font-size:8px}.result-stats strong{font-size:15px}.result-stats>div{padding:12px 8px}.positions{grid-template-columns:repeat(2,1fr)}footer{gap:15px}}

/* Guided workspace */
body{background:radial-gradient(ellipse at 15% -12%,#254b4c 0,transparent 32%),radial-gradient(ellipse at 96% 4%,#213445 0,transparent 30%),#09131c}
.app-shell{max-width:1600px}
.topbar{height:76px}
.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #559b95;border-radius:6px;background:linear-gradient(145deg,#20464b,#143139);font-size:29px;box-shadow:inset 0 1px #ffffff22,0 9px 22px #0003}
.workflow{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:8px;border:1px solid #385660;border-radius:6px;background:#10232bed;box-shadow:0 14px 35px #0005;backdrop-filter:blur(18px)}
.workflow-step{display:flex;align-items:center;gap:12px;min-width:0;min-height:66px;padding:11px 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:#a8bdc0;text-align:left;transition:background .18s,color .18s,border-color .18s}
.workflow-step:hover{background:#1b3741;color:#ebf7f3}
.workflow-step.is-active{background:linear-gradient(135deg,#235057,#1d3c46);border-color:#4e9994;color:#eafff9;box-shadow:inset 0 1px #ffffff1b}
.workflow-step strong,.workflow-step small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-step strong{font-size:13px;font-weight:750}.workflow-step small{font-size:10px;color:#8fa9b0;margin-top:3px}.workflow-step.is-active small{color:#a7d6d3}
.workflow-icon,.quick-icon,.empty-icon,.context-icon{display:grid;place-items:center;flex:none;color:var(--accent)}
.workflow-icon{width:38px;height:38px;border:1px solid #3f5d65;border-radius:4px;background:#1a343e}.workflow-step.is-active .workflow-icon{border-color:#4e9d97;background:#2b6265}
.workflow-icon svg{width:20px;height:20px}.quick-icon svg{width:26px;height:26px}.empty-icon svg{width:33px;height:33px}.context-icon svg{width:27px;height:27px}
.stage-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:32px 4px 26px}.stage-banner h2{margin:7px 0 6px;font-size:clamp(26px,3vw,37px);line-height:1.15;letter-spacing:-.045em}.stage-banner p{margin:0;max-width:840px;color:#9cb4b9;font-size:13px;line-height:1.6}
.info-button{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #5c8c89;border-radius:50%;background:#204249;color:#a4e3dd;font-size:14px;font-family:Georgia,serif;font-weight:700;line-height:1}.info-button:hover,.help-chip:hover{background:#2b6265;color:white}.banner-info{width:34px;height:34px}
.hero{padding:32px 0 36px;max-width:none}.hero h1{font-size:clamp(42px,4.7vw,66px);margin:13px 0 16px}.hero p{max-width:760px;font-size:15px}.hero-facts{margin-top:26px}
.layout{grid-template-columns:minmax(0,1.9fr) minmax(290px,.9fr);gap:18px;padding-bottom:45px}.primary,.secondary{gap:18px}.card{border-color:#37535e;background:linear-gradient(145deg,#18303a,#10232d 76%);box-shadow:0 15px 45px #0003}.card:hover{border-color:#476570}
.stage-hidden{display:none!important}
body[data-stage=room] .primary{display:none}body[data-stage=room] .layout{grid-template-columns:1fr}body[data-stage=room] .secondary{display:flex;flex-direction:column}body[data-stage=room] .room-card{width:100%}body[data-stage=room] .context-card{width:100%}
.welcome-card{padding:31px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-action{display:flex;flex-direction:column;align-items:flex-start;min-height:196px;padding:21px;border:1px solid #3c5962;border-radius:6px;background:linear-gradient(150deg,#1d3c47,#132b35);color:#e7f3f1;text-align:left;transition:transform .18s,border-color .18s,background .18s}.quick-action:hover{transform:translateY(-3px);border-color:#6dcfbe;background:#244953}.quick-icon{width:48px;height:48px;margin-bottom:20px;border-radius:6px;background:#28575c}.quick-action strong{font-family:var(--sans);font-size:17px}.quick-action small{display:block;flex:1;margin-top:6px;color:#a9c0c2;line-height:1.5}.quick-action b{margin-top:16px;color:#83e3d6;font-size:11px}.capability-note{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;padding:16px 18px;border:1px solid #36525b;border-radius:4px;background:#102831;color:#9fb8ba;font-size:11px;line-height:1.5}.capability-note strong{color:#d7f0ea}
.context-card{position:sticky;top:108px;align-self:flex-start;background:linear-gradient(150deg,#204149,#18313a);border-color:#4a7777}.context-card .context-icon{width:50px;height:50px;margin:22px 0 18px;border:1px solid #57918b;border-radius:6px;background:#2d5d5e}.context-card h3{font-size:22px;margin-bottom:10px}.context-card p{color:#afc8c9;font-size:13px;line-height:1.65}.context-card .button{margin-top:7px}
.help-links{display:flex;gap:8px;flex-wrap:wrap;margin:-5px 0 23px}.help-chip{padding:8px 12px;border:1px solid #41676a;border-radius:6px;background:#173741;color:#aee1dd;font-size:11px;font-weight:700}
.chart-cursor{display:flex;align-items:center;min-height:31px;margin-top:6px;color:#8fcfc6;font-size:11px;font-variant-numeric:tabular-nums}.comparison-path{fill:none;stroke-width:1.8;stroke-dasharray:5 4;opacity:.78}.measurement-history{margin-top:20px;padding:19px;border:1px solid #3a5861;border-radius:6px;background:#102831}.history-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.history-head h3{margin:0 0 5px;font-size:17px}.history-head p{margin:0 0 14px;color:#9fbabd;font-size:11px;line-height:1.5}.measurement-list{display:grid;gap:7px}.measurement-row{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid #34525a;border-radius:4px;background:#17313b}.measurement-swatch{width:7px;height:24px;border-radius:3px}.measurement-select{flex:1;min-width:0;border:0;background:none;color:#aec4c6;text-align:left;font-size:12px}.measurement-select[aria-pressed=true]{color:#eafff7;font-weight:700}.measurement-select:hover{text-decoration:underline}.overlay-toggle{display:flex;align-items:center;gap:6px;color:#9eb8ba;font-size:11px;white-space:nowrap}.overlay-toggle input{accent-color:#64d8c7}
.empty-state{display:flex;flex-direction:column;align-items:flex-start;min-height:325px;justify-content:center;padding:44px}.empty-icon{width:66px;height:66px;margin-bottom:20px;border:1px solid #4f8580;border-radius:6px;background:#21474d}.empty-state h2{margin-bottom:8px}.empty-state p{max-width:430px;color:#abc1c3;line-height:1.6}.empty-state .button{margin-top:11px}
.help-dialog{width:min(520px,calc(100vw - 34px));max-height:calc(100vh - 50px);padding:30px;border:1px solid #68a9a0;border-radius:6px;background:linear-gradient(145deg,#1e3d46,#102630);color:#eef9f5;box-shadow:0 30px 100px #000b}.help-dialog::backdrop{background:#020a10bd;backdrop-filter:blur(4px)}.help-dialog h2{margin:10px 0 13px;font-size:26px}.help-dialog p{color:#c2d4d3;font-size:14px;line-height:1.75}.dialog-close{position:absolute;right:18px;top:15px;width:30px;height:30px;border:1px solid #54777a;border-radius:4px;background:#284b53;color:#d9f0e9;font-size:22px}.help-next{padding:13px 16px;border-left:3px solid #71d5c5;background:#1b3c43;color:#d6f2ed;font-size:12px;line-height:1.5}
.eq-measurement{padding:10px 14px;border:1px solid #385f66;border-radius:4px;background:#142e39;color:#a9e1d8;font-size:12px}.filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:21px 0 11px;color:#9ebbbc;font-size:11px}.filter-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.filter-toolbar .button{min-height:34px;padding:7px 10px;font-size:10px}.filter-input{width:84px;padding:8px;border:1px solid #4b7175;border-radius:3px;background:#0c242e;color:#d8f2eb;font-size:12px;font-variant-numeric:tabular-nums}.filter-input:focus{outline:2px solid #61d8c8;outline-offset:1px}#filter-rows input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}#headroom-value{color:#b8c6ff;font-weight:600;white-space:nowrap}button:focus-visible,a:focus-visible{outline:2px solid #8ce1d2;outline-offset:3px}#filter-feedback{min-height:38px}
.stop-button{background:#57302e;color:#ffd7c9;border:1px solid #b27062;font-size:11px;min-height:34px;padding:7px 11px}.field input:disabled,.field select:disabled{opacity:.6}
.stage-banner h1{margin:7px 0 6px;font-size:clamp(26px,3vw,37px);line-height:1.15;letter-spacing:-.045em}.room-workbench{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px}.room-settings,.room-views{min-width:0}
@media(max-width:820px){.room-workbench{grid-template-columns:1fr}.stage-banner h1{font-size:26px}}
.workflow-step>span:last-child{min-width:0}
.section-actions{display:flex;align-items:center;gap:9px}.step-badge[data-kind=real]{border-color:#68c9a6;background:#1c5047;color:#a5f0d1}.step-badge[data-kind=demo]{border-color:#b28358;background:#513b2c;color:#ffd5a8}.step-badge[data-kind=pending]{border-color:#8e6c55;background:#3d302b;color:#edc19d}
.analysis-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.analysis-tabs button{padding:10px 13px;border:1px solid #405e68;background:#142b35;color:#a9c0c5;border-radius:4px;font-size:12px}.analysis-tabs button[aria-pressed=true]{background:#2b6062;border-color:#6dc4b6;color:#e8fff8}.time-controls{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 23px}.time-controls .field{min-width:170px;flex:1}.time-card canvas{display:block;width:100%;height:auto;border:1px solid #35545f;border-radius:4px}.time-card h3{font-size:16px;color:#d0e8e3}.time-card #time-details{border-left:3px solid #caab7e;padding:12px 15px;background:#2b3437;border-radius:3px;color:#d8ccba}.time-card .table-wrap{margin-top:18px}.time-card #time-status:empty{display:none}
.advisor-card{background:linear-gradient(145deg,#193841,#102730)}.advisor-intro{max-width:820px;color:#aec6c7;font-size:12px;line-height:1.65;margin:0 0 18px}.advisor-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:17px}.advisor-metric{padding:12px 13px;border:1px solid #3a5b63;border-radius:4px;background:#122d36}.advisor-metric small{display:block;color:#8eafb2;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.advisor-metric strong{display:block;margin-top:6px;color:#e5f5f0;font-size:14px}.advisor-metric.good{border-color:#39776e}.advisor-metric.good strong{color:#9be2c8}.advisor-metric.warn{border-color:#8b7650}.advisor-metric.warn strong{color:#f0c78e}.advisor-metric.info{border-color:#52768b}.advisor-metric.info strong{color:#b9d7ee}.advisor-list{display:grid;gap:10px}.advisor-item{padding:15px 16px;border:1px solid #365963;border-left:3px solid #79959a;border-radius:4px;background:#102832}.advisor-item.tone-warn{border-left-color:#e4b16f}.advisor-item.tone-danger{border-left-color:#ef856f}.advisor-item.tone-good{border-left-color:#6fd0b4}.advisor-item.tone-info{border-left-color:#87b8df}.advisor-item-head{display:flex;align-items:flex-start;gap:10px}.advisor-item h3{margin:0;color:#e4f3ef;font-size:15px;line-height:1.35}.advisor-priority{flex:none;margin-top:1px;padding:4px 6px;border:1px solid #4b6c70;border-radius:3px;color:#9fc2c2;font-size:9px;letter-spacing:.08em;font-weight:800}.advisor-item p{margin:9px 0 0;color:#b3c9ca;font-size:12px;line-height:1.6}.advisor-item .advisor-action{color:#d9e8df;font-weight:650}.advisor-item.tone-danger .advisor-priority{border-color:#995b52;color:#ffc0ac}.advisor-item.tone-warn .advisor-priority{border-color:#92724e;color:#f0ca94}
.simulation-panel{margin-top:18px;padding:15px;border:1px solid #385d63;border-radius:4px;background:linear-gradient(145deg,#122e37,#102731)}.simulation-panel h3{font-size:17px;margin:0}.simulation-panel .section-heading{margin-bottom:12px}.simulation-panel .button{margin-top:11px}.material-table{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:13px}.material-table div{padding:7px 8px;background:#173842;border-radius:3px;color:#a9c4c3;font-size:10px}.material-table strong{display:block;color:#e0f3ed;font-size:11px}.sub-controls{display:flex;align-items:end;gap:9px}.sub-controls .field{flex:1}.sub-controls .button{margin:0;white-space:nowrap}.simulation-panel .fine-print{margin-top:12px}.distortion-card #distortion-summary{color:#b8d2cf}
.sound-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:#a9c1c3;font-size:10px}.sound-legend span{display:inline-flex;align-items:center;gap:6px}.sound-legend i{display:inline-block;width:19px;height:3px;border-radius:3px}.sound-direct{background:#8df6df}.sound-reflection{background:#ffb770}.sound-reflection-second{background:#b79bff}
.system-config{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.7fr);gap:13px;margin-top:13px}.system-config .field input,.system-config .field select{min-height:39px}.system-config .field select{width:100%;padding:10px 11px;border:1px solid #3a555e;border-radius:3px;background:#0c1a23;color:#e9f2ef}.system-config+.fine-print{margin-top:9px}
.result-stats strong,.mode-list strong{font-family:var(--sans),sans-serif}
#global-stop-btn{position:fixed;right:24px;bottom:24px;z-index:40;box-shadow:0 8px 30px #0008;min-height:44px}
.result-stats{grid-template-columns:repeat(4,1fr)}
.level-preflight{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.8fr);gap:15px 22px;margin:20px 0 16px;padding:15px 17px;border:1px solid #3d686d;border-radius:4px;background:#102d36}.level-preflight strong{display:block;color:#e5f6f0;font-size:14px}.level-preflight p{margin:5px 0 0;color:#a9c3c3;font-size:11px;line-height:1.5;max-width:650px}.level-controls{display:grid;gap:8px;align-content:start}.level-controls .field{min-width:0}.level-actions{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap}.level-result{display:block;min-width:115px;color:#a9c3c3;font-size:11px}.level-result.tone-good{color:#9be2c8}.level-result.tone-warn{color:#f0c78e}.level-result.tone-danger{color:#ffae9e}.level-preflight .level-detail{margin:2px 0 0;color:#d7e9e6;font-size:12px;line-height:1.5}.level-meter{grid-column:1/-1;padding-top:2px}.level-meter-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px;color:#a9c4c3;font-size:11px}.level-meter-head strong{color:#dff5ec;font-size:12px}.level-meter canvas{display:block;width:100%;height:auto;border:1px solid #35545f;border-radius:4px;background:#0b202a}.level-meter .fine-print{margin:7px 0 0}.status[data-kind=error]{color:#ffab9b}.status[data-kind=success]{color:#9de5ca}
@media(max-width:900px){.workflow-step{justify-content:center;flex-direction:column;gap:5px;padding:7px 3px;min-height:64px;text-align:center}.workflow-step strong{font-size:10px}.workflow-icon{width:29px;height:29px;border-radius:4px}.workflow-icon svg{width:17px;height:17px}}
@media(max-width:1050px){.workflow-step{padding:9px}.workflow-step small{display:none}.layout{grid-template-columns:1fr}.secondary{display:flex}.context-card{position:static;align-self:stretch}body[data-stage=overview] .secondary{display:grid;grid-template-columns:1fr 1fr}body[data-stage=overview] .context-card{grid-column:1/-1}}
@media(max-width:720px){.topbar{height:68px}.workflow{gap:3px;margin:12px -5px 0;padding:5px;border-radius:6px}.workflow-step{justify-content:center;flex-direction:column;gap:4px;min-height:60px;padding:6px 2px;text-align:center}.workflow-step strong{font-size:9px}.workflow-icon{width:29px;height:29px;border-radius:4px}.workflow-icon svg{width:17px;height:17px}.stage-banner{padding:26px 0 21px}.stage-banner h2{font-size:26px}.stage-banner p{font-size:12px}.hero{padding:16px 0 30px}.hero h1{font-size:42px}.hero-facts{font-size:9px}.quick-grid{grid-template-columns:1fr}.quick-action{min-height:0;padding:16px}.quick-icon{margin-bottom:9px;width:40px;height:40px}.quick-action small{flex:auto}.quick-action b{margin-top:9px}.secondary,body[data-stage=overview] .secondary{display:flex;flex-direction:column}.measurement-row{gap:6px}.overlay-toggle{font-size:10px}.card{padding:21px}}
@media(max-width:720px){.advisor-metrics{grid-template-columns:1fr}.advisor-item-head{display:block}.advisor-priority{display:inline-block;margin-bottom:7px}}
@media(max-width:720px){.result-stats{grid-template-columns:repeat(2,1fr)}}
.field small[id$="-status"]{color:#8fc8c2;line-height:1.45}
.history-list{display:grid;gap:8px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #345861;border-radius:4px;background:#102932}.history-item strong{display:block;color:#e0f2ed;font-size:13px}.history-item small{display:block;margin-top:4px;color:#9dbabc;font-size:10px;line-height:1.45}.history-actions{display:flex;gap:7px;flex:none}.history-actions .button{min-height:31px;padding:7px 10px;font-size:10px}
@media(max-width:720px){.history-item{display:block}.history-actions{margin-top:9px}.history-actions .button{width:100%}}
@media(max-width:720px){.level-preflight{grid-template-columns:1fr}.level-actions{align-items:stretch}.level-actions .button{flex:1}.level-result{min-width:0;flex-basis:100%}}
/* Measurement-backed treatment planning */
.treatment-card,.treatment-card #treatment-comparison{scroll-margin-top:115px}.treatment-scenario .action-row{margin:0;flex-basis:100%}.treatment-scenario{flex-wrap:wrap}#qrd-drawing svg{display:block;width:100%;height:auto;margin:18px 0;border:1px solid #375762;border-radius:4px}
.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.treatment-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0;padding:14px;background:#16343d;border-radius:4px;color:#c5dedb;font-size:13px}.treatment-confirm input{width:18px;height:18px;accent-color:#61d8c8}.treatment-card details{margin-top:22px;padding:16px;border:1px solid #375762;border-radius:4px}.treatment-card summary{cursor:pointer;color:#c5ebe4;font-weight:650;font-size:14px}.treatment-card details ul{font-size:13px;line-height:1.9}.treatment-card #treatment-chart{display:block;width:100%;height:auto;background:#0b1d27;border:1px solid #375762;border-radius:4px;margin:14px 0}.treatment-card td:last-child{white-space:normal;min-width:180px}.treatment-scenario{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #375762}.treatment-scenario p{flex:1;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.treatment-card .table-wrap{max-width:100%}.treatment-card details a{overflow-wrap:anywhere}
@media(max-width:900px){.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.treatment-grid{grid-template-columns:1fr}.treatment-scenario{flex-wrap:wrap}.treatment-scenario p{flex-basis:100%}}
.guide-next{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#163b43;border:1px solid #497d80;border-radius:6px;padding:20px;margin:18px 0}.guide-next h3{margin:8px 0;color:#ddf6f0}.guide-next p{max-width:700px;color:#b6d1d1;font-size:13px;line-height:1.6}.guide-next .button{flex-shrink:0}#guide-meter{width:100%;height:10px;accent-color:#62d7c7}#advisor-list .button{margin-top:12px}#spectral-controls .form-grid{margin-top:16px}#stereo-timing details{margin-bottom:20px}#stereo-timing{scroll-margin-top:120px}@media(max-width:720px){.guide-next{display:block}.guide-next .button{margin-top:10px}}

.history-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}.history-toolbar .check-line{margin:0}.history-toolbar [role=status]{color:#a9c0c1;font-size:12px;font-variant-numeric:tabular-nums}.history-choice{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1;cursor:pointer}.history-choice>input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--accent)}.history-choice>span{min-width:0;overflow-wrap:anywhere}.history-item.is-selected{border-color:var(--accent);background:#16363e}.history-choice:focus-within{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}
@media(max-width:720px){.history-toolbar>.button{flex:1}.history-item .history-actions{padding-left:30px}}

.filter-type-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0 10px}.filter-type-head small{display:block;color:#93aeb3;font-size:12px;margin-top:2px}.filter-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.filter-type{display:flex;flex:1;align-items:center;gap:10px;padding:9px 11px;min-height:56px;border:1px solid #3a5f69;border-radius:4px;background:#102631;color:#d9ebe8;text-align:left;font-size:12px;line-height:1.3}.filter-type:hover{border-color:#61d8c8}.filter-type svg{width:34px;height:24px;flex:none;color:#61d8c8}.filter-type strong{display:block;font-size:12px}.filter-type small{color:#93aeb3;font-size:10px}.filter-table select{padding:7px;border:1px solid #496873;border-radius:3px;background:#102630;color:#e8f4f0;max-width:150px}.filter-table input:disabled{opacity:.35}.filter-table tr.is-hover td{background:#173a42}.filter-remove{background:none;border:1px solid #4d6c76;color:#cfe3e2;border-radius:3px;padding:4px 8px}.legend-filter{color:#9aafff}.legend-combined{color:#ffc18c}.filter-path{fill:none;stroke:#9aafff;stroke-width:1.2;stroke-opacity:.55}.filter-path.is-hover{stroke:#ffffff;stroke-width:2.4;stroke-opacity:1}.combined-path{fill:none;stroke:#ffc18c;stroke-width:1.6;stroke-dasharray:6 4}.preset-preview{white-space:pre-wrap;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#c8dcdb;background:#0d2029;border:1px solid #2f4b55;border-radius:4px;padding:12px;margin:12px 0;max-height:220px;overflow:auto}.danger-button{border-color:#8a4a4a;color:#f2b8b8}.device-check{display:grid;gap:8px;margin-top:14px}.device-check div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #2f4b55;border-radius:4px;background:#0f2430;font-size:12px}.device-check b{color:#61d8c8}.device-check .tone-warn b{color:#ffc58e}.device-check .tone-bad b{color:#f798ae}.ppg-bands{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}@media(max-width:720px){.ppg-bands{grid-template-columns:1fr}}.ppg-bands table{width:100%}.ppg-log{max-height:180px;overflow:auto;font-size:11px;color:#b5cbcc;border:1px solid #2f4b55;border-radius:4px;padding:8px 10px;margin-top:10px}



#mic-release{margin-top:8px;font-size:12px;padding:7px 11px}#mic-status{display:block;margin-top:6px;line-height:1.45}#mic-status[data-kind=warn]{color:#ffc58e}#mic-status[data-kind=error]{color:#f798ae}#mic-status[data-kind=success]{color:#7fe0cf}

#room-3d{touch-action:none}

.positions{display:grid;grid-template-columns:1fr;gap:10px}.position-group{display:grid;grid-template-columns:minmax(120px,1.3fr) 1fr 1fr;gap:9px;align-items:end;padding:9px 11px;border:1px solid #33525c;border-radius:4px;background:#0f2430}.position-name{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#dceceb;padding-bottom:8px}.position-name i{width:11px;height:11px;border-radius:50%;flex:none}.dot-speaker{background:#56dfd4}.dot-seat{background:#ffcf8e}.position-hint{margin:0 0 12px}.position-hint strong{color:#cfe3e2}@media(max-width:720px){.position-group{grid-template-columns:1fr 1fr}.position-name{grid-column:1/-1;padding-bottom:0}}

.channel-badge{background:#123640;border-color:#4e9d95;color:#8ff0df}.filter-channel{display:flex;align-items:center;gap:10px;margin:18px 0 10px;padding:11px 14px;border:1px solid #4e9d95;border-radius:4px;background:#102f36;font-size:13px;color:#dff2ef}.filter-channel strong{font-weight:700}.filter-channel small{color:#9fc2c0;font-weight:400}.channel-dot{width:13px;height:13px;border-radius:50%;flex:none;background:#56dfd4}.channel-dot[data-channel=right]{background:#9aafff}.channel-dot[data-channel=stereo]{background:linear-gradient(90deg,#56dfd4 50%,#9aafff 50%)}

.zone-recommend{margin:4px 0 20px;padding:13px 15px;border:1px solid #4e9d95;border-left:4px solid #61d8c8;border-radius:4px;background:#0f2e33;color:#cfe6e2;font-size:13px;line-height:1.6}.zone-recommend strong{color:#e9f7f3}.single-eq-note{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:6px 0 18px;padding:13px 15px;border:1px solid #6b5a3c;border-left:4px solid #ffc58e;border-radius:4px;background:#2a2419;color:#e9dcc6;font-size:13px;line-height:1.6}.single-eq-note strong{color:#ffe2bd}.single-eq-note .button{flex:none;white-space:nowrap}@media(max-width:720px){.single-eq-note{flex-direction:column;align-items:stretch}}.narrow-flag{color:#ffc58e}

#zone-eq,#eq-card,#ppg-card{scroll-margin-top:120px}

.ppg-download{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 8px;padding:14px 16px;border:1px solid #4e9d95;border-left:4px solid #61d8c8;border-radius:4px;background:#0f2e33}.ppg-download strong{display:block;color:#eaf7f3;font-size:14px}.ppg-download small{display:block;color:#a9c8c4;font-size:12px;margin-top:3px;max-width:520px}.ppg-download .action-row{margin:0}.ppg-source{margin-top:0}.geo-timing{margin:14px 0 20px;padding:14px 16px;border:1px solid #4e9d95;border-radius:4px;background:#0f2e33}.geo-timing .device-check{margin-top:10px}.timing-subhead{margin:22px 0 6px;font-size:15px}.device-check .tone-warn{border-color:#8a6f3e;background:#2a2419}

.band-off td{color:var(--faint)}.band-off input:not([type=checkbox]){opacity:.3}

.impression-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.impression-chip{padding:10px 14px;border:1px solid #3a5f69;border-radius:6px;background:#102631;color:#d9ebe8;font-size:13px}.impression-chip[aria-pressed=true]{border-color:#61d8c8;background:#17423f;color:#effaf7;box-shadow:0 0 0 2px #61d8c833}.tone-table td.is-peak{color:#ffc58e;font-weight:700}.tone-table tr.is-relevant td:first-child{color:#8ff0df;font-weight:700}.listen-diagnosis{margin:10px 0 4px;padding:12px 14px;border-left:4px solid #61d8c8;border-radius:4px;background:#0f2e33;color:#d6ebe7;font-size:13px;line-height:1.6}.listen-diagnosis p{margin:0 0 6px}.listen-diagnosis p:last-child{margin:0}.listen-steps{margin:6px 0 0;padding-left:20px;color:#cfe3e1;font-size:13px;line-height:1.65}.listen-steps li{margin:6px 0}.listen-filter{margin:8px 0;padding:12px 14px;border:1px solid #6b5a3c;border-left:4px solid #ffc58e;border-radius:4px;background:#2a2419;color:#e9dcc6;font-size:13px;line-height:1.6}.listen-filter strong{color:#ffe2bd}.effect-table td,.effect-table th{text-align:center}.effect-table td:first-child{color:#9fbfc0}.band-tone td:first-child{color:#ffc58e}.band-tone td:first-child::after{content:' ♪';}

body[data-stage=room] .context-card{order:3}.expert-section{padding:0;overflow:hidden}.expert-section>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:20px 26px}.expert-section>summary::-webkit-details-marker{display:none}.expert-section>summary::before{content:'▸';grid-row:1/4;font-size:18px;color:#61d8c8;transition:transform .15s}.expert-section[open]>summary::before{transform:rotate(90deg)}.expert-kicker{font-size:10px;letter-spacing:.2em;color:#ffc58e;font-weight:700}.expert-section>summary strong{font-size:17px;color:#e6f2ef}.expert-section>summary small{color:#9fbabd;font-size:12px}.expert-body{display:flex;flex-direction:column;gap:22px;padding:0 26px 26px;border-top:1px solid #2d4650}.expert-body>.card{background:none;border:none;box-shadow:none;padding:22px 0 0}


/* 0.8 · Five-step flow and projects */
.workflow{grid-template-columns:minmax(0,.8fr) repeat(5,minmax(0,1fr))}
.workflow-step{position:relative}
.workflow-number{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:6px;border:1px solid #4d7078;border-radius:50%;font-size:10px;font-weight:800;color:#bfe3dd;vertical-align:1px}
.workflow-step.is-done .workflow-number{background:#2f7d6a;border-color:#61d8c8;color:#eafff9}
.workflow-step.is-done .workflow-number{font-size:0}.workflow-step.is-done .workflow-number::after{content:'✓';font-size:10px}
.workflow-step.is-next:not(.is-active){border-color:#8a6a3f;border-style:dashed}
.workflow-step.is-next:not(.is-active) .workflow-number{border-color:var(--orange);color:var(--orange)}
.project-card h2{margin-bottom:0}
.project-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin:6px 0 20px}
.project-bar .action-row{margin:0}
.project-next{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid #4e9994;border-radius:6px;background:linear-gradient(135deg,#1f4a50,#173640)}
.project-next h3{margin:6px 0 4px;font-size:20px}.project-next p{margin:0;color:#bcd3d2;font-size:13px;line-height:1.55}
.project-steps{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.project-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 14px;border:1px solid #2f4a53;border-radius:4px;background:#10252e}
.project-step strong{display:block;font-size:14px}.project-step small{display:block;color:#9fb7bb;font-size:12px;margin-top:2px}
.project-step-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid #4d7078;border-radius:50%;font-weight:800;color:#bfe3dd}
.project-step.is-done .project-step-number{background:#2f7d6a;border-color:#61d8c8;color:#eafff9}
.project-step.is-next{border-color:#8a6a3f}.project-step.is-next .project-step-number{border-color:var(--orange);color:var(--orange)}
.project-step .button{padding:7px 12px}
.project-series{margin-top:20px}.project-series .eyebrow{margin-bottom:8px}
.project-series-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-top:1px solid #2a3f48}
.project-series-row strong{display:block;font-size:13px}.project-series-row small{display:block;color:#9fb7bb;font-size:12px;margin-top:2px}
#project-status[data-kind=success]{color:#83ddbb}#project-status[data-kind=error]{color:#ffab93}
.phase-note{margin:0 0 16px}
.ppg-active-line{margin:4px 0 16px;padding:12px 14px;border:1px solid #8a6a3f;border-radius:4px;background:#2a2518}
.check-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.check-channel{padding:16px;border:1px solid #2f4a53;border-radius:6px;background:#0f232c;min-width:0}
.check-channel h3{margin:0 0 8px;font-size:16px}
.check-verdict{margin:0 0 12px;padding:10px 12px;border-radius:4px;font-size:13px;line-height:1.5;background:#183740;color:#d5ebe8}
.check-verdict.is-pass{border-left:3px solid #61d8c8}.check-verdict.is-review{border-left:3px solid var(--orange)}.check-verdict.is-fail{border-left:3px solid #ff8a73}
.check-chart{display:block;width:100%;height:auto;background:#0b1d27;border:1px solid #304a55;border-radius:4px}
.check-chart .grid{stroke:#23404a;stroke-width:1}.check-chart .grid.zero{stroke:#3d6470}
.check-chart text{fill:#86a3a8;font-size:10px;font-family:inherit}
.check-chart path,.check-chart .legend line{fill:none;stroke-width:1.8;stroke-linejoin:round}
.check-chart .target{stroke:#a5b6bc;stroke-dasharray:4 4;stroke-width:1.2}
.check-chart .before{stroke:#ffc58e;opacity:.85}.check-chart .after{stroke:#61d8c8;stroke-width:2.2}
.check-table{width:100%;margin:12px 0 8px;border-collapse:collapse;font-size:12px}.check-table th:not(:first-child),.check-table td:not(:first-child){text-align:right;white-space:nowrap}
.check-table th{text-align:left;color:#8fa9b0;font-weight:600;padding:5px 4px;border-bottom:1px solid #2f4a53}
.check-table td{padding:6px 4px;border-bottom:1px solid #1f3740}
.check-table td.is-better{color:#83ddbb;font-weight:700}.check-table td.is-worse{color:#ffab93;font-weight:700}
@media(max-width:720px){.workflow{grid-template-columns:repeat(6,minmax(0,1fr))}.workflow-number{display:none}.workflow-icon{position:relative}.workflow-step.is-done .workflow-icon::after{content:'✓';position:absolute;right:-5px;top:-5px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#2f7d6a;color:#eafff9;font-size:9px;font-weight:800}.project-bar{grid-template-columns:1fr}.project-next{flex-direction:column;align-items:stretch}.project-step{grid-template-columns:30px minmax(0,1fr)}.project-step .button{grid-column:2;justify-self:start}.project-series-row{flex-direction:column;align-items:stretch}}
/* 0.7.17 · PPG values on screen, backup */
.ppg-values-card{border-color:#4e9994}
.ppg-values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:10px 0 16px}
.ppg-values-side{padding:14px 16px;border:1px solid #2f4a53;border-radius:6px;background:#0f232c;min-width:0}
.ppg-values-side h3{margin:0 0 8px;font-size:15px}
.ppg-values-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.ppg-values-table th{text-align:left;color:#8fa9b0;font-weight:600;font-size:11px;letter-spacing:.06em;padding:5px 4px;border-bottom:1px solid #2f4a53}
.ppg-values-table td{padding:7px 4px;border-bottom:1px solid #1f3740}
.ppg-values-table th:not(:first-child),.ppg-values-table td:not(:first-child){text-align:right}
.ppg-values-table tr.band-off td{color:var(--faint)}.ppg-values-table tr.band-off td:last-child{text-align:right}
.ppg-values-table tr.band-tone td:first-child{color:var(--orange)}
.ppg-values-timing{padding:14px 16px;border:1px solid #2f4a53;border-radius:6px;background:#0f232c;margin-bottom:12px}
.ppg-values-timing h3{margin:0 0 10px;font-size:15px}
.ppg-values-shift{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ppg-values-shift>div{padding:10px 12px;border:1px solid #2f4a53;border-radius:4px}
.ppg-values-shift>div.is-delayed{border-color:#8a6a3f;background:#2a2518}
.ppg-values-shift span{display:block;color:#8fa9b0;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ppg-values-shift b{display:block;font-size:22px;font-family:var(--sans);margin:2px 0}
.ppg-values-shift small{color:#b7cbcc;font-size:12px}
.ppg-values-empty{padding:16px;border:1px dashed #3d5d66;border-radius:6px;margin:10px 0 16px}
.ppg-values-empty p{color:#b7cbcc;font-size:13px;margin:4px 0 10px}
.ppg-values-demo{padding:10px 12px;border-radius:4px;background:#3a2020;color:#ffb3a3;font-weight:700}
.backup-status{font-size:13px;line-height:1.55;color:#b7cbcc}
.backup-status[data-kind=success]{color:#83ddbb}.backup-status[data-kind=error]{color:#ffab93}
@media(max-width:720px){.ppg-values-grid,.ppg-values-shift{grid-template-columns:1fr}}
.ppg-values-table td,.ppg-values-table td:last-child{color:var(--text);font-weight:500}.ppg-values-table tr.band-off td,.ppg-values-table tr.band-off td:last-child{color:var(--faint)}

.project-finish{border-color:#4e9994;background:linear-gradient(145deg,#1d4148,#132b35)}.project-finish h2{margin:6px 0 8px}#finish-status[data-kind=success]{color:#83ddbb}#finish-status[data-kind=error]{color:#ffab93}

/* 0.8.3 · acoustic delay */
.delay-result{margin:14px 0;padding:14px 16px;border:1px solid #2f4a53;border-left:4px solid #61d8c8;border-radius:4px;background:#0f232c}
.delay-result.is-review{border-left-color:var(--orange)}.delay-result.is-fail{border-left-color:#ff8a73}
.delay-result strong{display:block;font-size:16px;margin-bottom:6px}
.delay-reason{color:#ffb3a3;font-size:13px;margin:6px 0}
.delay-subhead{font-size:15px;margin:16px 0 10px}
.delay-recommendation{margin-bottom:12px}
#delay-status[data-kind=success]{color:#83ddbb}#delay-status[data-kind=error]{color:#ffab93}

/* 0.8.9 · decay before/after */
.decay-block{margin:16px 0}.decay-block h3{font-size:15px;margin:0 0 8px}
.decay-chart{display:block;width:100%;height:auto;border:1px solid #304a55;border-radius:4px;background:#0b1d27}
.decay-missing{margin:14px 0;padding:14px 16px;border:1px dashed #8a6a3f;border-radius:4px;background:#2a2518}
.decay-missing p{margin:6px 0;color:#d9cbb6;font-size:13px}
#decay-status[data-kind=error]{color:#ffab93}#decay-status[data-kind=success]{color:#83ddbb}

/* Expert mode: one switch for the whole app. Deferred features stay hidden in both modes. */
body:not(.expert-mode) [data-level=expert],[data-level=deferred]{display:none!important}
body:not(.expert-mode) [data-level=pro-expert],body:not(.plan-pro) [data-level=pro-expert]{display:none!important}
/* Folded five-point series (app.mjs syncGuideScope): the heading with its button only. */
#measurement-guide.guide-folded>:not(.section-heading){display:none!important}
#measurement-guide.guide-folded .measure-tiles,#measurement-guide.guide-folded .step-badge{display:none!important}
.guide-fold{margin-left:auto}
.expert-toggle{display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;color:#b6c7c8;background:transparent;border:1px solid #35505a;border-radius:4px;padding:7px 11px 7px 8px;cursor:pointer;margin-right:8px}
.expert-toggle:hover{border-color:#61d8c8;color:#ebf2ef}
.expert-toggle:focus-visible{outline:2px solid #61d8c8;outline-offset:2px}
.expert-track{position:relative;width:30px;height:16px;border-radius:3px;background:#1d333b;border:1px solid #4a6770;transition:background .15s}
.expert-track span{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:2px;background:#8aa3a8;transition:transform .15s,background .15s}
.expert-toggle[aria-checked=true]{color:#ebf2ef;border-color:#61d8c8}
.expert-toggle[aria-checked=true] .expert-track{background:#1f5a58;border-color:#61d8c8}
.expert-toggle[aria-checked=true] .expert-track span{transform:translateX(14px);background:#61d8c8}
@media(max-width:720px){.expert-toggle{font-size:12px;padding:6px 9px 6px 7px;margin-right:4px}.topbar .brand small{display:none}}
@media(max-width:400px){.expert-label{font-size:0}.expert-label::after{content:'Experte';font-size:12px}}

/* Prüftabelle und Referenztitel der erzeugten Testmusik */
.reference-table{width:100%;border-collapse:collapse;margin:14px 0 6px;font-size:.88rem}
.reference-table caption{text-align:left;font-weight:600;padding-bottom:6px;color:var(--text)}
.reference-table th,.reference-table td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--line)}
.reference-table th{font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.reference-table td:nth-child(2){font-variant-numeric:tabular-nums;white-space:nowrap}
.reference-table td:nth-child(3){color:var(--muted);white-space:nowrap}
.reference-table tr.is-pass td:first-child::before{content:"● ";color:#61d8c8}
.reference-table tr.is-review td:first-child::before{content:"● ";color:var(--orange)}
.reference-titles{margin-top:10px}
.reference-titles summary{cursor:pointer;font-weight:600;font-size:.9rem}
.reference-titles ul{list-style:none;margin:10px 0 4px;padding:0;display:grid;gap:8px}
.reference-titles li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.reference-titles li span{color:var(--muted);font-variant-numeric:tabular-nums}
.reference-titles li small{grid-column:1/-1;color:var(--muted)}

/* Rechnen und Zeigen im 3D-Modell: zwei eindeutige Knöpfe statt Umschalter */
.view-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.view-tools .is-on{border-color:var(--accent);background:#1b3f45;color:#bff3ea}

/* Schallwege nach Frequenzbereich, Akustikelemente und Animation */
.paths-tools{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
#paths-canvas{width:100%;height:auto;background:#08171f;border:1px solid #2d4650;border-radius:5px;cursor:pointer}
.paths-transport{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:14px 0 6px}
.paths-time{flex:1;min-width:240px;display:flex;flex-direction:column;gap:6px}
.paths-time span,.paths-speed span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#a6bdc0;font-weight:700}
.paths-time input{width:100%}
.paths-speed{display:flex;flex-direction:column;gap:6px}
.paths-speed select{min-height:40px;background:#0c1a23;border:1px solid #3a555e;border-radius:4px;color:#e9f2ef;padding:6px 10px}
.paths-heading{font-size:16px;margin:26px 0 10px;letter-spacing:-.01em}
.paths-table{width:100%;border-collapse:collapse;white-space:normal}
.paths-table th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#81a1a9;border-bottom:1px solid #3b525b;padding:9px;text-align:left}
.paths-table td{font-size:12px;padding:11px 9px;border-bottom:1px solid #2c4650;color:#d8e5e5;vertical-align:top}
.paths-table tr.is-treated td{background:rgba(97,216,200,.07)}
.paths-table small{display:block;color:#93aeb2;margin-top:5px;line-height:1.5}
.paths-select{width:100%;min-height:38px;background:#0c1a23;border:1px solid #3a555e;border-radius:4px;color:#e9f2ef;padding:6px 8px}
.paths-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}
.paths-spot{display:grid;gap:5px;padding:13px 0;border-bottom:1px solid #2c4650}
.paths-spot.is-treated{background:rgba(97,216,200,.06)}
.paths-spot-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.paths-spot-head span{color:#9ab6b8;font-size:11px;white-space:nowrap}
.paths-spot small{color:#93aeb2;line-height:1.5}
.paths-spot button{justify-self:start;margin-top:6px}

.paths-speaker{margin:18px 0 10px}
.paths-curve{width:100%;height:auto;margin:14px 0 4px;background:#0b1d27;border:1px solid #2c4650;border-radius:4px}
.paths-advice{margin:8px 0 0;padding-left:18px;color:#bcd2d3;font-size:12px;line-height:1.7}
.paths-advice li{margin-bottom:4px}

.materials-add{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.materials-add select{flex:1;min-width:180px;min-height:40px;background:#0c1a23;border:1px solid #3a555e;border-radius:4px;color:#e9f2ef;padding:6px 10px}
.materials-note{display:block;color:#93aeb2;font-size:11px;line-height:1.5;margin:-4px 0 8px 2px}

/* Filter im 3D-Modell: was gezeigt wird */
.view-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.view-filters-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#87a3a8;font-weight:700;margin-right:2px}
.chip{border:1px solid #3f5c64;background:#12272f;color:#aec6c8;border-radius:999px;padding:7px 13px;font-size:11px;font-weight:600;letter-spacing:.01em;cursor:pointer}
.chip:hover{background:#1b3a43}
.chip.is-on{border-color:var(--accent);background:#1b3f45;color:#bff3ea}
.room-tools{margin-top:16px;border-top:1px solid #2c4650;padding-top:12px}
.room-tools>summary{cursor:pointer;font-weight:700;font-size:12px;letter-spacing:.02em;color:#bcd2d3}
.materials-positions{margin-top:22px;border-top:1px solid #2c4650;padding-top:16px}

.paths-details{margin-top:18px;border-top:1px solid #2c4650;padding-top:12px}
.paths-details>summary{cursor:pointer;font-weight:700;font-size:13px;letter-spacing:-.01em;color:#dfeceb;padding:2px 0}
.paths-details>summary:hover{color:#8de3d6}
.paths-details[open]>summary{margin-bottom:10px}

.sound-legend .sound-marker{display:inline-block;width:11px;height:11px;border-radius:50%;border:1.6px solid #c3aaff;background:transparent;vertical-align:middle;margin-right:6px}
.sound-legend .sound-trap{display:inline-block;width:5px;height:13px;border-radius:2px;background:#5aa9ff;vertical-align:middle;margin-right:6px}

/* A choice with pictures and a search field (pick-list.mjs, Jonas 30.09.2026) */
.pick-field{display:grid;gap:4px;font-size:12.5px;color:var(--muted,#9db3b5);min-width:0}
.pick-current{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:4px 10px 4px 4px;border:1px solid #3c5d66;border-radius:4px;background:#0b1f26;color:var(--text,#e9efec);font:500 14px/1.25 var(--sans,inherit);text-align:left;cursor:pointer}
.pick-current:hover,.pick-current:focus-visible{border-color:var(--accent,#61d8c8);outline:none}
.pick-current .pick-picture{width:40px;height:40px;border-radius:4px;flex:none}
.pick-current-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-chevron{color:var(--muted,#9db3b5);font-size:12px}
.pick-dialog{width:min(720px,calc(100vw - 24px));max-height:min(82vh,780px);padding:0;border:1px solid var(--line,#29474f);border-radius:8px;background:var(--panel,#10272f);color:var(--text,#e9efec);box-shadow:0 30px 90px #000a}
.pick-dialog[open]{display:flex;flex-direction:column}
/* Only the list gives way when the window is full; it starts at its own height
   (WebKit, the iPhone app, reads flex:1 as no height at all: the window
   showed just its head and the search line). */
.pick-dialog[open]>:not(.pick-list){flex:none}
.pick-dialog::backdrop{background:rgba(4,14,18,.72)}
.pick-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 4px}
.pick-head h3{margin:0;font-size:15px;font-weight:500}
.pick-close{width:32px;height:32px;border:1px solid var(--line,#29474f);border-radius:4px;background:transparent;color:var(--text,#e9efec);font-size:20px;line-height:1;cursor:pointer}
/* Other lists of the window beside its close button (pick-list.mjs views): "Wände", "Boden / Decke". */
.pick-views{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.pick-views[hidden]{display:none}
.pick-views .button{min-height:32px;padding:6px 12px;font-size:12px}
/* „Größe beibehalten“ in „Objekt ändern“ (06.10.2026): a switch beside the close button, as the expert switch. */
.pick-toggle{display:inline-flex;align-items:center;gap:8px;margin-left:auto;min-height:32px;padding:5px 10px 5px 9px;border:1px solid var(--line,#29474f);border-radius:4px;background:transparent;color:#b6c7c8;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.pick-views:not([hidden])+.pick-toggle{margin-left:0}
.pick-toggle:hover{border-color:#61d8c8;color:#ebf2ef}
.pick-toggle:focus-visible{outline:2px solid #61d8c8;outline-offset:2px}
.pick-toggle-track{position:relative;flex:none;width:30px;height:16px;border-radius:3px;background:#1d333b;border:1px solid #4a6770;transition:background .15s}
.pick-toggle-track span{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:2px;background:#8aa3a8;transition:transform .15s,background .15s}
.pick-toggle[aria-checked=true]{color:#ebf2ef;border-color:#61d8c8}
.pick-toggle[aria-checked=true] .pick-toggle-track{background:#1f5a58;border-color:#61d8c8}
.pick-toggle[aria-checked=true] .pick-toggle-track span{transform:translateX(14px);background:#61d8c8}
.pick-search{margin:8px 16px 10px;height:40px;padding:0 12px;border:1px solid #3c5d66;border-radius:4px;background:#0b1f26;color:var(--text,#e9efec);font:16px var(--sans,inherit)}
.pick-search:focus{border-color:var(--accent,#61d8c8);outline:none}
.pick-list{flex:1 1 auto;min-height:0;overflow:auto;padding:0 16px 16px;overscroll-behavior:contain}
.pick-group[hidden],.pick-tile[hidden],.pick-grid[hidden]{display:none}
.pick-group h4{margin:12px 0 8px;font:500 11px var(--sans,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--champagne,#d9c9ae)}
/* a group folds by a tap on its name (pick-list.mjs) */
.pick-group-head{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;-webkit-user-select:none;border-radius:4px}
.pick-group-head::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .15s}
.pick-group-head[aria-expanded=false]::after{transform:rotate(-45deg)}
.pick-group-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* What the other lists hold that fits the search (pick-list.mjs): under a fine line, its heads without the fold mark. */
.pick-elsewhere{display:grid;gap:14px;margin-top:6px;padding-top:12px;border-top:1px solid var(--line-soft,#2d4650)}
.pick-elsewhere[hidden]{display:none}
.pick-other .pick-group-head{cursor:default}
.pick-other .pick-group-head::after{display:none}
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.pick-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 10px;border:1px solid var(--line-soft,#1e3a42);border-radius:6px;background:rgba(10,26,32,.55);color:var(--text,#e9efec);font:500 12.5px/1.25 var(--sans,inherit);text-align:center;cursor:pointer}
.pick-tile:hover,.pick-tile:focus-visible{border-color:var(--accent,#61d8c8);background:rgba(21,51,64,.7);outline:none}
.pick-tile.is-current{border-color:var(--accent,#61d8c8);box-shadow:inset 0 0 0 1px var(--accent,#61d8c8)}
.pick-tile .pick-picture{width:64px;height:64px;border-radius:5px}
.pick-hint{font-size:11px;color:var(--muted,#9db3b5);font-weight:400}
.pick-none,.pick-note{margin:0;padding:6px 16px 14px;color:var(--muted,#9db3b5);font-size:12.5px}
@media (max-width:560px){
  /* On a phone the window is always tall, the list fills it (Jonas, 09.10.2026:
     „ich glaube das popup ist einfach viel zu kurz“). */
  .pick-dialog{width:calc(100vw - 12px);max-height:88vh;height:88vh;height:88dvh}
  .pick-head{flex-wrap:wrap}
  .pick-views{order:3;width:100%;justify-content:flex-start;margin-left:0}
  .pick-toggle{order:3;margin-left:auto}
  .pick-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}
  .pick-tile .pick-picture{width:56px;height:56px}
}

/* What is still missing in step B: clearly, only in the menu with the three
   buttons, the button names as links; "Weiter: Messen" makes it blink (Jonas 30.09.2026) */
.placement-missing{margin:12px 0 4px;padding:12px 14px;border:1px solid rgba(217,201,174,.4);border-left:3px solid var(--champagne,#d9c9ae);border-radius:4px;background:rgba(217,201,174,.08);color:var(--text,#e9efec);font-size:14px;line-height:1.55}
.placement-missing .link-button{font:inherit;font-weight:500;color:var(--accent,#61d8c8);text-decoration:underline;text-underline-offset:2px}
.placement-missing.is-flash{animation:placement-blink .55s ease-in-out 3}
@keyframes placement-blink{50%{background:rgba(217,201,174,.34);border-color:var(--champagne,#d9c9ae)}}
@media(prefers-reduced-motion:reduce){.placement-missing.is-flash{animation:none;background:rgba(217,201,174,.22)}}

/* Raum per Hand: Parallel bleibt festgesetzt bis zum erneuten Tippen; ⊕ setzt
   einen Punkt auf die Wand (floor-plan-ui.mjs, Jonas 01.10.2026) */
.plan-parallel.is-on{border-color:rgba(217,201,174,.55);background:rgba(217,201,174,.1);color:var(--champagne,#d9c9ae)}
.plan-insert{display:grid;place-items:center;width:32px;height:30px;padding:0;border:1px solid var(--line,#29474f);border-radius:4px;background:none;color:var(--muted,#9db3b5);cursor:pointer}
.plan-insert svg,.plan-pop-insert-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.plan-insert:hover{color:var(--accent,#61d8c8);border-color:var(--accent,#61d8c8)}
.plan-insert:focus-visible{outline:2px solid var(--accent,#61d8c8);outline-offset:1px}
.plan-pop .plan-pop-insert-btn{display:inline-flex;align-items:center;gap:6px}
.plan-pop-insert .plan-insert-field{display:inline-flex;align-items:center;gap:6px;padding:0 4px 0 8px;font:600 12px var(--sans,inherit);color:var(--champagne,#d9c9ae);white-space:nowrap}
.plan-pop-insert input{width:70px;height:32px;padding:0 6px;border:0;border-radius:3px;background:rgba(233,239,236,.08);color:var(--text,#e9efec);font:600 16px var(--sans,inherit);text-align:right}
.plan-pop-insert input:focus{outline:1px solid var(--accent,#61d8c8)}
.plan-pop .plan-pop-ok{color:var(--accent,#61d8c8)}
@media(pointer:coarse){.plan-insert{width:44px;height:44px}}

/* A text button that deletes, asked once (placement-ui.mjs askFirst): red with "Sicher?". */
.button.is-sure{border-color:#c46a6a;background:#c46a6a;color:#1a0b0b;font-weight:600}
.button.is-sure:hover:not(:disabled){border-color:#d27d7d;background:#d27d7d;color:#1a0b0b}
/* The title of a picker with the line over it: which choice it shows. */
.pick-titles{display:flex;flex-direction:column;gap:2px;min-width:0}
.pick-kicker{font:600 10.5px var(--mono,"IBM Plex Mono",monospace);letter-spacing:.14em;text-transform:uppercase;color:rgba(233,239,236,.55)}

/* Raummoden an/aus in Schritt C (sound-step-ui.mjs): an in den Farben der Moden, Überdruck orange, Unterdruck blau. */
.sound-modes-toggle{min-height:32px;padding:4px 16px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:600 11.5px/1 var(--mono);cursor:pointer}
.sound-modes-toggle:hover{color:var(--text)}
.sound-modes-toggle.is-on{border-color:transparent;color:#0b1a20;background:linear-gradient(90deg,rgb(255,150,62),rgb(86,160,255))}
.sound-modes-line{margin:6px 0 0;font:500 12px/1.45 var(--mono);color:var(--text)}
/* Die Frequenz der Schallwelle über der Legende von Schritt C (sound-step-ui.mjs frequencyNodes). */
.sound-freq-line{margin:0 0 6px;font:500 12px/1.45 var(--mono);color:var(--text)}
.sound-freq-note{margin:0 0 6px;font-size:11.5px;line-height:1.5;color:var(--faint)}

/* Step B: the three starts as square tiles of step A (placement-ui.mjs startTile), three in a row. */
.materials-side .placement-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.materials-side .placement-start .room-source-btn{width:auto;height:auto;aspect-ratio:1/1;min-width:0;padding:8px 6px;gap:8px;font-size:12.5px;hyphens:auto;-webkit-hyphens:auto}
.materials-side .placement-start .room-source-btn.is-due{border-color:var(--accent);background:rgba(97,216,200,.09)}
.placement-tile-icon{display:flex;line-height:0}

.music-suggestion-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

/* Jump targets of the room suggestions (Ergebnis): below the sticky step rail. */
#materials-card,#tp-plan,.mp-block{scroll-margin-top:120px}
