/* ===========================================================
   OOCV — 125단계로 배우는 사진 컬러보정 · 랜딩
   모노크롬 · 애플 미니멀 · SUIT
   색은 오직 브랜드 디스크 + 앱 스크린샷에만 존재한다.
   =========================================================== */

@font-face { font-family:"SUIT"; src:url("/fonts/SUIT-Regular.otf")  format("opentype"); font-weight:400; font-display:swap; }
@font-face { font-family:"SUIT"; src:url("/fonts/SUIT-Medium.otf")   format("opentype"); font-weight:500; font-display:swap; }
@font-face { font-family:"SUIT"; src:url("/fonts/SUIT-SemiBold.otf") format("opentype"); font-weight:600; font-display:swap; }
@font-face { font-family:"SUIT"; src:url("/fonts/SUIT-Bold.otf")     format("opentype"); font-weight:700; font-display:swap; }
@font-face { font-family:"SUIT"; src:url("/fonts/SUIT-ExtraBold.otf")format("opentype"); font-weight:800; font-display:swap; }

:root{
  --bg:#08080a;
  --bg-2:#0e0e10;
  --surface:#141416;
  --line:rgba(255,255,255,.07);
  --line-2:rgba(255,255,255,.12);
  --text:#f5f5f7;          /* Apple 라이크 오프화이트 */
  --text-2:#a1a1a6;        /* Apple 시스템 그레이 */
  --text-3:#6e6e73;

  --warm-1:#ffb378; --warm-2:#e3675f;
  --cool-1:#96c5ff; --cool-2:#5a78c8;
  --warm:linear-gradient(150deg,var(--warm-1),var(--warm-2));
  --cool:linear-gradient(150deg,var(--cool-1),var(--cool-2));

  --maxw:1040px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg);color:var(--text);
  font-family:"SUIT",-apple-system,BlinkMacSystemFont,"SF Pro KR",sans-serif;
  font-weight:400;line-height:1.47;letter-spacing:-.011em;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  word-break:keep-all;        /* 한국어: 어절(공백) 단위로만 줄바꿈 — 단어 중간 끊김 방지 */
  text-wrap:pretty;           /* 마지막 줄 외톨이 단어 완화 */
}
/* 제목·리드는 줄 길이를 고르게 분배 */
h1.title, h2.sec, h1, .manifesto h2, .hero .lede, .buybox h1, .buybox .tagline,
.section h2, .section .sub, .sec-lede, .price-box h2{ text-wrap:balance; }
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(22px,5vw,40px);}

/* ---------- 스플릿톤 디스크 마크 (유일한 색) ---------- */
.disc{position:relative;display:inline-block;width:calc(var(--d)*1.6);height:var(--d);}
.disc>i{position:absolute;top:0;width:var(--d);height:var(--d);border-radius:50%;mix-blend-mode:screen;}
.disc .warm{left:0;background:var(--warm);}
.disc .cool{right:0;background:var(--cool);}
.brand{display:inline-flex;align-items:center;gap:.5em;font-weight:700;letter-spacing:-.03em;}
.brand .disc{--d:.95em;}
.brand .cv{font-size:1.12em;}

