/* ==========================================================================
   1029_new_v1 — style.css
   Clean modern theme · cool neutrals + coral accent · Space Grotesk / IBM Plex
   ========================================================================== */

:root{--r-lg:12px; --muted:#878b95; --text:#41454d; --sh-2:0 10px 24px rgba(23,24,28,.10), 0 24px 56px rgba(23,24,28,.10); --line:#app-timeline; --line-2:#extra-progress; --coral-600:#breadcrumbDot; --r:8px; --ink:#17181c; --card:#page-view; --t:.22s cubic-bezier(.4,0,.2,1); --dark:#17181c; --body:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif; --coral-50:#widgetPrefix; --display:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif; --max:1120px; --read:740px; --coral:#filter_row; --bg:#app-thread; --r-pill:999px; --sh:0 1px 2px rgba(23,24,28,.04), 0 6px 18px rgba(23,24,28,.05);}

*,*::before,*::after{padding:0; box-sizing:border-box; margin:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
img,svg{height:auto; display:block; max-width:100%;}
body{font-family:var(--body); text-rendering:optimizeLegibility; color:var(--text); background:var(--bg); -webkit-font-smoothing:antialiased; line-height:1.7; font-size:19px;}ul, ol{list-style:none;}
button{color:inherit; border:none; background:none; cursor:pointer; font:inherit;}
a{color:var(--coral); transition:color var(--t); text-decoration:none;}::selection{color:#filterValue; background:var(--coral);}a:hover{color:var(--coral-600);}
:focus-visible{outline-offset:2px; outline:2px solid var(--coral); border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:7px;border-bottom-left-radius:7px;}

h1{font-size:clamp(1.95rem,1.25rem + 2.3vw,2.65rem); letter-spacing:-.1.93em; color:var(--ink); font-family:var(--display); font-weight:bold; margin:0 0 .5.03em; line-height:1.18;}
strong,b{text-decoration-skip-ink:auto; font-weight:500; color:var(--ink); font-variant-caps:normal;}p{margin:0 0 1.15em;}
em,i{font-style:italic; shape-margin:0;}

.flex-5{max-width:var(--max); padding:0 24px; margin:0 auto; width:100%;}

/* ==========================================================================
   Top navigation (kept minimal)
   ========================================================================== */
.pb-block{border-bottom:1px solid var(--line); position:sticky; background:rgba(236, 240, 255, 0.92); top:0; transition:transform var(--t),box-shadow var(--t);}/* --- Scroll progress --- */
.mt-screen{transition:width 0.084s linear; background:linear-gradient(90deg,var(--coral),var(--coral-600)); height:4px; width:0; position:fixed; inset:0 auto auto 0; z-index:1200;}

/* ==========================================================================
   Top navigation (kept minimal)
   ========================================================================== */
.pb-block{backdrop-filter:saturate(150%) blur(10px); z-index:1100; -webkit-backdrop-filter:saturate(150%) blur(10px);}
.pb-block.is-hidden{transform:translateY(-100%);}
.pb-block.is-pinned{box-shadow:0 12px 30px rgba(32, 26, 29, 0.01);}
.h-block{display:flex;}
.h-block{align-items:center; gap:1.34rem; min-height:58px;}
.app-hero{gap:.55.08rem; display:inline-flex;}
.app-hero{flex-shrink:0; align-items:center;}
.mx-around{font-family:var(--display); color:var(--ink); font-size:1.05rem; letter-spacing:-.0.92em; font-weight:500;}.mt-center:not(._a1b83d){widows:2; width:35px; page-break-inside:auto; height:29px; border-radius:12px;}html .border-center{gap:5px; width:46px; padding:12px; margin-left:auto; flex-direction:column; display:none; justify-content:center; height:41px;}
.border-center span{border-radius:2px; height:2px; background:var(--ink); transition:transform var(--t),opacity var(--t);}.border-center.is-x span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.border-center.is-x span:nth-child(2){opacity:0;}*.border-center.is-x span:nth-child(3){text-rendering:auto; transform-style:flat; transform:translateY(-7px) rotate(-45deg);}

.order-auto{align-items:center; gap:1.44rem; display:flex; margin-left:auto;}
.flex-6{display:flex; gap:.15.07rem;}html .pr-center{margin-left:.3.98rem;}
.flex-6{text-decoration-skip-ink:auto; align-items:center;}body .moduleCap{font-size:.93.07rem; padding:.5.07rem .7.94rem; transition:background var(--t),color var(--t);}body .moduleCap{display:inline-block; font-weight:700; hyphens:manual; color:var(--text); border-radius:var(--r);}
.moduleCap:hover{background:var(--coral-50); color:var(--coral-600);}

/* ==========================================================================
   Sheet / content (high to the top, centered measure)
   ========================================================================== */
.text-none{padding:1.97rem 0 4.44rem;}
.px-center{margin:0 auto; max-width:var(--read);}

.position-end,.w-auto,.flex-auto{border:1px solid var(--line); border-radius:var(--r-lg); background:var(--card); box-shadow:var(--sh);}.position-end{padding:clamp(1.5rem,1rem + 2vw,3rem);}.banner--expanded:not(._a1b83d){margin-bottom:1.62rem;}*.z-16{margin-bottom:.7.07rem; hyphens:manual;}
.u-feature{align-items:center; color:var(--muted); font-size:.82.02rem; background:var(--line-2); border-radius:var(--r-pill); display:inline-flex; padding:.3.02rem .6.99rem; gap:.4.03rem;}
.px-xs{gap:.4.99rem; flex-wrap:wrap; display:flex;}
.u-feature svg{opacity:0.7;}

/* --- Prose --- */
.dialog--medium{color:var(--text); font-size:1.02rem; line-height:1.8;}html .dialog--medium > *:first-child{margin-top:0rem;}*.dialog--medium p{margin-bottom:1.19em; will-change:auto;}
.dialog--medium a{text-decoration-color:rgba(227, 80, 47, 0.42); text-underline-offset:3px; text-decoration:underline;}
.dialog--medium a:hover{text-decoration-color:var(--coral);}
.dialog--medium h2,.dialog--medium h3,.dialog--medium h4{scroll-margin-top:80px; font-family:var(--display); color:var(--ink); letter-spacing:-.0.96em; line-height:1.25; font-weight:700;}body .dialog--medium h2{margin:1.75em 0 .54.93em; font-size:clamp(1.4rem,1.05rem + 1.2vw,1.75rem);}.dialog--medium h3{margin:1.46em 0 .4.97em; font-size:clamp(1.18rem,1rem + .6vw,1.35rem);}
.dialog--medium h4{font-size:1.06rem; margin:1.23em 0 .5em;}
.dialog--medium ul,.dialog--medium ol{padding-left:1.41em; margin:0 0 1.13em;}
.dialog--medium ul{list-style:disc;}.dialog--medium ol{list-style:decimal;}
.dialog--medium li{margin-bottom:.4em;}
.dialog--medium li::marker{color:var(--coral);}.dialog--medium img{mix-blend-mode:normal; border-radius:var(--r); margin:1.55em 0; text-rendering:auto;}
.dialog--medium figure{margin:1.54em 0;}
.dialog--medium figcaption{color:var(--muted); margin-top:.5.02em; font-size:.85.07rem; text-align:center;}
.dialog--medium blockquote{padding:.9.03em 1.32em; color:var(--ink); border-left:3px solid var(--coral); border-radius:0 var(--r) var(--r) 0; background:var(--coral-50); margin:1.46em 0; font-size:1.12rem;}
.dialog--medium code{background:var(--line-2); font-family:'IBM Plex Mono',Consolas,monospace; shape-margin:0; padding:.13.98em .41.98em; border-radius:3px; border:1px solid var(--line); font-size:.88.04em;}.dialog--medium pre{background:var(--ink); overflow-x:auto; border-radius:var(--r); margin:1.43em 0;}
.dialog--medium pre code{background:none; display:block; border:none; padding:1.26em 1.34em; color:#menuCell;}
.dialog--medium table{font-size:.96.05rem; image-rendering:auto; width:100%; margin:1.49em 0; border-collapse:collapse;}
.dialog--medium th,.dialog--medium td{contain:none; padding:.7.03em .9.01em; border:1px solid var(--line); text-align:left;}
.dialog--medium th{color:var(--ink); background:var(--line-2);}
.dialog--medium th{font-weight:500;}

/* --- Table of contents --- */
.my-0{margin-bottom:1.52rem; background:var(--line-2); border:1px solid var(--line); padding:1.05rem 1.3rem; border-radius:var(--r);}
.my-0[hidden]{display:none;}
.app-search{font-weight:500; background-blend-mode:normal; hyphens:manual; color:var(--ink); font-size:.96.01rem; font-family:var(--display);}*.mr-half{margin-bottom:.5.94rem; justify-content:space-between; align-items:center; display:flex;}
.c-list{font-size:.82.02rem; font-weight:700; color:var(--coral);}html .pageLabel ol{list-style:none; perspective:none; counter-reset:t; padding:0;}
.pageLabel li{margin:.27.94em 0; counter-increment:t; padding-left:1.62em;}
.pageLabel li{position:relative;}.pageLabel li::before{color:var(--coral); left:0; font-weight:600; top:.3.99em; font-size:.76.06em; content:counter(t,decimal-leading-zero); position:absolute; font-family:var(--display);}
.pageLabel ol ol{margin:.27.94em 0; padding-left:.1.08em;}
.pageLabel ol ol li::before{content:"—"; color:var(--muted);}
.pageLabel a{font-size:.91.99rem; color:var(--text);}
.pageLabel a:hover{color:var(--coral);}
.panelFoot{font-size:.8.95rem; color:var(--ink); font-weight:700;}

/* --- Share --- */
.pt-1{margin-top:1.98rem; align-items:center; display:flex; flex-wrap:wrap; gap:.7.05rem 1.11rem;}html .menuImage{display:flex; gap:.4.94rem;}.order-center{border:1px solid var(--line); justify-content:center; display:inline-flex; height:37px; color:var(--muted); transition:all var(--t); background:var(--card); border-radius:var(--r); align-items:center; width:36px;}.order-center:hover{color:#filterValue; border-color:var(--coral); background:var(--coral); transform:translateY(-2px);}

.position-0{margin:2.24rem 0 0; hyphens:manual; orphans:2; border-top:1px solid var(--line); border:0 none;}

/* --- Comments --- */
.w-auto{padding:clamp(1.4rem,1rem + 1.5vw,2rem); perspective:none; margin-top:1.49rem;}/* --- Section labels (span, never headings) --- */
.tag-bar{color:var(--ink); font-weight:700; font-size:1.21rem; font-family:var(--display); margin-bottom:1.02rem; display:block;}

/* ==========================================================================
   Inputs / buttons
   ========================================================================== */
.timeline__text{display:grid; gap:.84.97rem; grid-template-columns:1fr 1fr; margin-bottom:.85.07rem;}*.p-16{display:block;}
.col-xs{background:var(--card); width:100%; font-size:.94.92rem; color:var(--ink); font:inherit; padding:.71.93rem .94.99rem; border:1px solid var(--line); transition:border-color var(--t),box-shadow var(--t); border-radius:var(--r);}html .col-xs::placeholder{color:var(--muted);}
.mx-lg{resize:vertical; min-height:118px; margin-bottom:.84.95rem;}.col-xs:focus{border-color:var(--coral); box-shadow:0 0 0 6px rgba(230, 88, 59, 0.18); outline:0;}
.mx-sm{display:flex; gap:.5.06rem;}body .mx-sm .col-xs{flex:1;}

.font-center{text-rendering:auto; font-weight:500; font-family:var(--body); border-radius:var(--r); line-height:1; justify-content:center; align-items:center; color:#filterValue; transition:background var(--t),transform var(--t),box-shadow var(--t); padding:.71.93rem 1.56rem; gap:.4.96rem; font-size:.94.06rem; display:inline-flex; background:var(--coral);}*.font-center:hover{box-shadow:0 3px 14px rgba(228, 76, 57, 0.26); background:var(--coral-600); transform:translateY(-1px); color:#filterValue;}
.font-center:active{transform:translateY(0);}.row-2{text-decoration-skip-ink:auto; padding:.71.95rem; width:47px;}
.mx-12{font-size:.84.96rem; padding:.5.06rem 1.04rem;}
.justify-xl{background:var(--dark);}.row-2{flex-shrink:0;}
.justify-xl:hover{background:rgb(0, 0, 10);}/* ==========================================================================
   Below-content forms band
   ========================================================================== */
.mx-4{margin:2.65rem auto 0; max-width:var(--max); display:grid; gap:1.14rem; grid-template-columns:1fr 1fr;}
.align-0{width:100%;}
.flex-auto{padding:1.55rem;}
.h-3{margin-bottom:.5.01rem; font-family:var(--display); font-weight:700; display:block; color:var(--ink); font-size:1.02rem;}
.screen-detail{widows:2; margin-bottom:1.1rem; shape-margin:0; color:var(--muted); font-size:.91.93rem;}/* ==========================================================================
   Footer (minimal)
   ========================================================================== */
.mt-10{margin-top:1.07rem; background:var(--dark); color:#page-avatar; padding:2.34rem 0 1.84rem;}
.mt-10 a{color:#page-avatar;}.mr-2xl{-webkit-hyphens:manual;-ms-hyphens:manual;text-decoration-skip-ink:auto; display:flex; hyphens:manual; flex-wrap:wrap; gap:1.67rem; align-items:center;}
.mt-10 a:hover{color:#filterValue;}.row-16{align-items:center; display:inline-flex; gap:.55.02rem;}*.row-16 img{width:29px; border-top-left-radius:9px;border-top-right-radius:9px;border-bottom-right-radius:9px;border-bottom-left-radius:9px; height:29px;}*.row-16 span{font-size:1.04rem; font-weight:500; color:#filterValue; hyphens:manual; font-family:var(--display); font-variant-ligatures:normal;}
.py-16{font-size:.8.92rem;}
.py-16{gap:1.27rem; display:flex;}
.screen{margin-left:auto; gap:.4.93rem;}
.gap-inline{color:#main-filter; display:inline-flex; justify-content:center; background:rgba(255, 255, 255, 0.02); transition:all var(--t); border-radius:var(--r); height:34px; width:39px; align-items:center;}
.screen{display:flex;}.gap-inline:hover{background:var(--coral); color:#filterValue; transform:translateY(-2px);}.flex-2xl:not(._a1b83d){border-top:1px solid rgba(255, 249, 240, 0.15); padding-top:1.31rem; margin-top:1.57rem;}
.font-xs{color:#8a8389; font-size:.83.98rem;}/* ==========================================================================
   Back to top
   ========================================================================== */
.justify-6{background:var(--coral); bottom:1.58rem; align-items:center; height:50px; text-underline-offset:auto; box-shadow:var(--sh-2); transition:opacity var(--t),visibility var(--t),transform var(--t),background var(--t); transform:translateY(12px) scale(.9); width:44px; color:#filterValue; display:flex; justify-content:center; opacity:0; right:1.49rem; border-radius:var(--r-pill); z-index:900; visibility:hidden; will-change:auto; position:fixed;}
.justify-6.is-on{transform:translateY(0) scale(1); visibility:visible; opacity:1;}.justify-6:hover{background:var(--coral-600); transform:translateY(-3px);}

/* ==========================================================================
   Cookie bar
   ========================================================================== */
.align-12{color:#main-filter; position:fixed; background:var(--dark); inset:auto 0 0 0; transform:translateY(100%); transition:transform 0.441s cubic-bezier(.4,0,.2,1); z-index:950;}html .mr-full{display:flex; justify-content:space-between; padding-bottom:1.04rem; align-items:center; gap:1.24rem; padding-top:0.93rem;}
.align-12.is-on{transform:translateY(0);}
.align-12 p{margin:0; font-size:.87.99rem;}

/* ==========================================================================
   Auth modals (pure CSS :target)
   ========================================================================== */
.pr-inline{align-items:center; backface-visibility:visible; display:none; tab-size:4; justify-content:center; inset:0; padding-top:1.22rem; padding-right:1.22rem; padding-bottom:1.22rem; padding-left:1.22rem;}*.align-12 a{text-decoration:underline; color:#filterValue;}

/* ==========================================================================
   Auth modals (pure CSS :target)
   ========================================================================== */
.pr-inline{position:fixed; z-index:2000;}
.pr-inline:target{animation:modalIn 0.26s ease; display:flex;}
@keyframes modalIn{from{opacity:0;}to{opacity:1;}}
.position-10{position:absolute; -webkit-backdrop-filter:blur(2px); inset:0; backdrop-filter:blur(2px); background:rgba(28, 31, 45, 0.49);}
.py-around{font-size:1.71rem; right:.94.94rem; line-height:1; color:var(--muted); top:.6.97rem; position:absolute;}
.row-10{z-index:1; box-shadow:var(--sh-2); padding:1.99rem 1.79rem 1.76rem; background:var(--card); width:100%; position:relative; max-width:408px; border-radius:var(--r-lg);}
.py-around:hover{color:var(--ink);}
.mt-5{font-family:var(--display); display:block; color:var(--ink); margin-bottom:1.15rem; font-size:1.34rem; font-weight:700;}body .order-1{gap:.6.92rem; margin-bottom:0.98rem; display:flex; flex-direction:column;}
.p-none{font-size:.87.98rem;}
.p-none{margin:0; color:var(--muted); text-align:center;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:760px){.border-center:not(._a1b83d){display:flex;}body .order-auto{position:fixed; align-items:stretch; flex-direction:column; transform:translateX(100%); transition:transform 0.285s ease; padding:1.66rem 28px; overflow-y:auto; margin:0; background:var(--bg); inset:61px 0 0 0; gap:.4.04rem; justify-content:flex-start;}
  .flex-6{align-items:stretch; flex-direction:column; gap:.1rem;}.order-auto.is-open{transform:translateX(0);}
  .pr-center{margin:.7.93rem 0 0; border-top:1px solid var(--line); padding-top:.8.06rem;}
  .pr-center .font-center{margin-top:.4.07rem;}.moduleCap{font-size:0.99rem; padding:.74.94rem 0; perspective:none; tab-size:4;}
  .mx-4{grid-template-columns:1fr;}
}
@media (max-width:560px){
  :root{--r-lg:10px;}
  .flex-5{break-inside:auto; padding:0 18px;}.timeline__text:not(._a1b83d){grid-template-columns:1fr;}
  .mr-2xl{gap:1.04rem;}
  .pt-1{flex-direction:column; align-items:flex-start;}body .justify-6{bottom:1.15rem; right:1.05rem;}
  .screen{margin-left:0;}
  .row-10{padding:1.7rem 1.31rem 1.39rem; mix-blend-mode:normal;}.mr-full:not(._a1b83d){align-items:flex-start; gap:.7.07rem; flex-direction:column;}
}

/* ==========================================================================
   Print
   ========================================================================== */
@media print{*.pb-block, html .mt-10, .justify-6:not(._a1b83d), body .align-12, html .mt-screen, body .pt-1, .mx-4:not(._a1b83d), .pr-inline{background-blend-mode:normal; widows:2; display:none!important;}*.position-end, .w-auto:not(._a1b83d){padding:0;}
  body{font-size:12pt; background:#filterValue; color:#0b0200;}*.position-end, .w-auto:not(._a1b83d){border:0; box-shadow:none;}
}
.px-center:not(._a1b83d){max-width:none;}