/* Viewer Link website — home, information pages, plans and the game library. Tokens live in style.css. */
.public-main,.marketing-main{max-width:var(--page);margin:0 auto;padding:28px var(--gutter) 20px}
#main>.marketing-main{padding-left:0;padding-right:0}
.public-page #main{padding:28px var(--gutter) 20px}

/* Home */
.home-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,64px);align-items:center;padding:clamp(24px,5vw,56px) 0 clamp(28px,4vw,48px)}
.home-copy h1{font-size:clamp(36px,5.6vw,66px);line-height:1.02;max-width:12ch}
.home-lede{margin-top:20px;font-size:clamp(17px,1.6vw,20px);color:var(--soft);max-width:52ch;line-height:1.6}
.public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.viewer-login{margin-top:30px;padding:16px;border-radius:var(--radius);border:1px solid var(--edge);background:var(--card)}
.viewer-login-label{font:600 14px var(--display);color:var(--soft);margin-bottom:12px}
.stage-caption{margin-top:18px;font-size:13px;color:var(--muted)}
.home-demo{position:relative;margin:0;padding:0 0 26px 26px}
.demo-window{position:relative;padding:16px;border-radius:22px;background:linear-gradient(165deg,#1b2130,#12161e);border:1px solid var(--line);box-shadow:0 30px 70px #000a,0 0 0 1px #ffffff08 inset;display:grid;gap:10px}
.demo-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.demo-top img{width:44px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.demo-top small{display:block;font:600 12px var(--display);color:var(--muted)}
.demo-top strong{font:700 19px var(--display)}
.demo-live{font:700 11px var(--display);padding:4px 9px;border-radius:999px;background:var(--green-deep);color:var(--green-soft);border:1px solid var(--green-line)}
.demo-wallet{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--gold-line);background:linear-gradient(110deg,#2a2414,#161a23 70%)}
.demo-wallet .gem{width:36px;height:36px}
.demo-wallet small{display:block;font:700 11px var(--display);color:var(--gold)}
.demo-wallet strong{font:700 24px/1 var(--display)}
.demo-claim{font:700 13px var(--display);padding:9px 12px;border-radius:10px;background:var(--gold);color:#241a02;white-space:nowrap}
.demo-effect{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--card);border:1px solid var(--edge)}
.demo-effect img{width:48px;height:48px;object-fit:contain;padding:4px;border-radius:12px;background:radial-gradient(circle,#2f7a4f55,transparent 70%),var(--inset)}
.demo-effect strong{display:block;font:700 16px var(--display)}
.demo-effect small{font-size:13px;color:var(--muted)}
.demo-send{font:700 13px var(--display);padding:8px 14px;border-radius:10px;background:var(--green);color:var(--green-ink)}
.demo-effect.is-sent{border-color:var(--green-line)}
.demo-effect.is-sent small{color:var(--green-soft)}
.demo-timer{width:34px;height:34px;border-radius:50%;background:conic-gradient(var(--green) 0 68%,var(--edge) 68% 100%);display:grid;place-items:center}
.demo-timer i{width:24px;height:24px;border-radius:50%;background:var(--card)}
.demo-linky{position:absolute;left:-14px;bottom:0;width:110px;height:auto;filter:drop-shadow(0 10px 18px #0009)}
.home-demo figcaption{margin-top:12px;padding-left:96px;font-size:12px;color:var(--dim)}
.flow-strip ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.flow-strip li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:18px;border-radius:var(--radius);background:var(--card);border:1px solid var(--edge)}
.flow-step{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 15px var(--display);background:var(--green-deep);color:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green-line)}
.flow-strip strong{display:block;font:700 16px var(--display)}
.flow-strip p{font-size:14px;color:var(--muted);margin-top:4px}
.marketing-section{padding:clamp(36px,5vw,64px) 0 0}
.marketing-section>.fine{margin-top:14px}
.audience-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.audience-card{padding:24px;border-radius:var(--radius);background:var(--card);border:1px solid var(--edge)}
.audience-card img{width:72px;height:72px;object-fit:contain;margin-bottom:6px}
.audience-card ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}
.audience-card li{padding-left:18px;position:relative;color:var(--soft);font-size:15px}
.audience-card li:before{content:'';position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--green);transform:rotate(45deg)}
.audience-card li strong{color:var(--cream)}
.featured-games,.game-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.game-tile a{display:flex;flex-direction:column;height:100%;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--edge);transition:border-color .15s,transform .15s}
.game-tile a:hover{border-color:var(--green-line);transform:translateY(-2px)}
.game-tile img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--inset)}
.game-tile-copy{display:flex;flex-direction:column;gap:4px;padding:14px}
.game-tile-copy small{font:600 11px var(--display);color:var(--gold)}
.game-tile-copy h3{font-size:16px}
.game-tile-copy p{font-size:13px;color:var(--muted)}
.game-link{margin-top:6px;font:600 13px var(--display);color:var(--green-soft)}
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.platform-grid article{padding:20px;border-radius:var(--radius);background:var(--card);border:1px solid var(--edge)}
.platform-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--inset);border:1px solid var(--edge);margin-bottom:12px}
.platform-mark img{display:block;width:30px;height:30px;object-fit:contain}
.platform-mark.youtube img{width:44px;height:38px}
.platform-grid p{color:var(--soft);font-size:14px;margin:6px 0}
.platform-grid small{font-size:12px;color:var(--muted)}
.end-cap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:56px;padding:24px;border-radius:var(--radius);background:linear-gradient(110deg,var(--green-deep),var(--card) 60%);border:1px solid var(--green-line)}
.end-cap img{width:64px;height:64px}
.end-cap>div{flex:1;min-width:220px}
.end-cap h2{font-size:22px}
.end-cap p{color:var(--soft);margin-top:4px}

