body[data-public-forge]{font-family:"Trebuchet MS",Verdana,sans-serif}
.completion-invitation{width:min(590px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overscroll-behavior:contain}.completion-invitation .section-note{font-size:14px;color:var(--stream)}.completion-invitation .completion-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:18px}.completion-invitation button,.completion-invitation a{min-height:44px}.completion-invitation a{display:inline-flex;align-items:center;font-size:15px}.completion-invitation h2{line-height:1.1}.completion-invitation .button{width:100%}
@media(max-height:500px) and (orientation:landscape){.completion-invitation{width:min(640px,calc(100vw - 24px));padding:14px 22px}.completion-invitation .mail-stamp{font-size:25px}body[data-public-forge] .completion-invitation h2{font-size:26px;margin:8px 0}.completion-invitation p{font-size:14px;margin:8px 0}.completion-invitation .completion-actions{margin-top:10px}.completion-invitation .keep-exploring{padding-top:10px;margin-top:10px}}
.forge-home{pointer-events:auto;color:#efdab3;text-decoration:none;font-size:13px}.forge-header nav{flex-wrap:wrap;max-width:560px;justify-content:end}.forge-header nav button{min-height:40px}.forge-footer{z-index:20}.forge-footer>button{pointer-events:auto;font-size:12px;min-height:42px}.forge-footer .options-panel a{display:block;font-size:13px}#forge-loading{position:fixed;top:45%;left:0;right:0;text-align:center;font-size:20px;color:#efdab3}body[data-public-forge] .eyebrow{letter-spacing:.02em;text-transform:none}body[data-public-forge] .colony-mailbox{font:17px/1.6 "Trebuchet MS",Verdana,sans-serif}body[data-public-forge] .colony-mailbox h2{font-size:34px}body[data-public-forge] .colony-mailbox button{font:inherit}body[data-public-forge].mailbox-open #project,body[data-public-forge].mailbox-open #dialogue{visibility:hidden}.forge-header{z-index:10}#dig-entry-form{margin:35px 0}#dig-entry-form input{display:block;width:100%;background:#0d1714;color:#efdab3;border:1px solid #708469;padding:12px;margin:10px 0 20px}#dig-entry-form .button{margin-top:20px}
@media(max-width:760px){.forge-header{top:12px}.forge-header nav{justify-content:start;gap:5px;margin-top:9px;max-width:360px}.forge-header nav button{min-height:40px;font-size:10px;padding:7px 9px}.forge-header h1{font-size:15px}.forge-header #status{font-size:10px}.forge-footer #hint{display:none}.forge-footer{align-items:center}.forge-footer>button{font-size:11px;padding:8px 10px}.forge-footer summary{font-size:11px;min-height:42px;padding:10px}body[data-public-forge] #project{bottom:70px}body[data-public-forge] #dialogue{bottom:70px}body[data-public-forge] #dialogue button{min-height:38px}body[data-public-forge] #next{min-height:40px}}

/* The world keeps the screen; controls and conversation use measured edges. */
body[data-public-forge] button,body[data-public-forge] summary{touch-action:manipulation}
.forge-header{inset:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) auto max(16px,env(safe-area-inset-left))}
.forge-header #scene-controls{position:relative;pointer-events:auto;align-self:start}
#scene-controls>summary{min-height:44px;padding:11px 14px;background:#21120ced;border:1px solid #746340;border-radius:7px;font:14px/1.5 "Trebuchet MS",sans-serif;cursor:pointer}
.forge-header #scene-controls nav{position:absolute;right:0;top:52px;width:220px;display:grid;gap:7px;padding:12px;margin:0;background:#21120cfa;border:1px solid #746340;border-radius:9px;box-shadow:0 12px 35px #0008}
.forge-header #scene-controls nav button{min-height:44px;font-size:14px;text-align:left}
body[data-public-forge] #dialogue{display:flex;flex-direction:column;padding:0;max-height:min(460px,calc(100dvh - 135px));border-radius:13px 13px 6px 6px;overscroll-behavior:contain;overflow:hidden}
.resident-heading{position:relative;flex:none;display:flex;align-items:baseline;gap:12px;padding:12px 62px 10px 18px;border-bottom:1px solid #48513a}
body[data-public-forge] #dialogue h2{margin:0;font-size:23px}
body[data-public-forge] #worker-role{margin:0;font:12px/1.4 "Trebuchet MS",sans-serif;color:#c0bfa8}
body[data-public-forge] #close{top:5px;right:8px;width:44px;height:44px;min-height:44px;border-radius:8px;font-size:26px}
.conversation-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 18px 13px;scroll-padding:12px}
body[data-public-forge] #speech{font:16px/1.45 "Trebuchet MS",sans-serif;min-height:0;margin:0 0 10px;overflow-wrap:anywhere}
body[data-public-forge] #speech[data-answer-kind=ai]::before{content:"AI reply";display:block;font-size:11px;color:#a8bd9b;margin-bottom:4px}
body[data-public-forge] #finish-line{min-height:36px;font-size:12px}
body[data-public-forge] #recipe-options{clear:both}
body[data-public-forge] .recipe-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
body[data-public-forge] #dialogue button{min-height:44px;font-family:"Trebuchet MS",sans-serif;font-size:14px;line-height:1.35;border-radius:7px;padding:10px 12px}
body[data-public-forge] #dialogue #close{font-size:26px;padding:0}
body[data-public-forge] #dialogue[data-chat-mode=typing] #recipe-options,body[data-public-forge] #dialogue[data-chat-mode=typing] #project-action,body[data-public-forge] #dialogue[data-chat-mode=typing] #questions{display:none}
body[data-public-forge] #dialogue .primary{width:100%;margin:0;text-align:center}
body[data-public-forge] #dialogue .secondary{display:none}
#question-menu{margin-top:8px;border-top:1px solid #48513a}
#question-menu>summary{padding:12px 0;min-height:44px;font:15px/1.4 "Trebuchet MS",sans-serif;cursor:pointer;color:#f0d8aa}
body[data-public-forge] #questions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}
body[data-public-forge] #questions>button{text-align:left;font-size:14px}
body[data-public-forge] #worker-state{font:11px/1.4 "Trebuchet MS",sans-serif;margin:9px 0 0;color:#aeb69f}
.forge-footer{bottom:max(10px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));gap:10px}
.forge-footer>button,.forge-footer summary{min-height:44px;font-size:13px}
.forge-footer .options-panel{bottom:50px;border-radius:8px}
.forge-footer .options-panel button{min-height:44px;font-size:14px}
body[data-public-forge] #project{bottom:calc(66px + env(safe-area-inset-bottom));border-radius:9px}
body[data-public-forge] #dialogue{bottom:var(--chat-bottom,calc(66px + env(safe-area-inset-bottom)))}
.forge-chat-toggle{width:100%;text-align:left;color:#f2d390;border-style:dashed}
.forge-chat-form{margin:12px 0 0;padding-top:12px;border-top:1px solid #48513a}
.forge-chat-form label{display:block;margin-bottom:7px;font-size:14px}
.forge-chat-form textarea{display:block;width:100%;min-height:78px;max-height:130px;resize:vertical;border:1px solid #8c7952;border-radius:8px;padding:10px;background:#100906;color:#f2e3c6;font:16px/1.4 "Trebuchet MS",sans-serif;scroll-margin:10px}
.forge-chat-actions{display:flex;gap:8px;margin-top:8px}.forge-chat-actions button{flex:1}
.forge-chat-notice,.forge-chat-status{font:12px/1.45 "Trebuchet MS",sans-serif;color:#bec4ad;margin:8px 0 0}
.forge-chat-status{min-height:18px;color:#f0d8aa}.forge-chat-status[data-error=true]{color:#ffbca5}
.forge-chat-question{font:13px/1.4 "Trebuchet MS",sans-serif;color:#b9c4b1;overflow-wrap:anywhere;margin:6px 0}
body[data-public-forge].chat-keyboard #dialogue{max-height:var(--chat-height,50dvh)}
@media(max-width:760px){
  .forge-header{display:flex;align-items:start;gap:8px}.forge-home{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.forge-header h1{font:12px/1.4 "Trebuchet MS",sans-serif;margin:0}.forge-header #status{display:none}
  #scene-controls>summary{font-size:13px;padding:11px 12px}.forge-header #scene-controls nav{width:200px}
  body[data-public-forge] #project{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:calc(100vw - 24px);padding:10px 12px}
  body[data-public-forge] #project h2,body[data-public-forge] #project>.eyebrow{display:none}
  body[data-public-forge] #project-copy{grid-column:1;grid-row:1;font:13px/1.4 "Trebuchet MS",sans-serif;max-width:none;margin:0}
  body[data-public-forge] #project-steps{grid-column:1;grid-row:2;gap:5px;margin:5px 0 0;font-size:10px}
  body[data-public-forge] #next{grid-column:2;grid-row:1/3;float:none;max-width:132px;min-height:44px;font:14px/1.35 "Trebuchet MS",sans-serif;padding:8px;text-align:center;background:#392114ed;border:1px solid #7c754b;border-radius:7px}
  body[data-public-forge] #dialogue{width:calc(100vw - 16px);max-height:min(52dvh,430px)}
  .resident-heading{padding:10px 57px 9px 14px;gap:8px;flex-wrap:wrap}
  body[data-public-forge] #dialogue h2{font-size:22px}body[data-public-forge] #worker-role{font-size:12px}
  .conversation-body{padding:10px 14px 12px}body[data-public-forge] #speech{font-size:16px;min-height:0;line-height:1.4}
  body[data-public-forge] #finish-line{display:none}body[data-public-forge] #nameplate{display:none!important}
  .forge-chat-question{display:none}
  .forge-footer>button,.forge-footer summary{font-size:12px;padding:10px}.forge-footer{gap:6px}
}
@media(max-height:500px) and (orientation:landscape){
  .forge-header h1{display:none}body[data-public-forge] #dialogue{left:auto;right:10px;transform:none;bottom:8px;width:46vw;max-height:calc(100dvh - 70px)}
  body[data-public-forge] #project{width:min(440px,70vw);bottom:58px}.forge-footer{right:50vw}
}

/* The public console shares the website skin; scene artwork and geometry stay authored. */
body[data-public-forge] #project,body[data-public-forge] #dialogue,.forge-footer .options-panel{background:linear-gradient(150deg,#352014f5,#1b0e08f5);border-color:#8d7146;color:var(--cream)}
body[data-public-forge] #project h2,body[data-public-forge] #worker-name,body[data-public-forge] .colony-mailbox h2{font-family:var(--display)}
body[data-public-forge] .colony-mailbox .button{font:800 12px/1.5 var(--utility)}
body[data-public-forge] #dialogue button,body[data-public-forge] .forge-footer>button,body[data-public-forge] .forge-footer summary{border-color:#8d7146;background:#21120ced;color:var(--cream)}
body[data-public-forge] #dialogue .primary{background:var(--amber);color:var(--deep)}

/* A persistent, explicit exit, distinct from the room controls. */
body[data-public-forge] .forge-home{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;margin-bottom:8px;background:#21120cf5;border:1px solid #8d7146;border-radius:7px;color:var(--pollen);font:700 14px/1.4 var(--utility);text-decoration:none;touch-action:manipulation}
body[data-public-forge] .forge-home:hover{background:#392114;border-color:var(--amber)}
