:root {
  color-scheme: dark;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", sans-serif;
  --ios-blue: #0a84ff;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; width: 100%; }
body {
  min-height: 100svh; display: grid; place-items: center; overflow: hidden;
  background: radial-gradient(ellipse at 50% 42%, #30343c 0%, #111318 52%, #07080a 100%);
}
button { font: inherit; -webkit-tap-highlight-color: transparent; }
.stage { width: 100%; min-height: 100svh; display: grid; place-items: center; padding: 22px; }
.phone {
  position: relative; width: min(393px, 94svh * 0.46127, calc(100vw - 44px)); height: auto; aspect-ratio: 393 / 852; max-height: 94svh;
  padding: 8px; border-radius: 57px; overflow: hidden;
  background: linear-gradient(115deg,#d8d9dc 0%,#676a70 5%,#17191e 14%,#090a0d 78%,#8d9095 96%,#d9dade 100%);
  box-shadow: 0 0 0 1px #090a0c, 0 0 0 2px #777a80, 0 34px 90px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.18);
}
.phone::before { content:""; position:absolute; z-index:50; left:0; top:20%; width:3px; height:54px; border-radius:3px 0 0 3px; background:linear-gradient(90deg,#17191d,#85888d); box-shadow:0 76px 0 #5d6066; }
.phone::after { content:""; position:absolute; z-index:50; right:0; top:27%; width:3px; height:91px; border-radius:0 3px 3px 0; background:linear-gradient(90deg,#85888d,#17191d); }
.screen { position:relative; width:100%; height:100%; overflow:hidden; isolation:isolate; border-radius:49px; background:#182b43; }
.wallpaper {
  position:absolute; z-index:-2; inset:0;
  background-image: linear-gradient(180deg,rgba(8,13,23,.08) 0%,rgba(8,13,23,0) 42%,rgba(5,9,17,.25) 100%), url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=90");
  background-size:cover; background-position:center;
}
.wallpaper::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 25%,transparent 65%,rgba(0,0,0,.16)); }
.dynamic-island {
  position:absolute; z-index:60; top:11px; left:50%; transform:translateX(-50%);
  width:119px; height:34px; border-radius:22px; background:#000;
  box-shadow:0 1px 2px rgba(0,0,0,.5);
}
.camera-dot { position:absolute; right:12px; top:11px; width:9px; height:9px; border-radius:50%; background:radial-gradient(circle at 35% 35%,#263d59,#07101d 65%); box-shadow:0 0 0 1px #151a22; }
.ios-status-bar {
  position:absolute; z-index:30; top:0; left:0; right:0; height:49px;
  padding:0 28px; display:flex; align-items:center; justify-content:space-between;
  color:#fff; font-size:15px; line-height:1; font-weight:650; letter-spacing:-.2px; pointer-events:none;
  text-shadow:0 1px 3px rgba(0,0,0,.24);
}
.status-icons { display:flex; align-items:center; }
.status-icons svg { width:66px; height:16px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.status-icons .battery-fill { fill:currentColor; stroke:none; }
.lock-screen { position:absolute; z-index:2; inset:0; color:#fff; }
.lock-content { position:absolute; top:15.3%; left:0; right:0; display:flex; flex-direction:column; align-items:center; text-align:center; }
.lock-date { font-size:18px; font-weight:600; letter-spacing:-.25px; text-shadow:0 1px 8px rgba(0,0,0,.24); }
.lock-clock {
  margin-top:2px; font-size:clamp(78px,22vw,88px); line-height:1.08; font-weight:300;
  letter-spacing:-6.5px; font-variant-numeric:tabular-nums; text-shadow:0 2px 18px rgba(0,0,0,.12);
}
.lock-widgets {
  position:absolute; top:32%; left:22px; right:22px;
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
}
.lock-widget {
  min-width:0; height:76px; padding:2px 0;
  color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.42);
}
.widget-app-label { display:flex; align-items:center; gap:5px; color:rgba(255,255,255,.94); font-size:10px; line-height:14px; font-weight:600; }
.widget-app-icon { display:inline-grid; place-items:center; width:14px; height:14px; font-size:15px; line-height:1; }
.weather-main { display:flex; align-items:baseline; gap:7px; margin-top:2px; min-width:0; }
.weather-temperature { font-size:27px; line-height:29px; font-weight:300; letter-spacing:-1.1px; font-variant-numeric:tabular-nums; }
.weather-condition { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:rgba(255,255,255,.96); font-size:10px; font-weight:550; }
.weather-range { margin-top:2px; color:rgba(255,255,255,.9); font-size:9px; line-height:12px; white-space:nowrap; }
.reminder-task {
  width:100%; min-width:0; display:flex; align-items:center; gap:7px;
  margin-top:7px; padding:0; border:0; background:transparent; color:#fff;
  text-align:left; cursor:pointer; text-shadow:inherit;
}
.reminder-check { flex:0 0 15px; width:15px; height:15px; border:1.3px solid rgba(255,255,255,.92); border-radius:50%; }
.reminder-task[aria-pressed="true"] .reminder-check { border-color:#a8d5ff; background:#a8d5ff; box-shadow:inset 0 0 0 3px rgba(30,55,80,.9); }
.reminder-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.reminder-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; line-height:15px; font-weight:600; letter-spacing:-.15px; }
.reminder-task[aria-pressed="true"] .reminder-title { text-decoration:line-through; opacity:.7; }
.reminder-subtitle { color:rgba(255,255,255,.8); font-size:9px; line-height:11px; }
.lock-bottom { position:absolute; left:0; right:0; bottom:9px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.lock-shortcuts { width:100%; padding:0 29px; display:flex; justify-content:space-between; }
.round-control {
  width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18);
  border-radius:50%; color:#fff; background:rgba(28,31,38,.42); backdrop-filter:blur(20px) saturate(140%);
  box-shadow:0 2px 10px rgba(0,0,0,.12); cursor:pointer;
}
.round-control svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.round-control:active { transform:scale(.92); }
.swipe-hint { margin:0; color:rgba(255,255,255,.92); font-size:12px; font-weight:500; text-shadow:0 1px 5px rgba(0,0,0,.6); }
.swipe-pill,.home-page-indicator,.outer-home-indicator,.app-home-indicator { width:134px; height:5px; border-radius:10px; background:#fff; }
.swipe-pill { margin-top:2px; }
#languagePopover {
  position:absolute; z-index:70; top:108px; right:20px; width:180px; padding:7px;
  border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(30,32,38,.9);
  box-shadow:0 12px 35px rgba(0,0,0,.3); backdrop-filter:blur(24px);
}
#languagePopover button { width:100%; display:flex; justify-content:space-between; padding:11px 10px; border:0; border-radius:9px; background:transparent; color:#fff; text-align:left; font-size:13px; }
#languagePopover button:active { background:rgba(255,255,255,.13); }
.home-screen { position:absolute; z-index:3; inset:0; padding:0 23px 49px; color:#fff; overflow:hidden; }
.home-screen::before { content:""; position:absolute; z-index:-1; inset:0; background:rgba(10,18,30,.08); }
.home-top { margin-top:93px; margin-bottom:28px; text-align:left; text-shadow:0 1px 8px rgba(0,0,0,.32); }
.home-date-line { font-size:13px; font-weight:600; color:rgba(255,255,255,.88); }
.home-greeting { margin-top:3px; font-size:27px; font-weight:700; letter-spacing:-.8px; }
.app-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:8px; row-gap:25px; }
.app { min-width:0; padding:0; border:0; background:transparent; color:#fff; display:flex; flex-direction:column; align-items:center; gap:6px; cursor:pointer; transition:transform .14s ease; }
.app:active { transform:scale(.91); }
.app>span:last-child { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:500; text-shadow:0 1px 5px rgba(0,0,0,.8); }
.app-icon { position:relative; width:59px; height:59px; border-radius:14px; display:grid; place-items:center; overflow:hidden; box-shadow:0 2px 7px rgba(0,0,0,.25),inset 0 1px 1px rgba(255,255,255,.42); }
.app-icon svg { width:100%; height:100%; display:block; }
.contacts { background:linear-gradient(145deg,#fff,#dce7f6); }
.work-icon { background:linear-gradient(145deg,#64c8ff,#0877d9); }
.settings-icon { background:linear-gradient(145deg,#d8dce4,#737d8e); }
.photos-icon { background:linear-gradient(145deg,#fff,#ececf2); }
.education-icon { background:linear-gradient(145deg,#67dfa5,#13895f); }
.files-icon { background:linear-gradient(145deg,#eef7ff,#a2c9f5); }
.messages-icon { background:linear-gradient(145deg,#6bed87,#159d4a); }
.linkedin-icon { background:linear-gradient(145deg,#278ed6,#07558e); color:white; }
.linkedin-mark { font-family:Arial,sans-serif; font-size:29px; font-weight:800; letter-spacing:-2px; }
.mail-icon { background:linear-gradient(145deg,#fff,#d8e7f8); }
.dock {
  position:absolute; left:15px; right:15px; bottom:28px; height:87px; display:flex; justify-content:center; align-items:center;
  border:1px solid rgba(255,255,255,.24); border-radius:27px; background:rgba(238,244,251,.27);
  backdrop-filter:blur(28px) saturate(155%); box-shadow:0 8px 28px rgba(0,0,0,.13);
}
.dock .app { gap:0; }
.dock .app>span:last-child { display:none; }
.dock .app-icon { width:59px; height:59px; }
.home-page-indicator { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); }
.app-screen { position:absolute; z-index:10; inset:0; display:flex; flex-direction:column; overflow:hidden; background:#f2f2f7; color:#1c1c1e; }
.app-status-bar { position:relative; flex:0 0 49px; color:#111; text-shadow:none; }
.app-header { flex:0 0 53px; padding:0 18px; display:grid; grid-template-columns:1fr 2fr 1fr; align-items:center; background:rgba(250,250,252,.98); border-bottom:1px solid #dedee3; }
#backButton { justify-self:start; padding:6px 0; border:0; background:transparent; color:var(--ios-blue); font-size:16px; cursor:pointer; }
#appTitle { margin:0; text-align:center; font-size:17px; font-weight:650; letter-spacing:-.3px; }
.header-spacer { width:40px; }
.app-content { flex:1; min-height:0; overflow-y:auto; padding:25px 20px 45px; background:#f2f2f7; color:#1c1c1e; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
.app-content h1 { margin:0 0 12px; font-size:30px; line-height:1.13; letter-spacing:-.9px; font-weight:700; color:#17171b; }
.app-content h2 { margin:27px 0 11px; font-size:20px; letter-spacing:-.45px; color:#17171b; }
.app-content h3 { margin:0 0 5px; font-size:15px; font-weight:650; color:#202024; }
.app-content p,.app-content li { color:#606068; font-size:14px; line-height:1.65; }
.app-content a { color:var(--ios-blue); text-decoration:none; }
.section-label { margin:24px 0 8px; color:#85858d; text-transform:uppercase; font-size:11px; letter-spacing:.9px; font-weight:650; }
.ios-card { margin:11px 0; padding:16px; border-radius:16px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.035); }
.ios-row { display:flex; justify-content:space-between; gap:15px; padding:14px 0; border-bottom:1px solid #ededf1; }
.ios-row:last-child { border-bottom:0; }
.ios-row strong { font-size:14px; font-weight:600; }
.ios-row small { display:block; margin-top:4px; color:#81818a; font-size:12px; }
.ios-row .arrow { color:#aaaab2; }
.profile-card { padding:24px 16px; text-align:center; }
.profile-avatar { width:76px; height:76px; margin:0 auto 13px; display:grid; place-items:center; border-radius:50%; background:#dce9f8; color:#3974b8; font-size:24px; font-weight:650; }
.timeline-item { position:relative; margin-left:7px; padding:0 0 23px 19px; border-left:2px solid #d4e0ef; }
.timeline-item::before { content:""; position:absolute; top:3px; left:-6px; width:10px; height:10px; border-radius:50%; background:#3986d8; box-shadow:0 0 0 3px #f2f2f7; }
.timeline-item .meta { margin:5px 0; color:#8a8a92; font-size:12px; }
.skill-pill { display:inline-block; margin:4px; padding:8px 12px; border-radius:10px; background:#fff; color:#34343a; font-size:13px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.photo-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.photo-tile { min-height:130px; padding:13px; display:flex; align-items:end; border-radius:13px; color:#fff; font-size:13px; font-weight:650; background:linear-gradient(145deg,#8da9c4,#253b57); }
.photo-tile:nth-child(2) { background:linear-gradient(145deg,#d6a88e,#684e61); }
.photo-tile:nth-child(3) { background:linear-gradient(145deg,#9fb9a4,#375b55); }
.photo-tile:nth-child(4) { background:linear-gradient(145deg,#c5b7df,#61547e); }
.app-home-indicator { flex:0 0 5px; align-self:center; margin:8px 0 9px; background:#1c1c1e; }
.outer-home-indicator { position:absolute; z-index:80; bottom:10px; left:50%; transform:translateX(-50%); }
.hidden { display:none !important; }
@media (max-width:600px) {
  body { background:#000; }
  .stage { padding:0; min-height:100svh; }
  .phone { width:100vw; height:100svh; max-height:none; aspect-ratio:auto; padding:0; border:0; border-radius:0; background:#000; box-shadow:none; }
  .phone::before,.phone::after,.outer-home-indicator { display:none; }
  .screen { border-radius:0; }
  .dynamic-island { top:11px; }
  .lock-clock { font-size:clamp(78px,22vw,86px); }
  .home-screen { padding-left:22px; padding-right:22px; }
}
@media (max-height:740px) {
  .lock-content { top:14%; }
  .lock-clock { font-size:78px; }
  .home-top { margin-top:76px; margin-bottom:22px; }
  .app-grid { row-gap:17px; }
  .app-icon { width:54px; height:54px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:.01ms !important; } }
