.portfolio-detail,.portfolio-showcase{font-family:var(--font-mona),var(--font-inter),sans-serif;color:var(--portfolio-ink)}:root{--portfolio-ink:#132033;--portfolio-muted:#607086;--portfolio-line:rgba(27,45,70,.12);--portfolio-blue:#2463eb;--portfolio-panel:rgba(255,255,255,.92)}.dark{--portfolio-ink:#f2f5f9;--portfolio-muted:#a9b4c3;--portfolio-line:rgba(255,255,255,.12);--portfolio-blue:#78a8ff;--portfolio-panel:rgba(24,27,33,.94)}.portfolio-intro{padding:clamp(36px,9vh,72px) 0 30px}.portfolio-eyebrow{display:block;color:var(--portfolio-blue);text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:720}.portfolio-intro h1{max-width:720px;margin:12px 0 11px;font-size:clamp(40px,10.8vw,72px);line-height:.94;letter-spacing:-.055em;font-weight:750}.portfolio-intro>p{max-width:590px;color:var(--portfolio-muted);font-size:clamp(16px,4.3vw,19px);line-height:1.5}.portfolio-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.portfolio-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;border:1px solid var(--portfolio-line);border-radius:12px;background:var(--portfolio-panel);color:var(--portfolio-ink);font-size:13px;font-weight:650;text-decoration:none}.portfolio-button--primary{color:white;background:#16243a;border-color:#16243a;box-shadow:0 8px 20px rgba(15,28,49,.16)}.dark .portfolio-button--primary{color:#111827;background:#f4f7fb;border-color:#f4f7fb}.portfolio-projects{scroll-margin-top:20px;padding-top:26px;border-top:1px solid var(--portfolio-line)}.portfolio-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.portfolio-section-heading h2{margin:0;font-size:clamp(26px,7vw,38px);font-weight:700;line-height:1;letter-spacing:-.045em}.portfolio-section-heading>span{color:var(--portfolio-muted);font-size:11px;white-space:nowrap}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-card{position:relative;z-index:0;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0;border:1px solid var(--portfolio-line);border-radius:20px;background:var(--portfolio-panel);color:inherit;text-align:left;text-decoration:none;box-shadow:0 8px 28px rgba(24,37,58,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.project-card__overlay{position:absolute;z-index:3;inset:0;width:100%;height:100%;padding:0;cursor:pointer;background:transparent;border:0;border-radius:inherit}.project-card__overlay:focus-visible{outline:3px solid var(--portfolio-blue);outline-offset:-4px}.project-card:hover{transform:translateY(-2px);border-color:rgba(36,99,235,.32);box-shadow:0 14px 34px rgba(24,37,58,.11)}.project-card--featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr)}.project-preview{position:relative;overflow:hidden;aspect-ratio:16/10;background:#dfe5ed}.project-preview__desktop{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.project-preview__phone{position:absolute;right:16px;bottom:-30%;width:24%;overflow:hidden;border:4px solid #111827;border-radius:19px;box-shadow:0 12px 25px rgba(0,0,0,.25)}.project-preview__phone img{display:block;width:100%;height:auto}.project-card__body{display:flex;flex:1;flex-direction:column;padding:19px}.project-card__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card h3{margin:0;font-size:23px;font-weight:680;letter-spacing:-.035em}.project-card p{margin:8px 0 15px;color:var(--portfolio-muted);font-size:13px;line-height:1.5}.project-card__meta{margin-top:auto;color:var(--portfolio-blue);font-size:10px;font-weight:700;letter-spacing:.04em}.project-card__cta{display:flex;align-items:center;gap:5px;margin-top:12px;font-size:12px;font-weight:680}.portfolio-text-link{display:flex;align-items:center;gap:7px;width:max-content;margin-top:17px;padding:0;border:0;background:none;color:var(--portfolio-ink);text-decoration:none;font:650 12px var(--font-mona),sans-serif}.portfolio-context{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px}.portfolio-context>div{padding:18px;border-top:1px solid var(--portfolio-line)}.portfolio-context p{margin:8px 0 0;color:var(--portfolio-muted);font-size:14px;line-height:1.5}.portfolio-upcoming{margin:18px 0 0;border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-size:13px}.portfolio-upcoming summary{padding:16px 0;cursor:pointer;font-weight:650;color:var(--portfolio-ink)}.portfolio-upcoming div{padding:4px 0 14px 18px}.portfolio-upcoming p{margin:3px 0 0}.portfolio-contact{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:26px;padding:22px 0;border-top:1px solid var(--portfolio-line)}.portfolio-contact a{display:flex;align-items:center;gap:5px;color:inherit;font-size:13px;font-weight:630;text-decoration:none}.portfolio-footer{display:flex;justify-content:space-between;gap:12px;padding:18px 0 4px;border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-size:11px}.portfolio-footer nav{display:flex;gap:15px}.portfolio-footer a,.portfolio-footer button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:none}.project-detail-header{padding:35px 0 30px}.project-detail-header__meta{display:flex;justify-content:space-between;color:var(--portfolio-blue);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:720}.project-detail-header h1{margin:12px 0 18px;font-size:clamp(42px,12vw,72px);line-height:.95;letter-spacing:-.055em}.project-live-link{width:max-content;margin-bottom:20px}.project-detail-header>.project-preview{border:1px solid var(--portfolio-line);border-radius:20px;box-shadow:0 12px 36px rgba(20,31,50,.12)}.portfolio-article-body{padding:28px 0 42px;border-top:1px solid var(--portfolio-line)}.portfolio-article-body .article-content{max-width:660px}.portfolio-article-body .article-content>p{margin:0 0 24px;padding:0;border:0;color:#344158;font-size:16px;line-height:1.78}.portfolio-article-body .article-content>p:first-child{padding-left:14px;border-left:3px solid #168ac4;color:#263246;font-size:17px;line-height:1.72}.portfolio-article-body .article-content h2{margin:42px 0 16px;font-family:var(--font-mona),sans-serif;font-size:28px;line-height:1.05;letter-spacing:-.04em}.portfolio-article-body .article-content ul{margin:0 0 28px;padding-left:22px}.portfolio-article-body .article-content li{margin:0 0 12px;padding-left:4px;color:#38465a;font-size:15px;line-height:1.65}.dark .portfolio-article-body .article-content li,.dark .portfolio-article-body .article-content>p{color:#bdc6d3}.os-window-content .portfolio-desktop-detail,.os-window-content .portfolio-desktop-start>.portfolio-showcase{box-sizing:border-box;min-width:0;padding:0 clamp(24px,3vw,40px) 28px;font-family:var(--font-mona),sans-serif;color:var(--portfolio-ink)}.os-window-content .portfolio-desktop-detail{min-height:0;background:#f9fbff}.dark .os-window-content .portfolio-desktop-detail{background:#181b21}.os-window-content .portfolio-desktop-start .portfolio-intro{padding-top:40px}.os-window-content .portfolio-pages-app .finder-toolbar{gap:12px;justify-content:space-between}.os-window-content .portfolio-shortcut{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:4px 7px;border:0;border-radius:5px;background:rgba(100,120,145,.1);color:inherit;font:600 10px var(--font-mona),sans-serif;white-space:nowrap}.os-window-content .portfolio-shortcut svg{flex-shrink:0}.os-window-content .portfolio-shortcut:focus-visible{outline:2px solid var(--portfolio-blue);outline-offset:-2px}.os-window-content .portfolio-sidebar-label{padding:16px 12px 8px;font-size:10px;font-weight:700;color:var(--portfolio-muted)}.os-menubar-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;white-space:nowrap;cursor:pointer}.os-menubar-action svg{display:block;flex-shrink:0}.os-menubar-action:hover{background:rgba(100,120,145,.15)}.os-menubar-action:focus-visible{outline:2px solid var(--portfolio-blue);outline-offset:-2px}.os-menubar>div:first-child{min-width:0}.os-menubar>div:first-child>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.os-menubar>div:last-child{flex-shrink:0}@media (min-width:768px) and (max-width:1100px){.os-menubar>div:last-child{gap:8px;padding-inline:10px}.os-menubar>div:first-child>span{max-width:140px}}.os-widget--useful{padding:18px;color:#203047}.os-widget-eyebrow{margin:0 0 4px;color:rgba(24,43,68,.56);font-size:9px;font-weight:750;letter-spacing:.1em}.os-widget-clock{display:block;font-size:30px;font-weight:680;letter-spacing:-.045em;line-height:1}.os-widget-date{margin:5px 0 0;color:rgba(24,43,68,.62);font-size:11px}.os-widget-links{display:grid;gap:6px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(25,43,69,.09)}.os-widget-links a,.os-widget-links button{display:grid;grid-template-columns:18px 1fr 14px;align-items:center;gap:7px;min-height:38px;padding:0 8px;border:0;border-radius:9px;background:rgba(255,255,255,.45);color:#243a59;font:630 11px var(--font-mona),sans-serif;text-align:left;text-decoration:none}.os-widget-search{display:grid!important;grid-template-columns:20px 1fr;gap:8px;align-items:center;width:100%;padding:16px 17px!important;color:#263b58;text-align:left}.os-widget-search span{font-size:11px;font-weight:650}.os-widget-search kbd{grid-column:2;color:rgba(28,46,72,.55);font:10px var(--font-mona),sans-serif}.os-spotlight-overlay{position:fixed;inset:0;z-index:9000;background:rgba(11,17,27,.35);backdrop-filter:blur(8px)}.os-spotlight{position:fixed;z-index:9001;left:50%;top:18%;width:min(620px,calc(100vw - 40px));transform:translateX(-50%);overflow:hidden;border:1px solid rgba(255,255,255,.48);border-radius:18px;background:rgba(248,250,253,.96);color:#152033;box-shadow:0 30px 90px rgba(6,14,26,.34);outline:none}.dark .os-spotlight{background:rgba(26,29,36,.97);color:#f3f6fb}.os-spotlight-input-row{display:flex;align-items:center;gap:11px;padding:15px 16px;border-bottom:1px solid rgba(25,42,67,.1)}.os-spotlight-input-row input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:inherit;font:560 18px var(--font-mona),sans-serif}.os-spotlight-close{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:rgba(20,37,60,.07);color:inherit}.os-spotlight-results{max-height:360px;overflow:auto;padding:8px}.os-spotlight-result{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;cursor:pointer}.os-spotlight-result[aria-selected=true]{color:white;background:#2766e8}.os-spotlight-result-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(120,142,174,.14)}.os-spotlight-result span:nth-child(2){display:grid}.os-spotlight-result strong{font-size:13px}.os-spotlight-result small{font-size:10px;opacity:.65}.os-spotlight-empty{padding:24px;text-align:center;font-size:13px;color:#6b7788}.os-spotlight-footer{display:flex;justify-content:space-between;gap:15px;padding:10px 16px;border-top:1px solid rgba(25,42,67,.1);color:#6b7788;font-size:10px}.os-spotlight-footer kbd{padding:2px 5px;border-radius:5px;background:rgba(20,37,60,.07)}.os-contact{height:100%;padding:clamp(28px,7vw,58px);background:linear-gradient(145deg,#f8fafc,#eaf0f8);color:#15243a}.dark .os-contact{background:linear-gradient(145deg,#24272e,#17191e);color:#f1f4f8}.os-contact-kicker{color:#2766e8;font-size:10px;letter-spacing:.12em;font-weight:750}.os-contact h1{margin:14px 0 9px;font-size:clamp(38px,5vw,62px);letter-spacing:-.055em;line-height:.96}.os-contact>p{max-width:480px;color:#66758a;line-height:1.55}.os-contact-actions{display:grid;gap:9px;max-width:520px;margin-top:28px}.os-contact-actions a,.os-contact-actions button{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border:1px solid rgba(24,45,73,.12);border-radius:12px;background:rgba(255,255,255,.72);color:inherit;font:630 13px var(--font-mona),sans-serif;text-decoration:none;text-align:left}.os-contact-actions a svg:last-child{margin-left:auto}.os-contact-actions .os-contact-primary{color:white;background:#172944}.os-copy-status{min-height:18px;margin-top:10px;font-size:11px}.os-window-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;min-width:165px}.os-window-actions button{display:flex;align-items:center;gap:4px;min-height:24px;padding:0 7px;border:0;border-radius:6px;background:rgba(15,34,60,.06);color:inherit;font-size:9px}.os-window-share-status{padding:6px 12px;color:#315582;background:#edf5ff;font-size:10px;text-align:center}.os-window--reading{box-shadow:none!important}.os-window--reading .os-window-content{background:#f5f7fa}.os-desktop-icon-img,.os-dock-folder-app-icon,.os-dock-icon{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border:1px solid rgba(255,255,255,.8);border-radius:13px;background:linear-gradient(150deg,#fafcff,#dce5f0);color:#355171;box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 0 -2px 3px rgba(42,65,94,.08),0 4px 9px rgba(17,33,55,.16);filter:none}.os-desktop-icon-img{width:50px;height:50px;border-radius:15px;margin-bottom:4px}.os-dock-folder-app-icon{width:36px;height:36px;border-radius:10px}:is(.os-dock-icon,.os-desktop-icon-img,.os-dock-folder-app-icon):has([data-app=wysteria]){color:#67597d;background:linear-gradient(150deg,#f7f4fb,#ddd5eb)}:is(.os-dock-icon,.os-desktop-icon-img,.os-dock-folder-app-icon):has([data-app=pages]){color:#38686b;background:linear-gradient(150deg,#f1faf9,#cddfdf)}:is(.os-dock-icon,.os-desktop-icon-img,.os-dock-folder-app-icon):has([data-app=settings]){color:#535d6b;background:linear-gradient(150deg,#f8f9fb,#d8dee7)}.os-app-glyph{display:block;flex-shrink:0}.dark :is(.os-dock-icon,.os-desktop-icon-img,.os-dock-folder-app-icon){border-color:rgba(255,255,255,.28);box-shadow:inset 0 1px 1px rgba(255,255,255,.6),0 4px 10px rgba(0,0,0,.28)}.os-dock-folder-wrap,.os-dock-item-wrap{position:relative}.os-dock-badge{position:absolute;right:-2px;top:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:#2766e8;color:white;font-size:9px;line-height:16px}.os-dock-window-list{position:absolute;left:50%;bottom:67px;width:215px;transform:translateX(-50%);padding:6px;border:1px solid rgba(255,255,255,.55);border-radius:12px;background:rgba(248,250,253,.96);box-shadow:0 18px 46px rgba(12,24,41,.24)}.os-dock-window-row{display:flex}.os-dock-window-item{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:7px;border:0;border-radius:8px;background:none;font-size:10px;text-align:left}.os-dock-window-item__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-dock-window-item__close{border:0;background:none}.os-dock-folder-popover{position:absolute;left:50%;bottom:67px;width:260px;transform:translateX(-50%);padding:13px;border-radius:16px;background:rgba(248,250,253,.96);box-shadow:0 18px 46px rgba(12,24,41,.24)}.os-dock-folder-head{display:flex;justify-content:space-between;margin-bottom:10px;font-size:11px}.os-dock-folder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.os-dock-folder-app{position:relative;display:grid;justify-items:center;gap:5px;padding:8px 4px;border:0;border-radius:10px;background:rgba(35,64,102,.05);font-size:9px}.portfolio-article-body h2,.portfolio-intro h1,.project-detail-header h1{hyphens:auto;overflow-wrap:break-word}.project-card--compact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;padding:17px}.project-card--compact .project-card__body{padding:0}.project-card--compact h3{font-size:21px}.project-card--compact p{margin:5px 0 10px}.project-card--compact .project-card__cta{display:none}.project-card__monogram{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--portfolio-line);border-radius:15px;background:linear-gradient(150deg,#eef3fb,#d9e3f1);color:#1f55ca;font-size:24px;font-weight:750;letter-spacing:-.04em}.dark .project-card__monogram{background:linear-gradient(150deg,#232833,#1a1e26);color:var(--portfolio-blue)}@media (prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}}:root{--ios-bg:#f2f2f7;--ios-card:#ffffff;--ios-label:#000000;--ios-label-2:rgba(60,60,67,.6);--ios-label-3:rgba(60,60,67,.3);--ios-separator:rgba(60,60,67,.29);--ios-fill:rgba(120,120,128,.12);--ios-fill-2:rgba(118,118,128,.12);--ios-highlight:#d1d1d6;--ios-blue:#007aff;--ios-bar:rgba(242,242,247,.8);--ios-glass:rgba(255,255,255,.28);--ios-glass-filter:blur(16px) saturate(190%) brightness(1.06);--ios-glass-sheen:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0) 48%);--ios-glass-rim:inset 0 1px .5px rgba(255,255,255,.9),inset 0 -.5px .5px rgba(255,255,255,.45),inset 0 0 0 .5px rgba(255,255,255,.4);--ios-glass-shadow:0 10px 30px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06);--ios-thumb:#ffffff;--ios-shadow:0 10px 34px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.08);--ios-tabbar-space:calc(96px + env(safe-area-inset-bottom));--ios-ease:cubic-bezier(.2,.8,.2,1);--ios-spring:cubic-bezier(.32,.72,0,1);--ios-spring-duration:.53s}.dark{--ios-bg:#000000;--ios-card:#1c1c1e;--ios-label:#ffffff;--ios-label-2:rgba(235,235,245,.6);--ios-label-3:rgba(235,235,245,.3);--ios-separator:rgba(84,84,88,.65);--ios-fill:rgba(118,118,128,.24);--ios-fill-2:rgba(118,118,128,.24);--ios-highlight:#3a3a3c;--ios-blue:#0a84ff;--ios-bar:rgba(10,10,12,.78);--ios-glass:rgba(30,30,32,.36);--ios-glass-filter:blur(16px) saturate(180%) brightness(.92);--ios-glass-sheen:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,0) 48%);--ios-glass-rim:inset 0 1px .5px rgba(255,255,255,.28),inset 0 -.5px .5px rgba(255,255,255,.1),inset 0 0 0 .5px rgba(255,255,255,.14);--ios-glass-shadow:0 10px 30px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);--ios-thumb:#636366;--ios-shadow:0 10px 34px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.4)}@media (min-width:768px){.mobile-shell{visibility:hidden}}@media (max-width:767px){body,html{background:var(--ios-bg)}}.mobile-shell{--ios-font:-apple-system,BlinkMacSystemFont,"SF Pro Text",var(--font-inter),"Helvetica Neue",system-ui,sans-serif;--ios-font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display",var(--font-inter),"Helvetica Neue",system-ui,sans-serif;overflow-x:clip;min-height:100dvh;background:var(--ios-bg);color:var(--ios-label);font-family:var(--ios-font);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.mobile-shell :focus-visible{outline:3px solid var(--ios-blue);outline-offset:2px}.ios-page{min-height:100dvh}.ios-page--push{animation:ios-push .42s var(--ios-ease) both}@keyframes ios-push{0%{opacity:0;transform:translateX(28px)}}.ios-navbar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:52px;padding:env(safe-area-inset-top) 16px 0;border-bottom:.5px solid transparent;transition:background-color .25s ease,border-color .25s ease,backdrop-filter .25s ease}.ios-navbar--collapsed{background:var(--ios-bar);border-bottom-color:var(--ios-separator);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.ios-navbar__leading{display:flex;min-width:0}.ios-navbar__trailing{display:flex;justify-content:flex-end;gap:8px}.ios-navbar__title{max-width:52vw;overflow:hidden;font:600 17px/1.2 var(--ios-font);letter-spacing:-.41px;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .25s var(--ios-ease)}.ios-navbar--collapsed .ios-navbar__title{opacity:1;transform:none}.ios-back{display:inline-flex;align-items:center;min-width:0;min-height:44px;margin-left:-10px;color:var(--ios-blue);font:400 17px var(--ios-font);letter-spacing:-.41px;text-decoration:none}.ios-back span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ios-glass-button{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border:0;border-radius:999px;color:var(--ios-label);font:600 13px var(--ios-font);letter-spacing:.02em;cursor:pointer}.ios-glass-button,.ios-pill{position:relative}.ios-pill:after{content:"";position:absolute;inset:-6px}.ios-glass{position:relative;isolation:isolate;background:var(--ios-glass);box-shadow:var(--ios-glass-shadow);-webkit-backdrop-filter:var(--ios-glass-filter);backdrop-filter:var(--ios-glass-filter)}.ios-glass:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--ios-glass-sheen);box-shadow:var(--ios-glass-rim);pointer-events:none}.ios-content{box-sizing:border-box;width:min(100%,680px);margin:0 auto;padding:0 16px var(--ios-tabbar-space)}.ios-large-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:2px 4px 6px}.ios-large-title>div{min-width:0}.ios-large-title h1{margin:0;font:700 34px/1.2 var(--ios-font-display);letter-spacing:-.02em;hyphens:auto;overflow-wrap:break-word}.ios-eyebrow{margin:0 0 2px;font:600 13px/1.3 var(--ios-font);letter-spacing:-.08px;text-transform:uppercase}.ios-eyebrow,.ios-lede{color:var(--ios-label-2)}.ios-lede{margin:2px 4px 20px;font:400 17px/1.4 var(--ios-font);letter-spacing:-.41px}.ios-avatar{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;margin-bottom:4px;border-radius:50%;background:linear-gradient(160deg,#8e8e93,#4a4a50);color:#fff;font:600 15px var(--ios-font);letter-spacing:.02em;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.ios-avatar--large{width:92px;height:92px;margin:0 auto 12px;font-size:34px}.ios-profile{padding:8px 0 22px;text-align:center}.ios-profile h2{margin:0;font:700 24px var(--ios-font-display);letter-spacing:-.02em}.ios-profile p{margin:4px 0 0;color:var(--ios-label-2);font-size:15px}.ios-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:30px}.ios-quick-action{display:grid;justify-items:center;gap:5px;padding:11px 4px 9px;border:0;border-radius:12px;background:var(--ios-card);font:400 12px var(--ios-font);text-decoration:none;cursor:pointer}.ios-quick-action,.ios-quick-action span{color:var(--ios-blue)}.ios-pressable{transition:transform .35s var(--ios-ease),opacity .2s ease}.ios-pressable:active{transform:scale(.96);transition-duration:.08s}.ios-section{margin-bottom:30px}.ios-section__title{margin:0 4px 12px;font:700 22px/1.2 var(--ios-font-display);letter-spacing:-.02em}.ios-carousel{display:flex;gap:12px;margin:0 -16px;padding:2px 16px 18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;overscroll-behavior-x:contain}.ios-carousel::-webkit-scrollbar{display:none}.ios-today-card{position:relative;display:flex;flex:0 0 min(82%,320px);flex-direction:column;overflow:hidden;padding:20px 20px 0;border-radius:22px;color:#fff;text-decoration:none;scroll-snap-align:start;box-shadow:var(--ios-shadow)}.ios-today-card:only-child{flex-basis:100%}.ios-today-card__eyebrow{color:rgba(255,255,255,.75);font:600 12px var(--ios-font);letter-spacing:.02em;text-transform:uppercase}.ios-today-card__title{margin-top:4px;font:800 30px/1.08 var(--ios-font-display);letter-spacing:-.025em}.ios-today-card__body{margin-top:6px;color:rgba(255,255,255,.88);font:400 15px/1.35 var(--ios-font)}.ios-device{align-self:center;width:138px;margin-top:18px;margin-bottom:18px;padding:5px;border-radius:26px;background:#0b0b0c;box-shadow:0 18px 40px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.12)}.ios-device img{display:block;width:100%;height:auto;border-radius:21px}.ios-group{margin-bottom:30px}.ios-group__header{margin:0 16px 7px;color:var(--ios-label-2);font:400 13px/1.3 var(--ios-font);letter-spacing:-.08px;text-transform:uppercase}.ios-group__body{overflow:hidden;border-radius:12px;background:var(--ios-card)}.ios-group__footer{margin:7px 16px 0;color:var(--ios-label-2);font-size:13px;line-height:1.35}.ios-row{position:relative;display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:44px;padding:11px 16px;border:0;background:transparent;color:var(--ios-label);font:400 17px/1.3 var(--ios-font);letter-spacing:-.41px;text-align:left;text-decoration:none}.ios-row+.ios-row>.ios-row__text:before{content:"";position:absolute;top:-11px;right:-100vw;left:0;border-top:.5px solid var(--ios-separator)}.ios-row--link,.ios-row--split{cursor:pointer;transition:background-color .25s ease}.ios-row--link:active,.ios-row--split:has(.ios-row__stretch:active){background:var(--ios-highlight);transition-duration:0s}.ios-row__icon{display:flex;flex-shrink:0}.ios-row__text{position:relative;display:flex;flex:1;flex-direction:column;align-self:stretch;justify-content:center;min-width:0}.ios-row__title{font-weight:400}.ios-row__subtitle{margin-top:2px;color:var(--ios-label-2);font-size:15px;line-height:1.33;letter-spacing:-.24px}.ios-row__description{display:-webkit-box;margin-top:2px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ios-row__detail{flex-shrink:0;max-width:55%;overflow:hidden;color:var(--ios-label-2);text-overflow:ellipsis;white-space:nowrap}.ios-row__chevron{flex-shrink:0;margin-right:-4px;color:var(--ios-label-3)}.ios-row__stretch{position:absolute;inset:0;z-index:1}.ios-row__trailing{position:relative;z-index:2;flex-shrink:0}.ios-row--control{justify-content:space-between}.ios-row--control>.ios-row__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ios-row--control .ios-segmented{flex:0 0 min(190px,56%);margin:0}.ios-prose{margin:0;padding:14px 16px;font:400 17px/1.45 var(--ios-font);letter-spacing:-.41px}.ios-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:72px;height:30px;padding:0 14px;border-radius:999px;background:var(--ios-fill);color:var(--ios-blue);font:700 15px var(--ios-font);letter-spacing:-.24px;text-decoration:none;transition:transform .3s var(--ios-ease),opacity .2s}.ios-pill:active{transform:scale(.94);opacity:.7;transition-duration:.08s}.ios-pill--filled{height:34px;padding:0 16px;background:var(--ios-blue);color:#fff}.ios-app-icon{flex-shrink:0;border-radius:22.5%;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.25)}.ios-app-icon,.ios-row-glyph{display:grid;place-items:center;color:#fff}.ios-row-glyph{width:30px;height:30px;border-radius:7px}.ios-tint--sun{background:linear-gradient(160deg,#ffcc00,#ff9500 55%,#ff7a00)}.ios-tint--news{background:linear-gradient(160deg,#ff5a6e,#e0245e)}.ios-tint--game{background:linear-gradient(160deg,#7d7aff,#4b2fd6)}.ios-tint--route{background:linear-gradient(160deg,#3ddc84,#0e9f6e)}.ios-tint--note{background:linear-gradient(160deg,#ffd60a,#ffb300)}.ios-tint--gray{background:linear-gradient(160deg,#aeaeb2,#7c7c80)}.ios-tint--blue{background:linear-gradient(160deg,#3a9bff,#007aff)}.ios-tint--green{background:linear-gradient(160deg,#4cd964,#28b44a)}.ios-tint--purple{background:linear-gradient(160deg,#c47dff,#9b45e4)}.ios-tint--ink{background:linear-gradient(160deg,#48484a,#1c1c1e)}.ios-today-card.ios-tint--sun{background:linear-gradient(165deg,#ffb340,#ff8a00 45%,#e8590c)}.ios-today-card.ios-tint--news{background:linear-gradient(165deg,#3a3a3f,#1c1c1e)}.ios-search{display:flex;align-items:center;gap:6px;height:36px;margin:0 0 12px;padding:0 8px;border-radius:10px;background:var(--ios-fill-2);color:var(--ios-label-2)}.ios-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--ios-label);font:400 17px var(--ios-font);letter-spacing:-.41px;-webkit-appearance:none;appearance:none}.ios-search input::placeholder{color:var(--ios-label-2)}.ios-search input::-webkit-search-cancel-button{display:none}.ios-search button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:none;color:var(--ios-label-2)}.ios-search:focus-within{outline:0}.ios-segmented{display:flex;margin:0 0 24px;padding:2px;border-radius:9px;background:var(--ios-fill-2)}.ios-segmented button{position:relative;flex:1;min-width:0;min-height:32px;padding:0 6px;border:0;background:none;color:var(--ios-label);font:500 13px var(--ios-font);letter-spacing:-.08px;cursor:pointer}.ios-segmented button[aria-pressed=true]{font-weight:600}.ios-segmented button:not(:first-child):before{content:"";position:absolute;top:8px;bottom:8px;left:0;border-left:.5px solid var(--ios-separator);transition:opacity .2s}.ios-segmented button[aria-pressed=true]+button:before,.ios-segmented button[aria-pressed=true]:before{opacity:0}.ios-segmented__thumb{position:absolute;inset:0;border-radius:7px;background:var(--ios-thumb);box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04)}.ios-segmented__label{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ios-product{display:flex;align-items:flex-start;gap:16px;padding:8px 4px 22px}.ios-product .ios-app-icon{border-radius:23px;box-shadow:0 6px 18px rgba(0,0,0,.14),inset 0 0 0 .5px rgba(0,0,0,.08)}.ios-product__text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.ios-product h1{margin:2px 0;font:700 26px/1.15 var(--ios-font-display);letter-spacing:-.02em;hyphens:auto;overflow-wrap:anywhere}.ios-product p{margin:0 0 12px;color:var(--ios-label-2);font-size:15px}.ios-article-header{padding:4px 4px 22px}.ios-article-header h1{margin:0;font:700 34px/1.12 var(--ios-font-display);letter-spacing:-.02em;hyphens:auto;overflow-wrap:break-word}.ios-screenshots{display:flex;align-items:flex-start;gap:10px;margin:0 -16px 28px;padding:0 16px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none}.ios-screenshots::-webkit-scrollbar{display:none}.ios-screenshot{flex-shrink:0;height:380px;width:auto;border:.5px solid var(--ios-separator);border-radius:18px;background:var(--ios-card);scroll-snap-align:start}.ios-screenshot--landscape{height:auto;width:min(86vw,560px);border-radius:14px}.ios-cover{display:block;width:100%;height:auto;margin-bottom:26px;border-radius:16px}.ios-article{padding:0 4px 12px}.ios-article>.ios-section__title{margin-inline:0}.ios-article .article-content{font-family:var(--ios-font);color:var(--ios-label)}.ios-article .article-content>p,.ios-article .article-paragraph{max-width:none;margin:0 0 18px;padding:0;border:0;color:var(--ios-label);font:400 17px/1.55 var(--ios-font);letter-spacing:-.41px}.ios-article .article-content h2,.ios-article .article-heading{margin:30px 0 10px;font-family:var(--ios-font-display);font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.ios-article .article-content h3{margin:24px 0 8px;font:600 19px/1.25 var(--ios-font-display)}.ios-article .article-content ol,.ios-article .article-content ul{margin:0 0 20px;padding-left:22px}.ios-article .article-content li,.ios-article .article-content li *{font-family:var(--ios-font)}.ios-article .article-content li{margin:0 0 8px;color:var(--ios-label);font-size:17px;line-height:1.5;letter-spacing:-.41px}.ios-article .article-content a{color:var(--ios-blue)}.ios-article .article-content>.article-lead{font-size:19px;font-weight:500;line-height:1.45}.ios-article .article-lead:before{display:none}.ios-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:14px 16px;list-style:none}.ios-chips li{padding:6px 12px;border-radius:999px;background:var(--ios-fill);font:500 15px var(--ios-font);letter-spacing:-.24px}.ios-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0 4px;color:var(--ios-label-2);font-size:13px}.ios-footer a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}.ios-colophon{margin:-14px 0 0;color:var(--ios-label-3);font-size:12px;text-align:center}.ios-empty{padding:32px 0;color:var(--ios-label-2);text-align:center}.ios-hud{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:50%;z-index:60;padding:10px 18px;border-radius:999px;color:var(--ios-label);font:600 15px var(--ios-font);transform:translateX(-50%);animation:ios-hud .45s var(--ios-ease) both}@keyframes ios-hud{0%{opacity:0;transform:translate(-50%,-16px) scale(.9)}}.ios-tabbar{--bar-h:62px;--mini:48px;--gap:10px;--bar-w:min(100vw,520px);--pill-w:calc(var(--bar-w) - 32px - var(--bar-h) - var(--gap));--tab-w:calc((var(--pill-w) - 8px) / 3);--morph:var(--ios-spring-duration) var(--ios-spring);position:fixed;left:0;right:0;z-index:50;top:calc(100vh - var(--bar-h) - max(12px, env(safe-area-inset-bottom)));top:calc(100dvh - var(--bar-h) - max(12px, env(safe-area-inset-bottom)));display:flex;align-items:flex-end;justify-content:space-between;box-sizing:border-box;width:var(--bar-w);height:var(--bar-h);margin:0 auto;padding:0 16px;pointer-events:none}.ios-tabbar__action,.ios-tabbar__pill{pointer-events:auto;border-radius:999px}.ios-tabbar .ios-glass{box-shadow:none}.ios-tabbar__pill{overflow:hidden;width:var(--pill-w);height:var(--bar-h);transition:width var(--morph),height var(--morph)}.ios-tabbar__row{position:absolute;top:4px;bottom:4px;left:4px;display:flex;width:calc(var(--pill-w) - 8px);transition:transform var(--morph)}.ios-tab{position:relative;display:flex;flex:0 0 var(--tab-w);flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;border-radius:999px;color:var(--ios-label);font:500 10px var(--ios-font);letter-spacing:.01em;text-decoration:none;transition:opacity calc(var(--ios-spring-duration) * .6) ease}.ios-tab[aria-current=page]{color:var(--ios-blue);font-weight:600}.ios-tab__icon{position:relative;flex-shrink:0;transition:transform var(--morph)}.ios-tab__label{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .2s ease,transform var(--morph)}.ios-tab__indicator{position:absolute;top:0;bottom:0;left:0;width:var(--tab-w);border-radius:999px;background:var(--ios-fill);transform:translateX(calc(var(--active) * var(--tab-w)));transition:transform var(--morph),opacity .2s ease}.ios-tabbar__action{display:grid;flex-shrink:0;place-items:center;width:var(--bar-h);height:var(--bar-h);color:var(--ios-label);transition:width var(--morph),height var(--morph)}.ios-tab:active .ios-tab__icon,.ios-tabbar__action:active>svg{transform:scale(.88);transition-duration:.1s}.ios-tabbar__action>svg{transition:transform var(--morph)}.ios-tabbar--minimized .ios-tabbar__action,.ios-tabbar--minimized .ios-tabbar__pill{width:var(--mini);height:var(--mini)}.ios-tabbar--minimized .ios-tabbar__row{transform:translateX(calc(var(--mini) / 2 - 4px - (var(--active) + .5) * var(--tab-w)))}.ios-tabbar--minimized .ios-tab:not(.ios-tab--shown){opacity:0;pointer-events:none}.ios-tabbar--minimized .ios-tab__icon{transform:translateY(7px)}.ios-tabbar--minimized .ios-tab__label{opacity:0;transform:translateY(5px) scale(.85)}.ios-tabbar--minimized .ios-tab__indicator{opacity:0}@supports (transition-timing-function:linear(0,1)){:root{--ios-spring:linear(0,0.025,0.087,0.172,0.268,0.368,0.465,0.557,0.64,0.713,0.776,0.83,0.874,0.911,0.939,0.962,0.979,0.992,1.001,1.007,1.011,1.013,1.014,1.014,1.013,1.012,1.011,1.009,1.008,1.007,1.005,1.004,1.003,1.003,1.002,1.001,1)}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--ios-glass:rgba(250,250,252,.96);--ios-bar:rgba(242,242,247,.97)}.dark{--ios-glass:rgba(40,40,44,.96);--ios-bar:rgba(10,10,12,.97)}}@media (prefers-reduced-motion:reduce){.ios-hud,.ios-page--push{animation:none}.ios-navbar__title,.ios-pill,.ios-pressable,.ios-tabbar *,.ios-tabbar__action,.ios-tabbar__pill{transition:none!important}.ios-pill:active,.ios-pressable:active{transform:none}}.ios-row+.ios-row--control:before{content:"";position:absolute;top:0;right:0;left:16px;border-top:.5px solid var(--ios-separator)}