/* The Revenue Room: Price It Right — revopt.ai/play */
:root{
  --bg:#EFF3F5;--ink:#16213A;--body:#3D4C63;--mute:#6B7A90;--line:rgba(22,33,58,.14);
  --teal:#1A8FA0;--teal2:#2CBAC9;--lime:#6CC043;--lime-d:#4E9E30;--rose:#C23E57;--amber:#D99A2B;
  --card:#fff;--shadow:7px 7px 0 rgba(22,33,58,.09);
  --fd:'Nunito',system-ui,sans-serif;--fb:'Poppins',system-ui,sans-serif;--fm:'DM Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--body);font:400 15px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--teal)}a:hover{color:var(--ink)}
h1,h2,h3{color:var(--ink);font-family:var(--fd);margin:0}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none!important}
.muted{color:var(--mute);font-weight:400}
.small{font-size:13px;margin:2px 0 10px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:99px;z-index:99}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--teal2);outline-offset:2px;border-radius:6px}

/* nav */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:12px 16px;background:rgba(239,243,245,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font:900 20px var(--fd);letter-spacing:-.5px;color:var(--ink)}
.brand i{font-style:normal;color:var(--teal2)}
.top-tag{display:inline-flex;align-items:center;gap:8px;font:500 11px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.top-cta{margin-left:auto;font:500 12px var(--fm);letter-spacing:.06em;text-decoration:none;white-space:nowrap}
a.top-tag{text-decoration:none}a.top-tag:hover{color:var(--teal)}
.tt-short{display:none}
@media (max-width:420px){.top-tag .live-dot,.tt-full{display:none}.tt-short{display:inline}}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);animation:pulse 2s infinite;display:inline-block;flex:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(108,192,67,.55)}70%{box-shadow:0 0 0 8px rgba(108,192,67,0)}100%{box-shadow:0 0 0 0 rgba(108,192,67,0)}}