/* ---------- 네비 ---------- */
header.nav{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(160%) blur(18px);
  background:color-mix(in oklab,var(--bg) 70%,transparent);
  border-bottom:1px solid transparent;transition:border-color .5s var(--ease);
}
header.nav.scrolled{border-bottom-color:var(--line);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:54px;}
.nav .brand{font-size:18px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:600;font-size:14px;letter-spacing:-.01em;
  padding:.62em 1.15em;border-radius:980px;border:1px solid transparent;
  color:var(--text);transition:transform .35s var(--ease),background .35s var(--ease),opacity .35s var(--ease);
}
.btn.solid{background:var(--text);color:#000;font-weight:600;}
.btn.solid:hover{opacity:.86;}
.btn.ghost{border-color:var(--line-2);}
.btn.ghost:hover{border-color:var(--text-2);}
.btn svg{width:1.02em;height:1.02em;margin-top:-.08em;}
.btn.lg{font-size:15px;padding:.78em 1.5em;}

/* 텍스트 링크(애플 블루 대신 모노) */
.tlink{font-size:15px;font-weight:500;color:var(--text-2);display:inline-flex;align-items:center;gap:.3em;}
.tlink:hover{color:var(--text);}
.tlink svg{width:14px;height:14px;transition:transform .35s var(--ease);}
.tlink:hover svg{transform:translateX(3px);}

/* ---------- 히어로 (중앙 정렬, 애플식) ---------- */
.hero{padding-top:clamp(56px,9vw,104px);text-align:center;}
.hero .eyebrow{
  display:inline-block;font-size:13px;font-weight:600;letter-spacing:.02em;
  color:var(--text-2);margin-bottom:20px;
}
h1.title{
  font-size:clamp(38px,6.6vw,72px);font-weight:700;line-height:1.06;
  letter-spacing:-.035em;margin-bottom:22px;
}
.hero .lede{
  font-size:clamp(17px,1.9vw,21px);line-height:1.5;color:var(--text-2);
  font-weight:400;max-width:30ch;margin:0 auto 30px;
}
.hero .price{font-size:15px;color:var(--text-2);font-weight:500;margin-bottom:26px;}
.hero .price b{color:var(--text);font-weight:700;}
.cta-row{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;}
.hero-note{margin-top:30px;font-size:12.5px;color:var(--text-3);display:flex;gap:1.4em;justify-content:center;flex-wrap:wrap;}
.hero-note span{display:inline-flex;align-items:center;gap:.45em;}
.hero-note span::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--text-3);}

/* 디바이스 */
.device{
  --w:clamp(260px,33vw,344px);
  width:var(--w);margin:clamp(44px,6vw,72px) auto 0;
  aspect-ratio:1170/2532;border-radius:calc(var(--w)*.138);
  padding:calc(var(--w)*.022);
  background:linear-gradient(155deg,#3a3a3e,#161618 42%,#0c0c0e);
  box-shadow:0 0 0 1px rgba(255,255,255,.05),0 50px 90px -34px rgba(0,0,0,.95);
  position:relative;
}
.device>img,.device>video{display:block;width:100%;height:100%;object-fit:cover;border-radius:calc(var(--w)*.116);}
.device::after{
  content:"";position:absolute;top:calc(var(--w)*.04);left:50%;transform:translateX(-50%);
  width:31%;height:calc(var(--w)*.032);background:#000;border-radius:999px;
}

/* ---------- 섹션 ---------- */
.band{padding-block:clamp(80px,12vw,148px);}
.center{text-align:center;}
.kicker{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-bottom:16px;}
h2.sec{font-size:clamp(28px,4.2vw,46px);font-weight:700;line-height:1.1;letter-spacing:-.03em;}
h2.sec .muted{color:var(--text-3);}
.sec-lede{margin-top:18px;color:var(--text-2);font-size:clamp(16px,1.4vw,18px);max-width:42ch;font-weight:400;}
.center .sec-lede{margin-inline:auto;}

/* 매니페스토 */
.manifesto{border-top:1px solid var(--line);}
.manifesto h2{
  font-size:clamp(24px,3.6vw,42px);font-weight:600;line-height:1.32;letter-spacing:-.022em;
  max-width:24ch;margin-inline:auto;text-align:center;
}
.manifesto h2 b{font-weight:700;}
.manifesto h2 .fade{color:var(--text-3);}

/* ---------- 기능: 미디어+카피 교차(테두리 절제) ---------- */
.rows{display:flex;flex-direction:column;gap:clamp(80px,10vw,128px);margin-top:clamp(56px,7vw,96px);}
.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center;}
.row.flip .media{order:2;}
.row .copy .n{font-size:13px;font-weight:600;color:var(--text-3);letter-spacing:.02em;margin-bottom:14px;}
.row .copy h3{font-size:clamp(23px,2.6vw,32px);font-weight:700;letter-spacing:-.028em;line-height:1.14;margin-bottom:14px;}
.row .copy p{color:var(--text-2);font-size:clamp(15px,1.5vw,17px);line-height:1.56;max-width:34ch;}

.media{position:relative;}
.media.frame{
  border-radius:24px;overflow:hidden;border:1px solid var(--line);
  background:var(--bg-2);aspect-ratio:4/3;display:grid;place-items:center;
}
/* 비교(목표 vs 내 결과) */
.compare{display:flex;gap:16px;justify-content:center;padding:clamp(26px,3vw,40px);}
.compare figure{width:40%;max-width:172px;}
.compare .shot{border-radius:16px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:1170/2532;}
.compare .shot img{width:100%;height:100%;object-fit:cover;}
.compare figcaption{margin-top:10px;text-align:center;font-size:13px;color:var(--text-3);font-weight:500;}

