/* MSAV AV planning tools — additional calculators and planners. */
.msav-tool-page{overflow:hidden;background:var(--calc-black);color:var(--calc-white);font-family:var(--calc-sans)}
.msav-tool-page *{box-sizing:border-box}.msav-tool-page button,.msav-tool-page input,.msav-tool-page select{font:inherit}
.tool-workspace{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:18px;align-items:start}
.tool-controls,.tool-visual,.tool-output,.tool-summary{border:1px solid var(--calc-line);background:#080808}
.tool-controls{position:sticky;top:86px;padding:24px}.tool-results{display:grid;gap:18px;min-width:0}
.tool-panel-head{margin-bottom:24px}.tool-panel-head h2,.tool-panel-title h2{margin:10px 0 0;font-size:25px;line-height:1.02;letter-spacing:-.045em}
.tool-panel-title{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid var(--calc-line)}.tool-panel-title>p{margin:0;color:var(--calc-muted2);font:500 10px var(--calc-mono);text-align:right}
.tool-field{margin:0 0 18px}.tool-field>label,.tool-input-label>span,.tool-checkbox-title{display:block;margin-bottom:7px;color:rgba(255,255,255,.84);font-size:12px;font-weight:700}
.tool-field input,.tool-field select{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--calc-line);border-radius:0;background:#050505;color:#fff;outline:none}.tool-field input:focus,.tool-field select:focus{border-color:var(--calc-lime);box-shadow:0 0 0 1px var(--calc-lime)}
.tool-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tool-three{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.tool-input-label{display:block}.tool-note{margin:8px 0 0;color:var(--calc-muted2);font:500 9px var(--calc-mono);line-height:1.5;text-transform:uppercase}
.tool-mode-tabs{display:grid;grid-template-columns:repeat(2,1fr);margin:22px 0 20px;border:1px solid var(--calc-line)}.tool-mode-tabs button{min-height:44px;padding:6px;border:0;border-right:1px solid var(--calc-line);background:#050505;color:var(--calc-muted2);font:600 9px var(--calc-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.tool-mode-tabs button:last-child{border-right:0}.tool-mode-tabs button.is-active{background:var(--calc-red);color:#fff}
.tool-checkboxes{display:grid;gap:0;border-top:1px solid var(--calc-line)}.tool-check{display:flex;min-height:48px;align-items:center;gap:11px;border-bottom:1px solid var(--calc-line);cursor:pointer;color:rgba(255,255,255,.82);font-size:12px;font-weight:650}.tool-check input{width:18px;height:18px;accent-color:var(--calc-lime)}
.tool-validation{min-height:17px;margin:12px 0 0;color:#ff9aa3;font-size:11px;line-height:1.45}
.tool-output{padding:24px}.tool-output .calc-metrics{margin-top:2px}
.tool-summary{padding:clamp(24px,3vw,42px)}.tool-summary-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:clamp(44px,7vw,100px)}.tool-summary h2{max-width:620px;margin:16px 0 0;font-size:clamp(34px,3.6vw,58px);line-height:.96;letter-spacing:-.055em}.tool-summary-copy>p:not(.calc-step){max-width:570px;margin:24px 0 0;color:var(--calc-muted);font-size:14px;line-height:1.65}
.tool-list{margin:0;border-top:1px solid var(--calc-line)}.tool-list>div{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:24px;padding:14px 0;border-bottom:1px solid var(--calc-line)}.tool-list dt{color:var(--calc-muted2);font-size:11px}.tool-list dd{margin:0;color:#fff;font-size:12px;font-weight:650;text-align:right}
.tool-callout{margin-top:18px;padding:16px;border:1px solid rgba(214,255,48,.28);background:rgba(214,255,48,.04)}.tool-callout>span{display:block;color:var(--calc-lime);font:600 9px var(--calc-mono);letter-spacing:.08em;text-transform:uppercase}.tool-callout strong{display:block;margin-top:8px;font-size:20px;line-height:1.1}.tool-callout p{margin:8px 0 0;color:var(--calc-muted);font-size:12px;line-height:1.55}
.tool-disclaimer{display:flex;gap:9px;margin:28px 0 0;padding-top:17px;border-top:1px solid var(--calc-line);color:var(--calc-muted2);font-size:10px;line-height:1.55}.tool-disclaimer i{flex:0 0 auto;color:var(--calc-lime);font-size:16px}
/* Projector */
.projector-stage{position:relative;min-height:540px;overflow:hidden;background:radial-gradient(circle at 70% 35%,rgba(220,31,47,.12),transparent 40%),#050505}.projector-stage-grid,.room-stage-grid,.speaker-stage-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px}.projector-scene{position:absolute;inset:36px;display:flex;align-items:center;justify-content:center;gap:60px}.projector-unit{position:relative;flex:0 0 120px;height:70px;border:1px solid var(--calc-line);background:#121212}.projector-unit:before{position:absolute;right:-18px;top:20px;width:34px;height:30px;border:1px solid var(--calc-line);border-radius:50%;background:#090909;content:""}.projector-unit:after{position:absolute;right:-7px;top:29px;width:13px;height:13px;border-radius:50%;background:var(--calc-lime);box-shadow:0 0 18px rgba(214,255,48,.35);content:""}.projector-unit span{position:absolute;right:0;bottom:-27px;left:0;color:var(--calc-muted2);font:600 9px var(--calc-mono);text-align:center;text-transform:uppercase}.projector-beam{position:relative;flex:1;max-width:430px;height:2px;background:linear-gradient(90deg,var(--calc-lime),rgba(214,255,48,.18))}.projector-beam span{position:absolute;top:-28px;left:50%;transform:translateX(-50%);color:var(--calc-muted);font:600 10px var(--calc-mono);white-space:nowrap}.projector-screen-wrap{position:relative;flex:0 0 auto}.projector-screen{display:grid;min-width:150px;min-height:90px;place-items:center;border:5px solid #191919;background:linear-gradient(135deg,#f0f0ec,#bdbdb8);color:#111;box-shadow:0 25px 70px rgba(0,0,0,.5)}.projector-screen strong{font-size:14px}.projector-screen span{display:block;margin-top:5px;color:#555;font:600 9px var(--calc-mono);text-align:center}.projector-measure{position:absolute;right:0;bottom:-32px;left:0;padding-top:7px;border-top:1px solid rgba(255,255,255,.45);color:rgba(255,255,255,.7);font:600 10px var(--calc-mono);text-align:center}
/* Room planner */
.room-stage{position:relative;min-height:570px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(220,31,47,.08),transparent 46%),#050505}.room-plan{position:absolute;inset:58px;display:grid;place-items:center}.room-box{position:relative;width:min(86%,780px);height:min(75%,420px);border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.02)}.room-display{position:absolute;top:-5px;left:50%;width:34%;height:12px;transform:translateX(-50%);background:var(--calc-red);box-shadow:0 8px 24px rgba(220,31,47,.25)}.room-camera{position:absolute;top:14px;left:50%;width:18px;height:10px;transform:translateX(-50%);border-radius:3px;background:var(--calc-lime)}.room-table{position:absolute;top:25%;right:24%;bottom:20%;left:24%;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#101010}.room-seats{position:absolute;inset:0}.room-seat{position:absolute;width:12px;height:12px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#080808}.room-label{position:absolute;color:var(--calc-muted2);font:600 9px var(--calc-mono);text-transform:uppercase}.room-label--display{top:15px;left:18px}.room-label--rear{right:18px;bottom:15px}.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--calc-line);border-left:1px solid var(--calc-line)}.recommendation-card{min-height:165px;padding:20px;border-right:1px solid var(--calc-line);border-bottom:1px solid var(--calc-line)}.recommendation-card>span{color:var(--calc-lime);font:600 9px var(--calc-mono);letter-spacing:.07em;text-transform:uppercase}.recommendation-card h3{margin:28px 0 0;font-size:20px;line-height:1.08;letter-spacing:-.035em}.recommendation-card p{margin:9px 0 0;color:var(--calc-muted);font-size:11px;line-height:1.55}
/* Power planner */
.power-load-list{border-top:1px solid var(--calc-line)}.power-load-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--calc-line)}.power-load-row label{color:rgba(255,255,255,.82);font-size:12px;font-weight:650}.power-load-row input{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--calc-line);background:#050505;color:#fff;outline:none}.power-load-row input:focus{border-color:var(--calc-lime)}.power-stage{position:relative;min-height:480px;overflow:hidden;background:#050505}.power-stage-inner{position:absolute;inset:42px;display:flex;align-items:flex-end;gap:10px}.power-bar{position:relative;flex:1;min-width:0;height:15%;background:#171717;border-top:2px solid var(--calc-red);transition:height .25s ease}.power-bar:nth-child(even){border-top-color:var(--calc-lime)}.power-bar span{position:absolute;right:0;bottom:-25px;left:0;overflow:hidden;color:var(--calc-muted2);font:600 8px var(--calc-mono);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.power-bar b{position:absolute;right:0;top:-25px;left:0;color:#fff;font:600 9px var(--calc-mono);text-align:center}.power-capacity-line{position:absolute;right:42px;left:42px;height:1px;background:rgba(214,255,48,.55);border-top:1px dashed var(--calc-lime)}.power-capacity-line span{position:absolute;right:0;top:-24px;color:var(--calc-lime);font:600 9px var(--calc-mono)}
/* Speaker coverage */
.speaker-stage{position:relative;min-height:570px;overflow:hidden;background:#050505}.speaker-plan{position:absolute;inset:52px;display:grid;place-items:center}.speaker-room{position:relative;width:min(88%,820px);height:min(80%,440px);border:2px solid rgba(255,255,255,.28);background:rgba(255,255,255,.015)}.speaker-dot{position:absolute;width:12px;height:12px;transform:translate(-50%,-50%);border:2px solid var(--calc-lime);border-radius:50%;background:#080808;z-index:2}.speaker-zone{position:absolute;transform:translate(-50%,-50%);border:1px solid rgba(214,255,48,.28);border-radius:50%;background:rgba(214,255,48,.035)}.speaker-room-label{position:absolute;right:12px;bottom:10px;color:var(--calc-muted2);font:600 9px var(--calc-mono)}
/* Landing */
.tools-index{padding:clamp(70px,8vw,120px) 0}.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--calc-line);border-left:1px solid var(--calc-line)}.tool-card{position:relative;display:flex;min-height:290px;flex-direction:column;padding:30px;border-right:1px solid var(--calc-line);border-bottom:1px solid var(--calc-line);background:#080808;color:#fff;text-decoration:none;overflow:hidden;isolation:isolate;transition:border-color .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease}.tool-card::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background:linear-gradient(130deg,rgba(199,255,0,.34) 0%,rgba(199,255,0,.10) 34%,rgba(255,255,255,.10) 54%,rgba(199,255,0,.22) 100%);mix-blend-mode:screen;transition:opacity .25s ease}.tool-card>*{position:relative;z-index:1}.tool-card>span{color:var(--calc-lime);font:600 9px var(--calc-mono);letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease}.tool-card h2{max-width:560px;margin:auto 0 0;font-size:clamp(28px,3vw,46px);line-height:.96;letter-spacing:-.05em;transition:color .2s ease}.tool-card p{max-width:590px;margin:15px 0 0;color:var(--calc-muted);font-size:13px;line-height:1.6;transition:color .2s ease}.tool-card i{position:absolute;right:28px;top:28px;color:var(--calc-lime);font-size:25px;transition:transform .25s ease,color .2s ease}.tool-card:hover,.tool-card:focus-visible{border-color:var(--calc-lime);background:#101010;box-shadow:0 0 0 1px rgba(214,255,48,.14) inset;transform:translateY(-3px);outline:none}.tool-card:hover::before,.tool-card:focus-visible::before{opacity:1}.tool-card:hover h2,.tool-card:focus-visible h2{color:#fff}.tool-card:hover p,.tool-card:focus-visible p{color:rgba(255,255,255,.78)}.tool-card:hover i,.tool-card:focus-visible i{transform:translateX(4px);color:#f3ffac}
/* LED viewing advisor add-on */
.calc-view-advisor{padding-bottom:17px}.calc-view-result{margin-top:12px;padding:14px;border:1px solid rgba(214,255,48,.25);background:rgba(214,255,48,.035)}.calc-view-result>span{display:block;color:var(--calc-lime);font:600 8px var(--calc-mono);letter-spacing:.08em;text-transform:uppercase}.calc-view-result strong{display:block;margin-top:7px;font-size:17px}.calc-view-result p{margin:7px 0 0;color:var(--calc-muted);font-size:10px;line-height:1.5}
@media(max-width:1180px){.tool-workspace{grid-template-columns:1fr}.tool-controls{position:static}.tool-summary-grid{grid-template-columns:1fr}.projector-stage,.room-stage,.speaker-stage{min-height:520px}}
@media(max-width:900px){.recommendation-grid,.tools-grid{grid-template-columns:1fr}.projector-scene{gap:30px}.room-plan,.speaker-plan{inset:36px}.tool-summary-grid{gap:38px}}
@media(max-width:620px){.tool-controls,.tool-output,.tool-summary{padding:19px}.tool-two,.tool-three{grid-template-columns:1fr 1fr}.tool-panel-title{display:block;padding:18px}.tool-panel-title>p{margin-top:9px;text-align:left}.projector-stage{min-height:430px}.projector-scene{inset:28px 14px 48px;gap:18px}.projector-unit{flex-basis:68px;height:45px}.projector-unit:before{right:-13px;top:11px;width:25px;height:23px}.projector-unit:after{right:-4px;top:18px;width:10px;height:10px}.projector-beam{min-width:45px}.room-stage,.speaker-stage{min-height:430px}.room-plan,.speaker-plan{inset:30px 14px}.room-box,.speaker-room{width:95%;height:72%}.recommendation-grid{grid-template-columns:1fr}.tool-list>div{grid-template-columns:1fr;gap:6px}.tool-list dd{text-align:left}.power-stage{min-height:390px}.power-stage-inner{inset:32px 15px 55px}.power-load-row{grid-template-columns:1fr 105px}.tools-index{padding-top:45px}.tool-card{min-height:240px;padding:24px}}
@media(max-width:410px){.tool-two,.tool-three{grid-template-columns:1fr}.projector-scene{gap:11px}.projector-unit{flex-basis:52px}.projector-beam span{font-size:8px}.room-plan,.speaker-plan{inset:24px 10px}.power-load-row{grid-template-columns:1fr 90px}}
/* Aspect ratio / resolution */
.ratio-stage{position:relative;min-height:500px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(220,31,47,.10),transparent 42%),#050505}.ratio-stage-inner{position:absolute;inset:50px;display:grid;place-items:center}.ratio-screen{display:grid;place-items:center;min-width:140px;min-height:90px;border:4px solid #181818;background:linear-gradient(135deg,#8e0d18,#dc1f2f 50%,#52070d);box-shadow:0 28px 70px rgba(0,0,0,.45);transition:width .2s ease,height .2s ease}.ratio-screen strong{font-size:clamp(18px,2vw,30px);line-height:1}.ratio-screen span{display:block;margin-top:8px;color:rgba(255,255,255,.72);font:600 9px var(--calc-mono);text-align:center}.ratio-guides{position:absolute;right:18px;bottom:14px;color:var(--calc-muted2);font:600 9px var(--calc-mono);text-transform:uppercase}
@media(max-width:620px){.ratio-stage{min-height:390px}.ratio-stage-inner{inset:30px 15px}}


/* v0.16.91 — Keep the first planning tool visibly active by default. */
.tool-card:first-child{border-color:var(--calc-lime);background:#101010;box-shadow:0 0 0 1px rgba(214,255,48,.14) inset}
.tool-card:first-child::before{opacity:1}
.tool-card:first-child h2{color:#fff}
.tool-card:first-child p{color:rgba(255,255,255,.78)}
.tool-card:first-child i{color:#f3ffac}
