/* V2: visual system and touch accessibility */
:root{--ui-bg:#101722;--ui-card:#1b2635;--ui-card2:#222f41;--ui-line:#3a4b60;--ui-text:#f1f4f8;--ui-muted:#b0bdca;--ui-gold:#e9bd71;--ui-accent:#83c9c1}
body{background:radial-gradient(ellipse at 60% -15%,#283d52 0,transparent 53%),#101722!important;color:var(--ui-text)!important;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.hd{background:rgba(17,26,38,.94)!important;border-bottom:1px solid #34475d!important;box-shadow:0 5px 24px #050c1666!important}
.hd .lg{color:var(--ui-gold)!important;background:#293747!important;border:1px solid #536579;border-radius:12px;padding:5px 10px}
.hd .ti{color:#f5f0e6!important}
#pgHome .nf{max-width:960px;margin:auto}
#pgHome .he{position:relative;overflow:hidden;isolation:isolate;text-align:left;padding:32px 28px 34px;margin:20px 0 16px;border-radius:24px;background:linear-gradient(125deg,#233b51,#1c2b3d 55%,#172333);border:1px solid #465a70;box-shadow:0 20px 50px #050b1555}
#pgHome .he:before{content:'';position:absolute;right:-80px;top:-110px;width:360px;height:360px;border-radius:50%;border:1px solid #e9bd7133;box-shadow:0 0 0 38px #e9bd7109,0 0 0 86px #e9bd7107;z-index:-1}
#pgHome .he h2{font-family:Georgia,'Noto Serif SC',serif;font-size:clamp(26px,5vw,43px);line-height:1.22;letter-spacing:0;color:#fff!important;max-width:470px;margin:12px 0!important}
#pgHome .he p{color:#c6d3de!important;letter-spacing:2px}
.hero-kicker{font-size:10px;font-weight:750;letter-spacing:2.5px;color:var(--ui-gold)}
.hero-d20{position:absolute;right:30px;top:48px;width:96px;height:96px;clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);background:linear-gradient(145deg,#e5bd7c,#8d6639);display:grid;place-items:center;color:#142234;font:700 36px Georgia,serif;opacity:.8}
#pgHome .session-hint{border:1px solid #354b5f;background:#192838;color:#b9c7d6;border-radius:15px;padding:14px 18px;line-height:1.7}
#pgHome .tabletop-flow{margin:18px 0!important}
#pgHome .flow-step{background:#1c2b3b!important;border:1px solid #34495f!important;border-radius:14px!important;color:#d9e3eb!important}
#pgHome .flow-step b{color:var(--ui-gold)!important}
#pgHome .home-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;margin:16px 0 24px}
#pgHome .home-actions .hbt{min-height:125px!important;padding:18px!important;border-radius:18px!important;align-items:flex-start!important;flex-direction:column!important;gap:10px!important;background:#1d2c3c!important;border:1px solid #40556c!important;color:#f4f5f7!important;box-shadow:0 8px 22px #050b1640;transition:transform .15s,border-color .15s}
#pgHome .home-actions .hbt.p{background:linear-gradient(140deg,#3c352b,#272e37)!important;border-color:#ac8953!important}
#pgHome .home-actions .hbt.dm{background:linear-gradient(140deg,#2d3e48,#1e2d3c)!important;border-color:#4d8991!important}
#pgHome .home-actions .act-ic{font-size:28px!important;width:auto!important;color:var(--ui-gold)}
#pgHome .home-actions .hbt.dm .act-ic{color:#8ed5d0}
#pgHome .home-actions .hbt small{color:#b9c5d2!important;line-height:1.5}
#pgHome .clt{display:flex;justify-content:space-between;align-items:center;color:#e9bd71!important;border-bottom:1px solid #3b4c60;padding:14px 0!important}
#pgHome .clt small{font-size:11px;color:#a9bacb;font-weight:400}
button,.hb,.hbt{touch-action:manipulation;cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e9bd71!important;outline-offset:2px}
#st{top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom));right:12px!important;max-width:min(90vw,460px);padding:9px 14px!important;border-radius:12px!important;box-shadow:0 4px 20px #0008;pointer-events:none}
@media(max-width:680px){#pgHome .home-actions{grid-template-columns:1fr}#pgHome .home-actions .hbt{min-height:80px!important;flex-direction:row!important;align-items:center!important}#pgHome .he{padding:24px 20px;margin-top:10px}#pgHome .he h2{max-width:240px}.hero-d20{right:12px;top:55px;width:65px;height:65px;font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
