:root{color-scheme:dark;--bg:#101113;--surface:#1b1d20;--raised:#24262a;--line:#34363a;--text:#f2f0eb;--muted:#aaa9a5;--gold:#d5bd85;--gold-dark:#29251d;--green:#a7d0ba;--red:#dda7a4;--radius:20px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--text);background:#191a1c;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button,a{transition:background .18s,border-color .18s,transform .18s}button:active,.btn:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input:focus,textarea:focus,select:focus{border-color:var(--gold)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h2{font-size:30px;line-height:1.16;letter-spacing:-1px}h3{font-size:20px;line-height:1.25;letter-spacing:-.45px}p{line-height:1.45}.muted,.small{color:var(--muted)}.small{font-size:12px;line-height:1.5}.gold{color:var(--gold)}.green{color:var(--green)}.red{color:var(--red)}.eyebrow{font-size:11px;letter-spacing:.07em;line-height:1.4;color:var(--gold);font-weight:600;text-transform:uppercase}.workspace{max-width:1230px;margin:auto;display:grid;grid-template-columns:270px minmax(320px,430px) 250px;gap:54px;align-items:start;padding:40px 24px}.studio{position:sticky;top:40px}.intro{padding-top:84px}.intro h1{font-size:40px;font-weight:500;line-height:1.12;letter-spacing:-1.6px;margin:24px 0}.intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:24px 0}.intro .small{font-size:12px!important}.studio-note{border-block:1px solid var(--line);padding:18px 0;font-size:12px;display:flex;align-items:center;gap:8px}.studio-note>span:last-child{margin-left:auto;color:var(--muted)}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--green);display:inline-block}.phone{background:var(--bg);border:1px solid #303134;border-radius:32px;min-height:844px;position:relative;box-shadow:0 30px 90px #0004;overflow:clip}.prototype-bar{height:42px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff08}.prototype-bar button{border:0;background:none;font-size:10px;color:var(--muted);padding:8px 0;min-height:32px}.prototype-bar span{color:#787975;margin-left:5px}.app-header{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--bg);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.logo{width:76px;flex-shrink:0}.logo img{width:70px;height:40px;object-fit:contain}.balance-pill{height:42px;background:var(--surface);border:1px solid var(--line);border-radius:24px;display:flex;gap:8px;align-items:center;justify-content:center;flex:1;white-space:nowrap;font-size:13px}.balance-pill span{display:flex;color:var(--gold)}.balance-pill svg{width:17px;height:17px}.topup-pill{height:42px;border-radius:24px;background:var(--gold);color:var(--bg);font-size:13px;font-weight:600;padding:0 21px;display:flex;align-items:center;justify-content:center;white-space:nowrap}#main{padding:24px 24px 124px;min-height:688px;outline:none}.page-heading{margin-bottom:40px}.page-heading .eyebrow{margin-bottom:14px}.page-heading p:last-child:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:14px}.hero{font-size:35px;letter-spacing:-1px;line-height:1.14;margin:24px 0 20px}.hero-copy{font-size:15px;color:var(--muted);margin-bottom:30px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid var(--line);background:var(--raised);color:var(--text);width:100%;min-height:46px;padding:12px 18px;font-size:14px;font-weight:600;text-align:center}.btn.primary{background:var(--gold);color:var(--bg);border-color:var(--gold)}.btn.small-btn{width:auto;min-height:36px;font-size:12px;padding:8px 16px}.text-btn{background:none;border:0;padding:10px 0;color:var(--gold);font-size:13px;min-height:40px}.center{text-align:center}.center-link{display:block;text-align:center;color:var(--muted);font-size:12px;padding:16px 0}.section{margin-top:38px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-heading a,.section-heading button{font-size:12px;color:var(--gold);border:none;background:none;padding:8px 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card+.card{margin-top:16px}.card>p{font-size:14px;color:var(--muted);margin-top:12px}.card .eyebrow{margin-bottom:16px;color:var(--gold);font-size:11px}.card h3{margin-bottom:8px}.card .btn{margin-top:20px}.link-card{display:flex;align-items:center;gap:16px}.link-card>svg:first-child{color:var(--gold);width:26px;height:26px}.link-card>svg:last-child{margin-left:auto;width:16px;color:var(--gold)}.link-card strong{font-size:15px}.link-card p{font-size:12px;color:var(--muted);margin-top:7px}.grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{border:0;background:none;padding:0;text-align:left;color:var(--text);min-width:0}.game-card img{border-radius:14px;aspect-ratio:1.08;object-fit:cover;width:100%;transition:filter .2s}.game-card:hover img{filter:brightness(1.08)}.game-card strong{display:block;font-size:14px;margin-top:12px;line-height:1.25}.game-card span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.game-grid{row-gap:26px}.live-art{aspect-ratio:1.08;background:linear-gradient(135deg,#27231b,#181c1c);border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--gold)}.live-art svg{width:36px;height:36px}.live-art em{font-size:10px;letter-spacing:2px;font-style:normal}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chip{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;min-height:36px;padding:9px 16px;text-align:center;white-space:nowrap}.chip.active{border-color:var(--gold);background:var(--gold-dark);color:var(--gold)}.chip-row.equal{display:grid;grid-template-columns:repeat(2,1fr)}.search{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 14px}.search input{background:none;border:0;padding:14px 0;min-width:0;width:100%;color:var(--text);outline:0;min-height:46px}.search svg{width:18px;color:var(--muted)}.search button{background:none;border:0;display:flex;padding:8px}.empty{padding:72px 0 24px;text-align:center}.empty>svg{width:48px;height:48px;color:var(--gold);margin:0 auto 30px}.empty h3{font-size:24px}.empty p{font-size:14px;color:var(--muted);margin:20px 0 30px}.empty .btn{width:80%;margin:auto}.feature-art{width:100%;aspect-ratio:2.15;object-fit:cover;border-radius:20px;margin-bottom:20px}.progress{height:5px;border-radius:5px;background:var(--raised);overflow:hidden;margin:18px 0 12px}.progress>span{display:block;background:var(--gold);height:100%}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.spread .small{font-size:12px}.value{font-size:40px;font-weight:600;letter-spacing:-1px;line-height:1.1;margin:24px 0}.list{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:0 16px;overflow:hidden}.row{width:100%;display:flex;align-items:center;gap:15px;border:0;border-bottom:1px solid var(--line);padding:18px 0;background:none;text-align:left;color:var(--text)}.row:last-child{border-bottom:0}.row>svg:first-child{color:var(--gold)}.row>svg:last-child{margin-left:auto;width:17px}.row>span:first-of-type{flex:1;min-width:0}.row strong{font-size:14px;line-height:1.3;display:block}.row small{font-size:12px;line-height:1.5;display:block;color:var(--muted);margin-top:7px}.row .amount{white-space:nowrap;font-size:13px;font-weight:600}.actions{display:flex;gap:12px;margin-top:20px}.actions>.btn{flex:1}.field{display:block;font-size:12px;color:var(--muted);margin:24px 0}.field>span{display:block;margin-bottom:12px}.field input,.field select,.field textarea{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-height:48px;width:100%;font-size:16px;appearance:auto}.field textarea{resize:vertical;min-height:88px}.field small{display:block;font-size:11px;margin-top:8px}.field input::placeholder{color:var(--muted);opacity:1}.field input[type=range]{padding:8px 0;border:0;background:none;accent-color:var(--gold);min-height:30px}.field input[type=checkbox]{width:20px;min-height:20px;margin:0;accent-color:var(--gold)}.consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.5;color:var(--muted);margin:26px 0}.consent a{text-decoration:underline}.consent input{accent-color:var(--gold);width:20px;height:20px;flex-shrink:0}.form-actions{margin-top:36px}.payments{margin-top:20px}.payment{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-align:left;min-height:74px}.payment.active{background:var(--gold-dark);border-color:var(--gold)}.payment strong{font-size:15px;display:block}.payment span{display:block;font-size:11px;color:var(--muted);margin-top:9px}.currency.active{background:var(--gold-dark);border-color:var(--gold)}.currency{min-height:66px}.currency strong{font-size:11px;color:var(--muted)}.currency span{font-size:15px;color:var(--text);font-weight:600}.currency.active strong{color:var(--gold)}.check-in{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:24px 0 0}.day{border-radius:12px;background:var(--raised);min-height:52px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);border:1px solid transparent}.day.done{background:var(--gold-dark);color:var(--gold)}.day.next{border-color:var(--gold)}.day svg{width:16px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-grid strong{display:block;font-size:21px;margin-top:8px}.social-row{padding:12px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.social-row strong{font-size:15px;flex:1}.social-row>span{font-size:12px;color:var(--gold)}.social-row:last-child{border-bottom:0}.avatar{background:var(--gold-dark);border-radius:50%;height:50px;width:50px;display:grid;place-items:center;color:var(--gold);font-weight:600;flex-shrink:0}.chat-history{display:flex;flex-direction:column;gap:20px;margin:28px 0;min-height:240px;max-height:440px;overflow:auto;scrollbar-width:thin}.bubble{border-radius:18px;background:var(--surface);max-width:90%;padding:18px;font-size:14px;line-height:1.5}.bubble.user{align-self:flex-end;background:var(--gold-dark)}.bubble small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.composer{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:26px;padding:4px 8px 4px 16px}.composer input{width:100%;min-width:0;background:none;border:0;color:var(--text);font-size:14px;min-height:44px;outline:0}.composer button{border:0;background:var(--gold);color:var(--bg);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.composer svg{width:18px}.bottom-nav{position:fixed;z-index:15;bottom:22px;left:50%;transform:translateX(-50%);width:min(382px,calc(100vw - 36px));border-radius:36px;border:1px solid var(--line);background:var(--surface);display:flex;padding:7px 5px;box-shadow:0 8px 28px #0006}.bottom-nav a{flex:1;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:28px;color:var(--muted);font-size:10px}.bottom-nav a.active{background:var(--gold-dark);color:var(--gold)}.bottom-nav a svg{width:21px;height:21px}.back-link{color:var(--muted);font-size:12px;display:inline-flex;align-items:center;gap:5px;margin-bottom:24px;min-height:32px}.back-link svg{width:14px;transform:rotate(180deg)}.legal{font-size:16px;line-height:1.55;padding:28px 0}.upload{display:block;text-align:center;border:1px dashed var(--line);border-radius:18px;background:var(--surface);padding:24px;font-size:14px;font-weight:600;cursor:pointer}.upload svg{display:block;margin:0 auto 16px;color:var(--gold)}.upload input{display:block;width:100%;font-size:11px;margin-top:16px;color:var(--muted)}.amount-input{position:relative}.amount-input span{position:absolute;top:15px;left:16px;font-size:16px;color:var(--muted)}.amount-input input{padding-left:52px}.summary .spread{font-size:13px;min-height:32px}.summary .spread:last-child{font-weight:600;color:var(--gold)}.benefit-steps{counter-reset:steps;margin:26px 0}.benefit-step{display:flex;gap:20px;padding:16px 0}.benefit-step:before{counter-increment:steps;content:"0" counter(steps);color:var(--gold);font-size:16px;font-weight:600}.benefit-step strong{font-size:17px}.benefit-step p{color:var(--muted);font-size:12px;margin-top:8px}.big-percent{font-size:76px;letter-spacing:-3px;color:var(--gold);font-weight:600;text-align:center;margin:48px 0 12px}.rule{height:1px;background:var(--line);margin:24px 0}.badge{display:inline-flex;font-size:10px;color:var(--gold);border:1px solid var(--line);border-radius:999px;padding:5px 9px}.screen-browser h3{font-size:16px;margin-bottom:8px}.screen-browser>p{font-size:12px;color:var(--muted);margin-bottom:20px}.screen-list{max-height:calc(100vh - 230px);overflow:auto;scrollbar-width:thin}.screen-item{display:flex;gap:12px;align-items:center;width:100%;background:none;border:0;color:var(--muted);text-align:left;padding:9px 8px;border-radius:8px;font-size:11px;line-height:1.35;min-height:38px}.screen-item>span:first-child{font-size:10px;color:#787975;font-variant-numeric:tabular-nums;flex-shrink:0}.screen-item:hover,.screen-item.current{background:var(--raised);color:var(--text)}.explorer .btn{margin-top:16px;font-size:12px}.explorer .small{margin-top:12px}.modal-backdrop{position:fixed;inset:0;background:#000a;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:16px}.modal{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #0008}.modal h2{font-size:25px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px}.icon-btn{border:1px solid var(--line);background:var(--raised);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.icon-btn svg{width:17px}.modal>p{font-size:14px;color:var(--muted);margin-bottom:20px}.modal .screen-list{max-height:60dvh}.modal .field:first-of-type{margin-top:0}.error{color:var(--red);font-size:12px;margin:12px 0;line-height:1.4}.success-mark{width:60px;height:60px;background:var(--gold-dark);color:var(--gold);border-radius:50%;display:grid;place-items:center;margin:4px auto 24px}.success-mark svg{width:28px;height:28px}#toast{position:fixed;bottom:108px;left:50%;transform:translate(-50%,12px);opacity:0;z-index:70;background:var(--text);color:var(--bg);font-size:13px;line-height:1.4;padding:14px 22px;border-radius:16px;max-width:calc(100vw - 40px);width:max-content;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 10px 40px #0005}#toast.show{opacity:1;transform:translate(-50%,0)}.notice-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:6px}.demo-game{border:1px solid var(--line);border-radius:22px;background:var(--surface);padding:28px 20px;text-align:center}.demo-game img{width:180px;margin:auto;border-radius:18px}.demo-game .symbols{font-size:38px;letter-spacing:15px;padding:20px 0}.demo-game .btn{margin-top:20px}.demo-game p{font-size:12px;color:var(--muted);margin-top:12px}.game-detail-art{width:65%;aspect-ratio:.88;object-fit:cover;margin:0 auto 28px;border-radius:22px}.money-secondary{font-size:12px;color:var(--muted);margin-top:10px}.toggle-row{display:flex;align-items:center;gap:12px;padding:12px 0}.toggle-row input{accent-color:var(--gold);width:20px;height:20px}.lang-select{width:100%}.appearance-light{--bg:#f5f3ed;--surface:#fffdf8;--raised:#e8e6e0;--line:#d0cec8;--text:#191a1c;--muted:#65645f;--gold:#9b7632;--gold-dark:#f0e7d3;--green:#316b51;--red:#a54139;color-scheme:light}.appearance-light .logo{background:#101113;border-radius:8px;padding:3px}.appearance-light .topup-pill,.appearance-light .btn.primary{color:#fff}.appearance-light .prototype-bar{border-color:var(--line)}
@media(min-width:1100px){.workspace{gap:48px;max-width:1230px;grid-template-columns:270px 430px 250px;justify-content:center}.modal-backdrop{align-items:center}.bottom-nav{left:calc(50% + 10px)}.explorer{padding-top:20px}}@media(max-width:1099px){.workspace{display:block;max-width:450px;padding:0}.studio{display:none}.phone{border:0;border-radius:0;min-height:100dvh;box-shadow:none}.bottom-nav{width:min(414px,calc(100vw - 36px));bottom:max(14px,env(safe-area-inset-bottom))}.modal-backdrop{padding:12px}.app-header{padding-top:max(16px,env(safe-area-inset-top))}.prototype-bar{height:34px}.prototype-bar button{font-size:10px}.phone{overflow:visible}#main{min-height:calc(100dvh - 110px)}body{background:var(--bg)}}@media(max-width:360px){.app-header{gap:8px;padding-inline:18px}.logo{width:62px}.logo img{width:58px}.topup-pill{padding:0 17px}.balance-pill{font-size:12px}#main{padding-inline:18px}.hero{font-size:32px}.chip{padding:9px 12px}.check-in{gap:5px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.field>span.spread{display:flex}.prototype-bar span,.screen-item>span:first-child{color:var(--muted)}
@media(min-width:1100px){.phone{min-height:max(844px,calc(100dvh - 80px))}.bottom-nav{bottom:58px}}

/* Location-aware weather banner */
.weather-banner{position:relative;isolation:isolate;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface);min-height:184px}
.weather-landmark{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.48}
.weather-banner.has-photo{color:#f2f0eb;background:#101113}
.weather-banner.has-photo:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101113ee,#10111370),linear-gradient(0deg,#101113ed,transparent 70%)}
.weather-body{padding:20px}.weather-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}
.weather-top .eyebrow{font-size:9px;letter-spacing:.08em;margin:0}.weather-location{background:none;border:0;font-size:11px;color:var(--gold);padding:6px 0;display:flex;align-items:center;gap:2px;min-height:28px}
.weather-location svg{width:12px;height:12px}.weather-current{display:flex;align-items:center;justify-content:space-between;gap:12px}
.weather-current h3{font-size:23px;line-height:1.15;letter-spacing:-.5px;overflow-wrap:anywhere}.weather-current p{font-size:13px;color:var(--muted);margin-top:7px}
.weather-temperature{display:flex;align-items:center;gap:8px;flex-shrink:0}.weather-temperature svg{color:var(--gold);width:26px;height:26px}.weather-temperature strong{font-size:36px;font-weight:500;letter-spacing:-1.6px}
.weather-facts{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:20px}.weather-hint{font-size:12px;line-height:1.5;color:var(--muted);margin-top:16px}
.weather-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.weather-actions button{border:1px solid var(--line);border-radius:999px;background:var(--raised);padding:10px 14px;min-height:40px;font-size:11px;color:var(--text)}
.weather-actions button:first-child{background:var(--gold);color:var(--bg);border-color:var(--gold)}.weather-photo-caption{font-size:9px;line-height:1.5;color:var(--muted);margin-top:20px;display:flex;gap:6px;flex-wrap:wrap;justify-content:space-between}.weather-photo-caption a{text-decoration:underline;text-underline-offset:3px}
.weather-source{font-size:9px;display:flex;gap:10px;align-items:center;justify-content:space-between;color:var(--muted);margin-top:12px;border-top:1px solid #ffffff20;padding-top:9px}.weather-source a{color:var(--gold)}.weather-source button{color:var(--gold);background:none;border:0;padding:4px 0;font-size:9px;min-height:24px}.weather-consent{margin:12px 0 20px}
.weather-banner.has-photo .weather-current p,.weather-banner.has-photo .weather-facts,.weather-banner.has-photo .weather-photo-caption,.weather-banner.has-photo .weather-source{color:#c9c8c3}.weather-banner.has-photo .eyebrow,.weather-banner.has-photo .weather-location,.weather-banner.has-photo .weather-source a,.weather-banner.has-photo .weather-source button,.weather-banner.has-photo .weather-temperature svg{color:#d5bd85}
@media(max-width:360px){.weather-body{padding:16px}.weather-current h3{font-size:20px}.weather-temperature strong{font-size:32px}.weather-temperature svg{width:22px;height:22px}.weather-facts{gap:9px}}

/* Atmospheric treatment follows weather_code and is_day; the place photo stays authentic. */
.weather-banner{background:#192733;color:#f2f0eb}.weather-landmark{opacity:.82;transition:filter .8s,opacity .8s}.weather-body{position:relative;z-index:2}
.weather-banner:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#101113e6,#10111338),linear-gradient(0deg,#101113ed,transparent 65%)}
.weather-banner.has-photo:before{z-index:1;background:linear-gradient(90deg,#101113e6,#10111338),linear-gradient(0deg,#101113ed,transparent 65%)}
.weather-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:linear-gradient(120deg,#21333c44,transparent)}
.weather-atmosphere>span{position:absolute;pointer-events:none}.weather-sky-glow{width:160px;height:160px;right:-15px;top:-30px;border-radius:50%;background:radial-gradient(circle,#fce5a76b,transparent 65%);opacity:0}
.weather-day.weather-clear .weather-landmark{filter:sepia(.15) saturate(1.1) brightness(1.12)}.weather-day.weather-clear .weather-sky-glow{opacity:.8}
.weather-cloud-layer{inset:-20%;background:radial-gradient(ellipse at 80% 5%,#a5b4c357,transparent 45%),radial-gradient(ellipse at 25% 20%,#8396a444,transparent 48%);opacity:0}
.weather-cloudy .weather-cloud-layer,.weather-rain .weather-cloud-layer,.weather-storm .weather-cloud-layer{opacity:1;animation:sky-cloud-drift 30s ease-in-out infinite alternate}
.weather-cloudy .weather-landmark{filter:saturate(.7) brightness(.8)}.weather-rain .weather-landmark,.weather-storm .weather-landmark{filter:saturate(.45) brightness(.58)}
.weather-rain .weather-atmosphere,.weather-storm .weather-atmosphere{background:linear-gradient(120deg,#24445980,#19344566)}
.weather-precipitation{inset:-50%;opacity:0}.weather-rain .weather-precipitation,.weather-storm .weather-precipitation{opacity:.6;background-image:linear-gradient(108deg,transparent 47%,#d7e9f3b3 49%,transparent 52%);background-size:29px 88px;animation:sky-rain 1s linear infinite}
.weather-storm .weather-precipitation{background-size:21px 70px;animation-duration:.65s}.weather-lightning{inset:0;background:linear-gradient(120deg,#d4e7ff90,transparent);opacity:0}.weather-storm .weather-lightning{animation:sky-lightning 12s ease-out infinite}
.weather-night{background:#0c1527}.weather-night .weather-landmark{filter:brightness(.35) saturate(.55) sepia(.1) hue-rotate(165deg)}.weather-night .weather-atmosphere{background:linear-gradient(120deg,#0d183978,#16365a88)}
.weather-night.weather-clear .weather-sky-glow{opacity:.65;background:radial-gradient(circle at 65% 28%,#d7e7ffb3 0 5%,#b5d2ff18 6% 27%,transparent 65%)}
.weather-night.weather-clear .weather-cloud-layer{opacity:.6;background:radial-gradient(circle at 35% 16%,#e1ebffb3 0 1px,transparent 2px),radial-gradient(circle at 65% 25%,#e1ebffb3 0 1px,transparent 2px),radial-gradient(circle at 84% 35%,#e1ebffb3 0 1px,transparent 2px)}
.weather-fog .weather-atmosphere{background:linear-gradient(0deg,#8b9ba54d,#afb8bf66,transparent)}.weather-fog .weather-landmark{filter:saturate(.25) brightness(.65)}
.weather-snow .weather-precipitation{opacity:.65;background-image:radial-gradient(circle,#e8f4ff 0 1px,transparent 2px);background-size:29px 41px;animation:sky-snow 5s linear infinite}.weather-snow .weather-landmark{filter:saturate(.3) brightness(.8)}
.weather-banner .weather-current p,.weather-banner .weather-facts,.weather-banner .weather-photo-caption,.weather-banner .weather-source{color:#c9c8c3}.weather-banner .eyebrow,.weather-banner .weather-location,.weather-banner .weather-source a,.weather-banner .weather-source button,.weather-banner .weather-temperature svg{color:#d5bd85}
.weather-preview-note{font-size:10px;line-height:1.5;color:#d5bd85;margin-top:14px}.weather-preview-note button{background:none;border:0;color:#d5bd85;text-decoration:underline;font-size:10px;padding:4px 0}.weather-night .weather-temperature svg{color:#bcd3f1}
@keyframes sky-rain{from{background-position:0 0}to{background-position:-29px 88px}}@keyframes sky-snow{from{background-position:0 0}to{background-position:29px 82px}}@keyframes sky-cloud-drift{from{transform:translateX(-10px)}to{transform:translateX(25px)}}@keyframes sky-lightning{0%,94%,98%,100%{opacity:0}95%{opacity:.22}96%{opacity:0}97%{opacity:.12}}
@media(prefers-reduced-motion:reduce){.weather-atmosphere>span{animation:none!important}.weather-lightning{display:none}}
.weather-rain .weather-precipitation,.weather-storm .weather-precipitation{opacity:.45;mask-image:repeating-linear-gradient(0deg,#000 0 15px,transparent 15px 46px);-webkit-mask-image:repeating-linear-gradient(0deg,#000 0 15px,transparent 15px 46px)}

/* Authentic area photography; weather only selects the photo. */
.area-photo-banner{position:relative;height:230px;border-radius:24px;overflow:hidden;background:#20252b;margin-bottom:16px}

/* The first screen brings a personal welcome, a local view and Marathon together. */
.home-opening { display:grid; gap:20px; }
.home-greeting > p { color:var(--muted); font-size:11px; line-height:1.5; margin-bottom:5px; }
.home-greeting h2 { font-size:26px; line-height:1.2; letter-spacing:-.65px; overflow-wrap:anywhere; }
.home-opening .area-photo-banner { height:200px; margin:0; }
.home-opening .marathon-feature { margin:0; }
.home-opening .marathon-banner { min-height:204px; padding:20px 18px; }
.home-opening .marathon-banner .eyebrow { margin-bottom:12px; }
.home-opening .marathon-banner h3 { font-size:23px; }
.home-opening .marathon-banner-copy > p:not(.eyebrow) { margin-top:10px; line-height:1.5; }
.home-opening .marathon-banner-link { margin-top:14px; }
.home-opening .marathon-banner-art { width:138px; }
.home-opening .marathon-banner-note { line-height:1.5; }
.auth-choices { display:grid; gap:12px; margin-top:24px; }
@media(max-width:360px), (max-height:740px) and (max-width:1099px) {
    .home-opening { gap:16px; }
    .home-greeting h2 { font-size:24px; }
    .home-opening .area-photo-banner { height:170px; }
    .home-opening .marathon-banner { min-height:186px; padding:16px; grid-template-columns:minmax(0,1fr) 100px; }
    .home-opening .marathon-banner h3 { font-size:21px; }
    .home-opening .marathon-banner-art { width:100px; margin-left:0; }
    .home-opening .marathon-banner .eyebrow { margin-bottom:10px; }
    .home-opening .marathon-banner-link { margin-top:10px; }
}
.area-photo-image{display:block;width:100%;height:100%;object-fit:cover}
.area-photo-empty{height:100%;display:flex;align-items:center;justify-content:center;padding:48px 28px;text-align:center;color:#bfc4ca;font-size:13px}
.area-photo-change{position:absolute;top:14px;left:14px;display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #ffffff35;border-radius:999px;background:#15191ddd;color:#fff;font:inherit;font-size:12px}
.area-photo-change svg{width:14px;height:14px}
.area-photo-credit{position:absolute;bottom:10px;right:12px;max-width:85%;padding:4px 8px;border-radius:8px;background:#15191ddd;color:#fff;font-size:9px;text-decoration:none}
.area-landmark-caption{position:absolute;bottom:0;left:0;right:0;padding:34px 18px 16px;background:linear-gradient(transparent,#000b 40%,#000d);color:#fff}
.area-landmark-caption strong{display:block;font-size:14px;font-weight:600;line-height:1.3}
.area-landmark-caption span{display:block;font-size:9px;color:#dedede;margin-top:6px;line-height:1.4}
.area-landmark-caption:hover strong{text-decoration:underline;text-underline-offset:3px}
.area-landmark-caption small{display:block;font-size:10px;color:#e2e8ee;margin-top:5px}
.area-photo-empty{flex-direction:column;gap:12px}
.landmark-place-group{margin:20px 0}
.landmark-location-note{margin:12px 0 18px;color:var(--muted);font-size:11px;line-height:1.5}
.landmark-location-note summary{cursor:pointer;padding:5px 0}
.landmark-location-note p{margin-top:6px}
.landmark-place-group h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.landmark-place-grid{display:grid;grid-template-columns:1fr;gap:8px}
.landmark-place{display:flex;align-items:center;gap:12px;width:100%;min-height:70px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:background .2s,transform .2s,border-color .2s}
.landmark-place img,.landmark-place-placeholder{flex:none;width:80px;height:56px;border-radius:10px;object-fit:cover;background:linear-gradient(135deg,#b4d8ed,#426780)}
.landmark-place-placeholder{display:grid;place-items:center;color:#fff;font-size:12px}
.landmark-place>span:not(.landmark-place-placeholder){flex:1;min-width:0}
.landmark-place strong{display:block;font-size:13px;line-height:1.4;font-weight:600}
.landmark-place small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.landmark-place svg{flex:none;width:14px;height:14px;margin-right:7px;color:var(--muted)}
.landmark-place:hover,.landmark-place[aria-pressed=true]{border-color:var(--gold);transform:translateX(2px)}
.landmark-place:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.landmark-place{transition:none}.landmark-place:hover,.landmark-place[aria-pressed=true]{transform:none}}
.section-copy{font-size:12px;color:var(--muted);margin:-4px 0 18px}
.featured-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 14px;scrollbar-width:thin;scrollbar-color:var(--gold-dark) transparent}
.featured-rail .game-card{flex:0 0 43%;min-width:0;scroll-snap-align:start}
.site-footer{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;text-align:center;color:var(--muted);font-size:11px}
.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px;margin-bottom:14px}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-size:11px}
.site-footer p+p{margin-top:8px;font-size:10px;letter-spacing:.04em}
.game-session[hidden]{display:none}
.game-session-actions{display:flex;gap:10px;margin:20px 0}
.game-session-actions .btn{flex:1;margin:0;font-size:12px;min-height:44px}
.game-tray{position:fixed;z-index:16;left:50%;transform:translateX(-50%);bottom:100px;width:min(414px,calc(100vw - 36px));display:flex;align-items:center;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 10px 30px #0005;padding:7px;gap:6px}
.game-resume{display:flex;flex:1;min-width:0;align-items:center;gap:12px;border:0;background:none;text-align:left;padding:0;color:var(--text);min-height:50px;border-radius:14px}
.game-resume img{width:42px;height:50px;object-fit:cover;border-radius:11px}
.game-resume span{min-width:0}.game-resume strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.game-resume small{display:block;color:var(--gold);font-size:10px;margin-top:5px}
.game-resume .resume-symbol{margin-left:auto;color:var(--gold);font-size:20px;padding:8px}
.game-tray-close{border:0;border-left:1px solid var(--line);background:none;display:grid;place-items:center;width:44px;height:44px;color:var(--muted);flex-shrink:0}.game-tray-close svg{width:18px;height:18px}
.has-game-tray #main{padding-bottom:190px}.has-game-tray #toast{bottom:178px}
@media(min-width:1100px){.game-tray{left:calc(50% + 10px);width:382px;bottom:138px}}
@media(max-width:1099px){.game-tray{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 82px)}}

/* Restrained motion: reveal once as content enters view; CSS handles the movement. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.motion-reveal.motion-reveal{opacity:0;transform:translateY(14px);transition:opacity .42s ease var(--reveal-delay,0ms),transform .52s var(--motion-ease) var(--reveal-delay,0ms),background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .3s ease}
.motion-reveal.motion-reveal.is-revealed{opacity:1;transform:translateY(0)}
.game-card img{transition:transform .4s var(--motion-ease),filter .3s ease}
.btn,.chip,.payment,.icon-btn,.balance-pill,.topup-pill,.row,.link-card,.bottom-nav a,.game-resume,.game-tray-close{transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .3s ease,transform .3s var(--motion-ease)}
.field input,.field select,.field textarea{transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease}
.game-tray{animation:tray-arrive .32s var(--motion-ease) both}
.modal-backdrop{animation:backdrop-arrive .2s ease both}
.modal{animation:sheet-arrive .36s var(--motion-ease) both}
.modal-backdrop.is-closing{animation:backdrop-arrive .18s ease reverse both;pointer-events:none}
.modal-backdrop.is-closing .modal{animation:sheet-arrive .18s ease reverse both}
.area-photo-image{animation:photo-arrive .5s ease both}
.is-revealed .progress span{transform-origin:left;animation:progress-arrive .7s var(--motion-ease) both}
.bottom-nav a.active svg{animation:nav-arrive .3s var(--motion-ease)}
.session-flight{position:fixed;z-index:40;overflow:hidden;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:22px;transform-origin:top left;box-shadow:0 20px 60px #0006;animation:session-shrink .48s cubic-bezier(.4,0,.2,1) both;will-change:transform,opacity}
.session-flight .game-session{width:100%;height:100%;pointer-events:none}
.session-flight .demo-game{margin:0;height:100%;overflow:hidden}
.session-flight.is-expanding{animation-name:session-expand}
.session-minimizing .game-tray{opacity:0;animation:none;pointer-events:none}
.session-expanding #main>.game-session{visibility:hidden}
@keyframes session-shrink{0%{transform:translate(0,0) scale(1);opacity:1}75%{opacity:1}100%{transform:translate(var(--flight-x),var(--flight-y)) scale(var(--flight-sx),var(--flight-sy));opacity:0}}
@keyframes session-expand{0%{transform:translate(var(--flight-x),var(--flight-y)) scale(var(--flight-sx),var(--flight-sy));opacity:.6}100%{transform:translate(0,0) scale(1);opacity:1}}
@keyframes tray-arrive{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes backdrop-arrive{from{background-color:#0000}to{background-color:#000a}}
@keyframes sheet-arrive{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
@keyframes photo-arrive{from{opacity:0}to{opacity:1}}
@keyframes progress-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes nav-arrive{from{transform:scale(.9)}to{transform:scale(1)}}
@media(hover:hover) and (pointer:fine){
  .game-card:hover img{transform:scale(1.025);filter:brightness(1.08)}
  .btn:hover,.topup-pill:hover{box-shadow:0 5px 18px #0003;transform:translateY(-2px)}
  .link-card:hover,.payment:hover{border-color:var(--gold)}
  .row:hover,.game-resume:hover,.game-tray-close:hover{background:var(--raised)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .motion-reveal{opacity:1!important;transform:none!important}
  .session-flight{display:none}.session-minimizing .game-tray{opacity:1;pointer-events:auto}.session-expanding #main>.game-session{visibility:visible}
}

/* Floating controls above a soft edge fade for scrolling content. */
.app-header {
    height:0;
    min-height:0;
    padding:0;
    border:0;
    background:none;
    box-shadow:none;
    position:sticky;
    top:0;
    z-index:20;
    pointer-events:none;
    display:block
}

.app-header::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:112px;
    background:var(--bg);
    -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000e 30%, #0008 60%, transparent 100%);
    mask-image:linear-gradient(to bottom, #000 0%, #000e 30%, #0008 60%, transparent 100%);
    pointer-events:none;
}

.app-header .logo {
    position:absolute;
    left:22px;
    top:12px;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:none;
    pointer-events:auto;
    filter:drop-shadow(0 3px 6px #0005)
}

.app-header .logo img {
    width:44px;
    height:44px;
    object-fit:contain
}

.header-actions {
    position:absolute;
    right:22px;
    top:15px;
    display:flex;
    align-items:center;
    max-width:calc(100% - 110px);
    height:38px;
    border:1px solid #ffffff14;
    border-radius:999px;
    background:rgba(23,25,30,.68);
    box-shadow:0 4px 16px #0002,inset 0 1px 0 #ffffff08;
    backdrop-filter:blur(18px) saturate(.85);
    -webkit-backdrop-filter:blur(18px) saturate(.85);
    pointer-events:auto
}

.header-actions .balance-pill {
    height:36px;
    min-width:0;
    flex:0 1 auto;
    border:0;
    background:none;
    gap:7px;
    padding:0 12px;
    border-radius:999px 0 0 999px;
    font-size:12px;
    font-variant-numeric:tabular-nums;
    color:var(--text)
}

.header-actions .balance-pill strong {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}

.header-actions .balance-pill svg {
    width:15px;
    height:15px
}

.header-actions .topup-pill {
    width:36px;
    height:36px;
    flex-shrink:0;
    padding:0;
    border:0;
    border-left:1px solid #ffffff12;
    border-radius:0 999px 999px 0;
    background:none;
    color:var(--gold);
    box-shadow:none
}

.header-actions .topup-pill svg {
    width:16px;
    height:16px
}

.header-actions a {
    position:relative
}

.header-actions a::after {
    content:"";
    position:absolute;
    inset:-4px 0
}

#main {
    padding-top:86px
}

.bottom-nav {
    background:rgba(24,26,30,.68);
    border:0;
    box-shadow:0 10px 30px #0004;
    backdrop-filter:blur(22px) saturate(.78);
    -webkit-backdrop-filter:blur(22px) saturate(.78)
}

.bottom-nav a {
    color:#d8dadd
}

.bottom-nav a.active {
    background:rgba(219,195,145,.09);
    color:#f0d79e
}

.appearance-light .app-header .logo {
    background:none;
    padding:0;
    border-radius:50%
}

.appearance-light .header-actions {
    background:rgba(250,248,242,.72);
    border-color:#00000014;
    box-shadow:0 4px 16px #0000000d,inset 0 1px 0 #ffffff80
}

.appearance-light .header-actions .topup-pill {
    color:var(--gold);
    border-left-color:#00000012
}

.appearance-light .bottom-nav {
    background:rgba(246,244,237,.72);
    box-shadow:0 10px 30px #00000016
}

.appearance-light .bottom-nav a {
    color:#474a50
}

.appearance-light .bottom-nav a.active {
    background:rgba(126,98,45,.1);
    color:#72561e
}

@media(hover:hover) and (pointer:fine) {
    .header-actions .balance-pill:hover,.header-actions .topup-pill:hover {
        background:#ffffff0a;
        transform:none;
        box-shadow:none
    }
    .appearance-light .header-actions .balance-pill:hover,.appearance-light .header-actions .topup-pill:hover {
        background:#00000006
    }
}

@media(max-width:360px) {
    .app-header .logo {
        left:18px
    }
    .header-actions {
        right:18px
    }
    .header-actions .balance-pill {
        padding-inline:10px;
        font-size:11px
    }
}

@media(prefers-reduced-transparency:reduce) {
    .bottom-nav,.header-actions {
        background:#1b1d22;
        backdrop-filter:none;
        -webkit-backdrop-filter:none
    }
    .appearance-light .bottom-nav,.appearance-light .header-actions {
        background:#f6f4ed
    }
}

/* Menu appearance previews remain recognizable in either theme. */
.appearance-panel {
    margin-bottom:32px;
}
.appearance-heading {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}
.appearance-heading h3 {
    font-size:17px;
}
.appearance-heading p {
    color:var(--muted);
    font-size:11px;
}
.appearance-options {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.theme-option {
    padding:5px;
    min-width:0;
    border:1px solid var(--line);
    border-radius:19px;
    background:var(--surface);
    color:var(--text);
    text-align:left;
    transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease;
}
.theme-option[aria-pressed="true"] {
    border-color:var(--gold);
    box-shadow:0 0 0 1px var(--gold);
}
.theme-preview {
    position:relative;
    display:block;
    height:66px;
    border-radius:14px;
    overflow:hidden;
}
.theme-preview-light {
    background:radial-gradient(circle at 76% 25%,#fff 0 6px,#fff8 7px,transparent 30px),linear-gradient(145deg,#94d1f6,#e9f7ff);
}
.theme-preview-light::before {
    content:"";
    position:absolute;
    width:130px;
    height:60px;
    left:-12px;
    bottom:-14px;
    background:radial-gradient(ellipse at 25% 65%,#fff 0 22%,transparent 24%),radial-gradient(ellipse at 49% 43%,#fff 0 29%,transparent 31%),radial-gradient(ellipse at 77% 64%,#fff 0 26%,transparent 28%);
    filter:blur(1px);
}
.theme-preview-dark {
    background:radial-gradient(circle at 73% 27%,#ead6a4 0 8px,transparent 9px),radial-gradient(circle at 22% 30%,#f5e5be 0 1px,transparent 2px),radial-gradient(circle at 43% 66%,#f5e5be 0 1px,transparent 2px),radial-gradient(circle at 85% 76%,#f5e5be 0 1px,transparent 2px),linear-gradient(135deg,#1a2133,#0d1018);
}
.theme-option-copy {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    padding:12px 8px 8px;
}
.theme-option strong,.theme-option small {
    display:block;
}
.theme-option strong {
    font-size:13px;
}
.theme-option small {
    margin-top:5px;
    font-size:10px;
    color:var(--muted);
}
.theme-selected {
    display:grid;
    place-items:center;
    width:21px;
    height:21px;
    border-radius:50%;
    background:var(--gold);
    color:var(--bg);
    opacity:0;
    transition:opacity .2s ease;
}
.theme-selected svg {
    width:13px;
    height:13px;
}
.theme-option[aria-pressed="true"] .theme-selected {
    opacity:1;
}

/* Bright mode: open sky, soft cloud banks and floating white surfaces. */
.sky-atmosphere {
    display:none;
    position:fixed;
    inset:0;
    overflow:hidden;
    pointer-events:none;
    background:linear-gradient(180deg,#b8ddf5 0%,#dceffa 43%,#f0f9ff 100%);
}
.appearance-light {
    --bg:#dceffa;
    --surface:rgba(255,255,255,.85);
    --raised:#e3f1fb;
    --line:#bfd8e9;
    --text:#173a54;
    --muted:#3e5d73;
    --gold:#1b5e91;
    --gold-dark:#ddecf8;
    --green:#256b54;
    --red:#a23f4e;
    background:#dceffa;
    color:var(--text);
}
.appearance-light .sky-atmosphere {
    display:block;
    animation:sky-appear .45s ease both;
}
.appearance-light .workspace {
    position:relative;
    z-index:1;
}
.sky-sun {
    position:absolute;
    width:380px;
    height:380px;
    top:-115px;
    right:-120px;
    border-radius:50%;
    background:radial-gradient(circle,#fffefa .98%,#fffef1dd 8%,#fffbe97a 19%,#fff9e336 37%,transparent 68%);
}
.sky-cloud {
    position:absolute;
    width:420px;
    height:200px;
    background:radial-gradient(ellipse at 22% 66%,#ffffffde 0 22%,transparent 24%),radial-gradient(ellipse at 43% 43%,#fffffff2 0 27%,transparent 29%),radial-gradient(ellipse at 65% 54%,#ffffffeb 0 27%,transparent 29%),radial-gradient(ellipse at 80% 72%,#ffffffd9 0 20%,transparent 23%),radial-gradient(ellipse at 48% 78%,#ffffffed 0 36%,transparent 40%);
    filter:blur(8px);
}
.sky-cloud-high {
    top:90px;
    left:-190px;
    opacity:.86;
}
.sky-cloud-middle {
    top:43%;
    right:-240px;
    transform:scale(1.25);
    opacity:.7;
}
.sky-cloud-low {
    bottom:-85px;
    left:-70px;
    width:600px;
    height:280px;
    opacity:.8;
    filter:blur(14px);
}
.appearance-light .phone {
    background:transparent;
    border-color:#ffffffb3;
    box-shadow:0 24px 80px #467ba526;
}
.appearance-light .prototype-bar {
    border-color:#6e9db51a;
}
.appearance-light .prototype-bar span {
    color:var(--muted);
}
.appearance-light .card,.appearance-light .list,.appearance-light .theme-option {
    border-color:#fffffff0;
    box-shadow:0 10px 28px #3d7eae0e,inset 0 1px 0 #fff;
}
.appearance-light .theme-option[aria-pressed="true"] {
    border-color:var(--gold);
    box-shadow:0 0 0 1px var(--gold),0 8px 20px #3d7eae12;
}
.appearance-light .header-actions {
    background:rgba(255,255,255,.72);
    border-color:#ffffffd9;
    box-shadow:0 5px 22px #467ba51a,inset 0 1px 0 #fff;
}
.appearance-light .header-actions .topup-pill {
    border-left-color:#42769a26;
}
.appearance-light .bottom-nav {
    background:rgba(248,253,255,.7);
    box-shadow:0 12px 36px #346d9b29;
    backdrop-filter:blur(22px) saturate(1.1);
    -webkit-backdrop-filter:blur(22px) saturate(1.1);
}
.appearance-light .bottom-nav a {
    color:#46677e;
}
.appearance-light .bottom-nav a.active {
    background:#b0d8f45c;
    color:#175b8c;
}
.appearance-light .btn.primary {
    background:linear-gradient(145deg,#2673aa,#215f90);
    border-color:#21699f;
    color:#fff;
    box-shadow:0 6px 18px #22699f26,inset 0 1px 0 #ffffff2e;
}
.appearance-light .live-art {
    background:linear-gradient(145deg,#f8fdff,#cee6f8);
}
.appearance-light .area-photo-banner,.appearance-light .game-card img {
    box-shadow:0 10px 24px #3d7eae24;
}
.appearance-light .game-tray {
    background:rgba(255,255,255,.95);
    border-color:#fff;
    box-shadow:0 8px 28px #346d9b29;
}
.appearance-light .modal {
    background:#f5fbff;
    box-shadow:0 28px 80px #153a5452;
}
.appearance-light .area-photo-empty {
    background:linear-gradient(135deg,#e9f7ff,#c7e4f8);
    color:var(--muted);
}
.appearance-light .studio-note {
    border-color:#90b3cc55;
}
@keyframes sky-appear {
    from{opacity:0}
    to{opacity:1}
}
@media(min-width:1100px) {
    .sky-sun {right:8%;top:-110px;width:600px;height:600px}
    .sky-cloud-high {left:10%;top:110px;transform:scale(1.4)}
    .sky-cloud-middle {right:2%;top:45%;transform:scale(1.7)}
    .sky-cloud-low {left:20%;width:900px}
}
@media(max-width:1099px) {
    .appearance-light .phone {box-shadow:none}
}
@media(prefers-reduced-transparency:reduce) {
    .appearance-light {--surface:#fff}
    .appearance-light .bottom-nav,.appearance-light .header-actions,.appearance-light .game-tray {
        background:#f6fbff;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
    }
}

/* Account actions float above the glass; the logo fades beneath it. */
.account-menu-open {
    overflow:hidden;
}
.account-backdrop {
    position:fixed;
    inset:0;
    z-index:1;
    background:rgba(16,18,23,.62);
    backdrop-filter:blur(18px) saturate(.85);
    -webkit-backdrop-filter:blur(18px) saturate(.85);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
}
.account-backdrop[hidden] {
    display:none;
}
.account-backdrop.is-open {
    opacity:1;
    pointer-events:auto;
}
.app-header .logo {
    z-index:0;
}
.header-actions {
    z-index:2;
}
.header-actions.has-account-menu {
    border:0;
    background:none;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.user-trigger {
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(23,25,30,.76);
    color:var(--text);
    font-size:12px;
    box-shadow:0 4px 16px #0002;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.user-trigger>svg {
    width:19px;
    height:19px;
    color:var(--gold);
}
.wallet-trigger {
    display:flex;
    align-items:center;
    gap:8px;
    height:44px;
    max-width:100%;
    min-width:0;
    padding:0 14px;
    border:0;
    border-radius:999px;
    background:rgba(23,25,30,.76);
    color:var(--text);
    font-size:12px;
    font-variant-numeric:tabular-nums;
    box-shadow:0 4px 16px #0002;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.wallet-trigger strong {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.wallet-trigger>svg {
    width:16px;
    height:16px;
    color:var(--gold);
}
.account-options {
    position:absolute;
    top:calc(100% + 24px);
    right:0;
    width:204px;
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:4px;
    opacity:0;
    pointer-events:none;
    transition:opacity .16s ease;
}
.account-options[hidden] {
    display:none;
}
.account-options.is-open {
    opacity:1;
    pointer-events:auto;
}
.account-action {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    width:100%;
    min-height:44px;
    padding:4px 0;
    border:0;
    border-radius:0;
    background:none;
    color:var(--text);
    font-size:15px;
    font-weight:500;
    box-shadow:none;
}
.account-action>span:first-child {
    flex:1;
    text-align:right;
}
.account-action-icon {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    flex-shrink:0;
    border-radius:50%;
    background:var(--text);
    color:var(--bg);
    transition:transform .25s var(--motion-ease);
}
.account-action-icon svg {
    width:18px;
    height:18px;
}
.account-options.is-open .account-action {
    animation:account-action-float .38s var(--motion-ease) both;
}
.account-options.is-open .account-action:nth-child(2) {
    animation-delay:65ms;
}
.account-options.is-open .account-action:nth-child(3) {
    animation-delay:130ms;
}
.appearance-light .user-trigger,.appearance-light .wallet-trigger {
    background:rgba(255,255,255,.78);
    box-shadow:0 5px 22px #467ba51a;
}
.appearance-light .account-backdrop {
    background:rgba(231,244,252,.56);
}
.account-action:focus-visible .account-action-icon {
    transform:translateX(-6px);
}
@keyframes account-action-float {
    from {opacity:0;transform:translateY(-16px) scale(.94)}
    to {opacity:1;transform:translateY(0) scale(1)}
}
@media(hover:hover) and (pointer:fine) {
    .user-trigger:hover,.wallet-trigger:hover {background:#292d33}
    .account-action:hover .account-action-icon {transform:translateX(-6px)}
    .appearance-light .user-trigger:hover,.appearance-light .wallet-trigger:hover {background:#fff}
}
@media(prefers-reduced-transparency:reduce) {
    .user-trigger,.wallet-trigger {background:#202329;backdrop-filter:none;-webkit-backdrop-filter:none}
    .appearance-light .user-trigger,.appearance-light .wallet-trigger {background:#fff}
    .account-backdrop {background:#101217;backdrop-filter:none;-webkit-backdrop-filter:none}
    .appearance-light .account-backdrop {background:#e7f4fc}
}

/* A single photographic welcome, with current conditions for the chosen place. */
.home-opening .home-location-hero {
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:286px;
    padding:22px 20px 10px;
    isolation:isolate;
    color:#fff;
    background:#253c50;
}
.home-location-hero .area-photo-image { position:absolute; inset:0; z-index:-2; }
.area-photo-shade {
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(180deg,#07111be0 0%,#07111b38 42%,#07111bc7 76%,#07111be8 100%),linear-gradient(90deg,#07111b40,transparent 75%);
}
.home-location-hero .home-greeting > p { color:#e1e8ee; font-size:10px; margin-bottom:6px; }
.home-location-hero .home-greeting h2 { color:#fff; font-size:25px; line-height:1.2; letter-spacing:-.7px; text-wrap:pretty; }
.home-local-weather { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:auto; padding-top:32px; }
.home-local-copy { min-width:0; }

/* Identity verification and face-login preview. */
.auth-social .identity-login-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; background:var(--surface); color:var(--gold); transition:transform .2s,background .2s; }
.auth-social .identity-login-icon svg { stroke:currentColor; fill:none; stroke-width:1.6; }
.auth-social .identity-login-icon:hover { transform:translateY(-2px); background:var(--raised); }
.identity-profile-card { display:flex; align-items:center; gap:12px; margin-bottom:16px; padding:16px; }
.identity-profile-card > span:nth-child(2) { min-width:0; flex:1; }
.identity-profile-card strong { display:block; font-size:13px; line-height:1.4; }
.identity-profile-card small { display:block; font-size:10px; color:var(--muted); margin-top:4px; }
.identity-profile-card > svg { width:12px; height:12px; flex:none; color:var(--muted); }
.identity-symbol { display:grid; place-items:center; width:40px; height:40px; border-radius:14px; background:var(--raised); color:var(--gold); flex:none; }
.identity-symbol svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; }
.identity-badge { display:inline-flex; align-items:center; align-self:flex-start; font-size:9px; line-height:1.5; color:var(--gold); padding:5px 8px; background:var(--raised); border-radius:999px; white-space:nowrap; }
.identity-profile-card .identity-badge { background:none; padding:0; align-self:center; }
.identity-page .auth-heading { margin-bottom:24px; }
.identity-status-card { position:relative; padding:22px; }
.identity-status-card > .identity-badge { position:absolute; right:20px; top:22px; }
.identity-status-card h3 { font-size:20px; line-height:1.3; letter-spacing:-.5px; margin-top:20px; }
.identity-status-card p,.identity-face-setting p,.identity-setup p { font-size:12px; color:var(--muted); line-height:1.7; margin:10px 0 0; }
.identity-steps { list-style:none; display:flex; justify-content:space-between; gap:12px; margin:24px 0 0; padding:18px 0 0; border-top:1px solid var(--line); }
.identity-steps li { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:10px; }
.identity-steps li span { color:var(--gold); font-size:15px; font-variant-numeric:tabular-nums; }
.identity-receipt { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.identity-receipt strong { color:var(--text); font-weight:500; }
.identity-face-setting { margin-top:16px; }
.identity-face-setting h3 { margin-top:16px; font-size:17px; }
.identity-face-setting .btn { margin-top:20px; }
.identity-demo-note { font-size:9px; line-height:1.7; text-align:center; color:var(--muted); margin-top:20px; }
.identity-demo-controls { margin:20px 0 0; padding:16px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.identity-demo-controls summary { cursor:pointer; min-height:32px; }
.identity-review-actions { display:grid; gap:10px; margin-top:14px; }
.identity-start-form .consent { font-size:11px; line-height:1.7; margin:18px 0 24px; }
.identity-start-form .consent input { flex:none; }
.identity-setup { margin-top:20px; text-align:center; }
.identity-setup h3 { font-size:16px; }
.identity-setup .btn { margin-top:20px; }
.identity-scanner { position:relative; width:176px; height:206px; margin:24px auto; border-radius:28px; background:radial-gradient(ellipse at 50% 35%,var(--raised),var(--surface)); overflow:hidden; }
.identity-face { position:absolute; inset:10px; border:1px solid var(--line); border-radius:48%; overflow:hidden; }
.identity-face svg { width:100%; height:100%; stroke:var(--gold); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:.7; }
.identity-scan-corner { position:absolute; width:26px; height:26px; border:2px solid var(--gold); opacity:.85; }
.corner-a { top:14px; left:18px; border-right:0; border-bottom:0; border-top-left-radius:16px; }
.corner-b { top:14px; right:18px; border-left:0; border-bottom:0; border-top-right-radius:16px; }
.corner-c { bottom:14px; left:18px; border-right:0; border-top:0; border-bottom-left-radius:16px; }
.corner-d { bottom:14px; right:18px; border-left:0; border-top:0; border-bottom-right-radius:16px; }
.identity-scan-line { display:none; position:absolute; left:14px; right:14px; height:2px; top:32px; background:var(--gold); box-shadow:0 0 18px var(--gold); opacity:.75; }
.is-scanning .identity-scan-line { display:block; animation:identity-sweep 1.2s ease-in-out infinite alternate; }
.identity-scan-status { text-align:center; font-size:14px; color:var(--gold); margin:16px 0; }
.identity-stage { color:var(--gold); text-transform:uppercase; letter-spacing:1.2px; font-size:9px; margin:14px 0; }
.identity-modal-actions { margin-top:24px; display:grid; gap:10px; }
.identity-document { padding:20px; margin:24px 0; border:1px solid var(--line); border-radius:18px; background:linear-gradient(140deg,var(--raised),var(--surface)); transform:rotate(-2deg); }
.identity-document .spread { font-size:13px; color:var(--gold); }
.identity-document .spread > span { font-size:8px; letter-spacing:1.5px; color:var(--muted); }
.identity-document-body { display:flex; gap:18px; align-items:center; margin:20px 0; }
.identity-document-body > span { display:grid; place-items:center; width:56px; height:64px; background:var(--surface); border-radius:10px; color:var(--muted); }
.identity-document-body svg { width:30px; height:30px; }
.identity-document-body > div { display:grid; gap:10px; flex:1; }
.identity-document-body i { display:block; height:5px; width:100%; background:var(--line); border-radius:6px; }
.identity-document-body i:last-child { width:60%; }
.identity-document > p { font-size:8px; color:var(--muted); }
.identity-result { display:grid; place-items:center; width:64px; height:64px; margin:24px auto; border:1px solid var(--line); border-radius:50%; color:var(--gold); background:var(--raised); }
.identity-result svg { width:26px; height:26px; }
@keyframes identity-sweep { to { transform:translateY(140px); } }
@media(max-width:360px) {
    .identity-profile-card { gap:8px; padding:14px; flex-wrap:wrap; }
    .identity-profile-card .identity-symbol { width:32px; height:32px; border-radius:11px; }
    .identity-profile-card strong { font-size:12px; }
    .identity-profile-card .identity-badge { font-size:8px; }
    .identity-scanner { width:152px; height:180px; margin:20px auto; }
    .auth-social .identity-login-icon { width:46px; height:46px; }
}
@media(prefers-reduced-motion:reduce) {
    .is-scanning .identity-scan-line { animation:none; top:50%; }
    .auth-social .identity-login-icon { transition:none; }
}
.home-location-hero .area-photo-change { position:static; display:flex; align-items:center; justify-content:flex-start; gap:7px; width:auto; max-width:100%; min-height:32px; padding:0; border:0; border-radius:4px; background:none; color:#fff; font-size:12px; font-weight:500; line-height:1.4; text-align:left; }
.home-location-hero .area-photo-change svg { width:12px; height:12px; opacity:.8; }
.home-weather-condition { display:flex; align-items:center; gap:7px; color:#f1f5f8; font-size:12px; line-height:1.5; }
.home-weather-condition svg { width:20px; height:20px; flex:none; stroke-width:1.5; }
.home-weather-temperature { flex:none; color:#fff; font-size:42px; font-weight:500; letter-spacing:-1.8px; line-height:1; white-space:nowrap; font-variant-numeric:tabular-nums; }
.home-weather-temperature > span { display:inline-block; font-size:15px; font-weight:400; letter-spacing:0; margin-left:3px; vertical-align:top; line-height:1.8; }
.home-photo-sources { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 12px; margin-top:14px; padding-top:3px; border-top:1px solid #ffffff24; color:#d8e2ea; font-size:8px; line-height:1.5; }
.home-photo-sources a,.home-photo-sources button { display:flex; align-items:center; min-height:30px; color:inherit; }
.home-photo-sources button { background:none; border:0; padding:4px 0 4px 8px; font-size:inherit; }
.home-photo-sources a:hover,.home-photo-sources button:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.home-photo-message,.home-photo-fallback { color:#e1e8ee; font-size:9px; line-height:1.5; margin-top:10px; }
.home-weather-retry { border:1px solid #ffffff60; border-radius:999px; background:#101a2380; color:#fff; padding:8px 12px; min-height:36px; font-size:11px; }
.home-photo-retry { align-self:flex-start; margin-top:8px; }
.auth-page { padding:12px 0 6px; }
.auth-heading { margin:0 0 28px; }
.auth-heading .eyebrow { margin-bottom:12px; }
.auth-heading h2 { font-size:29px; font-weight:600; line-height:1.15; letter-spacing:-1px; max-width:300px; }
.auth-heading > p:last-child { color:var(--muted); font-size:13px; line-height:1.6; margin-top:12px; }
.auth-methods { display:flex; gap:4px; width:100%; border-radius:999px; padding:4px; background:var(--surface); margin-bottom:24px; }
.auth-methods .chip { flex:1; border:0; min-height:40px; display:flex; align-items:center; justify-content:center; padding:8px 14px; background:transparent; color:var(--muted); }
.auth-methods .chip.active { background:var(--raised); color:var(--text); box-shadow:0 2px 6px #0000000c; }
.auth-page .field { margin:18px 0; }
.auth-page .field > span { margin-bottom:8px; }
.auth-page input { min-height:52px; background:var(--surface); }
.auth-password-step { animation:auth-step-in .28s ease-out both; }
.auth-forgot { display:flex; justify-content:flex-end; margin:-6px 0 18px; }
.auth-forgot .text-btn { min-height:32px; padding:4px 0; font-size:11px; }
.auth-submit { margin-top:8px; min-height:50px; }
.auth-page .consent { margin:20px 0; font-size:11px; line-height:1.7; }
.auth-page .consent input { min-height:20px; flex:none; }
.auth-divider { display:flex; align-items:center; gap:14px; margin:26px 0 16px; color:var(--muted); font-size:10px; }
.auth-divider::before,.auth-divider::after { content:''; flex:1; height:1px; background:var(--line); opacity:.65; }
.auth-social { display:flex; justify-content:center; gap:16px; }
.auth-social button { display:grid; place-items:center; width:50px; height:50px; border:0; border-radius:50%; background:var(--surface); box-shadow:0 3px 12px #0000000a; transition:background .2s,transform .2s,box-shadow .2s; }
.auth-social button:hover { background:var(--raised); transform:translateY(-2px); box-shadow:0 6px 16px #00000016; }
.auth-social svg { width:24px; height:24px; stroke:none; }
.auth-switch { text-align:center; color:var(--muted); font-size:12px; margin-top:24px; line-height:1.8; }
.auth-switch a { color:var(--gold); font-weight:600; margin-left:4px; display:inline-block; min-height:32px; }
.auth-demo-note { text-align:center; font-size:9px; color:var(--muted); margin-top:10px; }
.profile-identity { display:flex; align-items:center; gap:14px; margin:-12px 0 24px; min-width:0; }
.profile-identity > div:last-child { min-width:0; }
.profile-identity strong { font-size:15px; }
.profile-identity p { color:var(--muted); font-size:11px; margin-top:5px; overflow-wrap:anywhere; }
.profile-identity .avatar { flex:none; }
.profile-identity svg { width:24px; height:24px; }
.profile-completion { padding:20px; }
.profile-completion h3 { font-size:16px; letter-spacing:-.3px; }
.profile-completion .eyebrow { font-size:9px; margin-bottom:6px; }
.profile-percent { font-size:30px; font-weight:500; letter-spacing:-1px; color:var(--gold); }
.profile-percent > span { font-size:14px; margin-left:2px; }
.profile-completion progress { display:block; appearance:none; -webkit-appearance:none; width:100%; height:5px; border:0; border-radius:10px; overflow:hidden; background:var(--raised); margin:18px 0 12px; accent-color:var(--gold); }
.profile-completion progress::-webkit-progress-bar { background:var(--raised); border-radius:10px; }
.profile-completion progress::-webkit-progress-value { background:var(--gold); border-radius:10px; transition:width .4s ease; }
.profile-completion progress::-moz-progress-bar { background:var(--gold); border-radius:10px; }
.profile-completion > .small { line-height:1.6; font-size:11px; }
.profile-checklist { list-style:none; padding:0; margin:16px 0 0; }
.profile-checklist a { display:flex; align-items:center; gap:10px; min-height:44px; font-size:12px; border-top:1px solid var(--line); }
.profile-check { width:22px; height:22px; display:grid; place-items:center; flex:none; background:var(--raised); color:var(--muted); border-radius:50%; }
.profile-check svg { width:12px; height:12px; }
.is-complete .profile-check { color:var(--gold); }
.profile-check-status { margin-left:auto; display:flex; align-items:center; gap:4px; color:var(--gold); font-size:10px; }
.is-complete .profile-check-status { color:var(--muted); }
.profile-check-status svg { width:12px; height:12px; }
.profile-missing { padding-left:18px; color:var(--text); font-size:14px; line-height:2; margin:20px 0; }
.profile-form .field { margin:24px 0; }
.profile-holder { display:flex; flex-direction:column; gap:8px; padding:18px 0; margin-bottom:12px; border-top:1px solid var(--line); }
.profile-holder strong { font-size:13px; }
.profile-optional { margin-top:24px; border-top:1px solid var(--line); padding-top:16px; font-size:12px; color:var(--muted); }
.profile-optional summary { cursor:pointer; min-height:32px; }
@keyframes auth-step-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:360px) {
    .auth-page { padding-top:4px; }
    .auth-heading h2 { font-size:26px; }
    .auth-heading { margin-bottom:20px; }
    .auth-heading > p:last-child { margin-top:8px; }
    .auth-methods { margin-bottom:18px; }
    .auth-page .field { margin:14px 0; }
    .auth-page input { min-height:48px; }
    .auth-page .consent { margin:16px 0; }
    .auth-divider { margin-top:18px; margin-bottom:12px; }
    .auth-social button { width:46px; height:46px; }
    .profile-completion { padding:16px; }
    .profile-completion h3 { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
    .auth-password-step { animation:none; }
    .auth-social button,.profile-completion progress::-webkit-progress-value { transition:none; }
}
.home-location-hero button:focus-visible,.home-location-hero a:focus-visible { outline-color:#fff; }
@media(max-width:360px), (max-height:740px) and (max-width:1099px) {
    .home-opening .home-location-hero { min-height:264px; padding:20px 16px 8px; }
    .home-location-hero .home-greeting h2 { font-size:23px; }
    .home-local-weather { gap:12px; padding-top:28px; }
    .home-weather-temperature { font-size:38px; }
    .home-weather-condition { font-size:11px; }
}
