body{margin:0;background:#f8fafc;color:#183042;font:18px/1.6 "Inter",sans-serif}
header,main,footer{width:100%;max-width:none;box-sizing:border-box;margin:0;padding:32px 24px}
header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;padding:22px 28px 8px}
header strong{font-family:"Inter",sans-serif;font-size:29px;line-height:1.2;font-weight:700;white-space:nowrap}
nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 16px;font-size:18px;min-width:0}
header nav a{color:inherit;text-decoration:underline;padding:8px 0;white-space:nowrap}
.site-subtitle{grid-column:1/-1;margin:0;max-width:85ch;font:400 18px/1.5 "Inter",sans-serif}
.mission-entry{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.mission-entry .site-subtitle{flex:0 1 auto;margin:0}
.factory-start{flex:none;cursor:pointer;background:#f5cc37;color:#172a35;border:2px solid #ffe783;border-radius:999px;padding:12px 24px;font:700 20px/1.2 system-ui,sans-serif;box-shadow:0 3px 16px #0005;animation:entry-pulse 1.7s ease-in-out 3}
.factory-start:focus-visible{outline:3px solid white;outline-offset:4px}
@keyframes entry-pulse{50%{box-shadow:0 0 0 8px #f5cc3740,0 3px 16px #0005}}
@media(prefers-reduced-motion:reduce){.factory-start{animation:none}}
a{color:#1d4ed8}
h1{font-size:clamp(32px,5vw,58px);line-height:1.15;margin:0 0 12px}
h1,h2{font-family:"Inter",sans-serif}
h2{font-size:27px;line-height:1.25;margin:1.2em 0 .4em}
p{max-width:75ch;overflow-wrap:anywhere}
img{display:block;max-width:100%;height:auto;border-radius:12px}
figure{margin:24px 0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;padding:12px;background:#f8fafc;color:#183042}
.journal-return{padding:12px 24px 0;display:block}
.journal-return a{color:inherit;text-decoration:underline}
.factory-content-row{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:24px;padding:32px 0;border:0}
.factory-content-column{display:flex;flex-direction:column;min-width:0}
.factory-content-column h2{font-size:28px;min-height:2.4em;margin:0 0 16px}
.factory-content-card{display:flex;flex:1;flex-direction:column}
.factory-content-card p{flex:1;margin:16px 0}
.factory-content-card img{width:auto;height:auto;max-width:100%;object-fit:contain;align-self:center;border-radius:8px}
.factory-archive-link{display:inline-block;margin-top:16px}
.factory-content-archive{padding-left:1.2em}
.factory-content-archive li{margin:16px 0}
.factory-page-document{background:#f3f7f2;color:#14382d;border:1px solid #ffffff80;border-top:5px solid #e9bd55;border-radius:16px;padding:28px;box-shadow:0 8px 24px #0002;max-width:760px;margin:16px auto 40px}
.archive-title{color:#fff;font-size:32px;margin:8px 24px 0}
.factory-page-document :is(h1,h2,h3,p,li){color:#14382d}
.factory-content-column{background:#f3f7f2;color:#14382d;border-top:5px solid #e9bd55;border-radius:16px}
.factory-page-document a{color:#17663d!important}
.factory-page-document figure{display:table;width:auto;max-width:100%;margin:24px auto;background:none}
.factory-page-document figure img{width:auto;height:auto;max-width:100%;max-height:540px;object-fit:contain;background:none}
.factory-page-document figcaption{font-size:13px}
.factory-page-document .guide-table{width:100%;border-collapse:collapse;margin:12px 0 28px}
.factory-page-document .guide-table th,.factory-page-document .guide-table td{color:#183042;border-bottom:1px solid #d5e0d8;padding:10px 8px;vertical-align:top;text-align:left;font-size:15px;line-height:1.45}
.factory-page-document .guide-table img{width:168px;max-width:100%;height:94px;object-fit:cover;border-radius:8px}
.factory-page-document .factory-article-byline{font-size:15px;margin:0 0 18px}
.factory-page-document .fiction-label{font-weight:700;color:#425a4d;margin:0 0 12px}
body{position:relative;min-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;background-image:linear-gradient(#0005,#0007),url("/pictures/arrival.jpg");background-size:cover;background-position:30% 75%;background-repeat:no-repeat;background-attachment:fixed;color:white}
body a{color:white}
body *{text-shadow:none!important}
main{flex:1}
footer{margin-top:auto}
@media(max-width:900px){
  header{display:block}
  header strong{white-space:normal}
  header nav{justify-content:flex-start}
}
@media(max-width:700px){
  header [data-text-box="site-title"]{width:100%!important;max-width:100%!important;min-height:0!important;transform:none!important;overflow-wrap:break-word}
  .factory-content-row{grid-template-columns:1fr}
  .factory-content-column h2{min-height:0}
  header,main,footer{padding:24px 16px}
}
body footer{background:#fffffff2!important;color:#183042!important;border-top:1px solid #aebdb5;padding-top:20px;padding-bottom:20px}
body:has([data-explore-week]) footer{background:transparent!important;color:#fff!important;border-top:0}
body:has([data-explore-week]) footer a{color:#fff!important}
body footer a{color:#165c38!important;text-decoration:underline}
