
:root{color-scheme:light;--silver:#c0c0c0;--ink:#080808;--blue:#000080;--mono:'Courier New',Consolas,monospace;--ui:Tahoma,'Microsoft Sans Serif',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:#000;font:13px/1.5 var(--ui);min-height:100dvh}button,input{font:inherit;color:inherit}button{cursor:pointer;border-radius:0}a{color:#0000ee;text-decoration:underline}button:focus-visible,a:focus-visible{outline:1px dotted #000;outline-offset:2px}[hidden]{display:none!important}svg{display:block}button:disabled{cursor:wait;color:#777}input:disabled{color:#555}.portal{padding:20px 30px 25px;max-width:1100px;margin:0 auto}.portal-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px groove #d8d8d8;padding-bottom:11px}.portal-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#000080}.portal-brand img{width:47px;height:47px;object-fit:cover}.portal-brand strong{display:block;font:bold italic 31px/1 var(--mono);letter-spacing:-2px}.portal-brand small{display:block;font:10px var(--mono);letter-spacing:.3px;margin-top:4px;color:#484848}.portal-links{font-size:11px;display:flex;align-items:center;gap:15px;padding-top:7px;flex-wrap:wrap;justify-content:flex-end}.portal-lead{text-align:center;padding:13px 0 10px;font-size:12px;color:#272727}.portal-lead b{color:#000080}.portal-nav{border:1px solid #b5b59a;background:#ffffd8;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;margin-bottom:11px}.portal-nav>div{display:flex;align-items:center;gap:19px;flex-wrap:wrap}.portal-nav>span{font-weight:bold;color:#b00000;font-size:11px}.portal-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:17px}.directory{border:1px solid #a5a5b7;background:#f4f4ff;min-height:340px}.directory h2{font:bold 16px var(--ui);padding:7px 11px;margin:0;background:#a0a0cc;color:#fff;border-bottom:1px solid #8a8ab2}.directory-content{padding:17px 17px 8px}.directory-content h3{font-size:14px;margin:0 0 9px;color:#000080}.directory-content p{font-size:12px;margin:0 0 19px;line-height:1.8;color:#202044}.directory-content p a{font-weight:bold}.directory-content ul{padding-left:18px;margin:0 0 14px;color:#10103c;line-height:2.1;font-size:12px}.directory.yellow{border-color:#b7b78e;background:#ffffe6}.directory.yellow h2{background:#caca91;color:#000}.directory.yellow .directory-content{padding-top:15px}.portal-info{font:10px var(--mono);text-align:center;border-top:1px solid #ccc;margin-top:17px;padding:12px 0;color:#777}.inline-login{color:#0000ee;font-weight:bold;background:none;border:none;text-decoration:underline;padding:0;font-size:12px}.login-layer{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#ffffff0a}.connection-window{width:430px;max-width:100%;background:var(--silver);padding:3px;border:1px solid;border-color:#fff #000 #000 #fff;box-shadow:inset -1px -1px #808080,inset 1px 1px #dfdfdf,1px 1px 0 #808080;color:#000;position:relative;font:11px/1.35 var(--ui)}.titlebar{height:20px;display:flex;justify-content:space-between;align-items:center;padding:1px 2px 1px 3px;background:linear-gradient(90deg,#000080,#0877bb);color:#fff}.titlebar>div{display:flex;align-items:center;gap:4px;font:bold 12px/1.1 var(--mono);letter-spacing:.2px}.titlebar img{width:15px;height:15px;object-fit:contain}.close-button{width:17px;height:16px;padding:0;background:#c0c0c0;border:1px solid;border-color:#fff #000 #000 #fff;box-shadow:inset -1px -1px #808080;font:bold 13px/11px Arial;color:#000}.connection-body{padding:13px 10px 10px}.connection-main{display:grid;grid-template-columns:132px minmax(0,1fr);gap:13px;margin-bottom:12px;align-items:start}.connection-art{height:115px;display:grid;place-items:center;align-self:center}.connection-art svg{width:128px;height:102px;shape-rendering:crispEdges;image-rendering:pixelated}.network-mark{font:bold 15px/1.1 var(--mono);letter-spacing:1px;margin:1px 0 12px;color:#000}.field{display:grid;grid-template-columns:75px minmax(0,1fr);align-items:center;gap:4px;margin:0 0 5px;font-size:11px}.field:last-child{margin-bottom:0}.field-label{white-space:nowrap}.field input{height:24px;width:100%;min-width:0;background:#fff;border:1px solid;border-color:#808080 #fff #fff #808080;box-shadow:inset 1px 1px #000,inset -1px -1px #dfdfdf;border-radius:0;padding:2px 5px;font:12px/18px var(--mono);outline:none;color:#000}.field input:focus{outline:1px dotted #000080;outline-offset:-4px}.field input[readonly]{background:#ededed;color:#444}.password-control{display:flex;min-width:0;position:relative}.password-control input{padding-right:28px}.password-toggle{position:absolute;right:3px;top:3px;bottom:3px;width:23px;padding:0 2px;border:0;background:#f5f5f5;color:#717171;display:grid;place-items:center}.password-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5}.password-toggle[aria-pressed=true]{color:#000080}.connection-note{font:11px/1.4 var(--mono);margin:1px 0 6px;min-height:15px;color:#0c0c0c}.caps-warning{color:#7d310e;font:10px var(--ui);margin:0 0 6px}.connection-progress{height:17px;background:#fff;border:1px solid;border-color:#808080 #fff #fff #808080;box-shadow:inset 1px 1px #000;overflow:hidden;position:relative}.connection-progress i{display:none;height:11px;width:40%;position:absolute;top:2px;left:2px;background:repeating-linear-gradient(90deg,#000080 0 8px,transparent 8px 10px)}.is-connecting .connection-progress i{display:block;animation:activity 1.25s linear infinite}.connection-indicators{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:12px}.lamps{display:flex;align-items:center;gap:12px;font:10px/1 var(--mono);white-space:nowrap}.lamp{display:flex;align-items:center;gap:4px}.lamp i{height:10px;width:10px;border-radius:50%;background:#163016;border:1px solid #001900;box-shadow:inset 1px 1px #244b24}.lamp.mr i{background:#008000;border-color:#005600}.lamp.sd i,.lamp.rd i{background:#320000;border-color:#250000;box-shadow:inset 1px 1px #5d1a1a}.lamp.cd i{background:#143914}.is-connecting .lamp.sd i{animation:transmit .6s steps(2,end) infinite}.is-connecting .lamp.rd i{animation:receive .85s steps(2,end) infinite}.remember-label{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap;cursor:pointer}.remember-label input{width:13px;height:13px;accent-color:#000080;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:16px}.retro-button{min-width:75px;min-height:24px;padding:2px 13px;background:#c0c0c0;border:1px solid;border-color:#fff #000 #000 #fff;box-shadow:inset -1px -1px #808080,inset 1px 1px #dfdfdf;font:11px var(--ui);line-height:17px;position:relative}.retro-button.primary{outline:1px solid #000;outline-offset:1px;margin-right:1px}.retro-button.primary::after{content:'';position:absolute;inset:3px;border:1px dotted #000;pointer-events:none}.retro-button:active{border-color:#000 #fff #fff #000;box-shadow:inset 1px 1px #808080;transform:translate(1px,1px)}.form-message{color:#8c200e;background:#eee7db;border:1px solid #9e8d7f;padding:5px 7px;font-size:11px;line-height:1.6;margin:0 0 7px}.form-footnote{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.help-overlay{position:fixed;inset:0;background:#00000026;display:grid;place-items:center;z-index:20;padding:18px}.help-window{width:350px;max-width:100%}.help-body{padding:14px 12px;font-size:12px;line-height:1.8}.help-body p{margin:0 0 12px}.help-body .retro-button{display:block;margin:12px 0 0 auto}.connection-tip{position:absolute;left:0;right:0;bottom:-24px;text-align:center;font:9px var(--mono);color:#767676;letter-spacing:.4px}@keyframes activity{0%{transform:translateX(-110%)}100%{transform:translateX(270%)}}@keyframes transmit{0%,100%{background:#320000}50%{background:#e13720}}@keyframes receive{0%,100%{background:#320000}50%{background:#ee5a23}}
@media(min-width:1000px){.login-layer{padding-bottom:60px}.portal{padding-top:29px}.portal-columns{grid-template-columns:1.6fr 1fr}.directory{min-height:410px}.portal-lead{padding:18px 0 15px}}@media(max-width:600px){.portal{padding:15px 15px 20px}.portal-brand img{width:37px;height:37px}.portal-brand strong{font-size:24px}.portal-brand small{font-size:7px}.portal-links{gap:9px;font-size:9px;max-width:130px;padding-top:3px}.portal-header{gap:8px}.portal-lead{font-size:10px;line-height:1.7}.portal-nav{padding:6px 8px;gap:8px}.portal-nav>div{gap:12px;font-size:11px}.portal-nav>span{font-size:9px}.portal-columns{grid-template-columns:1fr}.directory{min-height:280px}.directory.yellow{display:none}.login-layer{padding:16px}.connection-window{width:430px}.connection-body{padding:12px 9px 10px}.connection-main{grid-template-columns:105px minmax(0,1fr);gap:9px}.connection-art svg{width:104px;height:96px}.field{grid-template-columns:64px minmax(0,1fr);font-size:10px}.field input{font-size:11px}.network-mark{font-size:14px;margin-bottom:12px}.lamps{gap:8px;font-size:9px}.lamp{gap:3px}.lamp i{height:8px;width:8px}.remember-label{font-size:10px;gap:4px}.remember-label input{width:12px;height:12px}.connection-note{font-size:10px}.connection-indicators{gap:7px;margin-top:12px}.connection-tip{font-size:8px}.form-actions{margin-top:16px}.retro-button{font-size:11px}}@media(max-width:370px){.login-layer{padding:10px}.connection-main{grid-template-columns:85px minmax(0,1fr);gap:7px}.connection-art svg{width:85px;height:90px}.field{grid-template-columns:59px minmax(0,1fr);gap:3px}.field-label{font-size:9px}.lamps{gap:6px;font-size:8px}.remember-label{font-size:9px}.connection-indicators{gap:4px}.network-mark{font-size:13px}.connection-body{padding-left:8px;padding-right:8px}}@media(prefers-reduced-motion:reduce){.is-connecting .connection-progress i,.is-connecting .lamp i{animation:none}.is-connecting .connection-progress i{left:3px;width:40%}}

@font-face{font-family:Pixel;src:url('../assets/pixel.ttf')}
@font-face{font-family:Pixel;src:url('../assets/pixel-bold.ttf');font-weight:700}
@font-face{font-family:PixelMono;src:url('../assets/pixel-mono.ttf')}
/* Match the palette and typography of the DIALVO Trenches frontend. */
:root{color-scheme:dark;--silver:#131b40;--ink:#eee9d5;--blue:#62dbff;--terminal-bg:#030a2c;--terminal-cream:#e9dfbf;--terminal-muted:#94a8cd;--mono:PixelMono,'Courier New',monospace;--ui:Pixel,Tahoma,'Microsoft YaHei',sans-serif}
body{background:var(--terminal-bg);color:var(--ink);background-image:radial-gradient(ellipse at 55% -30%,#12378c55,transparent 65%),linear-gradient(#0f23542b 1px,transparent 1px),linear-gradient(90deg,#0f23542b 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;font-family:var(--ui)}
a{color:#6baeff}.portal-header{border-bottom-color:#294476}.portal-brand{color:#f0e6c9}.portal-brand strong{color:#f0e6c9;text-shadow:2px 2px #030921}.portal-brand small{color:#61d8ed}.portal-links{font-size:13px}.portal-lead{color:#8faed1;font-size:14px}.portal-lead b{color:#c7efff}.portal-nav{background:#0b1737;border-color:#34517e;color:#b1d5ef;font-size:15px}.portal-nav>span{color:#78ead8}.directory{background:#050e2b;border-color:#36527d;box-shadow:inset 1px 1px #172650,2px 2px #02051c}.directory h2{background:linear-gradient(90deg,#102c73,#0d1c48);border-bottom-color:#264e8b;color:#cceeff;font:18px var(--ui)}.directory-content h3{color:#e9dfbf;font-size:17px}.directory-content p,.directory-content ul{color:#8eaed0;font-size:15px}.directory.yellow{background:#07132d;border-color:#36527d}.directory.yellow h2{background:linear-gradient(90deg,#093e66,#0b2343);color:#b5eaff}.portal-info{border-top-color:#294476;color:#6c88b4;font-size:11px}.inline-login{color:#80e9f7;font:15px var(--ui)}
.login-layer{background:#01051c4d}.connection-window{color:#e9e5d1;background:#111d3f;border-color:#eee4c8 #6b6b70 #6b6b70 #eee4c8;box-shadow:inset 0 0 0 1px #8e8b82,0 0 0 1px #020622,5px 7px 0 #01051b88;font:13px/1.35 var(--ui)}.titlebar{background:linear-gradient(90deg,#0634a1 0%,#1055d0 58%,#12688b 100%);border-bottom:1px solid #6bdffb;color:#fff8df;height:24px}.titlebar>div{font:700 14px/1.1 var(--ui);text-shadow:1px 1px #061a5a}.titlebar img{border:1px solid #5088d0}.close-button{background:#e5dcc2;color:#142346;border-color:#fff7df #757275 #757275 #fff7df;box-shadow:inset 1px 1px #fff2cd,inset -1px -1px #aaa38f}.connection-body{background:linear-gradient(180deg,#142049,#0c173a);padding-top:15px}.network-mark{color:#f0e6c9;font:700 19px/1.1 var(--mono);letter-spacing:.5px}.field{font:14px var(--ui);grid-template-columns:75px minmax(0,1fr)}.field-label{color:#a4bfdc}.field input{background:#050d29;color:#d8f5ff;border-color:#02061c #35517c #35517c #02061c;box-shadow:inset 1px 1px #050c24;caret-color:#59eaff;height:25px;font:13px var(--mono)}.field input::placeholder{color:#58769d;font-size:11px}.field input:focus{outline-color:#58ddff}.field input[readonly]{background:#0a1839;color:#75d9e7}.password-toggle{background:#0b1a38;color:#789ec3}.password-toggle[aria-pressed=true]{color:#69e7f5}.connection-note{color:#8faed1;font:12px/1.4 var(--mono);margin-top:3px}.connection-progress{background:#050e29;border-color:#02061c #35517c #35517c #02061c;box-shadow:inset 1px 1px #050c24}.connection-progress::after{content:'';position:absolute;inset:2px;background:linear-gradient(90deg,#165bff,#35b6ec 58%,#59eaff);opacity:.65}.lamps{color:#92b3d5;font:12px var(--mono)}.lamp i{background:#102a38;border-color:#183c54;box-shadow:inset 1px 1px #274b5b}.lamp.mr i{background:#58edcb;border-color:#1d5c67;box-shadow:0 0 5px #4cebd844}.lamp.sd i,.lamp.rd i{background:#283049;border-color:#3c4965;box-shadow:none}.lamp.cd i{background:#0d2540;border-color:#294767}.remember-label{color:#8faed1;font-size:12px}.entry-network{display:flex;align-items:center;gap:5px;color:#77dce8;font:11px var(--mono);white-space:nowrap}.entry-network::before{content:'◎';color:#9eb4e8}.retro-button{background:#dcd3b8;color:#17264a;border-color:#fff4d5 #727078 #727078 #fff4d5;box-shadow:inset -1px -1px #a5a08f,inset 1px 1px #f7edd0,1px 1px #040921;font:14px var(--ui);min-height:26px}.retro-button:hover{background:#f0e5c8}.retro-button.primary{background:#124bc5;color:#e4faff;border-color:#6ca5f7 #08245b #08245b #6ca5f7;outline-color:#5586be;box-shadow:inset -1px -1px #143975,inset 1px 1px #3d76cb,1px 1px #040921}.retro-button.primary:hover{background:#1b62e0}.retro-button.primary::after{border-color:#8bd6ff}.connection-tip{color:#5576a5;font:10px var(--mono)}.form-message{background:#122344;border-color:#2a4977;color:#a7bfdc}.connection-art svg>path[fill='#929285']{fill:#cfc5a9}.connection-art svg>path[fill='#d1d1bc']{fill:#e9dfbf}.connection-art svg>path[stroke='#858585']{stroke:#476789}.connection-art svg>path[stroke='#505050']{stroke:#7196b9}
@media(max-width:600px){.portal-links{font-size:11px}.portal-lead{font-size:12px}.portal-nav{font-size:13px}.portal-nav>div{font-size:13px}.network-mark{font-size:18px}.field{grid-template-columns:64px minmax(0,1fr);font-size:13px}.field input{font-size:12px}.connection-note{font-size:11px}.lamps{font-size:10px;gap:8px}.entry-network{font-size:10px}.retro-button{font-size:13px}.connection-tip{font-size:9px}}
@media(max-width:370px){.field{grid-template-columns:59px minmax(0,1fr)}.field-label{font-size:11px}.entry-network{font-size:9px}.lamps{font-size:9px;gap:6px}.network-mark{font-size:17px}}