/* About keeps the earlier hero markup */
.stage-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:40px;align-items:center;padding:40px 0}
.stage-copy h1{font-size:clamp(34px,5vw,58px);line-height:1.05}
.stage-copy>p{margin-top:18px;color:var(--soft);font-size:18px;max-width:52ch}
.stage-art{position:relative;min-height:340px}
.stage-covers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;opacity:.85}
.stage-covers img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.stage-covers.single-game-cover{grid-template-columns:minmax(0,260px);justify-content:center}
.stage-linky{position:absolute;right:6%;bottom:-6%;width:44%;max-width:220px;filter:drop-shadow(0 16px 26px #000a)}
.sample-effect{position:absolute;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);max-width:220px}
.sample-effect span{display:block;font:700 11px var(--display);color:var(--gold)}
.sample-effect strong{display:block;font:700 18px var(--display)}
.sample-effect small{font-size:12px;color:var(--muted)}
.sample-help{left:-10px;top:12%}.sample-chaos{left:12%;bottom:-4%}
.sample-caption{position:absolute;left:0;bottom:-48px;font-size:12px;color:var(--dim)}
.audience-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:56px;padding:14px 20px;border-radius:var(--radius);border:1px solid var(--edge);background:var(--card);font:600 14px var(--display);color:var(--muted)}
.audience-strip strong{color:var(--cream)}.audience-strip a{margin-left:auto;color:var(--green-soft)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.feature-grid article{padding:22px;border-radius:var(--radius);background:var(--card);border:1px solid var(--edge)}
.feature-grid h3{margin-bottom:8px}.feature-grid p{color:var(--soft);font-size:15px}
.feature-number{display:none}
.setup-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.setup-band ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.setup-band li{display:flex;gap:12px;padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--edge)}
.setup-band li>span{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font:700 14px var(--display);background:var(--green-deep);color:var(--green-soft)}
.setup-band li p{color:var(--muted);font-size:14px}
.setup-band>div>p{color:var(--soft);margin:12px 0 18px}

/* Information pages */
.public-title{padding:26px 0 22px;max-width:860px}
.public-title h1{margin:6px 0 14px}
.public-notice{display:block;margin:0 0 22px;padding:14px 18px;border-radius:14px;border:1px solid var(--gold-line);background:var(--gold-chip);color:#f1dfae;font-size:15px}
.public-notice strong{color:var(--gold)}
.public-page article{font-size:16px;color:var(--body);line-height:1.7;max-width:860px}
.public-page article h2{font-size:24px;margin:0 0 12px}
.public-page article p+p{margin-top:12px}
.public-page article>section{margin-top:30px}
.public-page article a:not(.primary):not(.quiet),.public-section a:not(.primary):not(.quiet){color:var(--green-soft);text-decoration:underline;text-underline-offset:3px}
.public-section{margin-top:30px}
.public-section>p{color:var(--soft);max-width:860px}
.public-section>p+p{margin-top:10px}
.public-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.public-cards .panel,.public-page article>.panel,.public-page article .panel{padding:24px}
.public-page section.card{max-width:860px;margin-top:30px;padding:22px;border-radius:var(--radius);background:var(--card);border:1px solid var(--edge)}
.public-page section.card p{color:var(--soft);margin-top:10px}
.public-steps{list-style:none;counter-reset:step;padding:0;margin:14px 0 0;display:grid;gap:14px}
.public-steps li{counter-increment:step;position:relative;padding-left:44px;color:var(--soft)}
.public-steps li:before{content:counter(step);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 13px var(--display);background:var(--green-deep);color:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green-line)}
.public-steps strong{color:var(--cream);font-family:var(--display)}
.public-steps li>strong:first-child{display:block}
.public-page details{border-top:1px solid var(--edge);padding:14px 0}
.public-page details:first-of-type{border-top:0}
.public-page summary{cursor:pointer;font:700 16px var(--display);color:var(--cream);list-style:none;display:flex;justify-content:space-between;gap:12px}
.public-page summary::-webkit-details-marker{display:none}
.public-page summary:after{content:'+';color:var(--green);font-size:20px;line-height:1}
.public-page details[open] summary:after{content:'–'}
.public-page details p{padding-top:10px;color:var(--soft)}
.policy-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;max-width:860px}
.policy-toc strong{width:100%;font:700 13px var(--display);color:var(--muted)}
.policy-toc a{font:600 13px var(--display);padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--soft)}
.policy-toc a:hover{border-color:var(--green-line);color:var(--cream)}
.operator-card{padding:20px 22px;border-radius:var(--radius);background:var(--card);border:1px solid var(--edge)}
.operator-card h2{font-size:18px!important}
.operator-card dl,.feature-list{display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 20px;margin:0}
.operator-card dt,.feature-list dt{font:700 14px var(--display);color:var(--cream)}
.operator-card dd,.feature-list dd{margin:0;color:var(--soft)}

