/* base: fonts, palette, layout, panels, terminal, falling code and crt, shared by every page */
@font-face{font-family:Silkscreen;src:url('/assets/fonts/silkscreen.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Pirata One';src:url('/assets/fonts/pirata-one.ttf') format('truetype');font-weight:400;font-display:swap}
/* noto serif jp black, cut down to the 35 characters on the music deck: a heavy mincho like the show's, the same on every machine */
@font-face{font-family:'Noto Serif JP';src:url('/assets/fonts/noto-serif-jp-black-subset.woff2') format('woff2');font-weight:900;font-display:swap;unicode-range:U+3042,U+3066-3069,U+307e,U+3099,U+30af-30b0,U+30b7-30ba,U+30c6-30c7,U+30e0,U+30ed,U+30f3,U+4e00,U+4e2d,U+4e3b,U+4f9b,U+505c,U+5185,U+518d,U+524d,U+52d5,U+5916,U+6642,U+66f2,U+6b21,U+6b62,U+6d3b,U+6e90,U+7387,U+751f,U+754c,U+76ee,U+7d66,U+90e8,U+9650,U+96fb}
*{box-sizing:border-box}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.skip:focus{top:8px}
.btn{padding:6px 14px;min-height:27px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.text-link{font-size:11px;text-underline-offset:3px}
.plist{list-style:none;margin:0;padding:0}
.prow{padding:20px;display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;text-decoration:none}
.meta{font:10px 'Courier New',monospace}
.back{display:inline-block;margin-bottom:20px}
.p-hero{display:grid;grid-template-columns:155px 1fr;gap:28px;border-bottom:1px solid;align-items:start}
.cover{border:2px inset}
.p-cover{aspect-ratio:1}
.p-cover img{height:100%;object-fit:cover}
.p-title{margin:0 0 12px}
.p-kicker{margin:0 0 6px}
.lede{margin:0 0 18px;max-width:65ch}
.dl-row{display:flex;gap:10px 14px;flex-wrap:wrap;align-items:center}
.dl-btn{position:relative;overflow:hidden;isolation:isolate;font-weight:bold}
.dl-btn svg{height:15px;stroke:currentColor;fill:none;stroke-width:1.5}
.dl-btn.busy{cursor:progress}
.dl-meta{font:10px 'Courier New',monospace;margin:14px 0 0}
.sec{margin:24px 0}
.prose{max-width:78ch}
.prose p{margin:0 0 12px}
.prose ul{padding-left:20px}
.prose li{margin:0 0 6px}
code,kbd{font-family:'Courier New',monospace}
kbd{border:1px outset;padding:1px 4px;white-space:nowrap}
.checksum{border:1px solid;margin-top:20px}
.checksum summary{padding:8px;cursor:pointer}
.checksum-body{padding:8px 10px}
.code{display:flex;gap:9px;padding:8px;border:1px inset;align-items:center;margin-top:6px}
.code code{overflow-wrap:anywhere;min-width:0}
.copy{margin-left:auto;font-size:10px;padding:2px 7px}
.timeline{list-style:none;margin:0 0 15px;padding:0}
.timeline>li{padding:14px 16px;border:1px inset;margin-bottom:10px}
.tl-head{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.tl-head h3{font-size:12px;margin:0}
.tl-dl{margin-left:auto;font-size:10px;padding:2px 8px}
.tl-notes{line-height:1.7}
.tl-notes h4{margin:12px 0 4px}
.tl-notes p{margin:6px 0}
.tl-notes ul{padding-left:18px}
.calm *,.calm *::before,.calm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.calm{scroll-behavior:auto}
.portal-left,.portal-right,.portal-center{display:flex;flex-direction:column;min-width:0}
.terminal-log{scrollbar-width:thin;scrollbar-color:#5d7867 #162019}
.terminal-log:empty{display:none}
.terminal-form{display:flex;align-items:center}
.terminal-form label{white-space:nowrap}
.terminal-form input{font:inherit;background:none;border:0;min-width:0;flex:1;caret-color:#bce4c6}
.project-list{flex-direction:column}
.project-file{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;text-decoration:none;transition:background .15s,box-shadow .15s}
.project-file h3{font:bold 13px var(--mono)}
.file-open{font:10px var(--mono)}
.portal-footer a{color:inherit}
.portal-center>.plate{animation:panel-in .45s cubic-bezier(.2,.8,.2,1) both}
.portal-center>.plate:nth-child(2){animation-delay:.09s}
.portal-right>.plate{animation:panel-in .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:.16s}
.portal-grid>.plate{animation:panel-in .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:.22s}
.directory a:hover{animation:menu-tick .2s steps(2,end)}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes menu-tick{50%{transform:translateX(1px)}}
@view-transition{navigation:none}
.portal-home{isolation:isolate}
.portal-grid{display:grid;align-items:start;grid-template-columns:151px minmax(0,1fr) 258px;gap:11px}
.portal-left,.portal-center,.portal-right{gap:11px}
/* updates.log fills a shorter right column (home.css says how the other two fill theirs).
   a plate placed straight in the grid is a full-width row under them */
@media(min-width:761px){
  .portal-grid{align-items:stretch}
  .updates-note{flex-grow:1}
  .files-panel{display:flex;flex-direction:column}.files-bottom{margin-top:auto}
  .updates-note{display:flex;flex-direction:column}.updates-screen{flex:1}
  .portal-grid>.plate{grid-column:1/-1}
}
.directory{display:flex;flex-direction:column;gap:3px}
.environment{display:flex;flex-direction:column;gap:4px}
/* shown by site.js when the system has reduced motion on */
.motion-notice{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:-4px 0 13px;padding:13px 10px 9px;border:1px solid var(--edge);background:var(--surface);font:11px/1.6 var(--mono);color:var(--ink)}
.motion-notice::before{content:'';position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(-45deg,var(--accent) 0 5px,transparent 5px 10px);opacity:.75}
.motion-notice p{flex:1 1 360px;margin:0}.motion-notice b{color:var(--accent)}
.motion-notice-actions{display:flex;gap:6px}
.motion-notice button{min-height:30px;padding:4px 10px;border:1px solid var(--edge-strong);background:linear-gradient(var(--button-top),var(--button));font:10px var(--mono);color:var(--ink);cursor:pointer}
.motion-notice button:hover{background:var(--hover)}
.welcome-image{margin:2px 0 0}
.welcome-copy p{margin:0 0 12px}
.welcome-copy p:last-child{margin:0}
.visual-files{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.file-art{position:relative;height:104px;overflow:hidden;display:grid;place-items:center;border-bottom:1px solid;background-size:8px 8px}
.file-art::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#1b2a2a0b 0 1px,transparent 1px 3px)}
.visual-files .project-file:nth-child(2) .file-art img{transform:rotate(4deg)}
.visual-files .project-file:hover .file-art img{transform:rotate(0deg) translateY(-3px);box-shadow:7px 7px #19222566}
.file-info{position:relative}
.side-terminal .terminal-log:empty{display:none}
.side-terminal .terminal-form input{padding:3px 0}
.fragment-panel{margin:0}
[data-crt=off] .screen-crt{display:none}
.calm .screen-crt::after{display:none}
@keyframes crt-roll{to{transform:translateY(720%)}}
@keyframes terminal-fall{from{transform:translateY(-18%)}to{transform:translateY(40%)}}
@media(max-width:1040px){
  .portal-grid{grid-template-columns:138px minmax(0,1fr) 235px;gap:9px}
  .brand-wordmark{font-size:89px}
  .file-art{height:94px}
  .visual-files .file-art img{width:77px;height:77px}
}
@media(max-width:370px){
  .visual-files{gap:5px}
  .visual-files .file-open{margin-top:4px}
}
:root{--mono:'Courier New',monospace;color-scheme:dark;--bg:#090909;--wall:#090909;--plate:#111111;--plate-light:#242424;--plate-dark:#080808;--ink:#e3e3df;--muted:#b8b8b3;--faint:#a5a5a0;--edge:#41413f;--edge-strong:#6d6d68;--surface:#191919;--hover:#292928;--monitor:#090909;--button:#222222;--button-top:#303030;--selected:#deded8;--selected-ink:#151515;--accent:#d99a56;--error:#e4a18a;--phosphor:#e3e3df;--silver:var(--plate);--paper:var(--plate);--navy:var(--ink);--bevel:#ffffff12;--shadow:#0008;--wall-code:#c9c9c5;--crt-line:#00000025;--crt-glow:#ffffff08}
body{margin:0;font:12px/1.5 Tahoma,'MS Sans Serif',Arial,sans-serif;min-height:100vh;font-family:Tahoma,Arial,sans-serif;background:var(--wall);color:var(--ink)}
a{color:var(--ink)}
a:hover{color:var(--ink)}
::selection{background:var(--selected);color:var(--selected-ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
html{scroll-behavior:smooth;scroll-padding-top:20px;scrollbar-color:var(--edge-strong) var(--wall)}
.skip{position:fixed;z-index:10000;top:-60px;left:12px;padding:8px;background:var(--selected);color:var(--selected-ink)}
.portal-shell{margin:24px auto 20px;width:min(1100px,calc(100% - 32px));margin-top:18px;position:relative;z-index:1}
.computer-banner::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(transparent 35%,#080808c9),repeating-linear-gradient(0deg,#0002 0 1px,transparent 1px 3px)}
.computer-banner{position:relative;border:2px solid;background:url('/assets/retro/computer-banner.jpg') center 47%/auto 190px repeat-x;height:150px;background-size:auto 175px;background-position:center 43%;border-color:var(--edge-strong);box-shadow:inset 0 0 0 1px #333,2px 2px var(--shadow);background-color:#424240;filter:grayscale(1) contrast(1.06);transition:filter 1.2s ease}
.computer-banner:hover{filter:none}
.calm .computer-banner{transition:none}
.brand-wordmark{position:absolute;z-index:2;font:700 100px/.95 'Pirata One',Georgia,serif;margin:0;font-size:97px;bottom:-21px;right:24px;font-weight:400;letter-spacing:-.7px;color:#e9e9e3;-webkit-text-stroke:.5px #161616;text-shadow:2px 2px #161616,4px 5px #0009;white-space:nowrap}
.portal-path{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:.5px;margin:9px 0 16px;color:var(--muted);font-size:10px}
.plate{border:1px solid;padding:5px;background:var(--plate);border-color:var(--edge);box-shadow:inset 1px 1px var(--bevel),1px 2px var(--shadow)}
.plate-title{font:10px/1.4 var(--mono);margin:0 0 6px;border:1px solid;display:flex;align-items:center;gap:7px;text-transform:lowercase;padding:4px 5px;margin-bottom:5px;background:var(--surface);border-color:var(--edge);color:var(--ink);font-size:11px;letter-spacing:.4px}
.plate-title::before{content:'';display:inline-block;width:12px;height:12px;image-rendering:pixelated;background:var(--muted);mask:url('/assets/retro/paw-mark.svg') center/12px no-repeat}
.plate-title .small{margin-left:auto;letter-spacing:0;color:var(--muted);font-size:9px}
.directory a{text-decoration:none;border:1px solid;font:11px var(--mono);transition:background .12s,color .12s,padding-left .12s;padding:7px 9px;display:flex;align-items:center;min-height:36px;background:linear-gradient(var(--button-top),var(--button));color:var(--ink);border-color:var(--edge);font-size:12px}
.directory a:hover,.directory a:focus-visible,.directory a[aria-current=page]{padding-left:14px;color:var(--selected-ink);background:var(--selected)}
.environment button{font:10px var(--mono);text-align:left;border:1px solid;padding:5px 6px;min-height:34px;background:var(--button);border-color:var(--edge);color:var(--muted);font-size:11px}
.environment button:hover{background:var(--hover);color:var(--ink)}
.welcome-body{display:grid;align-items:start;grid-template-columns:112px minmax(0,1fr);gap:13px;padding:11px 9px 13px}
.welcome-copy{font:12px/1.6 var(--mono);font-size:13px;line-height:1.7;color:var(--ink)}
.welcome-image .avatar-frame{border:1px inset;padding:2px;background:var(--surface);border-color:var(--edge)}
.welcome-image img{height:auto;aspect-ratio:1;object-fit:cover;filter:saturate(.62) contrast(1.06) brightness(.86);transition:filter .6s ease}
.welcome-image:hover img{filter:none}
.calm .welcome-image img{transition:none}
.files-panel{border-color:var(--edge-strong)}
.visual-files .project-file{display:block;padding:0;border:1px solid;background:var(--surface);border-color:var(--edge);box-shadow:none;color:var(--ink)}
.visual-files .project-file:hover{background:var(--hover);box-shadow:inset 0 0 0 1px var(--edge-strong)}
.file-art,.file-art-cat,.file-art-shaper{background-color:var(--monitor);border-bottom-color:var(--edge);background-image:linear-gradient(var(--bevel) 1px,transparent 1px),linear-gradient(90deg,var(--bevel) 1px,transparent 1px)}
.visual-files .file-art img{width:88px;height:88px;object-fit:cover;transform:rotate(-5deg);border:1px solid;transition:transform .25s,box-shadow .25s;border-color:var(--edge-strong);box-shadow:4px 4px var(--shadow)}
.file-kind{position:absolute;top:5px;right:5px;z-index:1;font:9px var(--mono);border:1px solid;padding:1px 3px;background:var(--surface);border-color:var(--edge);color:var(--muted)}
.visual-files .file-info{display:grid;grid-template-columns:1fr auto;gap:5px;min-height:90px;padding:10px}
.visual-files .file-info h3{grid-column:1/-1;font-size:14px;margin:0}
.visual-files .file-info p{grid-column:1/-1;color:var(--muted);font:11px/1.45 var(--mono);margin:0;max-width:none;min-height:1.5em}
.visual-files .file-version{font:9px var(--mono);align-self:end;font-size:10px;color:var(--muted)}
.visual-files .file-open{right:7px;bottom:7px;position:static;align-self:end;justify-self:end;background:var(--button);border:1px solid var(--edge);font-size:10px;padding:4px 6px}
.visual-files .project-file:hover .file-open{background:var(--selected);color:var(--selected-ink)}
.files-bottom a{display:inline-flex;align-items:center;min-height:28px}
.fragment-panel>.fragment-art{border:1px inset;border-color:var(--edge);background:var(--monitor)}
.command-header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px;font:11px var(--mono);border:1px solid;color:var(--ink);background:var(--surface);border-color:var(--edge);font-size:12px}
.terminal-light{width:5px;height:5px;background:var(--accent);box-shadow:0 0 5px var(--accent)}
.side-terminal .terminal-log{font:11px/1.7 var(--mono);padding:0;max-height:none;overflow:visible;color:var(--ink);font-size:12px}
.side-terminal .terminal-log .command-echo{margin-top:7px;color:var(--ink);font-weight:bold}
.side-terminal .terminal-log .error{color:var(--error)}
.side-terminal .terminal-mini-cat{font:12px/1.15 var(--mono);padding:7px 0;margin:3px 0;color:var(--ink)}
.side-terminal .terminal-form{margin:0;padding:8px 9px 10px;border-top:1px dotted;gap:7px;font:11px var(--mono);background:var(--monitor);border-top-color:var(--edge);color:var(--ink);min-height:45px}
.side-terminal .terminal-form label,.side-terminal .terminal-form input{color:var(--ink);font-size:13px}
.side-terminal .terminal-form button{font-size:12px;border:1px solid;padding:2px 7px;background:var(--button);border-color:var(--edge);color:var(--ink);min-width:32px;min-height:32px}
.side-terminal .terminal-form:focus-within{box-shadow:inset 0 -1px var(--ink)}
.fragment-panel .fragment-art:hover img{filter:none}
.terminal-wall{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.24;color:var(--wall-code);mask-image:linear-gradient(90deg,#000,#0007 28%,#0007 72%,#000)}
.terminal-wall span{position:absolute;top:-120%;left:var(--column);font:11px/1.5 var(--mono);writing-mode:vertical-rl;text-orientation:upright;white-space:pre;animation:terminal-fall var(--fall) linear infinite;animation-delay:var(--delay);font-size:12px;letter-spacing:7px}
.screen-crt{position:fixed;inset:0;pointer-events:none;z-index:100000;opacity:.45;background:repeating-linear-gradient(0deg,var(--crt-line) 0 1px,transparent 1px 3px);box-shadow:inset 0 0 100px #0003}
.screen-crt::after{content:'';position:absolute;left:0;right:0;top:-25%;height:20%;animation:crt-roll 16s linear infinite;opacity:.65;background:linear-gradient(transparent,var(--crt-glow),transparent)}
.tl-head time{color:var(--muted);font-size:11px}
.page-sub{font-size:13px}
.p-title,.prow h2,.sec-label,.tl-head h3{color:var(--ink)}
.p-kicker,.dl-meta,.fine,.meta{color:var(--muted);font-size:12px}
.plist,.prow,.timeline>li{background:var(--monitor);color:var(--ink);border-color:var(--edge)}
.prow:hover{background:var(--hover)}
.prow p{margin:0;line-height:1.6}
.p-hero,.sec{border-color:var(--edge)}
.lede,.prose{font-size:14px;line-height:1.75}
.tl-notes,.tl-notes h4{font-size:13px}
.btn,.tl-dl,.copy{background:linear-gradient(var(--button-top),var(--button));color:var(--ink);box-shadow:inset 1px 1px var(--bevel);border:1px solid var(--edge-strong)}
.btn:hover,.tl-dl:hover,.copy:hover{background:var(--hover)}
.btn:active,.copy:active{background:var(--selected);color:var(--selected-ink);box-shadow:none}
.cover,.p-cover{border-color:var(--edge);background:var(--monitor)}
.checksum,.code,kbd{background:var(--surface);border-color:var(--edge)}
.checksum summary,.checksum-body,.code code{font-size:12px}
.dl-fill{position:absolute;inset:0;z-index:-1;transform:scaleX(var(--p,0));transform-origin:left;background:var(--hover)}
.os-note{font-size:11px;color:var(--error)}
.side-terminal .terminal-screen{overflow:auto;scrollbar-width:thin;font:11px/1.75 var(--mono);background:var(--monitor);color:var(--ink);scrollbar-color:var(--edge-strong) var(--monitor);box-shadow:none;font-size:12px;height:auto;max-height:190px;padding:9px 10px}
.fragment-panel .fragment-art{aspect-ratio:431/498;overflow:hidden}
.fragment-panel .fragment-art img{height:100%;object-fit:cover;object-position:center;filter:saturate(.62) contrast(1.06) brightness(.86);transition:filter .6s ease}
.files-bottom{margin:7px 3px 1px;font:9px var(--mono);display:flex;justify-content:space-between;color:var(--muted);font-size:10px;gap:8px}
.directory-panel{position:relative}
.portal-footer{border-top:1px solid;padding:9px 1px;font:9px var(--mono);margin-top:11px;padding-top:7px;border-top-color:var(--edge);color:var(--muted);font-size:10px;align-items:center;min-height:36px}
.home-note{padding:10px 11px 12px}
.home-note h2{margin:0;font:11px/1.4 var(--mono)}
.home-note p{margin:8px 0 0;font:12px/1.75 var(--mono)}
.updates-note{padding:4px}
.updates-note h2{display:flex;align-items:center;gap:7px;padding:5px 7px;font-size:10px;letter-spacing:1px}
.updates-note h2::before{content:'>'}
.updates-note h2::after{content:'';width:4px;height:4px;margin-left:auto}
.updates-screen{position:relative;margin-top:4px;overflow:hidden;border:1px solid #23372a}
.updates-screen::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0006 0 1px,transparent 1px 3px);z-index:2}
.updates-rain{position:absolute;inset:0 0 0 38%;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.updates-rain span{position:absolute;top:-190px;left:var(--x);font:9px/1.2 var(--mono);letter-spacing:2px;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;animation:updates-code-fall var(--fall) linear infinite;animation-delay:var(--delay)}
.updates-cursor{position:relative;display:block;width:7px;height:12px;animation:updates-cursor 1.25s steps(1,end) infinite}
@keyframes updates-code-fall{to{transform:translateY(310px)}}
@keyframes updates-cursor{0%,54%,100%{opacity:1}55%,99%{opacity:.12}}
.calm .updates-rain span{animation-play-state:paused}
.calm .updates-cursor{animation:none}
:root[data-crt=off] .updates-screen::after{display:none}
@media(prefers-reduced-motion:reduce){
  html:not([data-motion=on]) *{animation:none!important;transition:none!important}
  html:not([data-motion=on]) .updates-rain span,html:not([data-motion=on]) .updates-cursor{animation:none}
}
@media(max-width:1040px) and (min-width:761px){
  .welcome-body{grid-template-columns:96px minmax(0,1fr)}
  .plate-title .small{font-size:8px}
}
@media(max-width:760px){
  .p-hero{grid-template-columns:1fr;gap:20px}
  .p-cover{width:120px}
  .prow{grid-template-columns:55px 1fr;gap:12px;padding:17px 13px}
  .prow>img{width:50px;height:50px}
  .prow>.meta{grid-column:2;margin-top:-9px}
  .tl-head{gap:7px}
  .tl-dl{margin-left:0}
  .directory-panel .plate-title{display:none}
  .directory a:hover{padding-left:11px}
  .directory a[aria-current=page]{padding-left:11px}
  .project-file{grid-template-columns:49px minmax(0,1fr) auto;gap:12px}
  .portal-shell{width:calc(100% - 20px);margin-top:10px}
  .computer-banner{height:126px;background-size:auto 145px}
  .brand-wordmark{font-size:74px;bottom:-13px;right:14px}
  .portal-path{margin:8px 0 13px}
  .portal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .portal-left{display:contents}
  .directory-panel{order:-3}
  .directory-panel,.environment-panel,.welcome-panel,.files-panel,.side-terminal{grid-column:1/-1}
  .environment-panel{order:20}
  .portal-center{order:1;display:contents}
  .welcome-panel{order:-1}
  .portal-right{order:2;grid-template-columns:1fr 1fr;align-items:start;display:contents}
  .fragment-panel{align-self:start}
  .welcome-body{display:flow-root}
  .welcome-copy p{margin-bottom:10px}
  .command-header{padding:6px 8px}
  .visual-files .file-art img{height:75px;width:75px}
  .file-art{height:91px}
  .terminal-wall{opacity:.2}
  .screen-crt{box-shadow:inset 0 0 55px #0002}
  .environment{flex-direction:row;flex-wrap:wrap;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .environment button{flex:1;text-align:center;min-width:0;padding:5px 3px;min-height:44px}
  .directory{flex-direction:row;flex-wrap:wrap;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .directory a:first-child{grid-column:span 2}
  .motion-notice button{min-height:44px}
  .directory a{min-height:44px;flex:1;justify-content:center;min-width:0;padding:7px 3px;font-size:10px}
  .welcome-copy{line-height:1.75}
  .welcome-image{float:left;width:88px;margin:2px 12px 6px 0}
  .side-terminal .terminal-screen{max-height:180px}
  .side-terminal .terminal-form input{font-size:16px;min-height:44px}
  .side-terminal .terminal-form button{min-height:44px;min-width:44px}
  .visual-files .file-info{padding:9px 7px;min-height:110px}
  .visual-files .file-info h3{font-size:13px}
  .visual-files .file-open{right:5px;bottom:6px;padding:4px}
  .files-bottom a{min-height:44px}
  .files-panel{order:0}
  .side-terminal{order:2}
  .portal-home .media-deck{order:1}
  .updates-note{order:5;grid-column:1/-1;align-self:start}
  .wired-panel{order:4;grid-column:2}
  .files-bottom{min-height:44px;flex-wrap:wrap}
  .files-bottom>span{font-size:9px}
  .portal-footer{flex-wrap:wrap}
  .back,.dl-row .text-link,.btn,.tl-dl{display:inline-flex;align-items:center;min-height:44px}
  .checksum summary,.copy{min-height:44px}
  .checksum summary{padding:12px}
}
