@font-face{font-family:GameMono;src:local('Cascadia Mono'),local('Consolas');font-display:swap}
:root{color-scheme:dark;--ink:#222a2d;--panel:#30383b;--cream:#f1e6cb;--gold:#e8c17c;--muted:#a4aaa0;--blue:#86b8c6}*{box-sizing:border-box}body{margin:0;background:#1c2326;color:var(--cream);font-family:GameMono,Consolas,monospace;min-height:100svh;overscroll-behavior:none;background-image:radial-gradient(ellipse at 50% 0,#42483d50,transparent 70%)}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:focus-visible,input:focus-visible{outline:3px solid #94d0d6;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}button{touch-action:manipulation}a{color:inherit;text-decoration:none}.app{max-width:1560px;margin:auto;padding:30px 30px 20px}.topbar{height:62px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.wordmark{font-size:18px;font-weight:bold;letter-spacing:1px;display:flex;align-items:center;gap:9px}.cross{font-size:24px;color:var(--gold)}.amp{color:var(--gold)}.wordmark small{display:block;font-size:9px;color:#879388;font-weight:normal;letter-spacing:2px;border-left:1px solid #647067;padding-left:18px;margin-left:9px}.utilities{display:flex;gap:8px;align-items:center}.utilities button{background:transparent;border:1px solid #5a6258;padding:9px 11px;font-size:10px;letter-spacing:.7px;border-radius:4px}.utilities button:hover{background:#455048}.console{display:grid;grid-template-columns:15% 70% 15%;border:2px solid #62685e;border-radius:26px;padding:10px;background:linear-gradient(#41494a,#30383a 18%,#242e32);box-shadow:0 26px 70px #0005,inset 0 2px 0 #a4a28a55;min-height:420px}.controller{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;user-select:none;touch-action:none;padding:20px 6px}.hardware-line{position:absolute;top:24px;width:50%;height:3px;background:#62696355;border-radius:4px}.screen{min-width:0;background:#121b20;border:8px solid #1d272b;border-radius:12px;box-shadow:0 0 0 1px #66736c;overflow:hidden;display:flex;flex-direction:column}.hud{height:65px;flex-shrink:0;display:flex;align-items:center;gap:28px;padding:10px 18px;background:#27312f;border-bottom:2px solid #777960}.meter-wrap{flex:1;max-width:280px}.meter-wrap>span{font-size:10px;letter-spacing:1.5px;color:#ddd4b8}.meter{height:12px;border:1px solid #b5aa84;padding:2px;margin-top:6px;background:#1b2629}.meter i{display:block;width:0;height:6px;background:#87b6c1;transition:width .2s;background-image:repeating-linear-gradient(90deg,transparent 0 17px,#263c4022 17px 20px)}.hud-stat{margin-left:auto;text-align:right}.hud-stat small{display:block;font-size:8px;letter-spacing:1.5px;color:#aab1a0;margin-bottom:4px}.hud-stat b{font-size:22px;letter-spacing:1px;font-weight:normal}.hud-stat.score b{color:var(--gold)}.viewport{position:relative;aspect-ratio:8/5;flex:1;overflow:hidden;min-height:0;background:#525d51}#game{width:100%;height:100%;display:block;image-rendering:pixelated;object-fit:fill}.objective{height:40px;display:flex;align-items:center;gap:10px;padding:0 16px;background:#27312f;border-top:2px solid #6b735d;font-size:10px;letter-spacing:.25px}.level-dot,.level-tag i{width:6px;height:6px;background:var(--gold);display:inline-block;box-shadow:0 0 8px #e6b56833;flex-shrink:0}.item-status{margin-left:auto;color:#bbc3a4;white-space:nowrap}.control-caption{font-size:9px;letter-spacing:1.6px;color:#a4ad9f;text-align:center;display:block;margin-top:15px;white-space:nowrap}.dpad{width:min(148px,94%);aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);filter:drop-shadow(0 7px 0 #141c20) drop-shadow(0 0 2px #9b9d89);margin-top:20px}.dpad button,.hub{background:#202b31;color:#889992;border-top:2px solid #526066;font-size:19px}.dpad button:active,.dpad button.pressed{background:#536d74;color:#ebdfb3}.up{grid-area:1/2;border-radius:7px 7px 0 0}.left-key{grid-area:2/1;border-radius:7px 0 0 7px}.hub{grid-area:2/2;border-top:0;background:radial-gradient(circle,#303e43 30%,#202b31 35%)}.right-key{grid-area:2/3;border-radius:0 7px 7px 0}.down{grid-area:3/2;border-radius:0 0 7px 7px;border-top:0!important}.speaker{position:absolute;bottom:28px;display:flex;gap:5px;transform:rotate(-18deg)}.speaker i{display:block;width:4px;height:22px;background:#1b2529;border-radius:5px;border-right:1px solid #627067}.action-buttons{display:flex;flex-direction:column;gap:25px;transform:rotate(-12deg);width:100%;align-items:center}.action-buttons>div{transform:rotate(12deg)}.round{width:clamp(55px,7.3vw,112px);aspect-ratio:1;border-radius:50%;font-size:38px;font-weight:bold;background:#768995;color:#192c34;box-shadow:0 7px 0 #162228,0 0 0 5px #202b30,inset 2px 3px 0 #d0dac466,inset -3px -4px 0 #182a3544}.round.a{background:#d0b17a;color:#3d382c}.round:active,.round.pressed{transform:translateY(4px);box-shadow:0 3px 0 #162228,0 0 0 5px #202b30,inset 1px 1px 8px #0003}.action-buttons .control-caption{font-size:8px;margin-top:12px;letter-spacing:1px}.item-button{margin-top:28px;background:#243034;border:1px solid #69746a;border-radius:6px;padding:8px;font-size:20px;color:var(--gold);display:flex;align-items:center;gap:6px}.item-button span,.item-button b{font-size:9px}.item-button b{background:#d2b678;color:#293431;padding:2px 4px}.page-footer{display:flex;justify-content:space-between;margin-top:23px;gap:10px;font-size:9px;letter-spacing:.8px;color:#87988d}.page-footer b{font-weight:normal;color:#b7b7a0}.page-footer i{display:inline-block;width:5px;height:5px;background:#91a77b;margin-right:7px;border-radius:50%}.overlay{position:absolute;inset:0;background:#1f2a2feF;z-index:4;overflow:auto;padding:26px}.hidden{display:none!important}.intro{background:linear-gradient(90deg,#1f2b30f7 15%,#1f2b30dd 55%,#1f2b3066);display:flex;align-items:center}.intro-content{max-width:590px;padding:4px 16px;width:100%}.eyebrow{font-size:9px;letter-spacing:2px;color:#c4b990}h1{font-size:clamp(35px,5.2vw,76px);line-height:.97;letter-spacing:-3px;margin:18px 0 15px;color:#f0e4c2;text-shadow:3px 3px #534d3b}h1 span{color:#e3be7c}.tagline{font-family:Georgia,serif;font-size:clamp(16px,1.8vw,25px);line-height:1.3;color:#d4d9c9;margin:0 0 18px}.level-tag{font-size:10px;letter-spacing:1px;display:flex;align-items:center;gap:8px;margin:18px 0;color:#f0dcab}.level-tag span{color:#8eaaa4;font-size:8px}label{font-size:8px;letter-spacing:1.5px;display:block;margin-bottom:8px;color:#b5c0af}.name-entry{display:flex;gap:8px}input{background:#18262a;border:1px solid #7a8876;border-radius:3px;color:var(--cream);padding:12px;min-width:0;width:48%;font-size:13px}.primary{background:var(--gold);color:#293235;border:1px solid #f1d499;border-radius:3px;padding:12px 18px;font-size:12px;font-weight:bold;letter-spacing:.5px;box-shadow:0 3px 0 #937d54}.primary span{margin-left:12px}.primary:hover{background:#f4d59e}.intro-note{font-size:8px;color:#9dac9f;line-height:1.5;margin-bottom:7px}.text-button{font-size:9px;letter-spacing:1px;background:transparent;color:#d6c798;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.toast{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);background:#25312ef2;border:1px solid #c3b58b;padding:9px 14px;z-index:2;max-width:85%;width:max-content;text-align:center;font-size:11px;color:#f0dfb5;pointer-events:none;box-shadow:0 4px 8px #0002}.toast:empty{display:none}.dialogue{background:#25302ff7;inset:auto 14px 14px;border:2px solid #cfb77e;box-shadow:5px 5px #151f26;padding:16px 20px}.dialogue-head{display:flex;align-items:center;gap:12px}.dialogue-head canvas{background:#4c655b;border:1px solid #a5aa84;image-rendering:pixelated;width:45px;height:48px}.dialogue h2{font-family:Georgia,serif;font-size:22px;font-weight:normal;margin:4px 0}.dialogue .eyebrow{font-size:8px}.exchange{margin-left:auto;color:#bcbd9f;font-size:9px}.npc-hint{font-size:9px;line-height:1.5;color:#a6b4a4;margin:9px 0}.dialogue h3{font-size:14px;line-height:1.5;font-weight:normal;color:#f1e1bd;margin:8px 0 12px}.choices{display:grid;gap:5px}.choice{background:#35443f;text-align:left;padding:9px 11px;border:1px solid #657461;font-size:11px;line-height:1.35;color:#d9dfc8}.choice.selected{border-color:#e2c487;background:#5a5d44;color:#fff1c6}.choice span{color:#e3c489;margin-right:9px}.dialogue-foot{display:flex;justify-content:space-between;gap:12px;font-size:7px;color:#b2baa2;margin-top:12px}.modal{background:#202d30fa;padding:28px 32px;z-index:6}.modal h2{font-family:Georgia,serif;font-size:32px;color:#ebd3a0;margin:9px 0 15px;font-weight:normal}.modal p{font-size:12px;line-height:1.7;color:#c1cabb}.modal .actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.secondary{background:#364641;border:1px solid #819077;padding:11px 16px;border-radius:3px;font-size:11px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-grid div{background:#34413a;border:1px solid #647360;padding:10px;font-size:11px;line-height:1.6}.help-grid b{display:block;color:#ead1a0;font-size:12px}.score-total{font-size:48px;color:#e8c17c}.breakdown{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:11px;margin:14px 0;color:#c7cdbb}.breakdown b{color:#e8d5a7}.table-wrap{max-height:235px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#b2bba4;font-size:8px;letter-spacing:1px}td,th{padding:11px 7px;border-bottom:1px solid #58664f}td:nth-child(3),th:nth-child(3){text-align:right;color:#e8ca8e}tr.mine{background:#746c3740}td:first-child{color:#c7ad73;width:30px}.status{font-size:10px!important;color:#99c3b6!important}.rotate-hint{display:none;position:fixed;inset:0;background:#222d30f7;z-index:20;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px}.rotate-hint>span{font-size:64px;color:var(--gold)}.rotate-hint strong{font-family:Georgia,serif;font-size:27px;font-weight:normal}.rotate-hint p{font-size:13px;line-height:1.7;color:#bac9b7}.rotate-hint button{margin-top:20px;background:transparent;text-decoration:underline;color:#d5c397}.error{color:#e8ac96!important}
.console{height:min(760px,calc(100svh - 145px))}.viewport{aspect-ratio:auto}html,body{overflow-x:clip}
#agentation-root [class*="controlsContent"][class*="hidden"]{display:none!important}
#agentation-quick-sync{top:auto!important;right:auto!important;left:15px!important;bottom:12px!important;width:29px;height:29px;padding:0!important;font-size:0!important;background:#c9b681!important;opacity:.8}#agentation-quick-sync::after{content:'↥';font-size:17px}
@media(min-width:1500px){.app{padding-top:30px}}
@media(max-width:1000px){.app{padding:12px}.topbar{height:42px;align-items:center;margin-bottom:10px}.wordmark{font-size:13px;gap:6px}.wordmark small{display:none}.utilities button{font-size:8px;padding:7px}.console{padding:6px;border-radius:19px;min-height:0}.screen{border-width:5px}.hud{height:45px;padding:6px 10px;gap:12px}.hud-stat b{font-size:17px}.meter-wrap>span{font-size:8px}.hud-stat small{font-size:7px}.objective{height:30px;font-size:8px;padding:0 10px}.controller{padding:10px 3px}.action-buttons{gap:18px}.round{font-size:28px}.control-caption{font-size:7px}.action-buttons .control-caption{font-size:6px}.item-button{margin-top:16px;padding:5px}.overlay{padding:18px}.intro-content{padding:0 8px}h1{margin:10px 0;font-size:44px}.tagline{font-size:18px;margin-bottom:10px}.level-tag{margin:10px 0;font-size:8px}.eyebrow{font-size:7px}.name-entry input{padding:9px;font-size:11px}.primary{font-size:10px;padding:9px 12px}.intro-note{font-size:7px}.dialogue{inset:8px;padding:10px 14px}.dialogue h2{font-size:19px}.dialogue h3{font-size:12px;margin:5px 0 8px}.npc-hint{font-size:8px;margin:5px 0}.choice{font-size:10px;padding:7px}.dialogue-head canvas{width:34px;height:36px}.page-footer{margin-top:12px;font-size:7px}.page-footer>span:last-child{display:none}.speaker{bottom:18px}.modal{padding:18px 22px}.modal h2{font-size:26px}.modal p{font-size:11px}.toast{font-size:10px;bottom:8px}}
@media(max-height:600px) and (orientation:landscape){.app{padding:6px max(8px,env(safe-area-inset-left))}.topbar{height:29px;margin:0 4px 5px}.wordmark{font-size:11px}.cross{font-size:18px}.utilities button{padding:5px 7px;font-size:7px}.console{height:calc(100svh - 47px);max-width:1120px;margin:auto;padding:4px}.screen{border-width:4px}.hud{height:36px}.meter-wrap>span{font-size:7px}.meter{margin-top:3px;height:9px;padding:1px}.meter i{height:5px}.hud-stat b{font-size:15px}.hud-stat small{font-size:6px;margin-bottom:1px}.viewport{aspect-ratio:auto}.objective{height:25px;font-size:7px}.page-footer{display:none}.hardware-line{top:12px}.dpad{width:min(118px,94%);margin-top:0}.dpad button{font-size:17px}.controller>.control-caption{margin-top:10px}.round{width:65px;font-size:26px}.action-buttons{gap:12px}.action-buttons .control-caption{margin-top:8px}.item-button{margin-top:12px}.speaker{bottom:12px}.speaker i{height:12px}.intro{padding:12px 20px}.intro-content{max-width:450px}.intro-content>.eyebrow{font-size:6px}h1{font-size:39px;margin:8px 0;line-height:.94}.tagline{font-size:15px;margin-bottom:7px}.level-tag{margin:8px 0}.intro-note{margin:6px 0 0;font-size:6px}.text-button{font-size:7px;padding:5px 0}label{font-size:7px;margin-bottom:5px}.name-entry input{padding:7px}.primary{padding:7px 12px}.dialogue{inset:5px;padding:8px 12px}.dialogue h2{font-size:17px;margin:2px 0}.dialogue h3{font-size:11px;line-height:1.35}.dialogue-head canvas{width:28px;height:30px}.dialogue .eyebrow{font-size:6px}.npc-hint{font-size:7px;margin:4px 0}.choice{padding:6px 9px;font-size:10px}.dialogue-foot{font-size:6px;margin-top:7px}.modal{padding:12px 20px}.modal h2{font-size:23px;margin:6px 0 10px}.modal p{font-size:10px;margin:6px 0}.help-grid{gap:6px}.help-grid div{font-size:9px;padding:7px}.help-grid b{font-size:10px}.table-wrap{max-height:150px}.score-total{font-size:34px}.breakdown{gap:3px;font-size:10px;margin:8px 0}.modal .actions{margin-top:10px}.toast{font-size:9px;padding:6px 9px}.item-status{font-size:6px}}
@media(orientation:portrait) and (max-width:700px){.rotate-hint:not(.dismissed){display:flex}.console{grid-template-columns:14% 72% 14%}.controller{overflow:hidden}.round{width:38px;font-size:22px}.control-caption{font-size:5px!important;letter-spacing:0}.dpad button{font-size:10px}.item-button{font-size:12px;gap:2px}.item-button span{display:none}.intro{padding:10px}h1{font-size:30px}.level-tag span,.intro-note{display:none}.name-entry{flex-direction:column}.name-entry input{width:100%}.tagline{font-size:14px}.hud-stat.score{display:none}.screen{border-width:3px}.viewport{min-height:350px}.wordmark{font-size:10px}.utilities button{font-size:6px}.help-grid{grid-template-columns:1fr}.dialogue{overflow:auto}.objective{font-size:6px}.item-status{display:none}.speaker{display:none}}
@media(max-height:600px) and (orientation:landscape){body{height:100svh;overflow:hidden}.dialogue h3{font-size:13px}.choice{font-size:12px;padding:7px 9px}.dialogue h2{font-size:20px}.npc-hint{font-size:9px;line-height:1.4}.dialogue .eyebrow{font-size:8px}.dialogue-head canvas{width:32px;height:35px}.dialogue-foot{font-size:7px}.toast{font-size:11px}.console{min-width:0}.controller{min-width:0}.screen{min-height:0}.objective{font-size:8px}.item-status{display:none}}

/* Keep native text entry readable without iOS focus zoom. */
#nickname{font-size:16px}
.controller,.controller *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}