/* Plans */
.billing-account{padding:24px;margin-bottom:8px}
.billing-account h2{margin-bottom:10px}
#billing-status{color:var(--soft)}
#billing-owner{margin-top:12px;padding:14px;border-radius:12px;background:var(--inset);border:1px solid var(--edge)}
#billing-current{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:10px 0;color:var(--soft)}
.billing-current-label{font:700 13px var(--display)}
#billing-error{margin-top:12px;color:var(--coral-soft)}
#billing-instructions{margin-top:12px;color:var(--muted);font-size:14px}
.plan-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin:16px 0}
.plan-cards .panel{display:flex;flex-direction:column;position:relative}
.plan-card-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:4px}
.plan-mode{font:600 12px var(--display);color:var(--muted)}
.plan-cards h2{font-size:38px;margin:8px 0 4px}
.plan-cards h2 small{font:600 14px var(--font);color:var(--muted)}
.plan-cards ul{list-style:none;padding:0;margin:12px 0 18px;display:grid;gap:10px;color:var(--soft);font-size:15px}
.plan-cards li{position:relative;padding-left:22px}
.plan-cards li:before{content:'';position:absolute;left:2px;top:.5em;width:8px;height:8px;border-radius:2px;background:var(--green);transform:rotate(45deg)}
.plan-cards .panel button{margin-top:auto;width:100%}
.plan-cards [data-plan=pro]{border-color:var(--green-line);background:linear-gradient(170deg,#143224,var(--card) 45%)}
.plan-cards [data-plan=ultimate]{border-color:var(--gold-line);background:linear-gradient(170deg,#2a2414,var(--card) 45%)}
.plan-cards [data-plan=ultimate] li:before{background:var(--gold)}
.plan-cards [data-plan=ultimate] button{background:var(--gold);border-color:var(--gold);color:#241a02}
.plan-cards .planned{color:var(--muted);font-size:13px}
.plan-cards .planned:before{background:var(--dim)!important}

/* Game library page */
.game-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:6px 0 20px}
.game-toolbar label{display:flex;flex-direction:column;gap:6px;font:600 13px var(--display);color:var(--soft)}
.game-toolbar input{min-width:min(320px,80vw)}
#game-count{margin-left:auto;font:600 13px var(--display);color:var(--muted)}

@media(max-width:960px){.home-hero,.stage-hero,.setup-band{grid-template-columns:1fr}.home-demo{max-width:520px}.flow-strip ol,.platform-grid,.feature-grid{grid-template-columns:1fr}.plan-cards{grid-template-columns:1fr!important}.audience-columns{grid-template-columns:1fr}.stage-art{min-height:280px;margin-bottom:50px}}
@media(max-width:760px){
 .public-page #main{padding-top:20px}
 .home-hero{padding-top:20px}
 .home-demo{padding-left:0}.demo-linky{display:none}.home-demo figcaption{padding-left:0}
 .demo-claim{display:none}
 .public-actions>*{flex:1 1 auto}
 .operator-card dl,.feature-list{grid-template-columns:1fr;gap:2px}
 .operator-card dd,.feature-list dd{margin-bottom:10px}
 .featured-games,.game-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .game-tile-copy{padding:10px}.game-tile-copy h3{font-size:14px}
 .audience-strip a{margin-left:0}
 #game-count{margin-left:0}
}

/* One supported game, presented as a focused setup card. */
.featured-games.single-game,.game-directory.single-game{grid-template-columns:minmax(0,720px)}
.single-game .game-tile a{display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr);align-items:center}
.single-game .game-tile img{height:100%;object-fit:cover}
.single-game .game-tile-copy{padding:24px;gap:8px}
.single-game .game-tile-copy h3{font-size:22px}
@media(max-width:560px){.single-game .game-tile a{grid-template-columns:110px minmax(0,1fr)}.single-game .game-tile-copy{padding:14px;gap:6px}.single-game .game-tile-copy h3{font-size:17px}}

/* Keep policy links recognizable beside every sign-in control. */
.signin-policy{margin:12px 0}
.signin-policy a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