main{max-width:600px;margin:0 auto;padding:22px 16px 40px}
.card{background:var(--card);border:1.5px solid var(--ink);box-shadow:var(--shadow);border-radius:14px;padding:20px;margin-bottom:18px}
.card h3{font:800 18px var(--fd)}
.lbl{display:block;font:500 10.5px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.kicker{display:inline-flex;align-items:center;gap:8px;font:500 11px var(--fm);letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 8px}
.num{font-family:var(--fm);font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}
.fine{font:400 11.5px var(--fm);color:var(--mute);margin:10px 0 0;text-align:center}
.hint{font-size:13px;color:var(--mute);margin:10px 0 0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--ink);border-radius:999px;padding:11px 20px;font:700 15px var(--fd);text-decoration:none;color:var(--ink);background:#fff;box-shadow:3px 3px 0 var(--ink);transition:transform .12s var(--ease),box-shadow .12s var(--ease)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink);color:var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn:disabled{opacity:.55;cursor:default;transform:none}
.btn.lime{background:var(--lime)}
.btn.navy{background:var(--ink);color:#fff}.btn.navy:hover{color:#fff}
.btn.ghost{background:transparent}
.btn.big{width:100%;padding:15px 22px;font-size:18px}
.linkish{background:none;border:0;color:var(--mute);text-decoration:underline;font-size:13px}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* intro */
.intro{text-align:center}
.intro h1{font:900 clamp(44px,13vw,72px)/1 var(--fd);letter-spacing:-1.5px;margin:4px 0 12px}
.hl{color:var(--lime-d);position:relative}
.lede{font-size:17px;max-width:30em;margin:0 auto 20px;color:var(--body)}
.lede b{color:var(--ink)}
.steps{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:left}
.steps li{background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;font-size:12.5px;line-height:1.4}
.steps b{color:var(--ink);font:800 15px var(--fd)}
.st-i{font-size:22px}
@media (max-width:520px){.steps{grid-template-columns:1fr}.steps li{display:grid;grid-template-columns:34px 1fr;column-gap:8px}.steps li .st-i{grid-row:span 2;align-self:center}}
.pick{text-align:left;margin-bottom:16px}
.mkt-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.mkt{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:7px 13px;font:500 13.5px var(--fb);color:var(--ink);transition:all .12s}
.mkt:hover{border-color:var(--ink)}
.mkt[aria-checked="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.challenge{background:#FFF7E3;border:1.5px solid var(--amber);border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:14px;text-align:left}

/* game */
.hud{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.hud-n{font:500 12px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.dots{flex:1;display:flex;gap:4px}
.dots i{flex:1;height:7px;border-radius:9px;background:rgba(22,33,58,.12);transition:background .3s}
.dots i.now{background:var(--teal2)}.dots i.good{background:var(--lime)}.dots i.ok{background:var(--amber)}.dots i.bad{background:var(--rose)}
.hud-s{font:500 12px var(--fm);color:var(--mute);white-space:nowrap;display:flex;gap:8px;align-items:center}
.hud-s .num{font-size:17px}
.streak{color:var(--rose);font:700 13px var(--fm)}
.streak.pop{animation:pop .45s var(--ease)}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}

.night{padding:22px}
.night.in{animation:deal .35s var(--ease)}
@keyframes deal{from{opacity:0;transform:translateY(14px) rotate(-.6deg)}to{opacity:1;transform:none}}
.nt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.nt-unit{margin:0;font:500 12px var(--fm);color:var(--mute);letter-spacing:.04em}
.nt-date{font:900 26px/1.15 var(--fd);margin-top:2px}
.nt-city{font:500 11px var(--fm);letter-spacing:.12em;text-transform:uppercase;background:var(--bg);border-radius:99px;padding:5px 10px;white-space:nowrap}
.tags{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:8px}
.tags li{display:flex;gap:10px;align-items:center;background:#F4F8FA;border-radius:10px;padding:9px 12px;font:600 15px var(--fb);color:var(--ink)}
.tags li span{font-size:20px;width:24px;text-align:center}
.typical{margin:0 0 4px;font-size:14px;color:var(--body)}
.typical b{font-size:15px}

.ask{border-top:1.5px dashed var(--line);margin-top:14px;padding-top:16px;text-align:center}
.price-row{display:flex;align-items:center;justify-content:center;gap:16px;margin:4px 0 0}
.price{font-size:clamp(38px,11vw,52px);line-height:1.1;min-width:5ch}
.nudge{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--ink);background:#fff;font:700 24px/1 var(--fd);box-shadow:2px 2px 0 var(--ink)}
.nudge:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.vs{margin:0 0 10px;font:500 13px var(--fm);color:var(--mute)}
.vs.up{color:var(--lime-d)}.vs.down{color:var(--rose)}
input[type=range]{--fill:50%;-webkit-appearance:none;appearance:none;width:100%;height:14px;border-radius:99px;background:linear-gradient(90deg,var(--teal2) var(--fill),rgba(22,33,58,.12) var(--fill));border:1.5px solid var(--ink);margin:6px 0 0;touch-action:pan-y}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:50%;background:var(--lime);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:grab}
input[type=range]::-moz-range-thumb{width:32px;height:32px;border-radius:50%;background:var(--lime);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:grab}
.rng-l{display:flex;justify-content:space-between;font:400 11px var(--fm);color:var(--mute);margin:6px 0 16px}

.reveal{border-top:1.5px dashed var(--line);margin-top:14px;padding-top:16px;animation:deal .3s var(--ease)}
.verdict{margin:0 0 14px;font:900 21px/1.3 var(--fd);color:var(--ink)}
.verdict span{display:block;font:500 14px var(--fb);color:var(--body);margin-top:2px}
.verdict.bad{color:var(--rose)}.verdict.great{color:var(--lime-d)}
.scale{position:relative;margin:6px 4px 30px}
.sc-track{position:relative;height:16px;border-radius:99px;background:rgba(22,33,58,.08)}
.sc-track i{position:absolute;top:0;bottom:0;display:block}
.sc-zone{background:rgba(108,192,67,.55);border-radius:4px}
.sc-over{right:0;background:repeating-linear-gradient(45deg,rgba(194,62,87,.22) 0 6px,rgba(194,62,87,.08) 6px 12px);border-radius:0 99px 99px 0}
.sc-typ{width:2px;margin-left:-1px;background:var(--mute);top:-4px!important;bottom:-4px!important}
.sc-guest{width:3px;margin-left:-1.5px;background:var(--lime-d);top:-6px!important;bottom:-6px!important}
.sc-you{width:22px;height:22px;margin-left:-11px;top:-3px!important;bottom:auto!important;border-radius:50%;border:2px solid var(--ink);background:var(--lime);transition:left .7s var(--ease);box-shadow:2px 2px 0 var(--ink)}
.sc-you.out{background:var(--rose)}
.sc-labels{position:relative;height:30px;margin-top:8px;font:500 10.5px var(--fm);color:var(--mute)}
.sc-labels span{position:absolute;transform:translateX(-50%);white-space:nowrap}
#sl-guest{color:var(--lime-d);top:14px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.facts div{background:#F4F8FA;border-radius:10px;padding:8px 10px}
.facts dt{font:500 10px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);line-height:1.3}
.facts dd{margin:3px 0 0;font-size:16px}
.lesson{margin:0 0 16px;font-size:14px;background:#EEF8F9;border-left:3px solid var(--teal);padding:10px 12px;border-radius:0 8px 8px 0;color:var(--ink)}
.pts-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pts{font-size:30px;color:var(--lime-d)}
.quit{text-align:center;margin:4px 0 0}

/* report */
.rep-top{display:flex;gap:18px;align-items:center}
.rep-top h2{font:900 26px/1.15 var(--fd)}
.grade{flex:none;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font:900 36px var(--fd);color:var(--ink);background:var(--lime);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.grade.g-b{background:var(--teal2)}.grade.g-c{background:var(--amber)}.grade.g-d{background:#F2A7B5}
.r-score{margin:6px 0 0;font-size:14px}
.r-score b{font-size:22px}
.bars{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.bar{display:grid;grid-template-columns:1fr 46px;grid-template-areas:"l n" "t t";gap:4px 8px;align-items:center}
.b-l{grid-area:l;font:600 13.5px var(--fb);color:var(--ink)}
.bar b{grid-area:n;text-align:right;font-size:16px}
.b-t{grid-area:t;height:14px;border-radius:99px;background:rgba(22,33,58,.08);overflow:hidden}
.b-t i{display:block;height:100%;width:var(--w);border-radius:99px;background:var(--mute);animation:grow .9s var(--ease)}
.bar.you .b-t i{background:var(--lime)}.bar.rm .b-t i{background:var(--teal)}
@keyframes grow{from{width:0}}
.miss{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:12px}
.miss li{border-left:4px solid var(--rose);background:#FBF0F2;border-radius:0 10px 10px 0;padding:10px 14px}
.miss li.clean{border-color:var(--lime);background:#F0F8EB}
.m-h{display:flex;justify-content:space-between;gap:10px;color:var(--ink)}
.m-c{color:var(--rose);white-space:nowrap}
.miss p{margin:4px 0 0;font-size:13.5px}
.m-f{color:var(--ink)}
.recap{list-style:none;padding:0;margin:10px 0 0}
.recap li{display:grid;grid-template-columns:28px 1fr auto 40px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink)}
.recap li:last-child{border-bottom:0}
.recap small{display:block;font:400 11px var(--fm);color:var(--mute)}
.rc-i{font-size:18px;text-align:center}
.rc-n{text-align:right;font-size:13px}
.rc-p{text-align:right;font-size:15px}
.recap li.good .rc-p{color:var(--lime-d)}.recap li.ok .rc-p{color:var(--amber)}.recap li.bad .rc-p{color:var(--rose)}
.lead .f{display:block;margin:10px 0}
.lead .f span{display:block;font:500 12px var(--fb);color:var(--ink);margin-bottom:4px}
.lead input[type=email],.lead input[type=text],.lead select{width:100%;font:400 15px var(--fb);padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.lead input:focus,.lead select:focus{border-color:var(--teal)}
.lead input[aria-invalid=true]{border-color:var(--rose)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:12px 0}
.chk input{margin-top:3px;accent-color:var(--lime-d);width:17px;height:17px;flex:none}
.lead .btn{width:100%}
.form-msg{font-size:13.5px;margin:10px 0 0}
.form-msg.ok{color:var(--lime-d)}.form-msg.err{color:var(--rose)}
.pitch{background:var(--ink);color:#C9D3E0}
.pitch h3{color:#fff}.pitch b{color:#fff}.pitch .kicker{color:var(--teal2)}
.pitch .btn.navy{background:#fff;color:var(--ink)}

/* explainer + footer */
.explain{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:14.5px}
.explain h2{font:800 22px var(--fd);margin-bottom:8px}
.explain h3{font:800 16px var(--fd);margin:16px 0 4px}
.explain ul{padding-left:20px}
.foot{text-align:center;font:400 12px var(--fm);color:var(--mute);padding:24px 16px 40px}
.foot a{color:var(--mute)}
.nojs{text-align:center;padding:20px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.small-note{font-size:13px;background:#EEF8F9;border-left:3px solid var(--teal);padding:9px 12px;border-radius:0 8px 8px 0;margin:10px 0;color:var(--ink)}
