:root{
  --green:#00ff41; --greend:#0a7a24; --greenb:#0d0; 
  --bg:#000; --amber:#ffb000;
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{height:100%;}
body{
  background:#050505; color:#e8e8e8;
  font-family:'IBM Plex Sans',sans-serif;
  overflow:hidden; -webkit-tap-highlight-color:transparent;
}
.app-root{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 50% 30%, #0a1005, #000 70%);}
.mute-btn{position:fixed; top:8px; right:10px; z-index:999; background:rgba(0,0,0,.5); border:1px solid var(--greend); color:var(--green); border-radius:6px; padding:4px 8px; cursor:pointer; font-size:14px;}
.remix{position:fixed; bottom:6px; right:10px; z-index:998; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--greend); text-decoration:none; opacity:.7; letter-spacing:.05em;}
.remix:hover{color:var(--green); opacity:1;}

/* ===== PHONE — iOS 18, locked to 19.5:9 ===== */
.phone-wrap{display:flex; flex-direction:column; align-items:center; gap:12px;}
.phone-frame{
  position:relative; aspect-ratio:9 / 19.5; height:min(90vh, 780px); width:auto; max-width:94vw;
  background:#fff; border-radius:52px; border:2px solid #2a2a2c;
  box-shadow:0 0 0 9px #0c0c0e, 0 0 0 11px #2a2a2c, 0 40px 90px rgba(0,0,0,.85); overflow:hidden;
  transition:opacity 1.4s ease, filter 1.4s ease;
  font-family:-apple-system,'SF Pro Text','IBM Plex Sans',sans-serif;
}
.phone-fade{opacity:0; filter:brightness(0);}
/* Dynamic Island */
.phone-notch{position:absolute; top:12px; left:50%; transform:translateX(-50%); width:120px; height:34px; background:#000; border-radius:20px; z-index:20;}
.phone-status{position:absolute; top:16px; left:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:0 30px; font-size:15px; font-weight:600; color:#000; z-index:15; font-family:-apple-system,'SF Pro Text',sans-serif;}
.phone-status.dark span{color:#fff;}
.phone-black{position:absolute; inset:0; background:#000;}
.phone-hint{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--greend); letter-spacing:.06em; text-align:center; min-height:16px;}

.notif-banner{
  position:absolute; top:46px; left:10px; right:10px; z-index:30;
  background:rgba(30,30,34,.62); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:14px 16px; cursor:pointer;
  animation:slideDown .6s cubic-bezier(.2,.9,.3,1.4); box-shadow:0 12px 40px rgba(0,0,0,.6);
}
@keyframes slideDown{from{transform:translateY(-120px); opacity:0;}to{transform:translateY(0); opacity:1;}}
.notif-row{display:flex; align-items:center; gap:10px;}
.notif-icon{width:34px; height:34px; border-radius:9px; background:#ff2d2d; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:20px; box-shadow:0 0 16px rgba(255,45,45,.8);}
.notif-title{color:#fff; font-weight:700; font-size:14px;}
.notif-sub{color:#bbb; font-size:11px;}
.notif-body{color:#eee; font-size:13px; margin-top:8px; line-height:1.4;}
.notif-tap{color:#7fd; font-size:10px; margin-top:8px; text-align:right; letter-spacing:.1em; text-transform:uppercase; animation:blink 1.4s infinite;}
@keyframes blink{50%{opacity:.3;}}

/* iOS 18 iMessage — light theme like Apple reference */
.msg-app{position:absolute; inset:0; background:#fff; display:flex; flex-direction:column; padding-top:52px; animation:fadeIn .5s; font-family:-apple-system,'SF Pro Text',sans-serif;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.msg-header{display:flex; flex-direction:column; align-items:center; padding:6px 14px 12px; gap:2px; position:relative; background:rgba(250,250,250,.9); backdrop-filter:blur(20px); border-bottom:.5px solid #e2e2e5;}
.msg-back{position:absolute; left:14px; top:8px; width:34px; height:34px; border-radius:50%; background:#f0f0f2; color:#007aff; font-size:22px; font-weight:600; display:flex; align-items:center; justify-content:center; line-height:1;}
.msg-contact{display:flex; flex-direction:column; align-items:center;}
.msg-avatar{width:52px; height:52px; border-radius:50%; background:linear-gradient(160deg,#a0a0a8,#6d6d75); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:24px; box-shadow:0 2px 6px rgba(0,0,0,.15);}
.msg-name{font-size:13px; color:#000; font-weight:600; margin-top:5px; display:flex; align-items:center; gap:3px;}
.msg-name::after{content:'›'; color:#999; font-weight:400;}
.msg-encrypt{font-size:10px; color:#8a8a8e; margin-top:1px; letter-spacing:.01em;}
.msg-aimode{position:absolute; right:14px; top:8px; background:#f0f0f2; border:none; color:#007aff; font-size:11px; font-weight:700; padding:6px 9px; border-radius:14px; cursor:pointer; font-family:-apple-system,sans-serif;}
.msg-aimode.on{background:#007aff; color:#fff;}
.msg-thread{flex:1; overflow-y:auto; padding:14px 14px 6px; display:flex; flex-direction:column; gap:3px; background:#fff;}
.msg-date{text-align:center; color:#8a8a8e; font-size:11px; margin:8px 0; font-weight:500;}
.bubble{max-width:74%; padding:8px 14px; border-radius:19px; font-size:16px; line-height:1.3; animation:pop .25s ease; margin-top:6px; position:relative;}
@keyframes pop{from{transform:scale(.85); opacity:0;}to{transform:scale(1); opacity:1;}}
.bubble.in{align-self:flex-start; background:#e9e9eb; color:#000; border-bottom-left-radius:6px;}
.bubble.out{align-self:flex-end; background:linear-gradient(180deg,#3aa0ff,#007aff); color:#fff; border-bottom-right-radius:6px;}
.bubble.out::after{content:''; position:absolute; right:-6px; bottom:0; width:14px; height:16px; background:radial-gradient(circle at top left, transparent 12px, #007aff 12px); }
.typing-dots{letter-spacing:2px; animation:blink 1s infinite; color:#8a8a8e;}
.msg-delivered{align-self:flex-end; font-size:10px; color:#8a8a8e; margin-top:2px; margin-right:4px;}
.msg-inputbar{display:flex; align-items:center; gap:8px; padding:8px 12px 26px; background:#fff; border-top:.5px solid #e2e2e5;}
.msg-plus{width:32px; height:32px; border-radius:50%; background:#f0f0f2; color:#8a8a8e; display:flex; align-items:center; justify-content:center; font-size:22px; flex:0 0 auto; font-weight:300;}
.msg-input{flex:1; background:#fff; color:#111; border:1px solid #d6d6da; border-radius:18px; padding:8px 14px; font-size:16px; min-height:36px; outline:none; font-family:-apple-system,sans-serif;}
.msg-input-typed{display:flex; align-items:center; white-space:normal; word-break:break-word; color:#111; min-height:36px;}
.msg-input-typed .placeholder{color:#b0b0b4;}
.sel-box{background:#b3d4ff; box-shadow:0 0 0 1px #007aff; border-radius:3px;}
.caret{display:inline-block; width:2px; height:18px; background:#007aff; margin-left:1px; animation:blink .8s infinite; vertical-align:middle;}
.msg-send{width:34px; height:34px; border-radius:50%; background:#e3e3e6; color:#aaa; border:none; font-size:18px; flex:0 0 auto; cursor:pointer; transition:.2s; font-weight:700;}
.msg-send.ready{background:#007aff; color:#fff; box-shadow:0 2px 8px rgba(0,122,255,.4);}
/* iOS keyboard graphic */
.ios-kb{background:#d1d3d9; padding:8px 3px 24px; display:flex; flex-direction:column; gap:7px; user-select:none;}
.ios-kb-row{display:flex; justify-content:center; gap:5px;}
.ios-key{background:#fff; color:#000; border-radius:5px; min-width:26px; height:38px; flex:1; display:flex; align-items:center; justify-content:center; font-size:16px; box-shadow:0 1px 0 rgba(0,0,0,.28); font-family:-apple-system,sans-serif;}
.ios-key.wide{flex:1.6; font-size:13px; background:#adb3bd; color:#000;}
.ios-key.space{flex:5;}

/* ===== CRT / BOOT ===== */
.crt-screen{position:fixed; inset:0; background:#000; color:var(--green); font-family:'JetBrains Mono',monospace; display:flex; align-items:center; justify-content:center; overflow:hidden; animation:crtOn .6s ease;}
@keyframes crtOn{from{filter:brightness(4) blur(4px); transform:scaleY(.02);}to{filter:none; transform:none;}}
.scanlines{position:absolute; inset:0; pointer-events:none; z-index:50; background:repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0, rgba(0,0,0,0) 2px, rgba(0,20,0,.35) 3px, rgba(0,20,0,.35) 3px); mix-blend-mode:multiply;}
.crt-screen::after,.desktop::after{content:''; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 160px rgba(0,40,0,.5); z-index:49;}

.boot-logo{text-align:center; z-index:10;}
.footprint{font-size:70px; filter:hue-rotate(60deg) brightness(1.4); text-shadow:0 0 30px var(--green);}
.pulse{animation:pulse 1.4s infinite;}
@keyframes pulse{0%,100%{transform:scale(1); opacity:.7;}50%{transform:scale(1.15); opacity:1;}}
.logo-text{font-size:30px; font-weight:800; letter-spacing:.12em; margin-top:20px; text-shadow:0 0 14px var(--green); position:relative;}
.logo-sub{font-size:11px; color:var(--greend); margin-top:8px; letter-spacing:.3em;}
.glitch{animation:glitch 2.5s infinite;}
@keyframes glitch{0%,90%,100%{text-shadow:0 0 14px var(--green);}92%{text-shadow:-2px 0 #f0f, 2px 0 #0ff, 0 0 14px var(--green); transform:translateX(1px);}94%{text-shadow:2px 0 #f0f,-2px 0 #0ff;}}

.boot-load{width:80%; max-width:440px; z-index:10;}
.load-label{font-size:12px; margin-bottom:10px; letter-spacing:.2em;}
.load-bar{height:16px; border:1px solid var(--green); padding:2px; background:#001500;}
.load-fill{height:100%; background:var(--green); box-shadow:0 0 12px var(--green); transition:width .12s;}
.load-pct{font-size:11px; margin-top:6px; text-align:right;}

.code-feed{position:absolute; inset:0; padding:16px; font-size:12px; line-height:1.5; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end;}
.code-line{white-space:nowrap; overflow:hidden; text-shadow:0 0 6px var(--green); opacity:.85;}
.exec-prompt{margin-top:14px; font-size:15px; cursor:pointer; text-shadow:0 0 10px var(--green); border:1px dashed var(--greend); padding:12px; text-align:center; animation:blink 1.2s infinite;}
.kbd{background:var(--green); color:#000; padding:1px 8px; font-weight:800; border-radius:3px;}
.block-cursor{margin-left:6px; animation:blink .5s steps(1) infinite;}

/* ===== HACK HUD (styled like reference: radar + decrypt panel + waveforms) ===== */
.hud{position:absolute; inset:0; z-index:40; background:radial-gradient(circle at 50% 45%, #041a08, #000 75%); display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:10px; padding:16px; overflow:hidden; animation:fadeIn .4s;}
.hud-col{display:flex; flex-direction:column; gap:10px;}
.hud-panel{border:1px solid var(--greend); background:rgba(0,255,65,.04); padding:10px; box-shadow:0 0 18px rgba(0,255,65,.12) inset;}
.hud-panel-label{font-size:10px; letter-spacing:.15em; color:#7effb0; text-transform:uppercase; margin-bottom:6px;}
.decrypt-panel .hud-pw{font-family:'JetBrains Mono',monospace; font-size:20px; font-weight:800; letter-spacing:.12em; color:var(--green); text-shadow:0 0 12px var(--green); background:#031003; border:1px solid var(--greend); padding:8px; text-align:center; word-break:break-all;}
.hud-pct-bar{height:8px; border:1px solid var(--greend); margin-top:8px; background:#031003;}
.hud-pct-fill{height:100%; background:var(--green); box-shadow:0 0 10px var(--green); transition:width .13s;}
.hud-pct-txt{text-align:right; font-size:11px; margin-top:3px; color:var(--green);}
.timer-panel .hud-clock{font-family:'JetBrains Mono',monospace; font-size:30px; font-weight:800; color:var(--green); text-shadow:0 0 14px var(--green); text-align:center; letter-spacing:.08em;}
.hud-wave{display:flex; align-items:flex-end; gap:2px; height:46px; border:1px solid #0a3a12; padding:4px; background:rgba(0,255,65,.03); overflow:hidden;}
.hud-wave.tall{height:60px;}
.hud-wave span{flex:1; background:var(--green); box-shadow:0 0 6px var(--green); opacity:.85; transition:height .13s;}
.hud-map{flex:1; min-height:70px; border:1px solid #0a3a12; position:relative; background:repeating-linear-gradient(0deg,transparent 0 11px,rgba(0,255,65,.06) 11px 12px),repeating-linear-gradient(90deg,transparent 0 11px,rgba(0,255,65,.06) 11px 12px);}
.hud-map-label{position:absolute; top:4px; left:6px; font-size:9px; letter-spacing:.12em; color:#5fbf7a;}
.hud-dots{position:absolute; inset:0;}
.hud-dots span{position:absolute; width:5px; height:5px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:blink 1.4s infinite;}
.hud-center{display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative;}
.hud-badge{border:1px solid var(--green); color:var(--green); font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.35em; padding:4px 14px; text-shadow:0 0 8px var(--green); margin-bottom:14px; animation:blink 1.2s infinite;}
.radar{position:relative; width:min(46vw,220px); aspect-ratio:1;}
.radar-ring{position:absolute; inset:0; border:1px solid var(--greend); border-radius:50%; box-shadow:0 0 14px rgba(0,255,65,.25);}
.radar-ring.r2{inset:16%; border-color:var(--green); opacity:.6;}
.radar-ring.r3{inset:34%; border-style:dashed;}
.radar-sweep{position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, rgba(0,255,65,.4), transparent 25%); animation:sweep 2.2s linear infinite;}
@keyframes sweep{to{transform:rotate(360deg);}}
.radar-core{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:30px; color:var(--green); text-shadow:0 0 16px var(--green); animation:pulse 1.4s infinite;}
.hud-console{margin-top:16px; font-family:'JetBrains Mono',monospace; font-size:10px; color:#5fbf7a; text-align:center; line-height:1.5;}
.hud-console-line{opacity:.7;}
.hud-chips{position:absolute; bottom:12px; left:0; right:0; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:0 16px; z-index:45;}
.hud-chip{display:flex; align-items:center; gap:7px; background:rgba(0,255,65,.08); border:1px solid var(--green); color:var(--green); font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; padding:6px 12px; box-shadow:0 0 16px rgba(0,255,65,.25); opacity:0; animation:chipIn .4s ease forwards;}
@keyframes chipIn{from{transform:translateY(14px) scale(.9); opacity:0;}to{transform:translateY(0) scale(1); opacity:1;}}
.hud-chip-dot{width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:blink 1s infinite;}
@media(max-width:600px){
  .hud{grid-template-columns:1fr; grid-template-rows:auto auto auto; gap:8px; padding:10px; overflow-y:auto;}
  .hud-left{display:none;}
  .hud-chips{position:static; margin-top:8px;}
}

/* ===== DESKTOP ===== */
.desktop{position:fixed; inset:0; background:#020602; color:var(--green); font-family:'JetBrains Mono',monospace; display:flex; flex-direction:column; animation:crtOn .5s;}
.dtop{display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; padding:8px 12px; border-bottom:1px solid var(--greend); background:linear-gradient(180deg,#031003,#010401);}
.dtitle{font-weight:800; font-size:14px; letter-spacing:.08em; text-shadow:0 0 8px var(--green);}
.dtitle-sub{color:var(--greend); font-weight:400; font-size:11px;}
.dtabs{display:flex; gap:4px; flex-wrap:wrap;}
.dtab{background:transparent; border:1px solid var(--greend); color:var(--greend); font-family:inherit; font-size:11px; padding:4px 10px; cursor:pointer; letter-spacing:.05em;}
.dtab:hover{color:var(--green);}
.dtab.active{background:var(--green); color:#000; font-weight:700; box-shadow:0 0 12px var(--green);}
.dbody{flex:1; overflow:hidden; position:relative; z-index:2;}

.term{height:100%; display:flex; flex-direction:column; padding:12px; cursor:text;}
.term-feed{flex:1; overflow-y:auto; font-size:13px; line-height:1.55;}
.term-line{white-space:pre-wrap; word-break:break-word; text-shadow:0 0 5px rgba(0,255,65,.4);}
.term-line.dim{color:#0a8a2a;}
.term-line.usercmd{color:#8fffa8; font-weight:700;}
.term-line.accent{color:var(--amber); text-shadow:0 0 6px var(--amber);}
.term-line.ok{color:#5fffa0; text-shadow:0 0 8px #5fffa0;}
.term-line.err{color:#ff5d5d; text-shadow:0 0 6px #ff5d5d;}
.term-input{display:flex; gap:8px; align-items:center; margin-top:6px; border-top:1px solid #0a3a12; padding-top:8px;}
.term-prompt{color:#8fffa8; font-size:13px; flex:0 0 auto;}
.term-field{flex:1; background:transparent; border:none; color:var(--green); font-family:inherit; font-size:13px; outline:none; caret-color:var(--green);}
.term-quick{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
.quick-btn{background:rgba(0,255,65,.08); border:1px solid var(--greend); color:var(--green); font-family:inherit; font-size:11px; padding:5px 10px; cursor:pointer; animation:blink 2s infinite;}
.quick-btn:hover{background:var(--green); color:#000;}

.panel{height:100%; overflow-y:auto; padding:18px; max-width:820px; margin:0 auto;}
.panel-h{font-size:16px; letter-spacing:.15em; margin-bottom:12px; text-shadow:0 0 10px var(--green); border-bottom:1px solid var(--greend); padding-bottom:8px;}
.panel-p{font-size:13px; color:#9fe8b0; line-height:1.6; margin-bottom:18px;}
.mission{display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid #0a3a12; margin-bottom:8px; font-size:13px; color:#9fe8b0; background:rgba(0,255,65,.03);}
.mission.md{color:var(--green); border-color:var(--greend); text-decoration:line-through; opacity:.75;}
.mcheck{font-weight:800; color:var(--green);}
.case-banner{margin-top:18px; padding:14px; border:2px solid var(--green); text-align:center; font-weight:800; letter-spacing:.1em; color:var(--green); text-shadow:0 0 12px var(--green); animation:pulse 1.6s infinite;}

.ev-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px;}
.ev-node{border:1px solid var(--greend); background:rgba(0,255,65,.04); padding:16px; text-align:center; font-size:12px; cursor:pointer; transition:.2s;}
.ev-node:hover{border-color:var(--green); box-shadow:0 0 16px rgba(0,255,65,.3);}
.ev-node.locked{opacity:.4; cursor:not-allowed; border-style:dashed;}
.ev-file{font-size:32px; margin-bottom:8px;}
.ev-lock{margin-top:8px; font-size:10px; color:var(--amber);}
.ev-hint{margin-top:20px; padding:12px; border:1px dashed var(--amber); color:var(--amber); font-size:12px; text-align:center; animation:blink 2s infinite;}

.intg-log{background:#010601; border:1px solid #0a3a12; padding:14px; height:60vh; overflow-y:auto; margin-bottom:14px;}
.intg-line{margin-bottom:14px; font-size:13px; line-height:1.5;}
.intg-who{display:block; font-size:10px; font-weight:800; letter-spacing:.1em; margin-bottom:3px;}
.intg-det .intg-who{color:var(--green);}
.intg-jul{color:#ff9d6d;}
.intg-jul .intg-who{color:#ff6d3d;}
.intg-sys{color:var(--greend);}
.intg-btn{width:100%; background:rgba(0,255,65,.1); border:1px solid var(--green); color:var(--green); font-family:inherit; font-size:13px; padding:14px; cursor:pointer; letter-spacing:.05em;}
.intg-btn:hover{background:var(--green); color:#000; font-weight:700;}

/* ===== MODALS ===== */
.modal-back{position:fixed; inset:0; background:rgba(0,0,0,.82); z-index:200; display:flex; align-items:center; justify-content:center; padding:16px;}
.modal{background:#030a03; border:1px solid var(--green); box-shadow:0 0 50px rgba(0,255,65,.35); position:relative; max-width:560px; width:100%; max-height:88vh; overflow-y:auto; font-family:'JetBrains Mono',monospace; color:var(--green);}
.modal-x{background:transparent; border:none; color:var(--green); font-size:16px; cursor:pointer; position:absolute; top:8px; right:10px;}
.file-modal{padding:0;}
.file-head{padding:12px 16px; border-bottom:1px solid var(--greend); font-weight:700; font-size:13px; background:rgba(0,255,65,.06);}
.file-body{padding:16px; font-size:13px; line-height:1.5;}
.file-body.mono{font-size:12px;}
.log-line{padding:5px 0; border-bottom:1px dashed #0a3a12;}
.log-line.err{color:#ff5d5d; text-shadow:0 0 6px #ff5d5d;}
.sms-msg{padding:10px 12px; margin-bottom:10px; border-radius:8px; font-size:13px; line-height:1.45;}
.sms-msg.them{background:rgba(0,255,65,.06); border-left:3px solid var(--green);}
.sms-msg.me{background:rgba(255,80,80,.08); border-left:3px solid #ff5d5d; color:#ffb3b3;}
.sms-time{font-size:10px; color:var(--greend); font-weight:400;}
.file-note{margin-top:14px; padding:10px; border:1px solid var(--amber); color:var(--amber); font-size:12px; line-height:1.5;}

.pin-modal{max-width:420px; padding:24px; text-align:center;}
.shake{animation:shake .3s;}
@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-8px);}75%{transform:translateX(8px);}}
.pin-title{font-weight:800; letter-spacing:.1em; font-size:14px; text-shadow:0 0 10px var(--green);}
.pin-sub{font-size:11px; color:#9fe8b0; margin-top:8px; line-height:1.4;}
.pin-target{font-size:12px; color:var(--amber); margin:14px 0;}
.pin-slots{display:flex; gap:12px; justify-content:center; margin:18px 0;}
.pin-slot{width:56px; height:70px; border:2px solid var(--greend); display:flex; align-items:center; justify-content:center; font-size:36px; font-weight:800; color:var(--greend);}
.pin-slot.active{border-color:var(--green); color:var(--green); box-shadow:0 0 18px var(--green);}
.pin-slot.locked{border-color:var(--green); color:var(--green); background:rgba(0,255,65,.12);}
.pin-stop{margin-top:8px; width:100%; padding:16px; background:var(--green); color:#000; border:none; font-family:inherit; font-weight:800; font-size:16px; letter-spacing:.1em; cursor:pointer;}
.pin-stop:disabled{background:var(--greend); cursor:default;}

.solved-modal{padding:26px; text-align:center; border-color:#ff5d5d; box-shadow:0 0 60px rgba(255,45,45,.4);}
.stamp{display:inline-block; border:4px solid #ff2d2d; color:#ff2d2d; font-weight:800; font-size:26px; letter-spacing:.1em; padding:8px 22px; transform:rotate(-8deg); text-shadow:0 0 10px rgba(255,45,45,.6); margin-bottom:18px;}
.solved-h{color:#fff; font-size:18px; margin-bottom:18px; font-family:'IBM Plex Sans';}
.solved-row{text-align:left; font-size:12px; line-height:1.55; margin-bottom:14px; color:#cfeecf;}
.solved-k{display:block; color:var(--amber); font-weight:800; font-size:10px; letter-spacing:.15em; margin-bottom:3px;}
.solved-close{margin-top:8px; background:transparent; border:1px solid var(--green); color:var(--green); padding:10px 20px; font-family:inherit; cursor:pointer;}
.solved-close:hover{background:var(--green); color:#000;}

@media(max-width:600px){
  .phone-frame{height:82vh; width:88vw;}
  .dtitle-sub{display:none;}
  .panel{padding:12px;}
  .flood-pop{width:110px; font-size:9px;}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;}
  .scanlines{display:none;}
}
</parameter>
</invoke>