/* 힌트 칩(색 절제: 텍스트만 톤) */
.hint-list{display:flex;flex-direction:column;gap:10px;margin-top:24px;max-width:340px;}
.hint{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--text);}
.hint .dot{width:8px;height:8px;border-radius:50%;flex:none;}
.hint .dot.warm{background:var(--warm-1);}
.hint .dot.cool{background:var(--cool-1);}
.hint .v{margin-left:auto;color:var(--text-2);font-variant-numeric:tabular-nums;font-weight:600;}

/* ---------- 커리큘럼 ---------- */
.curric{border-top:1px solid var(--line);}
.bands{margin-top:clamp(44px,5vw,64px);}
.brow{
  display:grid;grid-template-columns:140px 84px 1fr;gap:clamp(14px,2vw,36px);
  align-items:baseline;padding:clamp(20px,2.4vw,28px) 0;border-top:1px solid var(--line);
}
.brow:last-child{border-bottom:1px solid var(--line);}
.brow .lv{font-size:clamp(20px,2.2vw,26px);font-weight:700;letter-spacing:-.03em;}
.brow .rng{color:var(--text-3);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;}
.brow .mods{color:var(--text-2);font-size:clamp(15px,1.4vw,17px);font-weight:400;}
.brow .mods b{color:var(--text);font-weight:600;}

/* ---------- 가격 ---------- */
.pricing{border-top:1px solid var(--line);}
.price-box{text-align:center;max-width:560px;margin-inline:auto;}
.price-box .amt{display:inline-flex;align-items:baseline;gap:.18em;margin:8px 0 6px;}
.price-box .amt .w{font-size:clamp(46px,7vw,72px);font-weight:700;letter-spacing:-.04em;}
.price-box .amt .once{font-size:15px;color:var(--text-2);font-weight:500;}
.price-box .feat{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:22px 0 30px;}
.price-box .feat li{list-style:none;font-size:13.5px;color:var(--text-2);font-weight:500;padding:.42em .85em;border:1px solid var(--line);border-radius:999px;}

/* ---------- 푸터 ---------- */
footer{border-top:1px solid var(--line);padding-block:44px;}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;}
footer .brand{font-size:18px;}
footer .meta{color:var(--text-3);font-size:12.5px;}
footer .legal{display:flex;gap:22px;font-size:13px;color:var(--text-2);}
footer .legal a:hover{color:var(--text);}

/* ---------- 리빌 ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.07s;}.reveal.d2{transition-delay:.14s;}.reveal.d3{transition-delay:.21s;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

/* ---------- 반응형 ---------- */
@media (max-width:860px){
  .row{grid-template-columns:1fr;gap:28px;}
  .row.flip .media{order:0;}
  .media.frame{aspect-ratio:16/10;}
}
@media (max-width:520px){
  .nav .wrap{height:50px;}
  .brow{grid-template-columns:1fr auto;}
  .brow .mods{grid-column:1/-1;}
  .hint-list{max-width:none;}
}

/* ===========================================================
   법무·지원 문서 페이지
   =========================================================== */
.doc{max-width:760px;margin-inline:auto;padding-block:clamp(56px,8vw,96px);}
.doc .back{font-size:14px;color:var(--text-2);font-weight:500;display:inline-flex;align-items:center;gap:.4em;margin-bottom:34px;}
.doc .back:hover{color:var(--text);}
.doc h1{font-size:clamp(30px,4.4vw,44px);font-weight:700;letter-spacing:-.035em;line-height:1.1;}
.doc .updated{margin-top:14px;color:var(--text-3);font-size:13.5px;font-weight:500;}
.doc .lead{margin-top:24px;font-size:clamp(16px,1.6vw,18.5px);color:var(--text-2);line-height:1.6;}
.doc h2{font-size:clamp(19px,2vw,23px);font-weight:700;letter-spacing:-.02em;margin:clamp(40px,5vw,56px) 0 14px;padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--line);}
.doc h2:first-of-type{border-top:0;}
.doc h3{font-size:16.5px;font-weight:600;margin:24px 0 8px;}
.doc p{color:var(--text-2);font-size:16px;line-height:1.68;margin-bottom:12px;}
.doc ul{list-style:none;margin:6px 0 14px;display:flex;flex-direction:column;gap:9px;}
.doc li{color:var(--text-2);font-size:16px;line-height:1.6;padding-left:20px;position:relative;}
.doc li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--text-3);}
.doc a.inline{color:var(--text);border-bottom:1px solid var(--line-2);}
.doc a.inline:hover{border-color:var(--text);}
.doc .mail{display:inline-flex;align-items:center;gap:.5em;margin-top:6px;font-weight:600;color:var(--text);font-size:17px;}
.doc strong{color:var(--text);font-weight:600;}
.doc .note{margin-top:40px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--bg-2);font-size:14.5px;color:var(--text-2);}

