@font-face{font-family:Neo;src:url('/assets/neodgm.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;font-family:Neo,monospace;background:#151d24;color:#d8e3df}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;overscroll-behavior:none}
body{min-height:100svh;display:grid;place-items:center;padding:22px 12px;background:radial-gradient(ellipse at 50% 28%,#34434b 0,#1e2931 39%,#10171e 84%)}
.phone{width:338px;padding:25px 24px 18px;border-radius:49px 49px 43px 43px;background:linear-gradient(100deg,#3b4247 0,#969d9c 1.5%,#4f595e 3%,#252e34 7%,#313a40 48%,#1c252c 93%,#677276 97%,#242e35 100%);border:1px solid #a0aaaa;box-shadow:inset 0 1px 2px #d1d8d4,inset 0 -3px 5px #080e14,0 28px 55px #0008,0 2px 4px #000c;position:relative;isolation:isolate}
.phone:before{content:"";position:absolute;inset:7px;border:1px solid #111a1f;border-radius:43px 43px 37px 37px;pointer-events:none;box-shadow:0 0 1px #aab4b44d}
.speaker{height:8px;width:82px;display:flex;gap:4px;justify-content:center;margin:0 auto 19px;padding:2px 8px;border-radius:10px;background:#111a20;box-shadow:0 1px 1px #84909188}
.speaker i{width:3px;height:3px;background:#02080c;border-radius:50%;box-shadow:0 1px #677278}
.screen-rim{padding:18px 16px 20px;border-radius:18px 18px 12px 12px;background:linear-gradient(135deg,#0d171e,#1a242b 45%,#0b141c);border:1px solid #121c22;box-shadow:0 1px #73808380,inset 0 1px 1px #000;position:relative}
.screen-rim:after{content:"";position:absolute;inset:0;background:linear-gradient(118deg,#adc7d509,transparent 38%);pointer-events:none;border-radius:inherit}
.lcd{width:100%;aspect-ratio:176/220;background:#05090d;position:relative;overflow:hidden;box-shadow:0 0 0 2px #020508,0 0 0 3px #4051514d}
canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;outline:none}
#system-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 30%,#132d3b,#050f1a);padding:15px 9px;text-align:center;gap:8px}
#system-screen[hidden]{display:none}
#system-title{font-size:25px;letter-spacing:-1px;margin:0;color:#dcebe8;text-shadow:0 2px #000}
#system-message{font-size:14px;color:#9ab8c7;margin:0;line-height:1.55;white-space:pre-line}
#system-detail{font-size:12px;line-height:1.6;color:#b1c8d2;margin-top:5px;white-space:pre-line;overflow-wrap:anywhere}
#boot-mark{width:22px;height:22px;border:1px solid #607e8d;transform:rotate(45deg);margin:17px;animation:breathe 2.5s ease-in-out infinite}
@keyframes breathe{50%{opacity:.3}}
.navigation{display:grid;grid-template-columns:1fr 130px 1fr;align-items:center;gap:10px;margin:19px -4px 16px}
button{font-family:inherit;color:#dbe4e6;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid #111a20;background:linear-gradient(#4d5a62,#293740 55%,#233039);box-shadow:inset 0 1px #a2adb27a,0 2px 2px #0009,0 3px 1px #151f26;text-shadow:0 1px 1px #000;outline-offset:3px}
button:hover{filter:brightness(1.13)}
button:active,button.pressed{background:linear-gradient(#202e37,#374852);box-shadow:inset 0 2px 4px #000b,0 1px #82929955;transform:translateY(1px);filter:brightness(1.2)}
button:focus-visible{outline:2px solid #c0e2e2}
.side-keys{height:95px;display:flex;flex-direction:column;justify-content:space-between}
.side-keys button{height:36px;border-radius:8px;font-size:12px}
.side-keys .call-key,.side-keys .end-key{height:38px;font-size:25px;border-radius:9px 9px 14px 14px}
.call-key{color:#bcebcf}.end-key{color:#ffd0c9}
.dpad{height:116px;width:130px;display:grid;grid-template:36px 44px 36px / 43px 44px 43px;border-radius:44px;background:linear-gradient(140deg,#526875,#334752 35%,#172935 60%,#526875);border:1px solid #8c9da4;box-shadow:inset 0 1px #bdcaca,0 3px 5px #000b;padding:0}
.dpad button{border:0;background:transparent;box-shadow:none;font-size:20px;margin:0;padding:0;color:#eef4f7}
.dpad .up{grid-area:1/2}.dpad .left{grid-area:2/1}.dpad .ok{grid-area:2/2;border-radius:12px;border:1px solid #121c25;background:linear-gradient(140deg,#465e6b,#3b5261 38%,#223f51);box-shadow:inset 0 1px #b2c5cd99,0 1px 2px #000a;font-size:13px;letter-spacing:.4px}
.dpad .right{grid-area:2/3}.dpad .down{grid-area:3/2}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 8px;margin:0 -2px}
.keypad button{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border-radius:9px 9px 13px 13px;position:relative}
.keypad b{font-size:21px;font-weight:400;line-height:1}
.keypad small{font-size:11px;letter-spacing:.6px;color:#d2dde3;min-width:21px;text-align:left;padding-top:4px}
.microphone{width:30px;height:3px;background:#111a21;box-shadow:0 1px #66757c66;border-radius:8px;margin:18px auto 0}
@media(max-height:760px){.phone{zoom:.87}.keypad small,.side-keys button{font-size:13px}#system-detail{font-size:14px}}
@media(max-width:370px){body{padding:10px 7px}.phone{width:310px;padding:21px 22px 14px}.navigation{grid-template-columns:1fr 124px 1fr;margin-top:16px;margin-bottom:12px}.dpad{width:124px;grid-template-columns:40px 44px 40px}.keypad{gap:8px}.keypad button{height:37px}}
@media(prefers-reduced-motion:reduce){#boot-mark{animation:none}}

@media(max-height:660px){.phone{zoom:.75}.keypad small{font-size:15px}.side-keys button,.dpad .ok,#system-message,#system-detail{font-size:16px}}
