/* A room, a bound volume, and a working bench. The book owns its own layout. */
#workshop-dialog{--book-ink:#302c21;--book-muted:#6d6857;--book-rule:#b9ad8d;--book-green:#354c40;box-sizing:border-box;width:min(1500px,96vw);max-width:none;height:min(930px,94dvh);max-height:none;margin:auto;padding:0;border:1px solid #9e8654;border-radius:5px;background:#171e1b;color:#f5ecd7;box-shadow:0 25px 100px #000b;overflow:hidden;font-family:'Barlow Semi Condensed',system-ui,sans-serif}
#workshop-dialog::backdrop{background:#0b1613b8;backdrop-filter:blur(5px)}
#workshop-dialog[open]{animation:open-volume 220ms ease-out}
@keyframes open-volume{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
#workshop-dialog *{box-sizing:border-box}
#workshop-dialog button{font:inherit;cursor:pointer}
#workshop-dialog button:focus-visible{outline:3px solid #ad7840;outline-offset:-3px}
#workshop-dialog button:disabled{cursor:default}
.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.atelier-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 26px;border-bottom:1px solid #6c6246;background:#19221ee8}
.atelier-header .eyebrow{color:#b4b5a0}
.atelier-header h1{font-size:26px;margin-top:4px;letter-spacing:.025em}
.atelier-tabs{display:flex;align-self:stretch;gap:20px}
.atelier-tabs button{padding:8px 4px;border-bottom:2px solid transparent;color:#abae9e;font-size:15px!important}
.atelier-tabs button[aria-pressed=true]{color:#f4dfac;border-color:#d0b16a}
.atelier-tabs button:hover{color:#fff4d7}
.leave-workshop{width:36px;min-width:36px;height:36px;min-height:36px;padding:0!important;border:1px solid #b7985a77!important;background:transparent;color:#e9d5a6;display:flex;gap:0;align-items:center;justify-content:center;font-size:0!important;line-height:1}
.leave-workshop:hover{background:#b7985a22;color:#fff1ce}
.leave-workshop span{font-size:0}
.atelier-body{height:calc(100% - 88px);display:grid;grid-template-columns:29% 71%}
.atelier-scene{position:relative;min-width:0;background:linear-gradient(0deg,#111d19 0%,#142119d9 18%,transparent 57%),url('./assets/illustrations/workshop-interior.png') 27% 25%/auto 100% no-repeat}
.atelier-caption{position:absolute;bottom:0;left:0;right:0;padding:32px 27px}
.atelier-caption .eyebrow{color:#d6bf89;font-size:9px}
.atelier-caption h2{font-family:Fraunces,Georgia,serif;font-size:clamp(24px,2.5vw,39px);line-height:1.2;font-weight:600;margin:12px 0 16px}
.atelier-caption p{color:#d3d5c5;font-size:15px;line-height:1.5;max-width:29ch}
.atelier-staff{display:flex;gap:24px;border-top:1px solid #a2a58655;padding-top:18px;margin-top:25px}
.atelier-staff div{display:flex;flex-direction:column;gap:3px}.atelier-staff b{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:600;color:#f2dba7}.atelier-staff span{color:#b7bdab;font-size:12px}
.atelier-pause{display:block;margin-top:22px;font-size:11px;letter-spacing:.05em;color:#bcc4af}
.invention-volume{display:flex;min-width:0;flex-direction:column;background:#e8dfc7;color:var(--book-ink);border-left:5px solid #594630;box-shadow:inset 6px 0 13px #57411b22;padding:0 23px;overflow:hidden}
.volume-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex:none;min-height:89px;padding:19px 3px 15px}
.volume-heading .eyebrow{color:#776747;font-size:9px}
.volume-heading h2{font-family:Fraunces,Georgia,serif;font-size:29px;margin-top:5px;letter-spacing:-.03em}
.volume-count{font-size:12px;color:#6c654f;white-space:nowrap}
.chapter-ribbons{display:flex;border-top:1px solid #b8aa86;border-bottom:1px solid #b8aa86;flex:none;justify-content:space-between;gap:2px;padding:5px 0}
.chapter-ribbons button{min-width:0;padding:8px 6px;font-size:11px!important;text-align:center;flex:1;color:#71654a;display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px}
.chapter-ribbons button span{font-size:15px}.chapter-ribbons button[aria-current=page]{color:#f6eaca;background:#3b5041;box-shadow:0 3px 0 #24392e}
.chapter-ribbons button:hover{background:#cfc2a0;color:#282c21}.chapter-ribbons button[aria-current=page]:hover{background:#354b3d;color:#fff}
.book-spread{display:grid;grid-template-columns:35% 65%;min-height:0;flex:1;overflow:hidden}
.chapter-page{display:flex;flex-direction:column;min-height:0;padding:26px 19px 15px 3px;border-right:1px solid #bdb095;box-shadow:9px 0 13px -11px #3e2e20}
.chapter-heading .eyebrow{color:#8a744c}.chapter-heading h3{font-family:Fraunces,Georgia,serif;font-size:28px;margin:7px 0}.chapter-heading p{color:#776b52;font-size:12px;margin:4px 0 21px}
.invention-list{margin:0;padding:0;list-style:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ac9870 transparent;min-height:0;flex:1}
.invention-row{width:100%;display:flex;align-items:center;gap:10px;padding:13px 8px!important;border-bottom:1px solid #b8ab882e;position:relative;min-height:61px;text-align:left}
.invention-row strong{display:block;font-size:15px;font-weight:500}.invention-row small{display:block;margin-top:3px;font-size:10px;color:#7f735a;letter-spacing:.035em}
.invention-row .node-mark{width:19px;text-align:center;color:#938467;font-size:19px;flex:none}.invention-row .node-arrow{margin-left:auto;opacity:0;color:#405747}
.invention-row.available .node-mark{color:#3f5945}.invention-row.known .node-mark{color:#446047}.invention-row.studying .node-mark{color:#9c652c}
.invention-row[aria-pressed=true]{background:#d8ceb0;box-shadow:inset 3px 0 #42583f}.invention-row[aria-pressed=true] .node-arrow{opacity:1}
.invention-row.locked{color:#777363}.invention-row:hover{background:#d9ceb355}
.book-key{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#716950;padding-top:14px;margin-top:10px;border-top:1px solid #c5b994}
.invention-page{padding:22px 6px 10px 29px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ac9870 transparent;min-height:0}
.folio-label{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#83704e}
.invention-status{color:#7b6d55;border-bottom:1px solid #bfb08d;padding-bottom:3px}.invention-status.available,.invention-status.known{color:#37573c}.invention-status.studying{color:#95602f}
.invention-plate{width:159px;height:212px;margin:6px auto 0;background-image:url('./assets/illustrations/invention-plates.png');background-size:400% 200%;background-position:var(--plate-x) var(--plate-y);mix-blend-mode:multiply}
.invention-page>h3{font-family:Fraunces,Georgia,serif;font-size:33px;letter-spacing:-.025em;line-height:1.15;margin:4px 0 10px}
.invention-description{font-size:15px;line-height:1.5;margin:0 0 18px;color:#5c5848;max-width:53ch}
.knowledge-path{border-top:1px solid #c3b590;padding:14px 0 10px;position:relative}
.knowledge-path h4{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#837050;margin:0 0 8px}.knowledge-path>div>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.dependency{display:inline-flex;align-items:center;gap:6px;border:1px solid #b4a47f;padding:6px 9px!important;min-height:31px;color:#635a43;font-size:12px!important;background:#eee3c6}
.dependency:hover{border-color:#3f5840;color:#304732;background:#ddd4b5}.dependency.is-known{color:#3a5b3d;border-color:#789373}
.foundation{font-size:12px;color:#7b715c}.path-arrow{display:block;color:#99855e;margin:7px 4px}
.study-order{padding-top:10px;margin-top:2px;border-top:1px solid #b9ad8d}.study-order p{font-size:12px;color:#74694f;line-height:1.4;margin:0 0 10px}
.study-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:10px 14px!important;background:#354e3f;color:#fff1d1;border:1px solid #253c2d;font-size:14px!important;transition:background-color 120ms,scale 120ms;box-shadow:inset 0 1px #7b8c67}
.study-button:hover{background:#46654b}.study-button:active{scale:.96}.study-button:disabled{background:#d5c9aa;color:#71664f;border-color:#b6a884;box-shadow:none}
.study-progress{font-size:12px;margin-bottom:12px}.study-progress>span{display:flex;justify-content:space-between;gap:20px}
#workshop-dialog progress{display:block;width:100%;height:5px;border:0;background:#c9ba96;margin:9px 0;color:#556849;accent-color:#556849}
#workshop-dialog progress::-webkit-progress-bar{background:#c9ba96}#workshop-dialog progress::-webkit-progress-value{background:#556849}
.workshop-notice{flex:none;font-size:12px;color:#36543c;min-height:27px;padding:5px 4px;border-top:1px solid #bfb18e55}
.production-intro{font-size:14px;color:#77694e;margin:0 3px 16px}.vehicle-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px;overflow:auto;min-height:0;scrollbar-width:thin;padding:0 3px 8px;flex:1;align-content:start}
.vehicle-order{padding:14px 17px;border:1px solid #b9a884;background:#eee5cd;min-width:0}.vehicle-order img{width:100%;height:135px;object-fit:contain}.vehicle-order .eyebrow{color:#8a744d;font-size:9px}.vehicle-order h3{font-family:Fraunces,Georgia,serif;font-size:25px;margin:6px 0 10px}
.vehicle-order dl{margin:9px 0 16px}.vehicle-order dl>div{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid #c5b89755;padding:4px 0}.vehicle-order dt{color:#7d6d4e}.vehicle-order dd{margin:0;font-variant-numeric:tabular-nums}.vehicle-order dd small{color:#897b60}.vehicle-order .short dt,.vehicle-order .short dd{color:#a34932}.vehicle-order p,.production-limit{font-size:12px;color:#7c6d52;line-height:1.4}.production-limit{padding:4px}
.workshop-entry{display:flex;width:100%;position:relative;min-height:135px;text-align:left;background:#253d32;border:1px solid #938057;overflow:hidden;margin:13px 0 5px;color:#f1e6c9}
.workshop-entry-art{position:absolute;inset:0;background:linear-gradient(90deg,#172b22e0,#172b2270),url('./assets/illustrations/workshop-interior.png') center/cover;opacity:.8}
.workshop-entry-copy{position:relative;padding:18px 14px;display:flex;flex-direction:column;gap:7px;flex:1}.workshop-entry-copy small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#d5bd87}.workshop-entry-copy strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:20px}.workshop-entry-copy>span:not(.research-meter){font-size:12px}.workshop-entry-copy em{font-style:normal;font-size:11px;color:#c9c5ae}.workshop-entry>span:last-child{position:relative;padding:18px 13px 0 0}
.research-meter{height:3px;background:#ebd8a330;display:block}.research-meter i{display:block;height:3px;background:#dbc28a}
@media(min-width:1300px) and (min-height:800px){.invention-plate{width:195px;height:260px;margin-top:15px}.invention-page{padding-right:16px}.invention-description{font-size:16px}}
@media(max-height:760px){.atelier-caption{padding:23px}.atelier-caption h2{font-size:28px}.atelier-caption p{font-size:13px}.atelier-staff{margin-top:15px;padding-top:13px}.invention-plate{width:111px;height:148px}.invention-page{padding-top:15px}.invention-page>h3{font-size:27px}.invention-description{font-size:14px;margin-bottom:12px}.volume-heading{min-height:75px}.volume-heading h2{font-size:26px}.chapter-page{padding-top:20px}}
@media(max-width:1100px){.atelier-body{grid-template-columns:23% 77%}.atelier-tabs{gap:12px}.atelier-header{padding:13px 19px}.atelier-caption{padding:18px}.atelier-caption h2{font-size:27px}.atelier-staff{gap:16px}.invention-volume{padding:0 17px}.chapter-ribbons button{font-size:10px!important;padding:7px 2px}.chapter-ribbons button span{display:none}.book-spread{grid-template-columns:33% 67%}.invention-page{padding-left:20px}.leave-workshop{font-size:0!important;gap:0!important}}
@media(max-width:760px){#workshop-dialog{width:100vw;height:100dvh;border-radius:0}.atelier-header{height:112px;flex-wrap:wrap;gap:2px;padding:12px 17px}.atelier-header h1{font-size:21px}.atelier-header>div:first-child{order:0}.leave-workshop{order:1}.atelier-tabs{order:2;width:100%;justify-content:center;gap:30px;height:36px}.atelier-body{height:calc(100% - 112px);grid-template-columns:1fr}.atelier-scene{display:none}.invention-volume{border-left:0;padding:0 12px}.volume-heading h2{font-size:25px}.volume-count{font-size:10px}.chapter-ribbons{display:grid;grid-template-columns:repeat(4,1fr)}.chapter-ribbons button{min-height:29px}.book-spread{grid-template-columns:36% 64%}.chapter-page{padding-right:9px}.chapter-heading h3{font-size:20px}.chapter-heading p{font-size:11px}.invention-row{gap:5px;padding:11px 4px!important}.invention-row strong{font-size:12px}.invention-row small{font-size:9px}.invention-row .node-mark{font-size:14px;width:13px}.node-arrow{display:none}.invention-page{padding-left:13px;padding-right:2px}.invention-page>h3{font-size:25px}.invention-description{font-size:13px}.folio-label{font-size:8px;flex-wrap:wrap}.invention-plate{width:102px;height:136px}.study-button{font-size:12px!important}.book-key{font-size:9px;gap:6px}.vehicle-cards{grid-template-columns:1fr}.vehicle-order{display:grid;grid-template-columns:35% 65%;gap:8px}.vehicle-order img{align-self:center}}
.invention-feature{display:flex;align-items:center;gap:19px;min-height:185px;margin:9px 0 14px}
.invention-feature .invention-plate{flex:none;width:132px;height:176px;margin:0;mask-image:radial-gradient(ellipse,#000 53%,transparent 74%)}
.invention-feature-copy h3{font-family:Fraunces,Georgia,serif;font-size:31px;letter-spacing:-.025em;line-height:1.1;margin:0 0 12px}
.invention-feature-copy .invention-description{margin:0;font-size:15px;line-height:1.5}
.knowledge-path{display:grid;grid-template-columns:1fr 18px 1fr;gap:10px;align-items:start;padding-top:16px;padding-bottom:16px}.path-arrow{margin:20px 0 0}
.study-order{position:sticky;bottom:-10px;background:#e8dfc7;padding:13px 0 10px;box-shadow:0 -8px 12px #e8dfc7}
@media(min-width:1300px) and (min-height:800px){.invention-feature{min-height:235px;gap:24px}.invention-feature .invention-plate{width:171px;height:228px}.invention-feature-copy h3{font-size:37px}}
@media(max-width:1100px){.invention-feature{gap:11px}.invention-feature .invention-plate{width:99px;height:132px}.invention-feature-copy h3{font-size:25px}.invention-feature-copy .invention-description{font-size:13px}}
@media(max-width:760px){.invention-feature{display:block;margin-top:4px}.invention-feature .invention-plate{margin:0 auto;width:93px;height:124px}.invention-feature-copy h3{font-size:24px}.knowledge-path{display:block}.path-arrow{margin:7px 0;transform:rotate(90deg);width:10px}.knowledge-path>div{margin-bottom:9px}.study-order{bottom:-10px}}
.atelier-scene.production{background-position:70% 25%}
.invention-page{display:flex;flex-direction:column;overflow:hidden}
.invention-content{min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ac9870 transparent;padding-right:5px}
.study-order{position:static;flex:none;box-shadow:none;padding:11px 0 5px}
@media(max-height:760px){.invention-feature{min-height:132px;margin:9px 0 11px}.invention-feature .invention-plate{width:93px;height:124px}.invention-feature-copy h3{font-size:27px;margin-bottom:9px}.invention-feature-copy .invention-description{font-size:14px}.knowledge-path{padding:11px 0}.chapter-heading h3{font-size:25px;margin:5px 0}.chapter-heading p{margin:3px 0 12px}.invention-row{min-height:47px;padding:8px!important}.invention-row strong{font-size:14px}.invention-row small{margin-top:2px}.book-key{padding-top:9px;margin-top:6px}.chapter-page{padding-top:17px}.invention-page{padding-top:15px}}
@media(prefers-reduced-motion:reduce){#workshop-dialog[open]{animation:none}.study-button{transition:none}.study-button:active{scale:1}}
