/* ===== iOS 26 inner "apps" ===== */
.is-app{background:var(--bg)}
.is-app .wrap{max-width:760px;margin:0 auto;padding:0 16px 120px}
.is-app .navbar .icon-btn{width:44px;height:44px;border-radius:50%}
.is-app .navbar .icon-btn.lg{background:var(--glass)!important}
.lt{padding:6px 4px 10px}.lt h1{font-size:clamp(30px,8vw,38px);font-weight:900;line-height:1.25;letter-spacing:-.01em}.lt p{color:var(--label2);font-size:15px;margin-top:4px;line-height:1.8}
.gh{font-size:13px;font-weight:600;color:var(--label2);padding:22px 18px 7px}.gf{font-size:12.5px;color:var(--label2);padding:7px 18px 0;line-height:1.7}
.ig{background:var(--grouped);border-radius:26px;overflow:hidden}
.ig>*{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 16px;position:relative}
.ig>*+*::before{content:"";position:absolute;top:0;inset-inline:62px 0;height:.5px;background:var(--sep)}
.ig.noico>*+*::before{inset-inline-start:16px}
.ig .ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:none;background:var(--c,#8e8e93)}
.ig .ic svg{width:18px;height:18px}
.ig .t{flex:1;min-width:0;font-size:16px;line-height:1.5}.ig .t small{display:block;font-size:12.5px;color:var(--label2)}
.ig .v{color:var(--label2);font-size:15px}.ig .cv{width:8px;color:var(--label3);flex:none}.ig .cv svg{width:14px;height:14px}
.ig a:active,.ig button:active{background:var(--fill3)}
.ig input[type=checkbox].sw{appearance:none;width:51px;height:31px;border-radius:99px;background:var(--fill);position:relative;transition:background .25s;flex:none}
.ig input.sw::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15);transition:transform .35s var(--spring)}
.ig input.sw:checked{background:#34c759}.ig input.sw:checked::after{transform:translateX(-20px)}
/* pill buttons */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:50px;padding:0 24px;border-radius:99px;font-weight:800;font-size:16px;background:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 20px -8px rgba(255,170,0,.6);transition:transform .3s var(--spring)}
.pill:active{transform:scale(.95)}.pill svg{width:19px;height:19px}.pill.sm{height:34px;padding:0 16px;font-size:14px}.pill.gr{background:var(--fill);color:var(--label);box-shadow:none}.pill.blk{width:100%}
/* hero poster */
.poster{display:block;position:relative;border-radius:34px;overflow:hidden;aspect-ratio:4/5;max-height:62vh;width:100%;background:#000;color:#fff;margin-top:6px}
@media(min-width:700px){.poster{aspect-ratio:16/9}}
.poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.poster::after{content:"";position:absolute;inset:35% 0 0;background:rgba(0,0,0,.62);-webkit-mask:linear-gradient(transparent,#000 70%);mask:linear-gradient(transparent,#000 70%)}
.poster-in{position:absolute;inset:auto 0 0;z-index:1;padding:22px}
.poster-in .eb{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.02em}
.poster-in h1,.poster-in h2{font-size:clamp(24px,6.4vw,34px);font-weight:900;line-height:1.4;margin:4px 0 6px}
.poster-in p{font-size:14px;opacity:.85;line-height:1.8}
/* stat chips row (App Store info strip) */
.strip{display:flex;overflow-x:auto;scrollbar-width:none;margin:16px -16px 4px;padding:0 16px}
.strip>div{flex:1 0 auto;min-width:96px;text-align:center;padding:2px 12px;display:flex;flex-direction:column;gap:2px}
.strip>div+div{border-inline-start:.5px solid var(--sep)}
.strip small{font-size:11px;color:var(--label2);font-weight:600}.strip b{font-size:19px;font-weight:800;color:var(--label2)}.strip span{font-size:11px;color:var(--label2)}
/* app header (course) */
.ah{display:flex;gap:16px;align-items:center;padding:10px 0 4px}
.ah .aico{width:108px;height:108px;border-radius:24px;flex:none;display:grid;place-items:center;color:#fff;background:var(--c);box-shadow:inset 0 1px 1px rgba(255,255,255,.5),inset 0 -8px 18px rgba(0,0,0,.18),0 12px 28px -12px var(--c)}
.ah .aico svg{width:56px;height:56px}
.ah h1{font-size:22px;font-weight:900;line-height:1.45}.ah p{color:var(--label2);font-size:14px;margin:2px 0 10px}
.ah .row2{display:flex;gap:10px;align-items:center}
/* cards & sections */
.blk{margin-top:26px}.blk>h2{font-size:22px;font-weight:900;margin:0 4px 12px;display:flex;align-items:center;justify-content:space-between}.blk>h2 a{font-size:15px;font-weight:600;color:var(--accent-ink)}
.txt{font-size:16px;line-height:2.05;color:var(--label)}
.hs{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:2px 16px 8px}.hs::-webkit-scrollbar{display:none}.hs>*{scroll-snap-align:start;flex:none}
.tile{background:var(--grouped);border-radius:24px;padding:16px;position:relative;overflow:hidden}
.tile h3{font-size:16px;font-weight:800;margin:8px 0 4px}.tile p{font-size:13.5px;color:var(--label2);line-height:1.8}
.tile .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--c)}.tile .ic svg{width:22px;height:22px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(min-width:700px){.g3{grid-template-columns:repeat(3,1fr)}}
/* curriculum */
.steps{counter-reset:s;background:var(--grouped);border-radius:26px;padding:6px 0}
.steps li{list-style:none;display:flex;gap:14px;align-items:center;padding:12px 16px;position:relative;font-size:15.5px}
.steps li::before{counter-increment:s;content:counter(s,persian);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);flex:none}
.steps li+li::after{content:"";position:absolute;top:0;inset-inline:60px 0;height:.5px;background:var(--sep)}
/* review card */
.rv{width:min(300px,78vw);background:var(--grouped);border-radius:24px;padding:16px;display:flex;flex-direction:column;gap:8px}
.rv-h{display:flex;align-items:center;gap:10px}.rv-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff;background:hsl(var(--h) 55% 48%)}
.rv-h b{font-size:15px}.rv-h span{display:block;font-size:12px;color:var(--label2)}.rv .st{color:#ff9f0a;display:flex;gap:1px}.rv .st svg{width:13px;height:13px}
.rv p{font-size:14px;line-height:1.9;color:var(--label)}
/* sticky bottom glass action bar */
.abar{position:fixed;z-index:30;inset:auto 12px calc(12px + var(--safe-b));max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;padding-inline:18px 10px;border-radius:99px;background:var(--glass);-webkit-backdrop-filter:blur(24px) saturate(1.8);backdrop-filter:blur(24px) saturate(1.8);box-shadow:var(--glass-hi),var(--glass-shadow)}
.abar .t{flex:1;line-height:1.35;min-width:0}.abar .t b{font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.abar .t span{font-size:12px;color:var(--label2)}
/* contact card */
.cc{text-align:center;padding:10px 0 4px}
.cc .av{width:118px;height:118px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:#111;box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--sep),0 18px 40px -16px rgba(255,180,0,.55)}
.cc .av img{width:58px;height:auto}.cc h1{font-size:28px;font-weight:900}.cc p{color:var(--label2);font-size:14.5px;margin-top:2px}
.acts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 6px}
.acts a,.acts button{background:var(--grouped);border-radius:16px;padding:11px 4px 9px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--accent-ink)}
.acts svg{width:22px;height:22px}.acts a:active,.acts button:active{transform:scale(.95)}
.mapc{position:relative;border-radius:26px;overflow:hidden;height:210px;display:block}.mapc svg.map-bg{position:absolute;inset:0;width:100%;height:100%}
.mapc .pin{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#111;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.35)}.mapc .pin img{width:16px}
.mapc .cap{position:absolute;inset:auto 10px 10px;border-radius:18px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--glass-hi)}
.mapc .cap b{font-size:14px;display:block}.mapc .cap span{font-size:12px;color:var(--label2)}
.m-land{fill:#efe9dc}.m-park{fill:#cde6c1}.m-water{fill:#a8d2f2}.m-road{stroke:#fff;stroke-width:6;fill:none}.m-road.big{stroke:#ffd27a;stroke-width:11}
:root[data-theme=dark] .m-land{fill:#2a2a2d}:root[data-theme=dark] .m-park{fill:#22402a}:root[data-theme=dark] .m-water{fill:#1c3a5a}:root[data-theme=dark] .m-road{stroke:#46464a}:root[data-theme=dark] .m-road.big{stroke:#7a6232}
.hrs{display:flex;align-items:center;gap:8px;font-weight:800}.hrs i{width:9px;height:9px;border-radius:50%;background:#34c759;box-shadow:0 0 0 4px rgba(52,199,89,.2)}.is-closed .hrs i,.hrs.is-closed i{background:#ff3b30}
/* team */
.tm{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(min-width:700px){.tm{grid-template-columns:repeat(3,1fr)}}
.tc{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:3/4;background:var(--c);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.tc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.tc .mono{position:absolute;inset:0;display:grid;place-items:center;font-size:64px;font-weight:900;z-index:-1;color:rgba(255,255,255,.92)}
.tc .nm{margin:8px;padding:10px 12px;border-radius:20px;background:rgba(0,0,0,.28);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 .5px rgba(255,255,255,.2)}
.tc b{font-size:14.5px;display:block;line-height:1.5}.tc span{font-size:12px;opacity:.85}
.tc.big{grid-column:span 2;aspect-ratio:16/10}
/* gallery (Photos) */
.ph{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:0 -16px;grid-auto-flow:dense}@media(min-width:700px){.ph{grid-template-columns:repeat(4,1fr);margin:0;border-radius:22px;overflow:hidden}}
.ph button{aspect-ratio:1;overflow:hidden;position:relative;display:block}.ph button.w{grid-column:span 2;grid-row:span 2}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.ph button:active img{transform:scale(.96)}
.ph-cap{display:flex;align-items:baseline;justify-content:space-between;padding:4px 4px 12px}.ph-cap b{font-size:15px}.ph-cap span{color:var(--label2);font-size:13px}
.lb{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.lb.on{display:flex;animation:lbin .35s var(--ease)}@keyframes lbin{from{opacity:0}}
.lb img{max-width:96vw;max-height:80vh;border-radius:14px;animation:lbz .45s var(--spring)}@keyframes lbz{from{transform:scale(.85)}}
.lb-bar{position:absolute;inset:auto 0 calc(20px + var(--safe-b));display:flex;justify-content:center;gap:12px}
.lb-bar button{width:50px;height:50px;border-radius:50%;color:#fff;background:rgba(255,255,255,.14);display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}.lb-bar svg{width:22px;height:22px}
/* articles (App Store Today) */
.today-d{font-size:13px;font-weight:700;color:var(--label2);padding:0 4px}
.tdc{display:block;position:relative;border-radius:30px;overflow:hidden;aspect-ratio:3/4;max-height:520px;width:100%;margin-bottom:22px;color:#fff;background:#000;box-shadow:0 22px 40px -22px rgba(0,0,0,.55);transition:transform .45s var(--spring)}
@media(min-width:700px){.tdc{aspect-ratio:16/10}}
.tdc:active{transform:scale(.97)}.tdc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tdc::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.32)}
.tdc .tt{position:absolute;inset:0 0 auto;z-index:1;padding:20px}.tdc .tt small{font-size:12.5px;font-weight:800;opacity:.85}.tdc .tt h2{font-size:clamp(22px,6vw,30px);font-weight:900;line-height:1.45;margin-top:4px}
.tdc .bt{position:absolute;inset:auto 0 0;z-index:1;padding:14px 20px;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.25);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-size:13px}
.tdc .bt img{position:static;width:34px;height:34px;border-radius:9px;background:#111;padding:6px;object-fit:contain}.tdc .bt div{flex:1}
/* article reading */
.rp{position:fixed;top:0;inset-inline:0;height:3px;z-index:60;background:var(--accent);transform-origin:right;transform:scaleX(var(--p,0))}
.ameta{display:flex;align-items:center;gap:10px;margin:12px 0 16px;color:var(--label2);font-size:13px}.ameta img{width:36px;height:36px;border-radius:50%;background:#111;padding:7px}
.toc{background:var(--grouped);border-radius:22px;padding:14px 18px;margin:16px 0}.toc b{display:block;margin-bottom:6px}.toc a{display:block;font-size:14.5px;padding:5px 0;color:var(--accent-ink)}
.prose{font-size:17px;line-height:2.15}.prose h2{font-size:22px;font-weight:900;margin:30px 0 8px;line-height:1.6;scroll-margin-top:80px}.prose p{margin:10px 0}.prose ul{margin:8px 0;padding-inline-start:22px}.prose li{margin:4px 0}
.prose h3{font-size:18px;font-weight:800;margin:20px 0 4px;line-height:1.7}.prose ol{margin:8px 0;padding-inline-start:24px}.prose pre{direction:ltr;text-align:left;background:var(--grouped);border-radius:18px;padding:14px 16px;margin:14px 0;overflow-x:auto;font:14px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.prose code{direction:ltr;unicode-bidi:isolate;background:var(--grouped);border-radius:8px;padding:1px 6px;font:14px ui-monospace,Menlo,Consolas,monospace}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px;line-height:1.8}.prose th,.prose td{padding:9px 10px;text-align:start;border-bottom:1px solid var(--fill3)}.prose th{font-weight:800;background:var(--grouped)}.prose .tbl{overflow-x:auto}
.prose a{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.cta-card{border-radius:28px;padding:20px;background:#111;color:#fff;display:flex;flex-direction:column;gap:10px;margin:26px 0}.cta-card h3{font-size:19px;font-weight:900}.cta-card p{opacity:.75;font-size:14px;line-height:1.8}
/* register */
.cpick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:700px){.cpick{grid-template-columns:repeat(4,1fr)}}
.cpick label{position:relative;background:var(--grouped);border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .35s var(--spring),box-shadow .25s}
.cpick input{position:absolute;opacity:0}.cpick .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--c)}.cpick .ic svg{width:22px;height:22px}
.cpick b{font-size:14.5px}.cpick small{font-size:11.5px;color:var(--label2)}
.cpick label:has(input:checked){box-shadow:0 0 0 2.5px var(--accent);transform:scale(.98)}
.cpick label:has(input:checked)::after{content:"";position:absolute;top:12px;inset-inline-end:12px;width:22px;height:22px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1300' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat}
.fi{display:flex;flex-direction:column;gap:2px;min-height:62px!important}.fi label{font-size:12px;color:var(--label2);font-weight:600}.fi input,.fi select,.fi textarea{font-size:16px;background:none;border:0;outline:0;width:100%;color:var(--label);padding:2px 0}
.fi.invalid label{color:var(--red)}
.chs{display:flex;flex-wrap:wrap;gap:8px}.chs label{position:relative}.chs input{position:absolute;opacity:0}.chs span{display:inline-flex;height:36px;align-items:center;padding:0 15px;border-radius:99px;background:var(--grouped);font-size:14px;font-weight:600;transition:all .25s}
.chs input:checked+span{background:var(--label);color:var(--bg)}
.ok{display:none;text-align:center;padding:30px 10px}.ok.on{display:block;animation:lbin .4s}.ok .ic{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:#34c759;color:#fff;animation:lbz .6s var(--spring)}.ok .ic svg{width:44px;height:44px}
/* settings */
.sx-hero{display:flex;align-items:center;gap:14px;background:var(--grouped);border-radius:26px;padding:14px 16px}.sx-hero .av{width:60px;height:60px;border-radius:50%;background:#111;display:grid;place-items:center}.sx-hero .av img{width:28px}.sx-hero b{font-size:19px;display:block}.sx-hero span{font-size:13px;color:var(--label2)}
.thm{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px!important}.thm::before{display:none}
.thm button{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.thm .pv{width:100%;max-width:86px;aspect-ratio:9/16;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 0 0 .5px var(--sep)}
.thm .pv i{position:absolute;inset:auto 10% 10%;height:18%;border-radius:8px}
.thm .pv.l{background:#f2f2f7}.thm .pv.l i{background:#fff}.thm .pv.d{background:#1c1c1e}.thm .pv.d i{background:#3a3a3c}.thm .pv.a{background:#f2f2f7;clip-path:none}.thm .pv.a::after{content:"";position:absolute;inset:0 50% 0 0;background:#1c1c1e}
.thm .rd{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--label3)}
.thm button[aria-checked=true] .rd{background:var(--accent);box-shadow:none;position:relative}.thm button[aria-checked=true] .rd::after{content:"";position:absolute;left:7.5px;top:4.5px;width:5px;height:9px;border:solid var(--on-accent);border-width:0 2.2px 2.2px 0;transform:rotate(45deg)}
.thm button[aria-checked=true] .pv{box-shadow:0 0 0 2.5px var(--accent)}
.acc{display:flex;gap:12px;flex-wrap:wrap}.acc button{width:30px;height:30px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.1)}.acc button[aria-checked=true]{box-shadow:0 0 0 2.5px var(--bg2),0 0 0 4.5px var(--c)}
.rng{flex:1;accent-color:var(--accent)}
/* call sheet */
.csheet .sheet-body{display:flex;flex-direction:column;gap:10px}
.csheet .ig{background:var(--fill3)}
@media (prefers-reduced-motion:reduce){.tdc,.pill,.cpick label{transition:none}}
.fq summary{list-style:none;cursor:pointer;font-weight:700;font-size:15.5px;display:flex;justify-content:space-between;gap:10px;width:100%}.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";color:var(--label3);font-size:22px;line-height:1;transition:transform .3s var(--spring)}.fq[open] summary::after{transform:rotate(45deg)}
.ig>.fq{display:block;padding:14px 16px}.fq p{margin-top:8px;color:var(--label2);line-height:1.9;font-size:14.5px}
.ig button[aria-checked=true] .chk{color:var(--accent-ink)}.ig button .chk{color:transparent;width:18px}
[hidden]{display:none!important}
html,body{overflow-x:clip;max-width:100%}
.num{unicode-bidi:isolate;display:inline-block}
.is-app main{padding-bottom:0!important}.is-app .wrap{padding-bottom:calc(28px + var(--safe-b))!important}
.is-app .wrap:has(.abar){padding-bottom:calc(104px + var(--safe-b))!important}
.cth{object-fit:cover;flex:none;display:block;background:var(--fill);box-shadow:0 0 0 .5px rgba(0,0,0,.12),0 4px 12px -6px rgba(0,0,0,.4)}
.tile .cth{width:100%!important;height:auto!important;aspect-ratio:1;margin-bottom:10px}
img.aico{width:112px;height:112px;border-radius:26px;object-fit:cover;flex:none;box-shadow:0 0 0 .5px rgba(0,0,0,.15),0 10px 24px -10px rgba(0,0,0,.5)}
.tile.pt{padding:0;overflow:hidden}.tile.pt img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.tile.pt h3{padding:10px 14px 0}.tile.pt p{padding:2px 14px 14px}
.cpick label .cth{margin:0 auto 6px}
.hs,.chips,.strip{cursor:grab}.hs img,.chips img{-webkit-user-drag:none;user-select:none}
/* team */
.tc{aspect-ratio:auto;justify-content:flex-start;background:var(--bg2,#fff);color:var(--label)}
.tc img,.tc .mono{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:22px}
.tc .mono{background:var(--c);display:grid;font-size:56px}
.tc .nm{position:static;margin:0;padding:10px 6px 4px;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center}
.tc span{opacity:1;color:var(--label2)}.tc .nm span{display:block;margin-top:3px}.tc{border-radius:24px;padding:6px}
.tm{gap:12px!important}
.rv-av,.q-av{line-height:1;padding-top:.12em;text-align:center}
/* settings */
.ig .dis{opacity:.55;display:flex;align-items:center;gap:12px}.soon{font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--fill);color:var(--label2)}
.ig .t small{display:block;font-size:12px;color:var(--label2);font-weight:400}
/* register fields */
.fx2 .fi{display:flex;align-items:center;gap:12px;padding:10px 14px!important;transition:box-shadow .2s}
.fx2 .fi .fw{flex:1;display:flex;flex-direction:column;min-width:0}
.fx2 .fi label{font-size:12px;color:var(--label2);font-weight:600}
.fx2 .fi input,.fx2 .fi textarea{border:0;background:none;font:inherit;font-size:17px;color:var(--label);padding:2px 0;outline:0;width:100%}
.fx2 .fi textarea{resize:vertical;min-height:70px}
.fx2 .fi:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}
.fx2 .fi.invalid{box-shadow:inset 0 0 0 2px var(--red)}
.fe{display:none;font-size:13px;color:var(--red);margin:6px 14px 0}form:has(.invalid) .fe{display:block}
/* login */
.lgn{text-align:center;padding:12px 0 4px}.lgn h1{font-size:28px;font-weight:900;margin:8px 0 4px}.lgn p{color:var(--label2)}
.orb{position:relative;width:260px;height:260px;margin:0 auto}
.orb img{position:absolute;width:62px;height:62px;border-radius:16px;object-fit:cover;left:50%;top:50%;margin:-31px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);transform:rotate(calc(var(--i)*45deg)) translateY(-100px) rotate(calc(var(--i)*-45deg));animation:orb 40s linear infinite}
@keyframes orb{to{transform:rotate(calc(var(--i)*45deg + 360deg)) translateY(-100px) rotate(calc(var(--i)*-45deg - 360deg))}}
.orb .core{position:absolute;inset:78px;overflow:visible;border-radius:30px;display:grid;place-items:center;background:var(--glass,rgba(255,255,255,.6));box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 18px 40px -16px rgba(0,0,0,.45)}
.lgc{display:block;margin:16px auto 0;max-width:440px;padding:18px;border-radius:30px}.lgc .pill{margin-top:14px}
.fx{display:flex;align-items:center;gap:10px;height:56px;border-radius:18px;padding:0 16px;background:var(--fill)}.fx:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}
.fx input{flex:1;border:0;background:none;font:inherit;font-size:19px;letter-spacing:.04em;color:var(--label);outline:0;text-align:left;direction:ltr}
.cc98{font-weight:800;color:var(--label2);padding-inline-end:10px;border-inline-end:1px solid var(--sep,rgba(128,128,128,.3))}
.lnk{background:none;border:0;color:var(--accent-ink);font:inherit;font-weight:700;cursor:pointer}
.lgf{display:flex;justify-content:center;gap:18px;margin-top:18px;font-size:12.5px;color:var(--label2)}.lgf span{display:flex;align-items:center;gap:6px}.lgf svg{width:15px;height:15px}
#codeForm:has(#stepCode[hidden]){display:none}#phoneForm:has(#stepPhone[hidden]){display:none}
/* profile */
.pf{text-align:center;margin:0 -16px}.pf-cover{height:150px;overflow:hidden;border-radius:0 0 28px 28px}.pf-cover img{width:100%;height:100%;object-fit:cover}
.pf-av{display:grid;place-items:center;width:104px;height:104px;margin:-52px auto 8px;border-radius:50%;background:#111;box-shadow:0 0 0 4px var(--bg,#f2f2f7),0 12px 28px -10px rgba(0,0,0,.5);position:relative}
.pf h1{font-size:24px;font-weight:900}.pf p{color:var(--label2);font-size:14px}
.pcard{position:relative;width:220px;border-radius:22px;overflow:hidden;display:block;color:#fff}.pcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pc-in{position:absolute;inset:auto 8px 8px;padding:10px 12px;border-radius:16px;background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:2px;font-size:12px}
.pc-in b{font-size:15px}.bar{display:block;height:5px;border-radius:9px;background:rgba(255,255,255,.25);margin-top:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);border-radius:9px}
.bdg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bdg span{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;text-align:center}
.bdg i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--c);box-shadow:inset 0 2px 0 rgba(255,255,255,.35),0 8px 18px -8px var(--c)}.bdg svg{width:26px;height:26px}
/* search */
.srch{position:sticky;top:calc(var(--safe-t) + 56px);z-index:5;display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;border-radius:99px;margin:4px 0 6px}
.srch>svg{width:20px;height:20px;color:var(--label2);flex:none}.srch input{flex:1;border:0;background:none;font:inherit;font-size:17px;color:var(--label);outline:0;min-width:0}.srch input::-webkit-search-cancel-button{display:none}
.sx{width:24px;height:24px;border-radius:50%;border:0;background:var(--label2);color:var(--bg,#fff);display:grid;place-items:center;cursor:pointer}.sx svg{width:14px;height:14px;transform:rotate(45deg)}
.chips .chip svg{width:14px;height:14px;margin-inline-end:4px;vertical-align:-2px;opacity:.6}
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sgrid a{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12.5px;font-weight:700;text-align:center;color:var(--label)}
.sgrid img{width:100%;aspect-ratio:1;border-radius:22%;object-fit:cover;box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
.sres a{display:flex;align-items:center;gap:12px}.sres img{width:52px;height:52px;border-radius:13px;object-fit:cover;flex:none}
.si{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;background:var(--fill);font-weight:900;font-size:22px;color:var(--accent-ink);flex:none}
.sres mark{background:none;color:var(--accent-ink);font-weight:900}
.sem{display:flex;flex-direction:column;align-items:center;gap:6px;padding:50px 0;color:var(--label2);text-align:center}.sem svg{width:46px;height:46px;opacity:.4}.sem b{color:var(--label);font-size:18px}.sem a{color:var(--accent-ink);font-weight:700}
/* why widget icons */
.wg-why .wi{width:26px;height:26px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--c);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 4px 10px -4px var(--c)}.wg-why .wi svg{width:15px;height:15px}
/* call sheet glass */
.csheet.lg{background:var(--glass-strong,rgba(30,30,32,.55))}
:root:not([data-theme=dark]) .csheet.lg{background:rgba(255,255,255,.62)}
:root[data-rmotion] *,:root[data-rmotion] *::before,:root[data-rmotion] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
:root[data-rmotion] ::view-transition-group(*),:root[data-rmotion] ::view-transition-old(*),:root[data-rmotion] ::view-transition-new(*){animation:none!important}
@media (prefers-reduced-motion:reduce){.orb img{animation:none}}
.rv-av,.q-av{display:block!important;padding:0!important;text-align:center;color:#fff!important;overflow:hidden}
.rv-av{font-size:18px;line-height:46px!important}.q-av{font-size:13px;line-height:32px!important}

.orb .core img{position:static!important;margin:0!important;width:52px!important;height:76px!important;border-radius:0!important;box-shadow:none!important;animation:none!important;transform:none!important;object-fit:contain}
.fx{direction:ltr}.fx input{text-align:left}

.cpick label{border-radius:22px!important;overflow:hidden}.cpick label:has(input:checked){box-shadow:inset 0 0 0 2.5px var(--accent)!important;outline:0}

[data-theme=dark] .csheet.lg{background:rgba(22,22,24,.86)}[data-theme=dark] .csheet,[data-theme=dark] .csheet h2,[data-theme=dark] .csheet b,[data-theme=dark] .csheet .ig *{color:#fff}[data-theme=dark] .csheet small,[data-theme=dark] .csheet .num{color:rgba(235,235,245,.78)}[data-theme=dark] .csheet .ig{background:rgba(255,255,255,.1)}
/* app-like tap feedback */
.busy{position:relative;pointer-events:none}.busy>svg{opacity:0;transition:opacity .1s}.busy::before{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2.2px solid currentColor;border-top-color:transparent;animation:spin .6s linear infinite;z-index:3}
.app.busy::before{width:22px;height:22px;top:auto;bottom:auto;color:#fff;inset:0;margin:auto;transform:translateY(-12px)}
@keyframes spin{to{transform:rotate(360deg)}}.app.busy::before{animation-name:spin2}@keyframes spin2{from{transform:translateY(-12px) rotate(0)}to{transform:translateY(-12px) rotate(360deg)}}
.fx2{padding:0!important;overflow:hidden}
.fx2 .fi{flex-direction:row!important;align-items:center;gap:12px;min-height:54px!important;padding:8px 14px!important;position:relative;border:0!important;background:none}
.fx2 .fi+.fi::before{content:"";position:absolute;top:0;inset-inline-start:56px;inset-inline-end:0;height:.5px;background:var(--sep,rgba(60,60,67,.29))}
.fx2 .fi .ic{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--c);color:#fff;margin:0}
.fx2 .fi .ic svg{width:17px;height:17px}
.fx2 .fi .fw{gap:1px;align-items:stretch;text-align:start}
.fx2 .fi label{font-size:11.5px;line-height:1.3}
.fx2 .fi input,.fx2 .fi textarea{font-size:16px;line-height:1.4;padding:0;text-align:start}
.fx2 .fi input[dir=ltr]{text-align:right}
.fx2 .fi textarea{min-height:44px;resize:none}
.fx2 .fi:has(textarea){align-items:flex-start;padding-top:12px!important}
.fx2 .fi:focus-within{box-shadow:none;background:rgba(255,194,58,.08)}
.fx2 .fi:focus-within .ic{box-shadow:0 0 0 2px var(--accent)}
.fx2 .fi.invalid{box-shadow:none;background:rgba(255,59,48,.07)}
.fx2 .fi{border-bottom:0!important;box-shadow:none}.fx2 .fi::after{display:none!important}
.cpick label{flex-direction:row!important;align-items:center;gap:10px!important;padding:10px!important;border-radius:18px!important}
.cpick label .cth{margin:0!important;flex:none;width:44px!important;height:44px!important;border-radius:11px}
.cpick label>span:not(.cth),.cpick label .cw{min-width:0}
.cpick b{display:block;font-size:14px}.cpick small{display:block;font-size:11px}
.cpick label:has(input:checked)::after{top:8px;inset-inline-end:8px;width:18px;height:18px;background-size:12px}
.cpick label{display:grid!important;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:10px!important;row-gap:1px!important;align-content:center}
.cpick label .cth{grid-row:1/3;width:44px!important;height:44px!important;border-radius:11px!important}
.cpick b{align-self:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpick small{align-self:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ===== profile (live data) ===== */
.pf-badge{display:inline-block;margin-top:8px;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:700}
.pf-badge.stu{background:var(--acc,#ffc23a);color:#1c1300}.pf-badge.gst{background:rgba(142,142,147,.2);color:var(--t2,#8e8e93)}
.sk{height:84px;border-radius:22px;margin:12px 0;background:rgba(127,127,127,.12);animation:skp 1.2s ease-in-out infinite alternate}@keyframes skp{to{opacity:.45}}
.lockc{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 16px;border-radius:26px;text-align:center;position:relative;overflow:hidden}
.lockc i{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(127,127,127,.16);color:var(--acc,#ffc23a);margin-bottom:6px}
.lockc b{font-size:15px}.lockc span{font-size:13px;opacity:.7;margin-bottom:10px}
.crd{border-radius:26px;padding:16px;margin:12px 0}.crd header{display:flex;justify-content:space-between;align-items:center;gap:12px}.crd header b{font-size:16px;display:block}.crd header small{opacity:.65;font-size:12px}
.ring{position:relative;width:52px;height:52px;flex:none;display:grid;place-items:center}.ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:3.4;stroke-linecap:round}.ring .rb{stroke:rgba(127,127,127,.2)}.ring .rf{stroke:var(--acc,#ffc23a)}
.ring em{font-style:normal;font-size:12px;font-weight:700;position:relative}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 8px}.kpi div{background:rgba(127,127,127,.1);border-radius:16px;padding:10px 4px;text-align:center}.kpi b{display:block;font-size:18px}.kpi small{font-size:11px;opacity:.7}
.kpi .er b,.mny .er,b.er{color:var(--red,#ff3b30)}.mny .ok,b.ok{color:var(--green,#34c759)}
.nx{font-size:13px;margin:6px 2px;opacity:.85}
.crd details{margin:6px 0}.crd summary{cursor:pointer;font-size:13px;font-weight:600;padding:6px 2px;color:var(--acc,#ffc23a)}
.ses,.ins{list-style:none;margin:6px 0 0;padding:0}.ses li,.ins li{display:flex;align-items:center;gap:10px;padding:10px 4px;border-top:.5px solid rgba(127,127,127,.25)}
.ses li span,.ins li span{flex:1;font-size:14px}.ses small,.ins small,.crt small,.smp small{display:block;font-size:11.5px;opacity:.65;margin-top:2px}
.tg{font-style:normal;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:99px;flex:none}.tg.ok{background:rgba(52,199,89,.16);color:#1f9d45}.tg.er{background:rgba(255,59,48,.14);color:#e0281d}.tg.wr{background:rgba(255,149,0,.16);color:#c76a00}.tg.nt{background:rgba(127,127,127,.16)}
.mny{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:12px}.mny div{background:rgba(127,127,127,.1);border-radius:16px;padding:10px 12px}.mny small{display:block;font-size:11px;opacity:.7}.mny b{font-size:14px}
.ins .pill{padding:6px 14px;font-size:12px}
.alrt{margin:12px 0;padding:12px 16px;border-radius:18px;background:rgba(255,59,48,.12);color:#e0281d;font-size:13.5px;font-weight:600}
.crt,.smp{display:flex;align-items:center;gap:8px;padding:12px 14px;width:100%;text-align:right;background:none;border:0;color:inherit;font:inherit;cursor:pointer}.crt .t,.smp .t{flex:1;font-size:14.5px}.crt+.crt,.smp+.smp{border-top:.5px solid rgba(127,127,127,.25)}.crt .pill{padding:6px 14px;font-size:12px}
.emp{opacity:.65;font-size:13.5px;text-align:center;padding:14px}
.pdfv{position:fixed;inset:0;z-index:9999;background:rgb(18,18,20);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}
.pdfv header{display:flex;align-items:center;gap:10px;padding:max(12px,env(safe-area-inset-top)) 14px 12px;color:#fff}.pdfv header b{flex:1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdfv header span{font-size:12px;opacity:.7}
.pdfv-b{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px;overscroll-behavior:contain}.pdfv-b canvas{background:#fff;border-radius:10px;max-width:100%;pointer-events:none}
@media print{.pdfv{display:none!important}}

.mapc .pin{top:30%;width:36px;height:36px;border-width:2.5px}.mapc .pin img{width:13px;height:13px}
/* navigation feedback: instant gold progress line + pressed state, repeat taps ignored while the next screen loads */
a,button,[role=button],.app,.wg{touch-action:manipulation}
html.navving::after{content:"";position:fixed;top:0;right:0;left:0;height:3px;z-index:2147483000;background:var(--gold);transform-origin:100% 50%;animation:navline 2.4s cubic-bezier(.1,.7,.2,1) forwards;pointer-events:none;padding-top:env(safe-area-inset-top,0px);background-clip:content-box}
html.navving body{cursor:progress}
@keyframes navline{0%{transform:scaleX(0)}15%{transform:scaleX(.45)}100%{transform:scaleX(.92)}}
.tapd{transition:transform .18s var(--ease),opacity .18s;transform:scale(.94);opacity:.82}
.app.tapd{transform:none;opacity:1}.app.tapd .app-ico{transform:scale(.9);filter:brightness(.85);transition:transform .18s var(--ease),filter .18s}
.steps li>span{display:flex;flex-direction:column;gap:2px}.steps li>span small{font-size:13.5px;line-height:1.85;color:var(--label2)}
.chk{background:var(--grouped);border-radius:26px;padding:6px 0;margin:0}.chk li{list-style:none;position:relative;padding:12px 46px 12px 16px;font-size:15.5px;line-height:1.8}.chk li::before{content:"";position:absolute;inset-inline-start:18px;top:19px;width:14px;height:8px;border:solid var(--c);border-width:0 0 2.5px 2.5px;transform:rotate(-45deg)}.chk li+li::after{content:"";position:absolute;top:0;inset-inline:46px 0;height:.5px;background:var(--sep)}
.txt+.txt{margin-top:10px}.txt.pre{margin-top:12px;font-size:15px;color:var(--label2)}

.agrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:26px}
@media(min-width:700px){.agrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
.acard{display:flex;flex-direction:column;background:var(--grouped);border-radius:22px;overflow:hidden;box-shadow:0 10px 24px -18px rgba(0,0,0,.45);transition:transform .4s var(--spring);content-visibility:auto;contain-intrinsic-size:auto 260px}
.acard:active{transform:scale(.96)}
.acard img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--fill3)}
.acard .ab{display:flex;flex-direction:column;flex:1;padding:10px 12px 12px;gap:4px}
.acard small{font-size:11.5px;font-weight:800;color:var(--accent-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acard h2{font-size:14.5px;font-weight:800;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.acard .am{margin-top:auto;padding-top:6px;font-size:11.5px;color:var(--label2)}
.acard[hidden],.tdc[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.acard{transition:none}}
@media(max-width:699px){.tdf{aspect-ratio:4/5;max-height:440px}
.agrid.odd>.acard:first-child{grid-column:span 2;flex-direction:row;min-height:150px}
.agrid.odd>.acard:first-child img{width:44%;height:auto;aspect-ratio:auto;object-fit:cover;flex:none}
.agrid.odd>.acard:first-child .ab{padding:14px}.agrid.odd>.acard:first-child h2{font-size:16px}}

.pick{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px}.pk{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--grouped);border-radius:18px;color:inherit;text-decoration:none;line-height:1.7}.pk-g{flex:1;font-size:15px;font-weight:600}.pk-g small,.pk-c small{display:block;font-size:12.5px;font-weight:400;color:var(--label2)}.pk-c{flex:0 0 auto;text-align:end;min-width:92px;font-size:15px;color:var(--accent-ink)}.pk-c b{display:block;font-weight:800}

.lic{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px}.lc{background:var(--grouped);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;text-align:start;position:relative}
.lc>span{padding:12px 14px;display:block}.lc b{display:block;font-size:14px;line-height:1.7}.lc small{display:block;color:var(--label2);font-size:12.5px;line-height:1.7;margin-top:2px}
button.lc img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#f3f0e8;display:block;transition:transform .5s var(--ease)}button.lc:active img{transform:scale(.97)}
div.lc{border-inline-start:3px solid #34c759}

.tprof{margin:0 0 14px;padding:14px 16px;border-radius:20px;background:var(--bg2,rgba(127,127,127,.08))}.tprof h3{font-size:16px;margin:0 0 6px}.tprof .txt{margin:0}
