.dl{--acc:var(--coral);--acc-d:var(--coral-d);background:var(--cream-hi)}.coral{--acc:var(--coral);--acc-d:var(--coral-d)}.teal{--acc:var(--teal);--acc-d:var(--teal-d)}.gold{--acc:var(--gold);--acc-d:var(--gold-d)}.flamingo{--acc:var(--flamingo);--acc-d:#d43c68}.dl-nav{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:70px;box-shadow:0 2px 0 var(--line);background:#fff7eaf5;position:sticky;top:0}.dl-nav-in{width:var(--wrap);align-items:center;gap:18px;height:100%;margin:0 auto;display:flex}.dl-logo img{filter:drop-shadow(0 4px 8px #0b234033);width:auto;height:42px;transition:transform .2s var(--ease-pop)}.dl-logo:hover img{transform:rotate(-4deg)scale(1.06)}.dl-links{gap:4px;margin-right:auto;display:flex}.dl-links a{color:var(--navy);border-radius:12px;padding:9px 14px;font-size:16px;font-weight:700;text-decoration:none;transition:background .14s}.dl-links a:hover{background:#12355b12}.dl-links a.on{background:var(--navy);color:#fff}.dl-hero{color:#fff;isolation:isolate;padding:clamp(70px,9vw,120px) 0 clamp(120px,12vw,170px);position:relative;overflow:hidden}.dl-hero-bg{z-index:-1;background:linear-gradient(180deg, #0b234059 0%, #12355bbf 70%, var(--navy) 100%), url(/devlog/carnival-midway.webp) center 40% / cover no-repeat;position:absolute;inset:0}.dl-hero-in{text-align:center;max-width:900px}.dl-hero-title{font:400 clamp(46px, 7.4vw, 104px) / 1 var(--font-display);margin:0}.dl-hero-lead{color:#fff;text-shadow:0 2px 10px #0b234099;max-width:640px;margin:24px auto 0;font-size:clamp(18px,1.6vw,22px)}.dl-latest{margin-top:clamp(-110px,-8vw,-70px);position:relative}.dl-feature{color:var(--navy);transition:transform .22s var(--ease-pop);background:#fff;border-radius:30px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);text-decoration:none;display:grid;overflow:hidden;box-shadow:0 8px #12355b1f,0 30px 60px #0b23402e}.dl-feature:hover{transform:translateY(-4px)}.dl-feature-img{min-height:100%;position:relative}.dl-feature-img img{object-fit:cover;width:100%;height:100%}.dl-new{background:var(--acc);color:#fff;box-shadow:0 4px 0 var(--acc-d);font:400 18px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:8px 16px 9px;position:absolute;top:20px;left:20px}.dl-feature-body{flex-direction:column;align-items:flex-start;gap:16px;padding:clamp(28px,3.4vw,48px);display:flex}.dl-feature-body h2{font:400 clamp(36px, 4vw, 56px) / 1.02 var(--font-display);color:var(--navy);margin:0}.dl-feature-body .btn{margin-top:8px}.dl-meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:700;display:flex}.dl-meta.light{color:#ffffffd9}.dl-num{background:var(--acc);color:#fff;letter-spacing:.08em;border-radius:999px;padding:6px 12px 7px}.dl-summary{color:var(--navy-2);margin:0;font-size:18px}.dl-stats{flex-wrap:wrap;gap:10px;margin:4px 0 0;padding:0;list-style:none;display:flex}.dl-stats li{background:var(--cream-hi);border-radius:18px;flex-direction:column;min-width:92px;padding:12px 16px;display:flex;box-shadow:0 3px #12355b1a}.dl-stats b{font:400 30px/1 var(--font-display);color:var(--acc-d)}.dl-stats span{color:var(--muted);margin-top:4px;font-size:13px;font-weight:700}.dl-stats.light li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;box-shadow:inset 0 0 0 2px #ffffff2e}.dl-stats.light b{color:#fff}.dl-stats.light span{color:#ffffffd9}.dl-timeline-sec{padding:clamp(70px,8vw,110px) 0 clamp(80px,9vw,130px)}.dl-h2{font:400 clamp(32px, 3.4vw, 46px) / 1.05 var(--font-display);color:var(--navy);margin:0 0 36px}.dl-timeline{margin:0;padding:0 0 0 46px;list-style:none;position:relative}.dl-timeline:before{content:"";background:linear-gradient(180deg, var(--coral), var(--gold), var(--teal));opacity:.6;border-radius:4px;width:4px;position:absolute;top:10px;bottom:10px;left:15px}.dl-timeline li{margin-bottom:26px;position:relative}.dl-dot{background:var(--acc);width:26px;height:26px;box-shadow:0 3px 0 var(--acc-d), 0 6px 14px #0b23402e;border:5px solid #fff;border-radius:50%;position:absolute;top:34px;left:-42px}.dl-entry{color:var(--navy);box-shadow:var(--plinth);transition:transform .2s var(--ease-pop);background:#fff;border-radius:26px;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:26px;padding:16px;text-decoration:none;display:grid}.dl-entry:hover{transform:translate(6px)}.dl-entry img{aspect-ratio:16/10;object-fit:cover;border-radius:18px;width:100%}.dl-entry h3{font:400 clamp(26px, 2.4vw, 34px) / 1.05 var(--font-display);margin:10px 0 8px}.dl-tags{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.dl-tags li{background:var(--cream-hi);color:var(--navy-2);border-radius:999px;margin:0;padding:6px 12px;font-size:13px;font-weight:700}.dl-cover{color:#fff;isolation:isolate;align-items:flex-end;min-height:min(82svh,820px);padding:120px 0 56px;display:flex;position:relative;overflow:hidden}.dl-cover-img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dl-cover-shade{z-index:-1;background:linear-gradient(#0b23401a 0%,#0b234059 45%,#0b2340eb 100%);position:absolute;inset:0}.dl-cover-in{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.dl-back{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border-radius:12px;padding:8px 14px;font-size:15px;font-weight:700;text-decoration:none}.dl-back:hover{background:#ffffff47}.dl-cover-title{font:400 clamp(48px, 7vw, 100px) / 1 var(--font-display);margin:0}.dl-cover-lead{text-shadow:0 2px 10px #0b234080;max-width:760px;margin:0;font-size:clamp(18px,1.6vw,22px)}.dl-body{grid-template-columns:250px minmax(0,1fr);gap:clamp(30px,4vw,64px);padding:clamp(50px,6vw,80px) 0 clamp(70px,8vw,110px);display:grid}.dl-toc{box-shadow:var(--plinth);background:#fff;border-radius:22px;align-self:start;padding:22px;position:sticky;top:96px}.dl-toc p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:700}.dl-toc ol{counter-reset:toc;margin:0;padding:0;list-style:none}.dl-toc li{counter-increment:toc}.dl-toc a{color:var(--navy);border-radius:12px;gap:10px;padding:8px;font-size:15px;font-weight:700;line-height:1.3;text-decoration:none;display:flex}.dl-toc a:before{content:counter(toc, decimal-leading-zero);color:var(--acc-d);font:400 15px/1.3 var(--font-display)}.dl-toc a:hover{background:var(--cream-hi)}.dl-article{max-width:860px}.dl-section{border-bottom:2px dashed #12355b1f;margin-bottom:clamp(36px,4vw,56px);padding-bottom:clamp(36px,4vw,56px);scroll-margin-top:90px}.dl-section:last-of-type{border-bottom:0}.dl-eyebrow{background:color-mix(in srgb, var(--acc) 16%, #fff);color:var(--acc-d);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;margin-bottom:12px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-block}.dl-section h2{font:400 clamp(32px, 3.6vw, 48px) / 1.05 var(--font-display);color:var(--navy);margin:0 0 18px}.dl-p{color:var(--navy-2);margin:0 0 20px;font-size:19px;line-height:1.65}.dl-list{margin:0 0 24px;padding:0;list-style:none}.dl-list li{color:var(--navy-2);margin-bottom:12px;padding-left:34px;font-size:18px;line-height:1.55;position:relative}.dl-list li:before{content:"";background:var(--acc);width:16px;height:16px;box-shadow:0 0 0 5px color-mix(in srgb, var(--acc) 22%, transparent);border-radius:50%;position:absolute;top:7px;left:4px}.dl-fig{margin:8px 0 28px}.dl-fig img{width:100%;box-shadow:var(--plinth);border-radius:22px}.dl-fig.wide img{border-radius:26px}.dl-fig figcaption{color:var(--muted);margin-top:12px;font-size:15px;font-weight:600}.dl-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:8px;display:grid}.dl-gallery .dl-fig{margin:0 0 20px}.dl-gallery .dl-fig img{aspect-ratio:16/10;object-fit:cover}.dl-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:8px 0 28px;display:grid}.dl-card{box-shadow:var(--plinth);transition:transform .18s var(--ease-pop);background:#fff;border-radius:22px;overflow:hidden}.dl-card:hover{transform:translateY(-3px)}.dl-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.dl-card-body{padding:16px 18px 20px}.dl-tag{background:color-mix(in srgb, var(--acc) 16%, #fff);color:var(--acc-d);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-block}.dl-card h4{font:400 24px/1.1 var(--font-display);color:var(--navy);margin:10px 0 6px}.dl-card p{color:var(--navy-2);margin:0;font-size:16px;line-height:1.5}.dl-callout{--tone:var(--teal);--tone-d:var(--teal-d);background:color-mix(in srgb, var(--tone) 12%, #fff);box-shadow:inset 6px 0 0 var(--tone), 0 4px 0 #12355b14;border-radius:22px;margin:8px 0 28px;padding:22px 24px 22px 26px}.dl-callout.coral{--tone:var(--coral);--tone-d:var(--coral-d)}.dl-callout.gold{--tone:var(--gold);--tone-d:var(--gold-d)}.dl-callout.flamingo{--tone:var(--flamingo);--tone-d:#d43c68}.dl-callout h4{font:400 24px/1.1 var(--font-display);color:var(--tone-d);margin:0 0 8px}.dl-callout p{color:var(--navy-2);margin:0;font-size:17px;line-height:1.6}.dl-table-wrap{box-shadow:var(--plinth);background:#fff;border-radius:22px;margin:8px 0 28px;overflow-x:auto}.dl-table{border-collapse:collapse;width:100%;font-size:16px}.dl-table th{background:var(--navy);color:#fff;font:400 17px/1.2 var(--font-display);letter-spacing:.02em;text-align:left;padding:16px 18px}.dl-table td{border-top:1px solid var(--line);color:var(--navy-2);vertical-align:top;padding:13px 18px}.dl-table td:first-child{color:var(--navy);white-space:nowrap;font-weight:700}.dl-table td:last-child{color:var(--acc-d);white-space:nowrap;font-weight:700}.dl-table tbody tr:nth-child(2n) td{background:#ffe8c759}.dl-steps{gap:14px;margin:8px 0 28px;padding:0;list-style:none;display:grid}.dl-steps li{box-shadow:var(--plinth);background:#fff;border-radius:22px;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:16px;padding:18px 20px;display:grid}.dl-steps .n{background:var(--acc);color:#fff;width:56px;height:56px;box-shadow:0 4px 0 var(--acc-d);font:400 30px/1 var(--font-display);border-radius:18px;place-items:center;display:grid}.dl-steps h4{font:400 23px/1.1 var(--font-display);color:var(--navy);margin:4px 0 6px}.dl-steps p{color:var(--navy-2);margin:0;font-size:17px;line-height:1.55}.dl-cta{background:radial-gradient(circle at 20% 0%, #2ec4b659, transparent 55%), radial-gradient(circle at 90% 100%, #ff7a6b66, transparent 55%), var(--navy);color:#fff;text-align:center;border-radius:30px;flex-direction:column;align-items:center;gap:12px;margin:10px 0 36px;padding:clamp(34px,4vw,50px) 24px;display:flex}.dl-cta h3{font:400 clamp(32px, 3.6vw, 48px) / 1.05 var(--font-display);margin:0}.dl-cta p{color:#ffffffd9;margin:0 0 10px;font-size:18px}.dl-pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dl-pager a{color:var(--navy);box-shadow:var(--plinth);transition:transform .18s var(--ease-pop);background:#fff;border-radius:22px;flex-direction:column;gap:6px;padding:20px 22px;text-decoration:none;display:flex}.dl-pager a:hover{transform:translateY(-3px)}.dl-pager .next{text-align:right;grid-column:2}.dl-pager span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:700}.dl-pager b{font:400 24px/1.1 var(--font-display)}@media (max-width:980px){.dl-feature{grid-template-columns:1fr}.dl-feature-img img{aspect-ratio:16/9}.dl-body{grid-template-columns:1fr}.dl-toc{position:static}.dl-toc ol{flex-wrap:wrap;gap:6px;display:flex}.dl-toc a{background:var(--cream-hi);padding:7px 12px}}@media (max-width:720px){.dl-nav{height:62px}.dl-logo img{height:34px}.dl-links a{padding:8px 10px;font-size:15px}.dl-nav .btn.s{white-space:nowrap;min-height:40px;padding:0 14px 2px;font-size:16px}.dl-links a{white-space:nowrap}.dl-timeline{padding-left:30px}.dl-timeline:before{left:8px}.dl-dot{border-width:4px;width:22px;height:22px;left:-31px}.dl-entry{grid-template-columns:1fr;gap:14px}.dl-gallery{grid-template-columns:1fr}.dl-cover{min-height:78svh;padding:90px 0 36px}.dl-pager{grid-template-columns:1fr}.dl-pager .next{grid-column:1}.dl-table td:first-child,.dl-table td:last-child{white-space:normal}}@media (max-width:440px){.dl-links a:not(.on){display:none}}@media (prefers-reduced-motion:reduce){.dl-feature,.dl-entry,.dl-card,.dl-pager a{transition:none}}