/* ===========================================================
   전자책 섹션
   =========================================================== */
.ebook{ border-top:1px solid var(--line); }
.ebook-card{ display:grid; grid-template-columns:300px 1fr; gap:clamp(32px,5vw,64px); align-items:center; }
.ebook-cover{ position:relative; }
.ebook-cover img{ width:100%; border-radius:14px; border:1px solid var(--line);
  box-shadow:0 40px 80px -36px rgba(0,0,0,.9); }
.ebook-body .ebook-badge{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.04em;
  color:var(--text-2); border:1px solid var(--line-2); border-radius:999px; padding:5px 12px; margin-bottom:18px; }
.ebook-body .kicker{ margin-bottom:10px; }
.ebook-body h2.sec{ margin-bottom:0; }
.ebook-spec{ list-style:none; display:flex; flex-wrap:wrap; gap:10px 22px; margin:22px 0 24px; }
.ebook-spec li{ font-size:14.5px; color:var(--text-2); font-weight:500; }
.ebook-spec li b{ color:var(--text); font-weight:700; }
.ebook-buy{ display:flex; align-items:baseline; gap:14px; margin-bottom:22px; }
.ebook-price{ font-size:30px; font-weight:800; letter-spacing:-.03em; }
.ebook-soon{ font-size:13.5px; color:var(--text-3); font-weight:500; }

.notify{ border-top:1px solid var(--line); padding-top:22px; max-width:460px; }
.notify-label{ display:block; font-size:14px; color:var(--text-2); font-weight:500; margin-bottom:10px; }
.notify-row{ display:flex; gap:10px; }
.notify-row input{ flex:1; min-width:0; background:var(--surface); border:1px solid var(--line-2);
  border-radius:999px; padding:.72em 1.15em; color:var(--text); font:inherit; font-size:15px; outline:none;
  transition:border-color .3s var(--ease); }
