:root{--ink:#182433;--paper:#f4ead4;--orange:#bb5a2c;--yellow:#e3ad4e;--teal:#355f67;--line:#cbb991;--shadow:0 24px 70px rgba(27,30,29,.2)}
html,body{background:#f4ead4;background-image:linear-gradient(rgba(75,55,32,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(75,55,32,.035) 1px,transparent 1px);background-size:28px 28px}
.app-header,.nav-bar{background:#182433;color:#f8eed8;border-color:#3d4650}.brand{color:#f8eed8}.brand-mark{background:#d39b3c;color:#182433;border-radius:3px}.progress b{background:#d39b3c}.progress i{background:#46505b}.header-actions button,.nav-bar button{background:#263545;color:#f8eed8;border-color:#5d6872}.nav-bar a{color:#ddd0b8}.nav-bar #nextBtn{background:#d39b3c;color:#182433;border-color:#d39b3c}
.slide{background-color:rgba(244,234,212,.9)}.hero{padding:74px 0 76px;background:#182433;position:relative;overflow:hidden;gap:0}.hero-copy{position:relative;z-index:2;width:48%;margin-left:6vw;padding:50px 46px;background:rgba(18,28,39,.88);border:1px solid rgba(239,205,140,.45);box-shadow:0 28px 80px rgba(0,0,0,.38);color:#fff}.hero h1{color:#f8eed8;text-shadow:3px 3px 0 #182433}.hero h2{color:#e2ab4a}.hero-lead{color:#f4e3bf}.hero-visual{position:absolute!important;inset:0;width:100%!important;height:100%;background-image:linear-gradient(90deg,rgba(24,36,51,.2),rgba(24,36,51,0)),url('../images/straw_bridge_title.jpg');background-size:cover;background-position:center;filter:saturate(.9) contrast(1.04)}
.primary-btn{background:#b9572d;box-shadow:0 10px 25px rgba(99,44,22,.25)}.ghost-btn,.small-btn{background:#f9f0dd;border-color:#bba77e}.mission-card,.dark,.truss-demo{background:#1d2d3d}.team-card,.measure-card,.materials button,.principles article,.questions p{border-radius:4px;border-color:#c7b88e}.rule-list li{border-color:#c9b98f}.winner-slide{background:#a94c2b}.finish{background:linear-gradient(135deg,#f1dfb7,#d09a4b)}
dialog{width:min(1120px,96vw);height:min(820px,92vh);max-height:92vh;border-radius:8px;background:#f7eedc}dialog form{height:100%;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}dialog form>header{background:#182433;color:#fff;border:0;padding:18px 26px}dialog form>header h2{color:#f4dfb5}dialog form>header button{color:#fff}.setup-shell{display:grid;grid-template-columns:245px 1fr;min-height:0}.setup-nav{padding:16px 12px;background:#243547;overflow:auto}.setup-nav button{width:100%;display:flex;align-items:center;gap:12px;padding:13px 11px;border:0;border-left:3px solid transparent;background:transparent;color:#e8ddc7;text-align:left;font-weight:700}.setup-nav button span{font:800 11px "DM Sans";color:#d5a64d}.setup-nav button.active{background:#35485b;border-left-color:#e1ab4b;color:#fff}.setup-content{padding:30px 34px;overflow:auto}.setup-panel{display:none}.setup-panel.active{display:block}.setup-panel h3{font-size:30px;margin-bottom:18px}.panel-code{font:800 11px "DM Sans";letter-spacing:.16em;color:#a34e2c}.prep-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.prep-cards article,.flow-list article,.check-list article,.kit-grid article,.file-tools{padding:17px;background:#fffaf0;border:1px solid #d7c8a7;border-radius:4px}.prep-cards b,.flow-list b,.check-list b{font-size:17px}.prep-cards p,.flow-list p,.check-list p{margin:7px 0 0;line-height:1.65}.flow-list,.check-list{display:grid;gap:9px}.flow-list article,.check-list article{display:grid;grid-template-columns:42px 1fr;gap:12px}.flow-list article>span,.check-list article>span{font:800 18px "DM Sans";color:#b3572f}.kit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.kit-grid article{display:flex;justify-content:space-between;gap:15px}.kit-grid strong{color:#a64d2a}.team-tools,.file-tools>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.file-tools{margin-top:24px}.file-tools h4{margin:0 0 5px}.autosave-note{margin:26px 0 0;color:#796e5c;font-size:12px}.team-editor{grid-template-columns:160px 1fr 38px}.settings-grid{max-width:480px}.settings-grid label{padding:12px;background:#fffaf0;border:1px solid #d7c8a7}.setup-content a{color:#9d4829;font-weight:800}dialog form>footer{border-top:1px solid #cfbf9d;background:#efe1c7}#setupStep{font:800 12px "DM Sans";letter-spacing:.12em;margin-left:auto;margin-right:14px}
@media(max-width:850px){.hero{padding-top:62px}.hero-copy{width:86%;margin:8vh auto auto;padding:30px}.hero-visual{background-position:62% center;opacity:.72}.setup-shell{grid-template-columns:1fr}.setup-nav{display:flex;padding:8px;overflow-x:auto}.setup-nav button{min-width:155px}.setup-content{padding:22px}.prep-cards{grid-template-columns:1fr}.kit-grid{grid-template-columns:1fr}}
