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

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

*,*::before,*::after{margin:0; box-sizing:border-box; padding:0;}
html{-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%; scroll-behavior:smooth;}body{text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;}body{background:var(--bg); line-height:1.7; font-size:18px; font-family:var(--body); color:var(--text);}
ul,ol{list-style:none;}
img,svg{max-width:100%; display:block; height:auto;}button{cursor:pointer; background:none; color:inherit; border:0 none;}button{font:inherit;}
a{text-decoration:none;}
a:hover{color:var(--coral-600);}
a{transition:color var(--t); color:var(--coral);}
::selection{color:#dialog_area; background:var(--coral);}

h1{font-size:clamp(1.95rem,1.25rem + 2.3vw,2.65rem); font-family:var(--display); margin:0 0 .4.94em; line-height:1.18; letter-spacing:-.2.03em; font-weight:bold; color:var(--ink);}
:focus-visible{border-radius:7px; outline:2px solid var(--coral); outline-offset:2px;}
p{margin:0 0 1.03em;}
strong,b{font-weight:500; color:var(--ink); image-rendering:auto;}
em,i{contain:none; font-style:italic;}.t-skeleton-group{max-width:var(--max); margin:0 auto; padding:0 24px; width:100%;}

/* --- Scroll progress --- */
.o-slider-dot{transition:width 0.107s linear; background:linear-gradient(90deg,var(--coral),var(--coral-600)); position:fixed; inset:0 auto auto 0; width:0; z-index:1200; height:0px;}

/* ==========================================================================
   Top navigation (kept minimal)
   ========================================================================== */
.l-toggle{z-index:1100; position:sticky; border-bottom:1px solid var(--line); backdrop-filter:saturate(150%) blur(10px); background:rgba(234, 255, 229, 0.83); -webkit-backdrop-filter:saturate(150%) blur(10px); top:0; transition:transform var(--t),box-shadow var(--t);}
.l-toggle.is-hidden{transform:translateY(-100%);}
.l-toggle.is-pinned{box-shadow:0 10px 24px rgba(35, 42, 21, 0.08);}
.popoverOverlay{align-items:center; contain:none; flex-shrink:0; display:inline-flex; backface-visibility:visible; gap:.54.92rem;}
.app-view{tab-size:4; display:flex; gap:1.42rem; min-height:58px; font-variant-caps:normal; align-items:center;}
.o-feature-trigger{border-radius:9px; height:30px; word-spacing:normal; width:28px;}
.t-card{font-weight:500; font-size:1.08rem; color:var(--ink); letter-spacing:-.0.98em; font-family:var(--display);}

.ui-card-region{gap:1px; justify-content:center; flex-direction:column; margin-left:auto; height:41px; width:43px; display:none; padding:13px;}
.ui-card-region span{background:var(--ink); height:2px; border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px; transition:transform var(--t),opacity var(--t);}.ui-card-region.is-x span:nth-child(1){shape-margin:0; tab-size:4; transform:translateY(7px) rotate(45deg);}
.ui-card-region.is-x span:nth-child(2){opacity:0;}html .ui-card-region.is-x span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.form__backdrop--pressed{margin-left:auto; align-items:center; gap:1.35rem; display:flex;}
.o-thread{display:flex; align-items:center; gap:.15rem;}.o-review{margin-left:.4.04rem;}
.u-reply-input{transition:background var(--t),color var(--t); font-size:.93rem; font-weight:500; padding:.4.96rem .8.05rem; display:inline-block; color:var(--text); border-radius:var(--r);}

/* ==========================================================================
   Sheet / content (high to the top, centered measure)
   ========================================================================== */
.el-popover{widows:2; text-decoration-skip-ink:auto; padding:1.95rem 0 4.54rem;}.u-reply-input:hover{color:var(--coral-600); background:var(--coral-50);}html .l-tag{margin:0 auto; max-width:var(--read);}body .app-reply, *.shadow-lg, *.t-tooltip{border:1px solid var(--line); box-shadow:var(--sh); background:var(--card); border-radius:var(--r-lg);}.app-block:not(._515d9d){isolation:auto; margin-bottom:1.55rem; text-rendering:auto;}

.app-reply{padding:clamp(1.5rem,1rem + 2vw,3rem);}html .u-block{margin-bottom:.6.99rem;}
.ui-carousel{align-items:center; display:inline-flex; backface-visibility:visible; gap:.3.95rem; padding:.3.03rem .7.01rem; font-size:.82.05rem; border-radius:var(--r-pill); background:var(--line-2); color:var(--muted);}
.sectionFoot{gap:.4.99rem; flex-wrap:wrap; display:flex;}
.ui-carousel svg{opacity:0.74;}

/* --- Prose --- */
.o-block{line-height:1.8; font-size:1.12rem; color:var(--text);}
.o-block > *:first-child{margin-top:0em;}
.o-block p{margin-bottom:1.17em;}
.o-block a{text-decoration:underline; text-decoration-color:rgba(231, 111, 70, 0.46); text-underline-offset:3px; font-variant-ligatures:normal;}html .o-block a:hover{text-decoration-color:var(--coral);}
.o-block h2,.o-block h3,.o-block h4{line-height:1.25; color:var(--ink); font-weight:700; letter-spacing:-.0.92em; font-family:var(--display); scroll-margin-top:80px;}
.o-block h2{font-size:clamp(1.4rem,1.05rem + 1.2vw,1.75rem); margin:1.75em 0 .55.03em;}
.o-block h3{font-size:clamp(1.18rem,1rem + .6vw,1.35rem); margin:1.43em 0 .5em;}body .o-block h4{margin:1.16em 0 .5em; font-size:1.11rem;}
.o-block ul,.o-block ol{padding-left:1.37em; margin:0 0 1.22em;}
.o-block ul{list-style:disc;}
.o-block ol{list-style:decimal;}
.o-block li{margin-bottom:.4.04em;}
.o-block li::marker{color:var(--coral);}
.o-block img{border-radius:var(--r); margin:1.52em 0;}.o-block figure{image-rendering:auto; font-synthesis:weight style small-caps; margin:1.43em 0;}
.o-block figcaption{margin-top:.4.93em; font-size:.84.99rem; text-align:center; color:var(--muted);}
.o-block blockquote{padding:.9em 1.29em; font-size:1.16rem; break-inside:auto; color:var(--ink); background:var(--coral-50); border-radius:0 var(--r) var(--r) 0; margin:1.57em 0; shape-margin:0; border-left:3px solid var(--coral);}
.o-block code{font-size:.87.96em; font-family:'IBM Plex Mono',Consolas,monospace; border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px; border:1px solid var(--line); background:var(--line-2); padding:.14.05em .42.02em;}
.o-block pre{background:var(--ink); border-radius:var(--r); margin:1.53em 0; overflow-x:auto;}
.o-block pre code{padding:1.22em 1.41em; border:none; color:#page-list; background:none; display:block;}.o-block table{border-collapse:collapse; margin:1.55em 0; font-size:.95.93rem; width:100%;}body .o-block th, .o-block td{will-change:auto; padding:.7.02em .9.08em; text-align:left; border:1px solid var(--line); text-underline-offset:auto;}

/* --- Table of contents --- */
.heroBackdrop{border:1px solid var(--line); margin-bottom:1.63rem; border-radius:var(--r); padding:0.99rem 1.25rem; background:var(--line-2);}
.o-block th{background:var(--line-2); color:var(--ink); font-weight:500;}
.c-banner{align-items:center; justify-content:space-between; margin-bottom:.5.98rem; display:flex;}
.heroBackdrop[hidden]{display:none;}
.u-screen{color:var(--ink); font-family:var(--display); font-size:.96.06rem; font-weight:500;}*.el-pagination ol{font-synthesis:weight style small-caps; padding:0; list-style:none;}
.c-post-primary{font-size:.81.92rem; font-weight:500; color:var(--coral);}*.el-pagination ol{counter-reset:t;}
.el-pagination li{position:relative; padding-left:1.69em; counter-increment:t;}
.el-pagination li{margin:.28.04em 0;}
.el-pagination li::before{left:0; color:var(--coral); font-size:.76em; font-family:var(--display); position:absolute; content:counter(t,decimal-leading-zero); top:.4.08em; page-break-inside:auto; font-weight:500;}
.el-pagination ol ol{margin:.27.94em 0; padding-left:.1.01em;}
.el-pagination ol ol li::before{content:"—"; color:var(--muted);}
.el-pagination a{font-size:.92.01rem; color:var(--text);}
.el-pagination a:hover{color:var(--coral);}

/* --- Share --- */
.el-skeleton-extra{background-blend-mode:normal; display:flex; align-items:center; margin-top:1.92rem; flex-wrap:wrap; gap:.6.97rem 1.04rem;}html .o-progress-track{font-weight:700; color:var(--ink); font-size:.9.08rem;}
.ui-progress{border:1px solid var(--line); color:var(--muted); transition:all var(--t); display:inline-flex; border-radius:var(--r); width:37px; height:36px; background:var(--card); align-items:center; justify-content:center;}
.u-form{font-variant-ligatures:normal; display:flex; gap:.5.03rem;}
.ui-progress:hover{border-color:var(--coral); transform-style:flat; background:var(--coral); transform:translateY(-2px); color:#dialog_area;}

.app-page{margin:2.26rem 0 0; border-top:1px solid var(--line); border:none;}/* --- Section labels (span, never headings) --- */
.col-block{display:block; color:var(--ink); font-weight:600; font-family:var(--display); margin-bottom:1.12rem; font-size:1.2rem;}

/* --- Comments --- */
.shadow-lg{margin-top:1.55rem; padding:clamp(1.4rem,1rem + 1.5vw,2rem);}

/* ==========================================================================
   Inputs / buttons
   ========================================================================== */
.pl-6{display:grid; gap:.85.01rem; grid-template-columns:1fr 1fr; margin-bottom:.84.97rem;}body .l-block{padding:.72.08rem .95.02rem; width:100%; border:1px solid var(--line); font:inherit; font-size:.95.07rem; border-radius:var(--r); transition:border-color var(--t),box-shadow var(--t); background:var(--card); color:var(--ink);}
.el-review{display:block;}
.l-block::placeholder{color:var(--muted);}.l-block:focus{outline:0; border-color:var(--coral); box-shadow:0 0 0 5px rgba(240, 78, 47, 0.12);}
.el-reply-overlay{min-height:121px; margin-bottom:.85rem; resize:vertical;}
.app-review{gap:.4.94rem; display:flex;}

.c-entry-suffix{gap:.5.04rem; padding:.71.97rem 1.57rem; justify-content:center; color:#dialog_area; transition:background var(--t),transform var(--t),box-shadow var(--t); align-items:center;}
.app-review .l-block{flex:1;}

.c-entry-suffix{font-weight:600; font-family:var(--body); border-radius:var(--r); font-size:.93.93rem; line-height:1; display:inline-flex; background:var(--coral);}
.c-entry-suffix:hover{transform:translateY(-1px); color:#dialog_area; background:var(--coral-600); box-shadow:0 7px 18px rgba(215, 105, 58, 0.21);}.c-entry-suffix:active{image-rendering:auto; transform:translateY(0); will-change:auto;}.ui-avatar:not(._515d9d){font-size:.85.05rem; padding:.5.04rem 1.09rem;}
.t-comment{background:var(--dark); hyphens:manual; text-rendering:auto;}
.stepper-detail-warning{width:50px; flex-shrink:0; padding:.72.02rem;}
.d-sm{width:100%;}.t-comment:hover{background:#0d0409;}

/* ==========================================================================
   Below-content forms band
   ========================================================================== */
.l-chip{margin:2.52rem auto 0; gap:1.18rem; max-width:var(--max); display:grid; grid-template-columns:1fr 1fr;}
.t-tooltip{padding:1.56rem;}.status__thumb--filled{font-size:.91.95rem; margin-bottom:1.14rem; color:var(--muted);}
.actionExtra{font-weight:700; color:var(--ink); font-size:1.15rem; font-family:var(--display); display:block; margin-bottom:.5.01rem;}/* ==========================================================================
   Footer (minimal)
   ========================================================================== */
.ui-feature-group{background:var(--dark); color:#page-banner; margin-top:1.05rem; padding:2.37rem 0 1.72rem;}
.ui-feature-group a{color:#page-banner;}.l-dropdown{display:flex; gap:1.62rem; align-items:center; flex-wrap:wrap;}
.ui-feature-group a:hover{color:#dialog_area;}
.el-tag-meta{gap:.55.06rem; align-items:center; display:inline-flex;}
.el-tag-meta img{border-radius:6px; width:32px; height:32px;}
.el-tag-meta span{font-family:var(--display); color:#dialog_area; font-weight:600; font-size:1.08rem;}
.el-reply{font-size:.8.97rem; display:flex; gap:1.3rem;}
.u-panel-number{margin-left:auto; display:flex; gap:.4.92rem;}
.el-post{transition:all var(--t); justify-content:center; align-items:center; background:rgba(243, 254, 247, 0.13); border-radius:var(--r); height:42px; width:42px; color:#app-toolbar; display:inline-flex;}
.el-post:hover{color:#dialog_area;}
.el-post:hover{background:var(--coral); transform:translateY(-2px);}
.app-step{border-top:1px solid rgba(242, 249, 246, 0.11); padding-top:1.24rem;}.l-post-summary{color:#917c98; font-size:.84.03rem;}
.app-step{margin-top:1.68rem;}

/* ==========================================================================
   Back to top
   ========================================================================== */
.l-box{color:#dialog_area; justify-content:center; opacity:0; border-radius:var(--r-pill); visibility:hidden; position:fixed; display:flex; width:44px; box-shadow:var(--sh-2); height:46px; bottom:1.52rem; right:1.44rem; background:var(--coral); z-index:900; transition:opacity var(--t),visibility var(--t),transform var(--t),background var(--t); break-inside:auto; transform:translateY(12px) scale(.9); align-items:center;}*.l-box.is-on{visibility:visible; transform:translateY(0) scale(1); opacity:1;}
.l-box:hover{background:var(--coral-600); break-inside:auto; transform:translateY(-3px);}

/* ==========================================================================
   Cookie bar
   ========================================================================== */
.stepAction{position:fixed; transform:translateY(100%); background:var(--dark); transition:transform 0.359s cubic-bezier(.4,0,.2,1); color:#app-toolbar; inset:auto 0 0 0; z-index:950;}
.stepAction.is-on{transform:translateY(0);}
.position-4{justify-content:space-between; padding-top:1.06rem; align-items:center; gap:1.35rem; padding-bottom:1.03rem; display:flex;}
.stepAction p{font-size:.88.03rem; margin:0;}
.stepAction a{text-decoration:underline; color:#dialog_area;}

/* ==========================================================================
   Auth modals (pure CSS :target)
   ========================================================================== */
.app-media{z-index:2000; position:fixed; align-items:center; display:none; justify-content:center; padding:1.24rem; inset:0;}
.app-media:target{display:flex; animation:modalIn 0.235s ease;}
@keyframes modalIn{from{opacity:0;}to{opacity:1;}}
.u-post-body{max-width:408px;}
.l-entry{inset:0; position:absolute; background:rgba(8, 42, 35, 0.51); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);}
.u-post-body{box-shadow:var(--sh-2); width:100%; background:var(--card); z-index:1; border-radius:var(--r-lg); position:relative; padding:1.95rem 1.87rem 1.81rem;}
.toolbar--disabled{line-height:1; position:absolute; right:.95.03rem; top:.7.02rem; color:var(--muted); font-size:1.78rem;}.toolbar--disabled:hover{word-spacing:normal; image-rendering:auto;}.toolbar--disabled:hover{color:var(--ink);}
.c-tabs-foot{font-size:1.32rem; margin-bottom:1.13rem; font-weight:500; font-family:var(--display); color:var(--ink); display:block;}
.ui-rating{gap:.7.05rem; flex-direction:column; margin-bottom:0.99rem; display:flex;}
.c-stepper{text-align:center; margin:0; font-size:.88.05rem; color:var(--muted);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:760px){
  .ui-card-region{display:flex;}
  .form__backdrop--pressed{gap:.3.95rem; overflow-y:auto; margin:0; transform:translateX(100%); align-items:stretch; background:var(--bg); flex-direction:column; inset:56px 0 0 0; padding:1.66rem 26px; justify-content:flex-start; position:fixed; transition:transform 0.258s ease;}
  .form__backdrop--pressed.is-open{transform:translateX(0);}*.o-thread{align-items:stretch; gap:.0.94rem; flex-direction:column;}.o-review{border-top:1px solid var(--line); margin:.7.92rem 0 0; padding-top:.8.06rem; shape-margin:0;}
  .o-review .c-entry-suffix{margin-top:.3.99rem;}*.u-reply-input{padding:.75rem 0; font-size:1.07rem;}body .l-chip{grid-template-columns:1fr;}
}
@media (max-width:560px){:root{--r-lg:10px;}*.t-skeleton-group{padding:0 16px;}
  .el-skeleton-extra{align-items:flex-start; contain:none; flex-direction:column;}
  .pl-6{grid-template-columns:1fr;}
  .l-dropdown{font-variant-ligatures:normal; gap:1.04rem;}
  .u-panel-number{margin-left:0;}body .l-box{right:1.14rem; bottom:1.14rem;}
  .u-post-body{padding:1.77rem 1.28rem 1.46rem;}.position-4{gap:.6.99rem; align-items:flex-start; flex-direction:column;}
}

/* ==========================================================================
   Print
   ========================================================================== */
@media print{
  .l-toggle,.ui-feature-group,.l-box,.stepAction,.o-slider-dot,.el-skeleton-extra,.l-chip,.app-media{display:none!important;}
  body{background:#dialog_area; color:#050701; isolation:auto; font-size:12pt; shape-margin:0;}.l-tag{max-width:none;}*.app-reply, .shadow-lg{border:none; box-shadow:none; padding:0;}
}
