/* ============================================================
   EGGSTONITE: AFTER MIDNIGHT -- game stylesheet
   ============================================================
   Loaded ONLY by game.html, which is framed by arcade.html.

   DO NOT add this to any other page. It restyles body, *, button,
   a and kbd globally and would eat the Motif/CDE chrome that the
   rest of this site is built on. The iframe in arcade.html is what
   keeps the two stylesheets apart; that isolation is the reason
   the game is framed rather than pasted inline.

   Upstream source: eggstonite-after-midnight v2.0.0, src/style.css.
   Kept byte-identical to upstream so a future version can be
   dropped in wholesale. Site-side overrides belong in style.css.
   ============================================================ */

:root{color-scheme:dark;--ink:#090a13;--panel:#141321;--edge:#353046;--text:#e9e3f1;--dim:#aaa0bc;--pink:#ff527b;--cyan:#60e6f2;--violet:#a391ff}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 12% 0,#35152955,transparent 50%),radial-gradient(ellipse at 86% 28%,#25244877,transparent 55%),#090a11;color:var(--text);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:#211d2c;border:1px solid #4c4058;box-shadow:inset 0 1px #ffffff0c;transition:background .15s,border-color .15s}button:hover{background:#382536;border-color:#a36483}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.page{width:min(1260px,calc(100% - 56px));margin:auto;padding:30px 0 24px}.masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.wordmark{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:900;font-size:26px;letter-spacing:-1px;text-decoration:none}.dotcom{color:var(--pink)}.wordmark small{display:block;font:9px 'Courier New',monospace;color:var(--dim);letter-spacing:2.4px;margin-top:5px}.brand-egg{width:23px;height:31px;display:inline-block;clip-path:polygon(35% 0,65% 0,80% 12%,92% 35%,100% 60%,100% 82%,80% 100%,20% 100%,0 82%,0 60%,8% 35%,20% 12%);background:linear-gradient(125deg,#ffd3eb 16%,#ff547e 17% 55%,#962b91 56%);filter:drop-shadow(0 0 10px #ff527b)}.top-actions{display:flex;align-items:center;gap:7px}.top-actions button{padding:9px 12px;font-size:10px;min-height:35px}.edition{font:10px 'Courier New',monospace;color:#94879d;letter-spacing:1px;margin-right:15px}.edition i{display:inline-block;background:#ff527b;width:5px;height:5px;box-shadow:0 0 9px #ff527b;margin-right:7px}.cabinet{padding:5px;background:#211c29;border:1px solid #55405a;box-shadow:0 0 0 4px #06070d,0 25px 80px #0009,0 0 40px #e72c7709}.game-heading{padding:14px 17px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#302032,#171521);gap:15px;border-bottom:1px solid #694157}.game-heading h1{margin:0;font:700 13px 'Courier New',monospace;letter-spacing:2.2px;color:#ff83a0}.game-heading h1 span{font:9px 'Courier New',monospace;color:#b6a4bd;letter-spacing:1px;margin-left:16px;border-left:1px solid #65425b;padding-left:16px}.live-dot{font:9px 'Courier New',monospace;color:#9489a3;letter-spacing:1px}.districts{display:flex;align-items:center;gap:0;background:#100e19;border-bottom:1px solid #342d44;padding:0 10px}.districts>span{font:9px 'Courier New',monospace;color:#84758f;letter-spacing:1px;padding:0 15px 0 6px}.districts button{padding:12px 18px;font:11px 'Courier New',monospace;border:0;border-bottom:2px solid transparent;box-shadow:none;background:transparent;color:#a99db9}.districts button b{color:#645b73;font-size:9px;margin-right:7px}.districts button[aria-pressed=true]{color:#efdeff;background:#8d54b915;border-color:#b086f8}.districts button[aria-pressed=true] b{color:#b086f8}.districts button:disabled{opacity:.65}.districts button:disabled[aria-pressed=true]{opacity:1}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 262px;gap:5px;margin-top:5px;align-items:stretch}.viewport{position:relative;min-width:0;aspect-ratio:768/520;background:#090b17;overflow:hidden;isolation:isolate}#game{width:100%;height:100%;display:block;object-fit:contain;image-rendering:pixelated;touch-action:none;outline-offset:-3px}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 65px #07041260;pointer-events:none;z-index:1}.vignette:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#00000010 0 1px,transparent 1px 4px);opacity:.6}.viewport-label{position:absolute;left:20px;top:19px;z-index:2;font:11px 'Courier New',monospace;letter-spacing:2px;color:#dacaff;text-shadow:1px 2px #05040a;pointer-events:none}.viewport-label:before{content:'●';color:#ff527b;font-size:7px;margin-right:8px}.viewport-label small{display:block;font-size:8px;letter-spacing:1px;color:#9c92b7;margin-top:6px}.toast{position:absolute;top:61px;left:50%;transform:translateX(-50%);z-index:6;max-width:84%;padding:10px 14px;text-align:center;background:#151024ed;border:1px solid #ad6baf;color:#ffe1f7;font:11px/1.5 'Courier New',monospace;pointer-events:none;opacity:0;transition:opacity .2s}.toast.show{opacity:1}.overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(ellipse,#0c081ae8 10%,#0a0817a8 70%,#07081644)}.start-card{width:100%;max-width:620px;text-shadow:0 2px 4px #000}.eyebrow{font:9px 'Courier New',monospace;letter-spacing:3.2px;color:#f3a5c5;margin:0 0 22px}.game-title{font:900 clamp(36px,5.8vw,80px)/.92 Impact,'Arial Black',sans-serif;letter-spacing:-1px;margin:0;color:#f4dff9;text-shadow:2px 0 #f75789,-2px 1px #7a5df7,0 5px #441e55,0 0 40px #dd3e9155;transform:scaleY(1.08)}.game-subtitle{font:10px 'Courier New',monospace;color:#f86591;letter-spacing:7px;margin:22px 0 9px}.mascot{width:110px;height:87px;image-rendering:pixelated;display:block;margin:0 auto 8px}.tagline{font:12px/1.8 Arial,sans-serif;color:#c9bedb;margin:0 0 22px}.play-btn{border:1px solid #ff97b3;background:linear-gradient(105deg,#f64f7a,#b43776);box-shadow:inset 0 1px #ffc4d866,0 4px #632049,0 0 30px #d72d6d22;color:white;min-height:48px;padding:14px 27px;font:bold 11px 'Courier New',monospace;letter-spacing:1.2px}.play-btn:hover{background:linear-gradient(105deg,#ff6c93,#c84b89)}.play-btn span{margin-left:18px}.start-hint{font:8px 'Courier New',monospace;letter-spacing:1.4px;color:#9988a9;margin-top:19px}.panel{padding:17px 16px 10px;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 3px),#15121f;border:1px solid #332a42;display:flex;flex-direction:column;gap:14px;min-width:0}.panel-section+.panel-section{border-top:1px solid #30263d;padding-top:12px}.adventurer{display:flex;align-items:center;gap:10px}.portrait-box{width:44px;height:44px;image-rendering:pixelated;background:#1c1630;border:1px solid #544362}.adventurer strong{font-size:12px}.adventurer small{display:block;font:8px 'Courier New',monospace;margin-top:5px;color:#a195b3}.health{display:flex;gap:7px;margin:12px 0}.heart{width:17px;height:15px;background:#ef5784;clip-path:polygon(0 15%,15% 15%,15% 0,40% 0,40% 15%,60% 15%,60% 0,85% 0,85% 15%,100% 15%,100% 55%,50% 100%,0 55%)}.heart.lost{background:#403148}.health.protected .heart{background:#f4cc76}.stats{display:grid;grid-template-columns:1fr 1fr}.stats span{font:8px 'Courier New',monospace;letter-spacing:1.3px;color:#9a8cae}.stats strong{display:block;font:19px 'Courier New',monospace;color:#ece0fe;margin-top:5px}.panel h2{font:9px 'Courier New',monospace;letter-spacing:1.7px;color:#bfb2d1;margin:0 0 10px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-label h2{margin:0}.section-label strong{font:12px 'Courier New',monospace;color:#edc4f7}.inventory{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.slot{height:31px;background:#0c0c16;border:1px solid #302639;display:grid;place-items:center}.slot canvas{width:24px;height:28px;image-rendering:pixelated;opacity:.25}.slot.collected{background:#29203c;border-color:#8c599a}.slot.collected canvas{opacity:1}.quest-text{font:9px/1.6 'Courier New',monospace;color:#a69ab7;margin:8px 0 0}.weapon-line{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:7px 0}.weapon-line span{font:8px 'Courier New',monospace;color:#8c7e9b}.weapon-line strong{font:9px 'Courier New',monospace;color:#e5d2f2}.effect-status{display:grid;gap:5px;margin-top:12px}.effect-status>div{position:relative;padding:6px 6px 7px;background:#0e0d18;display:flex;justify-content:space-between;gap:5px;overflow:hidden;border-left:2px solid #393042;color:#8d819d;font:8px 'Courier New',monospace;letter-spacing:.3px}.effect-status b{font-weight:400;color:#a090af}.effect-status i{position:absolute;left:0;bottom:0;height:2px;background:#efbc69;width:0}.effect-status>div.active{border-left-color:#f5c967;color:#e9cc91}.effect-status>div.active b{color:inherit}.effect-status [data-effect=frog].active{border-color:#61e8cd;color:#87ead6}.effect-status [data-effect=frog] i{background:#61e8cd}.effect-status [data-effect=trip].active{border-color:#e38eff;color:#e7a4ff}.effect-status [data-effect=trip] i{background:#e38eff}#minimap{display:block;width:100%;height:99px;image-rendering:pixelated;border:1px solid #48345a;background:#0b0c15}.radar-signal{font:8px 'Courier New',monospace;color:#6ad2d0}.map-caption{font:7px 'Courier New',monospace;color:#9b8aac;margin:7px 0 0;letter-spacing:.1px}.best{display:flex;justify-content:space-between;margin-top:auto;font:8px 'Courier New',monospace;color:#8c7a9b;padding-top:2px}.best strong{font-weight:400;color:#b0a0bd}.toolbar{margin-top:5px;padding:12px 14px;background:#191421;border:1px solid #3b2d44;display:flex;align-items:center;justify-content:space-between;gap:10px}.key-help{display:flex;flex-wrap:wrap;gap:17px;font-size:9px;color:#ae9dbb}.key-help span{display:flex;align-items:center;gap:6px}kbd{font:9px 'Courier New',monospace;display:inline-block;background:#100d18;border:1px solid #55415d;border-bottom-width:2px;padding:5px;color:#d3c4e0}.pause-btn{font:10px 'Courier New',monospace;padding:9px 14px;flex:none}.abilities{position:absolute;left:16px;bottom:15px;display:flex;gap:6px;z-index:2;pointer-events:none}.ability{position:relative;width:44px;height:41px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#100c1ad9;border:1px solid #6a426f;overflow:hidden}.ability b{font:17px 'Courier New',monospace;color:#d9bff4;z-index:1}.ability small{font:7px 'Courier New',monospace;color:#b2a0c9;z-index:1;margin-top:3px}.cooldown{position:absolute;bottom:0;left:0;right:0;background:#a96acd50}.objective-bar{position:absolute;bottom:15px;right:15px;z-index:2;background:#100b1ae0;border:1px solid #694568;padding:9px 11px;color:#dfbde5;font:9px 'Courier New',monospace}.result-card{background:#110c1aed;border:1px solid #7a4477;box-shadow:0 0 0 5px #0b0814aa;width:min(430px,100%);padding:29px}.result-card h2{font:30px Impact,'Arial Black',sans-serif;letter-spacing:.4px;color:#f1d5f5;margin:12px 0}.result-card p{font-size:12px;line-height:1.7;color:#bdb0ce}.result-card .eyebrow{font-size:8px;margin:0}.result-stats{display:flex;justify-content:center;gap:30px;margin:24px 0;font:9px 'Courier New',monospace;color:#ac98be}.result-stats strong{font:24px 'Courier New',monospace;display:block;color:#e6beed;margin-bottom:6px}.secondary-btn{display:block;margin:14px auto 0;padding:9px 14px;font:10px 'Courier New',monospace}.touch-controls{display:none;justify-content:space-between;padding:12px 5px 5px;gap:10px}.dpad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,40px);gap:4px}.dpad button{font-size:20px;touch-action:none;user-select:none}.dpad .up{grid-column:2}.dpad .left{grid-row:2;grid-column:1}.dpad .down{grid-row:2;grid-column:2}.dpad .right{grid-row:2;grid-column:3}.touch-actions{display:flex;align-items:center;gap:6px}.touch-actions button{width:51px;height:55px;font:9px 'Courier New',monospace;touch-action:none;user-select:none}.touch-actions .slash{border-color:#d66096;background:#5a2348}.field-guide{margin-top:34px}.guide-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.guide-heading h2{font:10px 'Courier New',monospace;color:#d1b3ca;letter-spacing:1.5px;margin:0}.guide-heading p{font:10px 'Courier New',monospace;color:#8f7f9d;margin:0}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #342335;border-left:1px solid #342335}.guide-grid article{display:flex;gap:12px;padding:19px 16px;border-right:1px solid #342335;border-bottom:1px solid #342335;background:#14101b66}.guide-grid canvas{width:43px;height:43px;image-rendering:pixelated;flex:none}.guide-grid h3{font-size:12px;margin:1px 0 7px;color:#dbccdf}.guide-grid em{font:7px 'Courier New',monospace;color:#ac7d9c;margin-left:8px;font-style:normal;white-space:nowrap}.guide-grid p{font:11px/1.6 Arial,sans-serif;color:#9c8ca9;margin:0}.footer{display:flex;justify-content:space-between;gap:15px;margin-top:25px;font:8px 'Courier New',monospace;letter-spacing:1px;color:#73677f}.footer span:nth-child(2){color:#af7796}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:fullscreen{background:#090a13;padding:5px;display:flex;flex-direction:column;width:100%;height:100%}:fullscreen .game-layout{flex:1;min-height:0}:fullscreen .viewport{aspect-ratio:auto;height:100%}:fullscreen .field-guide{display:none}@media(max-width:1120px){.page{width:calc(100% - 32px)}.game-layout{grid-template-columns:minmax(0,1fr) 235px}.panel{padding:12px;gap:10px}.panel-section+.panel-section{padding-top:9px}.edition{display:none}.game-title{font-size:60px}.mascot{width:90px;height:71px}.eyebrow{margin-bottom:18px}.tagline{font-size:11px}.guide-heading{display:block}.guide-heading p{margin-top:8px}.key-help{gap:10px}.game-heading h1 span{display:none}.districts button{padding:12px}.live-dot{font-size:8px}}@media(max-width:800px){.page{width:calc(100% - 20px);padding-top:17px}.masthead{margin-bottom:18px;gap:10px}.wordmark{font-size:21px;gap:8px}.wordmark small{font-size:7px;letter-spacing:1.5px}.brand-egg{width:18px;height:26px}.top-actions{gap:4px}.top-actions button{padding:8px;font-size:9px}.game-layout{grid-template-columns:1fr}.viewport{aspect-ratio:768/520;min-height:330px}.panel{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px}.panel-section+.panel-section{border:0;padding:0}.loadout{border-top:1px solid #31263f!important;padding-top:12px!important}.map-section{padding-top:12px!important}.best{grid-column:1/-1}.health{margin:10px 0}.stats strong{font-size:18px}.game-title{font-size:clamp(39px,10vw,72px)}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:17px}.mascot{height:63px;width:80px;margin-bottom:5px}.game-subtitle{margin:19px 0 7px}.tagline{font-size:11px;margin-bottom:16px}.play-btn{padding:12px 20px;min-height:44px}.start-hint{margin-top:15px}.districts{justify-content:space-between;padding:0}.districts>span{display:none}.districts button{font-size:10px;flex:1;padding:12px 6px}.districts button b{font-size:8px;margin-right:4px}.guide-grid{grid-template-columns:repeat(2,1fr)}.guide-grid article{padding:15px 11px;gap:9px}.guide-grid em{display:block;margin:5px 0 0}.guide-grid p{font-size:10px}.key-help{font-size:8px;gap:8px}.key-help span{gap:4px}.live-dot{display:none}.field-guide{margin-top:25px}.footer{font-size:7px;letter-spacing:.3px}.footer span:last-child{display:none}.game-heading{padding:12px}.result-card{padding:22px}.result-card h2{font-size:27px}.result-stats{margin:17px 0}:fullscreen .game-layout{overflow:auto}:fullscreen .panel{display:none}}@media(pointer:coarse){.touch-controls{display:flex}.key-help{display:none}.toolbar{justify-content:flex-end;padding:7px}}@media(max-width:440px){.top-actions button{font-size:8px;padding:7px 6px}.wordmark{font-size:18px}.viewport{min-height:335px}.viewport-label{top:12px;left:12px;font-size:9px}.viewport-label small{font-size:6px}.overlay{padding:15px}.eyebrow{font-size:7px;letter-spacing:1.5px}.start-hint{font-size:7px}.game-subtitle{font-size:8px;letter-spacing:5px}.tagline{font-size:10px}.abilities{left:9px;bottom:9px;gap:4px}.ability{width:32px;height:33px}.ability small{font-size:6px}.ability b{font-size:13px}.objective-bar{bottom:9px;right:9px;font-size:7px;padding:7px}.panel{padding:12px;gap:13px}.adventurer{gap:7px}.adventurer strong{font-size:10px}.adventurer small{font-size:6px}.portrait-box{width:37px;height:39px}.effect-status>div{font-size:7px}.weapon-line strong{font-size:8px}.weapon-line span{font-size:7px}.map-caption{font-size:6px}.toast{font-size:9px;top:46px}.guide-grid{grid-template-columns:1fr}.guide-grid em{display:inline;margin-left:8px}.guide-grid p{font-size:11px}.footer{font-size:7px}.touch-actions button{width:47px}.dpad{grid-template-columns:repeat(3,39px)}.guide-heading h2{font-size:9px}.guide-heading p{font-size:9px;line-height:1.6}.result-card .play-btn{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Touch controls stay directly beside the action, before the status panel. */
.viewport{grid-column:1;grid-row:1}.panel{grid-column:2;grid-row:1}.touch-controls{grid-column:1/-1;grid-row:2}
.touch-pause{display:none;position:absolute;right:12px;top:12px;z-index:3;width:36px;height:32px;background:#170e24d9;color:#d9bcf0;border-color:#694568;font:13px monospace}
@media(max-width:800px){.panel{grid-column:1;grid-row:2}}
@media(pointer:coarse){.touch-pause{display:block}}
@media(max-width:800px) and (pointer:coarse){.panel{grid-row:3}}
