:root { color-scheme:dark; --bg:#07111d; --panel:#0d1b2a; --line:#20364a; --text:#eef6fb; --muted:#91a5b8; --cyan:#4dd7e5; --amber:#ffbf47; --green:#61d89b; }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--bg); }
body { margin:0; min-height:100%; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif; color:var(--text); background:radial-gradient(circle at 85% -10%,#143656 0,transparent 36%),linear-gradient(180deg,#081522 0,#050b12 100%); }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:24px 24px; }
.app-shell { width:min(100%,900px); min-height:100vh; margin:auto; padding:env(safe-area-inset-top) 20px calc(32px + env(safe-area-inset-bottom)); }
.topbar { height:86px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:12px; align-items:center; color:inherit; text-decoration:none; }.brand-mark { width:42px; height:42px; border:1px solid #2c7380; border-radius:11px; box-shadow:0 0 18px rgba(77,215,229,.15); }
.brand strong,.brand small { display:block; }.brand strong { font-size:15px; }.brand small { margin-top:3px; color:var(--muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.status { color:var(--muted); font:600 9px/1 ui-monospace,monospace; letter-spacing:.12em; }.status i { display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); }
main { outline:none; }.hero { padding:48px 2px 30px; }.eyebrow { margin:0 0 12px; color:var(--cyan); font:700 11px/1 ui-monospace,monospace; letter-spacing:.18em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(34px,8vw,58px); line-height:.98; letter-spacing:-.045em; }.hero p { max-width:560px; margin:18px 0 0; color:var(--muted); font-size:15px; line-height:1.55; }
.section-label { display:flex; justify-content:space-between; margin:10px 2px 12px; color:var(--muted); font:700 10px/1 ui-monospace,monospace; letter-spacing:.15em; text-transform:uppercase; }
.item-list { display:grid; gap:9px; }.item-link { display:grid; grid-template-columns:43px 1fr 28px; align-items:center; min-height:72px; padding:10px 14px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(120deg,rgba(17,38,59,.96),rgba(10,25,40,.94)); color:var(--text); text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.14); }.item-link:active { transform:scale(.985); }.item-no { color:var(--cyan); font:700 11px/1 ui-monospace,monospace; }.item-name { font-size:15px; font-weight:650; }.item-meta { display:block; margin-top:5px; color:var(--muted); font:500 9px/1 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; }.arrow { color:#628098; font-size:22px; }
.detail-head { padding:36px 2px 22px; }.back-top { display:inline-flex; margin-bottom:26px; color:var(--muted); text-decoration:none; font:650 11px/1 ui-monospace,monospace; letter-spacing:.09em; text-transform:uppercase; }.detail-index { color:var(--cyan); font:700 11px/1 ui-monospace,monospace; letter-spacing:.16em; }.detail-head h1 { margin-top:10px; font-size:clamp(29px,7vw,46px); }.instruction { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:18px; padding:13px 15px; border:1px solid #564a2b; border-radius:12px; background:#201c14; color:#d4c29e; font-size:12px; line-height:1.45; }.instruction b { color:var(--amber); font-family:ui-monospace,monospace; }.instruction .top-reveal { min-height:36px; margin:0 0 0 auto; padding:0 14px; border-color:#776330; background:#2a2418; }
.profile-frame { position:relative; overflow:auto; margin:0 -20px; padding:0 20px 12px; scrollbar-color:#36566e transparent; }.profile-canvas { position:relative; width:1100px; aspect-ratio:16/9; overflow:hidden; border:1px solid #385066; border-radius:16px; background:#fff; box-shadow:0 18px 45px rgba(0,0,0,.35); }.profile-page { display:block; width:100%; height:100%; user-select:none; -webkit-user-drag:none; }
.cover { position:absolute; z-index:3; border:1.5px dashed #17365d; border-radius:4px; background:linear-gradient(135deg,#fff 0,#f4f7fa 100%); color:#17365d; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.18); -webkit-tap-highlight-color:transparent; }.cover::after { content:""; position:absolute; inset:30%; border-radius:50%; background:#4dd7e5; box-shadow:0 0 0 4px rgba(77,215,229,.18); }.cover.revealed { pointer-events:none; animation:reveal .22s ease forwards; }
@keyframes reveal { to { opacity:0; transform:scale(.96); } }
.plane { position:absolute; z-index:2; left:0; top:0; width:30px; height:30px; display:grid; place-items:center; color:#07111d; filter:drop-shadow(0 2px 2px rgba(255,255,255,.9)); transform:translate(-50%,-50%); transition:left .65s cubic-bezier(.22,.8,.24,1),top .65s cubic-bezier(.22,.8,.24,1),opacity .3s,transform .6s; pointer-events:none; }.plane svg { width:100%; height:100%; }.plane.departed { opacity:0; transform:translate(80px,-70px) scale(.7); }
.progress { display:flex; align-items:center; gap:12px; margin:14px 2px 0; color:var(--muted); font:650 10px/1 ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }.progress-track { flex:1; height:5px; overflow:hidden; border-radius:5px; background:#173048; }.progress-fill { width:0; height:100%; background:linear-gradient(90deg,var(--cyan),var(--green)); transition:width .5s ease; }
.actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:24px; }.actions .home-link { margin-top:0; }.reveal-all { background:#201c14; color:var(--amber); cursor:pointer; }.reveal-all:disabled { color:var(--green); cursor:default; opacity:.8; }
.home-link { display:flex; justify-content:center; align-items:center; min-height:58px; margin-top:24px; border:1px solid var(--line); border-radius:14px; color:var(--cyan); text-decoration:none; font:700 11px/1 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; }.source-note { margin:28px 0 0; color:#647a8d; text-align:center; font-size:10px; line-height:1.5; }
@media (hover:hover) { .item-link:hover,.home-link:hover { border-color:#3a7188; } }.profile-frame::after { content:"Swipe to inspect the full profile"; position:sticky; left:20px; display:block; width:max-content; margin-top:9px; color:#6f8799; font:600 9px/1 ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }
@media (max-width:430px) { .app-shell { padding-left:14px; padding-right:14px; }.topbar { height:76px; }.status { font-size:8px; }.hero { padding-top:38px; }.profile-frame { margin-left:-14px; margin-right:-14px; padding-left:14px; padding-right:14px; }.profile-frame::after { left:14px; }.instruction .top-reveal { width:100%; margin-left:0; } }