.notify-row input::placeholder{ color:var(--text-3); }
.notify-row input:focus{ border-color:var(--text-2); }
.notify-row .btn{ white-space:nowrap; }
.notify-status{ font-size:13px; margin-top:10px; min-height:1em; color:var(--text-3); }
.notify-status.ok{ color:var(--cool); }
.notify-status.err{ color:#e3675f; }

@media (max-width:780px){
  .ebook-card{ grid-template-columns:1fr; gap:28px; }
  .ebook-cover{ max-width:240px; }
  .notify-row{ flex-direction:column; }
  .notify-row .btn{ width:100%; }
}

/* ===========================================================
   네비 링크 + 전자책 카드 표지 보정
   =========================================================== */
.navlinks{ display:flex; align-items:center; gap:clamp(16px,2vw,26px); }
.navlinks > a:not(.btn){ font-size:14px; font-weight:600; color:var(--text-2); letter-spacing:-.01em; transition:color .3s var(--ease); }
.navlinks > a:not(.btn):hover{ color:var(--text); }

.ebook-cover{ display:block; }
.ebook-cover img{ width:100%; height:auto; aspect-ratio:900/1273; object-fit:cover;
  border-radius:12px; border:1px solid var(--line-2);
  box-shadow:0 36px 70px -34px rgba(0,0,0,.9); transition:transform .4s var(--ease); }
.ebook-cover:hover img{ transform:translateY(-4px); }

@media (max-width:620px){ .navlinks > a:not(.btn){ display:none; } }

/* ===========================================================
   전자책 상세페이지 (/ebook) — 쇼핑몰형 상품 상세
   =========================================================== */
.crumb{ padding-top:clamp(24px,4vw,40px); font-size:13px; color:var(--text-3); }
.crumb a:hover{ color:var(--text-2); }
.crumb span{ color:var(--text-2); }

.product{ display:grid; grid-template-columns:minmax(0,420px) 1fr; gap:clamp(32px,5vw,72px);
  padding-top:clamp(24px,3vw,40px); padding-bottom:clamp(56px,7vw,90px); align-items:start; }
.product .pcover{ position:sticky; top:84px; align-self:start; }
.product .pcover img{ width:100%; height:auto; aspect-ratio:900/1273; object-fit:cover; border-radius:14px; border:1px solid var(--line-2);
  box-shadow:0 50px 90px -40px rgba(0,0,0,.92); }
.product .pcover .thumbs{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }
.product .pcover .thumbs img{ width:100%; height:auto; aspect-ratio:3/4; object-fit:cover;
  border-radius:6px; border:1px solid var(--line); box-shadow:none; cursor:pointer; opacity:.65; transition:opacity .3s var(--ease); }
.product .pcover .thumbs img:hover{ opacity:1; }

.buybox .badge{ display:inline-block; font-size:12px; font-weight:700; color:var(--text-2);
  border:1px solid var(--line-2); border-radius:999px; padding:5px 12px; margin-bottom:16px; }
.buybox h1{ font-size:clamp(30px,4.4vw,46px); font-weight:800; letter-spacing:-.035em; line-height:1.08; }
.buybox .tagline{ color:var(--text-2); font-size:clamp(15px,1.5vw,17px); margin-top:14px; line-height:1.6; max-width:48ch; }
.buybox .price-line{ display:flex; align-items:baseline; gap:14px; margin:26px 0 8px; }
.buybox .price-line .w{ font-size:clamp(34px,5vw,48px); font-weight:800; letter-spacing:-.04em; }
.buybox .price-line .soon{ font-size:14px; color:var(--text-3); font-weight:600; }
.buybox .specrow{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 24px; }
.buybox .specrow li{ list-style:none; font-size:13px; color:var(--text-2); font-weight:500;
  border:1px solid var(--line); border-radius:999px; padding:6px 13px; }
.buybox .notify{ border-top:1px solid var(--line); padding-top:22px; margin-top:4px; max-width:none; }
.buybox .soldout-note{ font-size:13px; color:var(--text-3); margin-top:14px; line-height:1.6; }

.section{ border-top:1px solid var(--line); padding-block:clamp(48px,6vw,80px); }
.section h2{ font-size:clamp(24px,3.2vw,36px); font-weight:800; letter-spacing:-.03em; margin-bottom:8px; }
.section .sub{ color:var(--text-2); font-size:clamp(15px,1.4vw,17px); max-width:54ch; margin-bottom:30px; line-height:1.6; }
.section p{ color:var(--text-2); font-size:16px; line-height:1.7; max-width:64ch; margin-bottom:12px; }
.section p b{ color:var(--text); font-weight:600; }

.audience{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.audience .a{ border:1px solid var(--line); border-radius:16px; padding:22px; }
.audience .a h3{ font-size:16px; font-weight:700; margin-bottom:8px; }
.audience .a p{ font-size:14px; margin:0; color:var(--text-2); }

.compose{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px 26px; margin-top:8px; }
.compose .c{ padding:16px 0; border-top:1px solid var(--line); }
.compose .c .n{ font-size:12px; font-weight:700; color:var(--text-3); }
.compose .c h3{ font-size:16px; font-weight:700; margin:6px 0 6px; }
.compose .c p{ font-size:14px; color:var(--text-2); margin:0; }

/* 미리보기 갤러리 */
.preview-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.preview-grid figure{ margin:0; }
.preview-grid img{ width:100%; border-radius:8px; border:1px solid var(--line-2);
  box-shadow:0 20px 40px -26px rgba(0,0,0,.85); cursor:zoom-in; transition:transform .35s var(--ease); }
.preview-grid img:hover{ transform:translateY(-3px); }
.preview-grid figcaption{ font-size:12px; color:var(--text-3); margin-top:8px; text-align:center; }

/* 라이트박스 */
.lightbox{ position:fixed; inset:0; z-index:100; background:rgba(4,4,6,.92); display:none;
  align-items:center; justify-content:center; padding:4vh 4vw; backdrop-filter:blur(6px); cursor:zoom-out; }
.lightbox.on{ display:flex; }
.lightbox img{ max-width:100%; max-height:92vh; border-radius:8px; border:1px solid var(--line-2); }

.faq dt{ font-weight:700; font-size:16px; margin-top:20px; }
.faq dd{ color:var(--text-2); font-size:15px; margin:6px 0 0; line-height:1.65; max-width:64ch; }

@media (max-width:880px){
  .product{ grid-template-columns:1fr; }
  .product .pcover{ position:static; max-width:320px; }
  .audience,.compose{ grid-template-columns:1fr; }
  .preview-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ---------- 인터랙티브 워크스루 · 화이트밸런스 1단계 ---------- */
.try .try-lede{font-size:clamp(15px,2vw,18px);color:var(--text-2);line-height:1.65;margin-top:18px;max-width:640px;margin-inline:auto;}
.wb{
  max-width:600px;margin:clamp(34px,5vw,54px) auto 0;
  background:var(--surface);border:1px solid var(--line);
  border-radius:30px;padding:clamp(18px,3vw,26px);
  box-shadow:0 40px 80px -42px rgba(0,0,0,.85);
  transition:box-shadow .55s var(--ease);
}
.wb--win{box-shadow:0 0 0 1px rgba(255,179,120,.45),0 0 60px -14px rgba(127,176,255,.5),0 40px 80px -42px rgba(0,0,0,.85);}
.wb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.wb-badge{display:inline-flex;align-items:center;gap:.55em;font-size:13px;font-weight:600;color:var(--text-2);}
.wb-badge .disc{--d:.9em;}
.wb-title{font-size:13px;font-weight:600;color:var(--text-3);font-variant-numeric:tabular-nums;}
.wb-stage{position:relative;border-radius:20px;overflow:hidden;background:#000;}
.wb-canvas{display:block;width:100%;height:auto;}
.wb-compare{
  position:absolute;left:12px;bottom:12px;z-index:2;
  font-size:13px;font-weight:600;color:#fff;
  background:rgba(10,10,12,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);border-radius:999px;
  padding:.5em 1em;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;
  transition:background .2s var(--ease);
}
.wb-compare:active{background:rgba(255,255,255,.18);}
.wb-hud{
  position:absolute;right:12px;top:12px;width:86px;height:86px;z-index:2;
  display:grid;place-items:center;
  background:rgba(8,8,10,.46);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:50%;
}
.wb-ring{position:absolute;inset:0;width:100%;height:100%;}
#wbArc{transition:stroke-dashoffset .2s var(--ease);}
.wb-score{display:flex;flex-direction:column;align-items:center;line-height:1;}
.wb-score b{font-size:27px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;}
.wb-score span{font-size:9px;letter-spacing:.06em;color:var(--text-3);margin-top:3px;}
.wb-controls{margin-top:22px;}
.wb-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px;}
.wb-lab{font-size:15px;font-weight:600;color:var(--text);}
.wb-val{font-size:15px;font-weight:600;color:var(--text-2);font-variant-numeric:tabular-nums;}
.wb-slider{
  -webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;margin:0;
  background:linear-gradient(90deg,#6f9bff 0%,#3a3a3e 50%,#ffb378 100%);outline:none;cursor:pointer;
}
.wb-slider::-webkit-slider-thumb{-webkit-appearance:none;width:27px;height:27px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 9px rgba(0,0,0,.55);cursor:pointer;}
.wb-slider::-moz-range-thumb{width:27px;height:27px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 9px rgba(0,0,0,.55);cursor:pointer;}
.wb-slider:focus-visible{outline:2px solid var(--text-2);outline-offset:4px;}
.wb-ends{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--text-3);}
.wb-hint{margin-top:17px;font-size:15px;color:var(--text-2);min-height:1.4em;text-align:center;line-height:1.5;transition:color .3s;}
.wb-hint b{color:var(--text);font-weight:700;}
.wb--win .wb-hint b{background:linear-gradient(90deg,var(--warm-1),var(--cool-1));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.wb-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;}
.wb-actions .btn.solid{padding:.7em 1.7em;}
.wb-actions .btn.solid:disabled{opacity:.45;cursor:default;}
.wb-cta{display:block;width:max-content;max-width:100%;margin:18px auto 2px;text-align:center;}
.wb-cta[hidden]{display:none;}
@media (max-width:480px){
  .wb-hud{width:72px;height:72px;}
  .wb-score b{font-size:22px;}
  .wb-actions{gap:14px;}
}
