/* Polish layer: loads last, safe to delete */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}

/* header: translucent + blur, hairline border */
header{background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
nav a{position:relative;transition:color .2s}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--head);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
nav a:hover::after,nav a.on::after{transform:scaleX(1)}
.btn-sm,.icon-btn{transition:transform .15s ease,opacity .2s ease,color .2s ease}
.btn-sm:hover{transform:translateY(-1px);opacity:.92}
.btn-sm:active{transform:scale(.97)}

/* hero: calmer gallery, stronger fade so text reads cleanly */
.gallery-track{filter:saturate(.7) brightness(.72)}
.gallery-fade{background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--bg) 60%,transparent) 55%,var(--bg) 100%)!important}
.hero p{max-width:460px;margin:16px auto 26px;line-height:1.5}
.search input{font-size:1rem;transition:border-color .2s,box-shadow .2s}
.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 8px 28px rgba(0,0,0,.14),0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}

/* stats: roomier, bigger numbers */
.stats{margin-bottom:34px;gap:14px}
.stat{padding:16px 18px;box-shadow:var(--shadow)}
.stat b{font-size:1.45rem;letter-spacing:-.02em;margin-bottom:4px}
.stat span{font-size:.68rem;letter-spacing:1px}

/* layout rhythm */
main{gap:32px;padding-bottom:56px}
.tabs{gap:10px;margin-bottom:22px}
.tab{padding:9px 16px;transition:background .2s,color .2s,border-color .2s,transform .15s}
.tab:hover{background:var(--soft);transform:translateY(-1px)}
.tab[aria-selected=true]:hover{background:var(--btn)}

