:root{font-family:Arial,Helvetica,sans-serif;color:#253431;background:#f5f3ed;font-size:15px;--red:#9c302b;--line:#dddcd4}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:3px solid #bf8d53;outline-offset:3px}
.topbar{height:94px;padding:18px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:block;width:190px;height:25px}.brand svg{display:block;width:100%;height:100%;overflow:hidden;filter:brightness(0);opacity:.86}.topbar p{font-size:14px;color:#69716c}.topbar p span{margin-left:18px;padding-left:18px;border-left:1px solid #ccc}.project-title{font:normal 29px/1.15 Georgia,serif;letter-spacing:-.4px;margin:0 0 20px}
main{max-width:1680px;margin:0 auto;padding:25px 4vw 28px}.alternative-tabs{display:flex;gap:0}.alternative-tabs button{min-width:180px;padding:18px 30px;border:1px solid #b85b56;border-bottom:0;background:var(--red);font-size:13px;letter-spacing:1.4px;color:#fff}.alternative-tabs button+button{border-left:0}.alternative-tabs button:hover{background:#852722}.alternative-tabs button[aria-selected=true]{background:#68201d;color:#fff;box-shadow:inset 0 -3px #e1ba88}
#plan-panel{background:#fff;border:1px solid var(--line);padding:20px 24px 0}.plan-canvas{overflow-x:auto;width:100%;padding:5px 0}.plan-canvas svg{display:block;width:100%;min-width:930px;height:auto}
.plan-key{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:17px 0;color:#69716c;font-size:12px}.legend{display:flex;flex-wrap:wrap;gap:22px}.legend span{display:flex;align-items:center;gap:8px}.legend span:before{content:'';width:20px;border-top:2px dashed #2a73a4}.legend .outside:before{border-color:#86519b}.legend .butcher:before{border-color:#32745a}.legend .cook:before{border-color:#ba6a23}
.plan-notes{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:16px 0 20px;font-size:13px;line-height:1.6;color:#69716c}.plan-notes p{margin:0;padding-top:8px}.unit-badge{background:#f2e6df;color:#782621;font-weight:bold;padding:7px 12px;border-radius:3px;white-space:nowrap}.plan-key{align-items:center}#equipment-detail{display:grid;grid-template-columns:1fr auto;gap:3px 18px;align-items:center;text-align:left;padding:13px 18px;background:#f7eee8;border:1px solid #dec1b5;border-left:4px solid var(--red);border-radius:3px}.detail-caption{grid-column:1/-1;color:#8d4c43;font-size:10px;letter-spacing:1.2px;font-weight:bold}#equipment-detail strong{color:#253431;font-size:15px;font-weight:normal}#equipment-detail em{font-style:normal;font-size:25px;font-weight:bold;color:var(--red);white-space:nowrap}#equipment-detail small{grid-column:1/-1;font-size:11px;line-height:1.5;color:#785b51}
.equipment{cursor:pointer}.equipment text{pointer-events:none}.equipment:hover .eq-body,.equipment:focus-visible .eq-body,.equipment.selected .eq-body{stroke:var(--red);stroke-width:2.5}.equipment{outline:none}.route{fill:none;stroke-width:1.6;stroke-dasharray:6 6;opacity:.7;pointer-events:none}.dimensions text{paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.dimensions{pointer-events:none}
@media(min-width:1100px){.plan-canvas svg{max-height:calc(100dvh - 410px);min-height:320px}}
@media(max-width:760px){.topbar{height:80px;padding:15px 18px}.brand{font-size:34px}.brand span{font-size:8px}.topbar p{font-size:12px}.topbar p span{margin-left:10px;padding-left:10px}main{padding:20px 12px}.alternative-tabs button{min-width:0;flex:1;padding:16px 8px;font-size:11px;letter-spacing:.8px}#plan-panel{padding:12px 12px 0}.plan-key{align-items:flex-start;font-size:11px}.plan-key>span{white-space:nowrap}.legend{gap:12px}.plan-notes{grid-template-columns:1fr;gap:10px;font-size:12px}#equipment-detail{text-align:left}}
@media print{body{background:white}.topbar{height:65px}main{padding:15px 0}.plan-canvas svg{min-width:0;max-height:none}.plan-notes{font-size:11px}.alternative-tabs button[aria-selected=false]{display:none}}
@media(max-width:760px){.brand{width:150px;height:20px}.project-title{font-size:25px;margin-bottom:18px}.plan-key{align-items:flex-start}.unit-badge{padding:6px 8px;font-size:10px}#equipment-detail{padding:12px;gap:5px 12px}#equipment-detail em{font-size:22px}#equipment-detail strong{font-size:13px}}
.passage-dimension{pointer-events:auto;cursor:pointer;outline:none}.passage-dimension text{font-weight:bold;stroke-width:4px}.passage-dimension.selected line:not(.dimension-hit),.passage-dimension:hover line:not(.dimension-hit),.passage-dimension:focus-visible line:not(.dimension-hit){stroke:var(--red);stroke-width:2}.passage-dimension.selected text,.passage-dimension:hover text,.passage-dimension:focus-visible text{fill:var(--red);font-size:15px}.passage-section{border-top:1px solid var(--line);padding:18px 0 22px}.passage-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:13px}.passage-heading h2{font-size:16px;font-weight:normal;margin:0}.passage-heading p{font-size:11px;color:#69716c;margin:0}#passage-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.passage-button{border:1px solid var(--line);background:#f9f8f4;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:#526158;font-size:12px}.passage-button strong{white-space:nowrap;color:#355947;font-size:15px}.passage-button.selected,.passage-button:hover{background:#f7eee8;border-color:#9c302b}.passage-button.selected strong{color:var(--red)}@media(max-width:1000px){#passage-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){#passage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.passage-heading{display:block}.passage-heading p{margin-top:7px;line-height:1.5}.passage-button{padding:10px 7px;font-size:11px}.passage-button strong{font-size:13px}}
.plan-key{justify-content:flex-end}
.plan-notes{display:flex;justify-content:flex-start;padding:16px 0 18px}#equipment-detail{width:min(100%,500px);padding:12px 16px;gap:10px 18px}#equipment-detail strong{min-width:0;overflow-wrap:anywhere}@media(max-width:480px){#equipment-detail{grid-template-columns:1fr}#equipment-detail em{justify-self:start}}
[hidden]{display:none!important}#moodboard-panel{background:#fff;border:1px solid var(--line);padding:24px}.mood-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.mood-heading h2{font:normal 23px Georgia,serif;margin:0}.mood-heading>span{font-size:10px;letter-spacing:1.6px;color:#8b8075}.mood-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:repeat(2,215px);gap:18px}.mood-grid figure{margin:0;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.mood-grid .mood-hero{grid-row:span 2}.mood-image{display:block;width:100%;height:100%;min-height:0;padding:0;border:0;background:#eeeae2;overflow:hidden;cursor:zoom-in}.mood-image img{display:block;width:100%;height:100%;object-fit:cover}.mood-grid figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-top:10px;font-size:13px;line-height:1.4}.mood-grid figcaption small{font-size:10px;color:#8b8075}.mood-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px}.mood-palette>div{font-size:11px;color:#69716c}.mood-palette span{display:block;height:30px;margin-bottom:9px;border:1px solid #0000000d}.mood-note{margin:18px 0 0;font-size:11px;color:#8b8075}#mood-lightbox{max-width:94vw;max-height:94dvh;border:0;padding:20px;background:#f5f3ed;overflow:auto}#mood-lightbox::backdrop{background:#17201ce0}#mood-full-image{display:block;max-width:85vw;max-height:78dvh;object-fit:contain;margin:auto}#mood-close{position:absolute;right:9px;top:9px;width:36px;height:36px;border:1px solid #ddd;background:#fff;color:#253431;border-radius:50%;font-size:27px;line-height:1}#mood-full-caption{margin:14px 30px 0 0;font-size:13px}
@media(max-width:760px){.alternative-tabs button{padding:15px 6px;font-size:10px;letter-spacing:.2px}#moodboard-panel{padding:16px}.mood-heading h2{font-size:21px}.mood-heading>span{display:none}.mood-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 185px 185px;gap:16px 12px}.mood-grid .mood-hero{grid-column:1/-1;grid-row:auto}.mood-grid figcaption{font-size:11px}.mood-grid figcaption small{font-size:9px}.mood-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.mood-palette>div{font-size:10px}.mood-palette span{height:26px}}