/* run cards: solid border, rounder, calmer type hierarchy */
#board .card{border:1px solid var(--line);border-radius:14px;padding:18px 20px;gap:24px;margin-bottom:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
#board .card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 12px 32px rgba(0,0,0,.28)}
.thumb{border-radius:10px;box-shadow:0 0 0 1px rgba(127,127,127,.15)}
.info h3{font-size:1.45rem;letter-spacing:-.02em;margin-bottom:6px}
.by{font-size:.95rem;font-weight:500;color:var(--mute)}
.by u{color:var(--head);font-weight:600;border-bottom:1px solid var(--line)}
.meta{margin-top:8px;gap:6px 12px;align-items:center}
.meta strong{font-size:1.02rem;font-weight:700;color:var(--head)}
.vbadge{padding:3px 10px}
:root[data-theme=dark] .vbadge{background:rgba(46,204,113,.14);color:#5ee398}
.acts button{border-radius:8px;transition:background .2s,color .2s,transform .15s}
.acts button:hover{background:var(--soft);transform:translateY(-1px)}
.empty{border:1px dashed var(--line);border-radius:14px;padding:48px 18px}

/* rules card: readable line-height, quieter numbers */
.card.col{padding:22px 24px;border-radius:14px}
.card h2{margin-bottom:14px}
.rules{font-size:.92rem}
.rules li{line-height:1.55;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.rules li:first-child{border-top:0;padding-top:0}
.rules li>span:first-child{color:var(--head);font-weight:600}

/* footer */
footer{max-width:1100px;margin:8px auto 0;border-top:1px solid var(--line);padding:26px 20px 48px;font-size:.82rem}

/* accessibility + mobile */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:560px){
  #board .card{padding:14px}
  .info h3{font-size:1.25rem}
  .stat b{font-size:1.2rem}
  .btn-sm,.icon-btn{min-height:40px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* POLISH-V2: one category-pill style site-wide + page consistency */
.tab,.pillbtn,.seg button{display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:38px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--mute);font:inherit;font-weight:600;font-size:.85rem;line-height:1;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s}
#ftabs .tab{padding:0 14px}
.tab[aria-selected=true],.pillbtn[aria-checked=true],.seg button[aria-checked=true],
.tab.standard-7-frame[aria-selected=true],.pillbtn.standard-7-frame[aria-checked=true],.seg button.standard-7-frame[aria-checked=true]{background:var(--btn)!important;color:var(--btn-text)!important;border-color:var(--btn)!important;font-weight:600!important}
.tab:not([aria-selected=true]):hover,.pillbtn:not([aria-checked=true]):hover,.seg button:not([aria-checked=true]):hover{background:var(--soft)!important;color:var(--head)!important}
.tab:active,.pillbtn:active,.seg button:active{transform:scale(.96)}

/* submit + timer: five equal pills on one row */
.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.cats .pillbtn{padding:0 4px}

/* bulletin picker: same pills instead of the segmented track */
.seg{display:flex;gap:8px;padding:3px;background:none;border-radius:14px}
.seg-ind{display:none!important}
.seg button{flex:1 1 0;min-width:0;padding:0}
.seg button b{font-size:inherit;margin-right:4px}
.seg button small{font-size:inherit;letter-spacing:0;text-transform:none;opacity:1}
.seg button.standard-7-frame::after{content:none!important}

@media(max-width:480px){.tab,.pillbtn,.seg button{font-size:.78rem}.cats,.seg{gap:6px}}
.card.col.sub-card,.card.col.tm-card{padding:26px}

/* updates page */
html main.updates-page{padding:44px 20px 100px}
main.updates-page .updates-header{width:min(760px,100%);margin:0 auto 40px;text-align:center}
main.updates-page .updates-header h1{font-size:clamp(2.2rem,7vw,4.4rem);font-weight:700}
main.updates-page .updates-header>p:last-child{margin:14px auto 0}
main.updates-page .updates-list{margin:0 auto}
.update-tag.is-new{color:#5ee398;border-color:rgba(46,204,113,.35);background:rgba(46,204,113,.1)}
:root[data-theme=light] .update-tag.is-new{color:#17653a}
.update-tag.is-imp{color:var(--head)}
@media(max-width:700px){html main.updates-page{padding:32px 0 72px}}

/* POLISH-V3: no glow, consistent inputs, admin tabs as pills */
:root[data-theme]{--shadow:none}
.pill,.search input,.sheet{box-shadow:none}
.hero h1{text-shadow:none}
.live-dot{animation:none}
.card:hover,#board .card:hover,.offer:hover{box-shadow:none}

/* one flat focus style: border changes, no ring, no glow */
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
.search input:focus,.inp:focus-within,.ta:focus-within{box-shadow:none;border-color:var(--accent)}

/* inputs share one radius; every search box is a pill */
input,select{border-radius:12px}
.step input:not([type=file]){border-radius:12px}
.dform input,.dform select{border-radius:12px}
.toolbar input[type=search]{border-radius:999px;padding:11px 18px;min-height:40px}

/* admin: same pills as the rest of the site, no track */
#ctabs,#atabs{gap:8px;padding:0;background:none;border:0;border-radius:0}
#ctabs .tab,#atabs .tab{background:var(--surface);border:1px solid var(--line);padding:0 14px}

/* POLISH-V4: button + pill consistency */
.btn-sm{border-radius:999px;padding:10px 18px;font-size:.85rem;line-height:1}

/* 7-frame pill: force it identical to its siblings */
.tab.standard-7-frame:not([aria-selected=true]),.pillbtn.standard-7-frame:not([aria-checked=true]),.seg button.standard-7-frame:not([aria-checked=true]){background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--mute)!important;font-weight:600!important;opacity:1!important}
.tab.standard-7-frame:not([aria-selected=true]):hover,.pillbtn.standard-7-frame:not([aria-checked=true]):hover,.seg button.standard-7-frame:not([aria-checked=true]):hover{background:var(--soft)!important;color:var(--head)!important}
.tab.standard-7-frame:not([aria-selected=true])::before,.pillbtn.standard-7-frame:not([aria-checked=true])::before,.seg button.standard-7-frame:not([aria-checked=true])::before{opacity:.8;font-size:.8em}
.seg button b{font-weight:700}

/* one corner radius per kind of thing */
.stat,.up-card,.scard{border-radius:14px}
.drop,.summary,.tbanner{border-radius:12px}
.drop{border-width:1.5px}

/* POLISH-V5: one look for every text field */
.card input:not([type=file]):not([type=search]):not(.hp),dialog input:not([type=file]),dialog select,.inp,.ta{background:var(--bg)}
.inp input,.ta textarea{background:none}
input::placeholder,textarea::placeholder{color:var(--mute);opacity:.65}
.dform label{font-size:.8rem;color:var(--head)}
