:root{color-scheme:dark;--accent:#64ecd4;--gold:#ddc18a;--bg:#07171e;--muted:#91a6ad;--border:#24404a;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:#edf4f2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 5%,#183841 0,transparent 50%),#07171e;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#06202a;border-radius:10px;padding:12px 18px;font-weight:650;transition:transform .15s,filter .15s}button:hover{filter:brightness(1.1)}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:default}.secondary{background:#112831;color:#e7efed;border-color:#31525c}.danger{background:#713843;color:white;border-color:#d87580}.quiet{background:transparent;color:var(--muted);border-color:transparent;padding:8px 10px}input,textarea,select{width:100%;color:#edf4f2;background:#0b212b;border:1px solid #34515d;border-radius:8px;padding:11px 12px;margin-top:7px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{width:auto;margin:0 8px 0 0}input[type=color]{height:45px;padding:4px}textarea{min-height:88px}label{display:block;font-size:13px;color:#b4c6ca;margin:14px 0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,46px);font-weight:500;letter-spacing:-1px}h2{font-weight:550;letter-spacing:-.5px}h3{font-weight:550}p{line-height:1.6;color:var(--muted)}small,.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:650;letter-spacing:2.5px;color:var(--gold);margin-bottom:12px}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:8px;color:#eddbb6}.brand span{letter-spacing:2px;font:10px Segoe UI,sans-serif;display:block;margin-top:10px;color:#9db7bd}.layout{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{padding:38px 24px;position:sticky;top:0;height:100vh;background:#06151bd9;border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar .brand{margin-bottom:44px}.nav{display:grid;gap:9px}.nav button{text-align:left;border:1px solid transparent;background:transparent;color:#8ea8ad;padding:14px}.nav button.active{background:#14352f;color:var(--accent);border-color:#33594e}.icon{font-size:19px;margin-right:12px;display:inline-block;width:23px}.sidebarfooter{margin-top:auto;padding-top:40px;color:#78939a;font-size:12px;line-height:1.6}.shell{padding:27px 42px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;gap:12px}.accountchip{display:flex;align-items:center;gap:10px;color:#b2c9cc;font-size:13px}.avatar{border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:#294a49;color:var(--gold);border:1px solid #738b75}.mode{font-size:10px;font-weight:700;letter-spacing:1px;border:1px solid #6d6244;border-radius:20px;padding:7px 10px;color:#e4c783}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--border);border-radius:17px;background:linear-gradient(145deg,#102831dc,#0b1e27dc);padding:23px}.wide{grid-column:1/-1}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.stretch{align-items:stretch}.pill{display:inline-block;font-size:10px;border:1px solid #3a5a60;border-radius:30px;padding:6px 10px;color:var(--accent);letter-spacing:.4px}.warm{color:var(--gold);border-color:#6f6243}.stat{font:32px Georgia,serif;color:#e9e5d5}.stat small{display:block;font:10px Segoe UI,sans-serif;letter-spacing:1.5px;margin-top:7px}.sectionhead{margin:12px 0 25px}.sectionhead p{max-width:650px;font-size:14px}.playgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:22px}.playcard{padding:0;overflow:hidden;position:relative;border-color:#46685f}.playtitle{position:absolute;inset:22px 25px auto;z-index:2}.skyline{height:360px;position:relative;background:radial-gradient(ellipse at 50% 70%,#399b9a44,transparent 65%),url('/city.svg') center 40%/cover}.skyline:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#0a202900 55%,#0a2029 100%);pointer-events:none}.wheelbox{position:absolute;inset:auto 0 20px;height:225px;display:grid;place-items:center;z-index:1}.wheel{position:relative;display:grid;place-items:center;width:196px;height:196px;border:1px solid var(--accent);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 26px,#7ddfc428 27px 28px),radial-gradient(circle,#16dbc326,transparent 65%);box-shadow:0 0 30px #62dfc72a,inset 0 0 25px #62dfc71c}.wheel:before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 280deg,var(--accent) 359deg,transparent 360deg);mask:radial-gradient(circle,transparent 0 10px,black 11px);opacity:.55;animation:rotate 5s linear infinite}.wheel:after{content:'';position:absolute;inset:-13px;border:1px dashed #91e5d867;border-radius:50%;animation:rotate 35s linear infinite reverse}.core{height:65px;width:65px;border:1px solid var(--accent);border-radius:50%;background:radial-gradient(circle,#beeade,#0b4d58 40%,#0b2833 70%);box-shadow:0 0 28px var(--accent);display:grid;place-items:center;font:32px Georgia;color:white;z-index:1}.wheel.boost:before{animation-duration:.6s}.resting .wheel:before,.resting .wheel:after{animation-play-state:paused}.playbottom{padding:10px 25px 25px;background:#0a2029}.tapbutton{display:block;width:100%;padding:17px;border-radius:12px;border:1px solid var(--accent);background:linear-gradient(#194c4d,#12383d);color:var(--accent);letter-spacing:2px;font-size:15px;box-shadow:inset 0 0 18px #43dfb918;touch-action:manipulation;user-select:none}.bar{height:7px;background:#263c48;border-radius:20px;overflow:hidden;margin:10px 0 16px}.bar>span{height:100%;display:block;background:var(--accent);box-shadow:0 0 12px var(--accent);border-radius:20px;transition:width .3s}.metricrow{display:flex;justify-content:space-between;font-size:11px;color:#a2bec0}.pointnumber{font:36px Georgia;color:var(--accent)}.sidecol{display:grid;align-content:start;gap:17px}.miniart{height:125px;background:url('/city.svg') center 55%/cover;border-radius:11px;margin-bottom:17px;position:relative}.citycard{padding:0;overflow:hidden}.cityart{height:160px;background:linear-gradient(transparent,#0e2730),url('/city.svg') center/cover;position:relative}.cityart .citynumber{position:absolute;left:18px;top:16px;font:14px Georgia;color:#e8dfc6;border:1px solid #bfb2856e;padding:7px 10px;border-radius:6px;background:#0a1e26b3}.citybody{padding:20px}.citybody h3{margin-bottom:8px}.citybody p{font-size:12px;min-height:36px}.cityterms{display:flex;justify-content:space-between;margin:17px 0;font-size:12px;color:#d3d8cc}.citybody button{width:100%}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th,td{padding:14px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:500}td small{display:block;margin-top:5px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tabs button{padding:9px 14px}.empty{padding:30px 8px;text-align:center;color:var(--muted)}.notice{border:1px solid #6a6244;border-radius:10px;padding:13px 16px;font-size:12px;line-height:1.6;color:#d7cda9;background:#3e392621;margin-bottom:20px}.auth{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh}.authart{position:relative;background:linear-gradient(#06182211,#061822),url('/city.svg') center/cover;display:flex;flex-direction:column;justify-content:space-between;padding:55px}.authart h1{font:64px Georgia;max-width:400px;color:#efdfb8;line-height:1.1}.authform{max-width:460px;width:100%;margin:auto;padding:35px}.authform h2{font:36px Georgia}.authform button[type=submit]{width:100%;margin-top:14px}.authform p{font-size:13px}.buttonlink{border:0;background:none;color:var(--accent);padding:5px}.stack>*+*{margin-top:14px}#notice{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#163a35;border:1px solid #568d78;color:#eef3ed;max-width:min(90vw,650px);padding:14px 20px;border-radius:11px;z-index:50;display:none;box-shadow:0 10px 45px #0006;font-size:13px}#notice.error{background:#492932;border-color:#b86b7a}dialog{background:#0d2630;color:#e8efeb;border:1px solid #5e7d73;border-radius:17px;padding:26px;width:min(92vw,540px);max-height:90vh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font:28px Georgia}.loading{display:grid;place-content:center;height:100vh;text-align:center;font:32px Georgia;letter-spacing:8px;color:var(--gold)}.loading small{font:12px Segoe UI;letter-spacing:1px;margin-top:15px}.positive{color:var(--accent)}.negative{color:#f4b4a0}.flash{animation:flash .4s ease-out}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes flash{50%{filter:brightness(1.8)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1100px){.shell{padding:25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:35px 18px}.brand{font-size:25px;letter-spacing:5px}.playgrid{grid-template-columns:1fr}.sidecol{grid-template-columns:1fr 1fr}.authart{padding:35px}}@media(max-width:720px){.layout{display:block}.sidebar{height:auto;padding:0;border:0;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:20;background:#071b23f2;backdrop-filter:blur(15px)}.sidebar .brand,.sidebarfooter{display:none}.nav{display:flex;gap:0;justify-content:space-around}.nav button{text-align:center;flex:1;font-size:10px;padding:12px 2px;border-radius:0}.nav .icon{display:block;margin:0 auto 5px;font-size:18px}.shell{padding:18px 15px 100px}.topbar{padding-bottom:20px}.topbar .eyebrow{font-size:9px}.accountchip .username{display:none}.grid,.two{grid-template-columns:1fr}.sidecol{grid-template-columns:1fr}.skyline{height:365px}.auth{display:block}.authart{min-height:260px;padding:30px}.authart h1{font-size:38px;margin:30px 0 0}.authart .brand{font-size:23px}.authform{padding:28px}.stat{font-size:28px}.card{padding:20px}.playcard,.citycard{padding:0}.cityart{height:180px}#notice{bottom:95px}.mode{font-size:9px}.topbar button{padding:8px}.sectionhead h1{font-size:32px}}

/* PULSE CINEMATIC VISUAL UPDATE V1 — styles and artwork only */
:root{--city-atlas:url("/cities.png")}
:root{--bg:#06101e;--muted:#96adbc;--gold:#e8cc92;--border:#304658}body{background:radial-gradient(ellipse at 55% 0%,#17345399,transparent 65%),linear-gradient(130deg,#06101b,#091a2b 60%,#07121c)}.sidebar{background:linear-gradient(180deg,#091422f5,#050d18f2);border-right-color:#8b78582e}.sidebar .brand{font-size:30px;text-shadow:0 0 22px #c79d4a35}.sidebarfooter{border-top:1px solid #b99d5c22;padding-top:24px}.nav button.active{background:linear-gradient(90deg,#143c44,#102c3b);border-color:#6dd7c54a;box-shadow:inset 3px 0 0 var(--accent)}.shell{padding-top:22px;max-width:1480px}.topbar{padding-bottom:20px;border-bottom:1px solid #ab946329;margin-bottom:24px}.sectionhead{margin:0 0 22px}.sectionhead h1{font-family:Georgia,serif;font-size:38px;color:#f0e5cf;margin-bottom:11px}.sectionhead p{font-size:13px;max-width:750px;margin-bottom:0}.playgrid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.85fr);gap:23px}.card{border-color:#917b4e4a;background:linear-gradient(145deg,#102238ef,#091624f5);box-shadow:0 12px 30px #02091555}.playcard{border-radius:20px;border:1px solid #cfac697a;box-shadow:0 22px 70px #0006,inset 0 0 0 1px #efc57d0d;overflow:hidden}.skyline{height:520px;background-position:center 52%;background-size:cover;background-color:#081729}.skyline:after{background:linear-gradient(180deg,#061323b3 0%,#06132322 28%,#06132300 56%,#09172422 76%,#091724 100%)}.playtitle{inset:22px 25px auto;align-items:flex-start;gap:15px;text-shadow:0 2px 14px #000}.playtitle h2{font:27px Georgia;color:#f4e4c4;letter-spacing:.3px}.playtitle small{color:#c4d3d6;font-size:10px}.playtitle>div:last-child{border:1px solid #84cbbc55;background:linear-gradient(130deg,#102d43c9,#051827dd);border-radius:13px;padding:12px 15px;backdrop-filter:blur(12px);box-shadow:inset 0 0 18px #63dcc20a;min-width:150px}.pointnumber{font-size:34px;text-shadow:0 0 20px #74eddc66}.wheelbox{height:260px;bottom:42px;isolation:isolate}.wheelbox:before{content:'';position:absolute;bottom:-12px;width:300px;height:85px;border:1px solid #f8d08588;border-radius:50%;background:radial-gradient(ellipse,#62e7d122,#0b324612 60%,#e1b06a2b 70%,transparent 74%);box-shadow:0 0 35px #43cbbf21,inset 0 0 15px #f9dc9a22;transform:perspective(300px) rotateX(8deg);pointer-events:none}.wheel{padding:0;width:235px;height:235px;border:2px solid #d9b86d;border-radius:50%;box-shadow:0 0 0 4px #102f3b,0 0 0 6px #b89a5b70,0 0 40px #4aecd944,inset 0 0 35px #4bd3b055;background:repeating-radial-gradient(circle,transparent 0 28px,#75d4c52d 29px 30px),radial-gradient(circle,#49b9bf22,#06263199 55%,#072331c9);backdrop-filter:blur(1px);color:white;filter:none!important}.wheel:after{inset:-16px;border-color:#cbb271bb;border-style:dashed;box-shadow:0 0 0 5px #092b36,0 0 0 6px #d1ba6c40}.wheel:before{opacity:.6}.core{height:87px;width:87px;background:radial-gradient(circle at 35% 30%,#defff1,#66d8de 12%,#0c6f83 30%,#0a3049 58%,#020f21 73%);border:2px solid #b8fff2;box-shadow:0 0 12px #d6fff7,0 0 37px var(--accent),inset 0 0 18px #88eee8;position:relative;text-shadow:0 0 15px white;font-size:40px}.core:after{content:'';position:absolute;inset:8px;border:1px solid #a2fcf378;border-radius:47% 53% 49% 51%;animation:rotate 7s linear infinite}.tap-float{position:absolute;top:15%;left:50%;font:700 27px Georgia;color:#bffff0;text-shadow:0 0 18px #0dfbd3;pointer-events:none;z-index:5;animation:floatpoint .9s ease-out forwards}.playbottom{padding:0 25px 22px;background:linear-gradient(#091724,#0a1725)}.tapbutton{position:relative;background:linear-gradient(110deg,#104d59,#0b3344 55%,#12524f);border:1px solid #9bf0d5;border-radius:13px;color:#d6fff1;padding:18px;font:600 17px Georgia;letter-spacing:2px;box-shadow:0 0 0 4px #15485855,inset 0 0 24px #60f7d51c,0 0 23px #1fd7ad20}.metricrow{font-size:10px;letter-spacing:1px;color:#b8c9d1}.bar{height:8px;border:1px solid #405b68;background:#0a1726;box-shadow:inset 0 2px 5px #0008}.bar>span{background:linear-gradient(90deg,#259d9a,#a9fce2);box-shadow:0 0 10px #8cf8dd}.sidecol{gap:20px}.sidecol .card{padding:21px}.sidecol .card h2{font:25px Georgia;color:#f0e5d0}.sidecol .card p{font-size:12px;line-height:1.7}.miniart{height:185px;background-position:center;background-size:cover;border:1px solid #b89b5766;box-shadow:inset 0 -20px 35px #061422;border-radius:12px}.citycard{border-color:#967b4c77;transition:transform .2s,box-shadow .2s}.citycard:hover{transform:translateY(-4px);box-shadow:0 15px 36px #0008,0 0 20px #b5974920}.cityart{height:205px;background-size:cover;filter:none;border-bottom:1px solid #c8ab6555}.cityart:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#091624cc)}.cityart .citynumber{z-index:1;background:#061426b8;color:#ffedc7;border-color:#c7aa6f88;backdrop-filter:blur(7px);letter-spacing:1px}.citybody{padding:20px;background:linear-gradient(#102139,#091723)}.citybody h3{font:23px Georgia;color:#f1e1c0}.citybody p{min-height:30px;line-height:1.5}.cityterms{padding:12px 0;border-top:1px solid #997e453d;color:#e8c988}.authart{background-image:linear-gradient(#06132222,#061322aa),url('/city.svg');background-position:center;background-size:cover}.authart h1{text-shadow:0 5px 35px #000b;color:#f5e4bf}.authform h2{color:#f0e4cb}.authform{max-width:490px}.avatar{background:linear-gradient(140deg,#274859,#13383a);border-color:#d0b57780;color:#f1d298}.pill.warm{background:#9f7d2822;border-color:#c1a05680}.notice{background:#76603215}.mode{background:#8e68251c}.loading{background:#071522}dialog{box-shadow:0 20px 80px #000a;background:linear-gradient(#132b40,#0a1726);border-color:#c0a26177}#notice{background:#103c3e;backdrop-filter:blur(10px)}@keyframes floatpoint{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-70px) scale(1.15)}}@media(min-width:1500px){.skyline{height:550px}}@media(max-width:1100px){.playgrid{grid-template-columns:minmax(0,1fr)}.sidecol{grid-template-columns:1fr 1fr}.miniart{height:170px}.skyline{height:500px}.sectionhead h1{font-size:34px}}@media(max-width:720px){.shell{padding:14px 13px 100px}.topbar{margin-bottom:18px;padding-bottom:14px}.topbar .muted{font-size:11px}.sectionhead{margin-bottom:18px}.sectionhead .eyebrow{font-size:9px;margin-bottom:8px}.sectionhead h1{font-size:28px;line-height:1.15}.sectionhead p{font-size:11px;line-height:1.5}.playgrid{gap:18px}.skyline{height:425px;background-position:center 48%}.playtitle{inset:18px 16px auto;gap:7px}.playtitle h2{font-size:20px;max-width:155px}.playtitle>div:last-child{min-width:112px;padding:9px}.playtitle small{font-size:8px}.pointnumber{font-size:27px}.playtitle .pill{font-size:8px}.wheelbox{bottom:33px;height:240px}.wheel{width:210px;height:210px}.core{width:78px;height:78px}.wheelbox:before{width:250px}.playbottom{padding:0 16px 18px}.tapbutton{padding:17px;font-size:16px}.metricrow{font-size:9px}.sidecol{grid-template-columns:1fr}.sidecol .card{padding:18px}.miniart{height:180px}.nav button.active{box-shadow:inset 0 2px 0 var(--accent)}.cityart{height:200px}.citybody h3{font-size:24px}.citybody p{font-size:12px}.authart{min-height:310px}.authart h1{font-size:38px}.topbar .mode{padding:6px 7px;font-size:8px}.accountchip{gap:7px}.topbar button{font-size:11px}.bar{margin-bottom:13px}}@media(prefers-reduced-motion:reduce){.tap-float{display:none}.citycard:hover{transform:none}}

.resting .core:after{animation-play-state:paused}
/* PULSE COSMOS — live, resolution-independent planet effects */
:root{--tap-tone:0deg;--city-atlas:url('/cities.png')}.cosmos{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 8% 12%,#305c6a 0,transparent 40%),radial-gradient(ellipse at 87% 78%,#5d385b 0,transparent 50%),linear-gradient(140deg,#101526,#24313f 45%,#302443)}.aurora{position:absolute;width:150vw;height:90vh;filter:blur(45px);opacity:.64;mix-blend-mode:screen;border-radius:50%;will-change:transform}.aurora.one{left:-40vw;top:-45vh;background:conic-gradient(from 80deg,#c48cdb00,#a3e3d75c,#d1a9e283,#f7cd9299,#a3e3d700);animation:auroraFloat 22s ease-in-out infinite alternate}.aurora.two{right:-65vw;bottom:-45vh;background:radial-gradient(ellipse,#85e5ca88,#ac8de962 30%,#efb29544 50%,transparent 67%);animation:auroraFloat 29s ease-in-out infinite alternate-reverse}.planet{position:absolute;width:clamp(450px,60vw,1000px);aspect-ratio:1;right:-18vw;top:6vh;border-radius:50%;background:radial-gradient(circle at 28% 24%,#fff3c833,#0000 35%,#171c3fa6 70%,#071124ee 89%),repeating-linear-gradient(163deg,#b68bba 0 9%,#f6d5ae 10% 13%,#bc8fa8 14% 18%,#cfbfe0 19% 23%,#8abbb9 24% 29%,#eed2b0 30% 35%,#a895c1 36% 42%);box-shadow:inset -80px -40px 110px #070d2eaf,inset 5px 10px 30px #ffedca88,0 0 80px #c0acec3b;transform:rotate(-14deg);animation:planetDrift 90s ease-in-out infinite alternate;opacity:.63;filter:hue-rotate(calc(var(--tap-tone) * .08))}.planet:after{content:'';position:absolute;width:142%;height:27%;left:-21%;top:34%;border-radius:50%;border:clamp(15px,4vw,55px) solid #d6e6e62b;border-top-color:#f1dbb74a;box-shadow:0 0 0 8px #e0c4e315,0 0 0 11px #ccdbd40d;transform:rotate(-20deg)}.moon{position:absolute;left:-8vw;bottom:-12vh;width:38vw;min-width:320px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 30%,#fff5d788,#0000 40%),radial-gradient(ellipse at 30% 55%,#806d9030 0 8%,transparent 9%),radial-gradient(ellipse at 64% 40%,#56788c40 0 12%,transparent 13%),linear-gradient(120deg,#b6d8d0,#597f96 50%,#1b3150);box-shadow:inset -45px -30px 90px #0a1432,0 0 90px #ade4dc35;opacity:.4;animation:moonDrift 55s ease-in-out infinite alternate}.stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 10% 20%,#fff2ce 95%,transparent),radial-gradient(2px 2px at 30% 72%,#e3eaff 95%,transparent),radial-gradient(1px 1px at 70% 10%,#e0f7f0 95%,transparent),radial-gradient(1px 1px at 85% 45%,#f3d4e9 95%,transparent);background-size:240px 260px,530px 440px,360px 470px,410px 320px;opacity:.6;animation:starlight 8s ease-in-out infinite alternate}.layout,.auth{position:relative;z-index:1}.sidebar{background:linear-gradient(180deg,#10232ac7,#1c1b35b8);backdrop-filter:blur(24px);align-self:start;margin:0;top:0}.shell{margin:0 auto}.card{background:linear-gradient(140deg,#23343cce,#25253fb5);backdrop-filter:blur(16px);border-color:#dfccae5c;box-shadow:0 14px 40px #0c102e3d,inset 0 1px 0 #ffe5c012}.topbar{border-bottom-color:#eed7b74f}.sectionhead h1{color:#fff0d9;text-shadow:0 3px 20px #191f3b80}.sectionhead p,.muted,p{color:#c3d0d7}.eyebrow{color:#f5d59f}.playcard{background:#112b3cc9}.sidecol .card{background:linear-gradient(145deg,#243e41c9,#392a4ebd)}.skyline:after{background:linear-gradient(180deg,#112a3b99,transparent 38%,transparent 70%,#172b3c 100%)}.playbottom{background:linear-gradient(#172b3c,#223246)}.cityart{height:250px;cursor:default;background-color:#263743}.cityart:after{pointer-events:none}.citybody{background:linear-gradient(#22333fe6,#2b2c43e0)}.city-preview{position:absolute;right:14px;top:14px;z-index:3;border:1px solid #fff2c080;background:#0a19327a;color:#fff2cd;border-radius:50%;width:38px;height:38px;padding:0;font-size:23px;backdrop-filter:blur(10px)}.city-full-preview{width:100%;height:min(60vh,500px);border-radius:13px;border:1px solid #efd6a877;margin:18px 0;background-repeat:no-repeat;background-color:#253647}dialog:has(.city-full-preview){width:min(94vw,1000px)}.miniart{background-color:#263743}.pointnumber{font-family:Consolas,Menlo,monospace;font-size:clamp(16px,1.6vw,26px);font-variant-numeric:tabular-nums;letter-spacing:.5px;white-space:nowrap}.playtitle>div:last-child{min-width:228px;background:linear-gradient(135deg,#1a4846de,#2c2b4dd9);border-color:#dcdfaf80}.tapbutton{background:linear-gradient(120deg,#318177a8,#375371c9,#705384a8);box-shadow:0 0 0 4px #eddeb217,inset 0 0 25px #b3f7df22,0 0 30px #b7a7ef26}.core{filter:hue-rotate(calc(var(--tap-tone) * .2));transition:filter .7s}.nav button.active{background:linear-gradient(110deg,#54888270,#644b7d55);color:#d6ffed}.mode{background:#41365380}.screen-ripple{position:fixed;width:24px;height:24px;transform:translate(-50%,-50%);border:2px solid var(--ripple-color);border-radius:50%;box-shadow:0 0 22px var(--ripple-color);pointer-events:none;z-index:40;animation:tapRipple 1s ease-out forwards}.authart{background-image:linear-gradient(#24415b11,#15283b80),url('/city.svg')}.authform{background:#162b3a88;border:1px solid #ead1ac38;border-radius:20px;backdrop-filter:blur(25px);box-shadow:0 20px 70px #11102c55}.notice{background:#b9a0761a;color:#eee1c3;border-color:#dac39660}dialog{background:linear-gradient(145deg,#25434b,#30304c);border-color:#e5c8ac88}input,textarea,select{background:#142c3ac4;border-color:#a1afb25e}#inviteLink{font-family:Consolas,monospace;font-size:12px}.resting .cosmos *{animation-play-state:paused!important}@keyframes auroraFloat{from{transform:translate3d(-4%,0,0) rotate(-8deg)}to{transform:translate3d(12%,8%,0) rotate(12deg)}}@keyframes planetDrift{from{transform:translate3d(0,-2%,0) rotate(-14deg)}to{transform:translate3d(-5%,5%,0) rotate(-9deg)}}@keyframes moonDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(7%,-5%,0)}}@keyframes starlight{from{opacity:.35}to{opacity:.8}}@keyframes tapRipple{from{opacity:.9;width:24px;height:24px}to{opacity:0;width:180px;height:180px}}@media(max-width:1100px){.cityart{height:240px}}@media(max-width:720px){.planet{right:-70vw;top:20vh;width:130vw;opacity:.5}.moon{left:-55vw;bottom:4vh;width:100vw}.aurora{opacity:.55}.sidebar{background:#172d3ae8}.playtitle{display:grid;grid-template-columns:1fr;gap:10px}.playtitle>div:last-child{min-width:0;width:max-content;max-width:100%;padding:9px 12px;text-align:left!important}.pointnumber{font-size:21px}.playtitle h2{max-width:none;margin:7px 0 4px!important}.playtitle small{font-size:9px}.skyline{height:500px}.wheelbox{bottom:30px}.cityart{height:225px}.authform{margin:0 auto;border:0;border-radius:0;background:#1b2d3a99}.authart{min-height:300px}}@media(prefers-reduced-motion:reduce){.cosmos *{animation:none!important}.screen-ripple{display:none}.core{transition:none}.planet{filter:none}}

.cosmos{filter:hue-rotate(var(--world-shift,0deg));transition:filter 1.5s ease}.flash{animation:counterGlow .4s ease-out}@keyframes counterGlow{50%{text-shadow:0 0 24px #d3fff1;transform:translateY(-1px)}}

/* Bioluminescent tidal atmosphere: no planet or moon elements. */
.cosmos{background:radial-gradient(ellipse at 15% 20%,#07565f 0,transparent 50%),radial-gradient(ellipse at 90% 75%,#4b216e 0,transparent 55%),#081a2c;overflow:hidden}
.tidal-wave{position:absolute;left:-30%;width:160%;height:70%;border-radius:45% 55% 42% 58%;pointer-events:none;will-change:transform;mix-blend-mode:screen;filter:blur(28px);opacity:.5;background:repeating-radial-gradient(ellipse at 45% 100%,transparent 0 8%,#26efd7aa 9%,#67aaff66 12%,transparent 16% 24%);animation:tidalFlow 24s ease-in-out infinite alternate}
.wave-a{top:-20%}.wave-b{bottom:-30%;animation-duration:31s;animation-delay:-13s;background:repeating-radial-gradient(ellipse at 70% 0%,transparent 0 10%,#9661efaa 12%,#e476dd66 15%,transparent 20% 29%)}
.wave-c{top:30%;opacity:.23;animation-duration:38s;animation-delay:-19s;filter:blur(45px);transform:rotate(-20deg)}
.glow-dust{position:absolute;inset:-15%;background-image:radial-gradient(circle,#86ffe2 1px,transparent 2px),radial-gradient(circle,#d9b3ff 1px,transparent 2px);background-size:89px 127px,151px 173px;opacity:.32;animation:glowDrift 35s linear infinite}
@keyframes tidalFlow{0%{transform:translate3d(-5%,-8%,0) rotate(-8deg) scale(1)}50%{transform:translate3d(8%,6%,0) rotate(4deg) scale(1.12)}100%{transform:translate3d(-2%,13%,0) rotate(12deg) scale(1.02)}}
@keyframes glowDrift{to{transform:translate3d(55px,-100px,0)}}
.resting .tidal-wave,.resting .glow-dust{animation-play-state:paused}
.tabs{flex-wrap:wrap}.tabs button{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.tidal-wave,.glow-dust{animation:none}}
/* Living Realms are browser-drawn scenes, with accessible motion controls. */
.living-realm{position:relative;isolation:isolate;overflow:hidden;background:#102f48!important}
.living-city{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.skyline{position:relative;isolation:isolate;overflow:hidden;background:#112e4b!important}
.skyline>.living-city{z-index:0;opacity:.93}.skyline:after{z-index:0;pointer-events:none}.playtitle,.wheelbox{position:relative;z-index:1}
.playtitle{background:linear-gradient(180deg,#071827b5,transparent);text-shadow:0 2px 18px #061422}
.cityart .citynumber,.cityart .city-preview{z-index:2}.city-preview{width:auto!important;padding:7px 10px!important;font-size:11px!important;border-radius:12px!important;background:#081d35bc!important;color:#d9fff6!important}
.city-full-preview{height:min(60vh,520px);min-height:280px;border-radius:20px;margin-top:20px}.miniart{height:190px}
.cityart{height:270px}.citycard:hover .living-city{filter:saturate(1.15)}
@media(max-width:600px){.cityart{height:245px}.city-full-preview{min-height:290px}.playtitle{gap:12px}.pointnumber{font-size:clamp(19px,4vw,32px)}}
/* Storyflow: original city art with transparent atmosphere and city-specific sigils. */
.living-city,.skyline>.living-city{opacity:1;z-index:0}.skyline:after{background:linear-gradient(#06142655,transparent 35%,#06142638);z-index:0}
.story-card small{display:block;margin-top:12px}.story-note{font-size:12px;opacity:.8}.story-card{border-color:#a2ffe03d}.install-row{display:flex;gap:12px;align-items:center;margin:15px 0}.install-row small{opacity:.7;font-size:11px}.phone-grid{gap:12px}
.city-control{--travel:35%;position:relative;min-height:270px;isolation:isolate}.control-pulse .wheel:before{animation-duration:2.8s}.control-pulse .wheel:after{animation-duration:16s}
.control-petal .wheel,.control-shield .wheel{background:transparent;border:0;box-shadow:none}.control-petal .wheel:before,.control-petal .wheel:after,.control-shield .wheel:before,.control-shield .wheel:after{display:none}
.sigil{position:absolute;inset:22%;pointer-events:none;border:1px solid #b6ffe9aa;transform:rotate(calc(var(--i)*45deg)) translateY(-45%);background:linear-gradient(#a8f8d644,#a899ff33);box-shadow:0 0 15px #8effdf33;animation:sigilBreathe 7s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.5s)}
.control-pulse .sigil{display:none}.control-petal .sigil{border-radius:90% 10% 90% 10%;inset:26%}.control-shield .sigil{clip-path:polygon(50% 0,100% 28%,78% 100%,22% 100%,0 28%);inset:22%;background:linear-gradient(#abd9ff88,#a2ffe311)}
.city-sigil-1{filter:hue-rotate(0deg)}.city-sigil-2{filter:hue-rotate(30deg)}.city-sigil-3{filter:hue-rotate(75deg)}.city-sigil-4{filter:hue-rotate(130deg)}.city-sigil-0{filter:hue-rotate(190deg)}
.story-controller{width:100%;height:285px;position:relative;overflow:hidden;touch-action:none;cursor:grab;outline-offset:-4px;border-radius:24px}.story-controller:focus-visible{outline:2px solid #c1ffe5}.flow-trail{position:absolute;width:48%;height:85%;left:26%;top:3%;border:3px solid #a1ffdfaa;border-left-color:transparent;border-right-color:#c7b2ff88;border-radius:55% 35% 60% 20%;transform:rotate(-20deg);box-shadow:8px 0 28px #7fffdc45;animation:currentDrift 9s ease-in-out infinite alternate}.flow-trail.second{transform:rotate(15deg) scale(.8);animation-delay:-4s;opacity:.6}
.traveller{position:absolute;left:var(--travel);top:var(--travel-y,50%);font-size:44px;color:#fff0b5;text-shadow:0 0 20px #ffc878;transition:left .4s,top .4s}.gesture-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;letter-spacing:2px;font-size:10px;color:#e5fff4}
.control-orbit .flow-trail{height:65%;top:10%;border-radius:50%;transform:rotate(-35deg);animation:rotate 17s linear infinite}.control-orbit .flow-trail.second{width:35%;left:33%;animation-direction:reverse}.control-story .flow-trail{width:10%;left:45%;border-radius:35%;transform:rotate(5deg);border-left-color:#c6ffdc}
.responding .core{box-shadow:0 0 50px #d4ffcd}.responding .flow-trail{filter:brightness(1.6)}
[data-mood="0"] .skyline{box-shadow:inset 0 0 120px #ffd5a220}[data-mood="1"] .skyline{box-shadow:inset 0 0 120px #8ad8ff30}[data-mood="2"] .skyline{box-shadow:inset 0 0 120px #ffbb7b25}[data-mood="3"] .skyline{box-shadow:inset 0 0 120px #80ffdc25}[data-mood="4"] .skyline{box-shadow:inset 0 0 120px #caa2ff30}
@keyframes currentDrift{to{translate:8px -9px;scale:1.05}}@keyframes sigilBreathe{to{opacity:.6;box-shadow:0 0 28px #b7ffe75a}}
@media(max-width:650px){.phone-grid{grid-template-columns:1fr}.story-controller{height:260px}}

.authart{position:relative;isolation:isolate;overflow:hidden}.festival-decor{position:absolute;inset:0;pointer-events:none;z-index:-1}.festival-decor i{position:absolute;left:calc(var(--snow)*8%);top:-10%;font-style:normal;color:#efffffbb;animation:festivalSnow 18s linear infinite;animation-delay:calc(var(--snow)*-1.7s)}[data-festival="off"] .festival-decor{display:none}@keyframes festivalSnow{to{translate:25px 800px;rotate:120deg;opacity:.2}}

.city-control[class*="city-sigil-"]{filter:hue-rotate(var(--city-hue,0deg))}.control-petal .wheel{animation:rotate var(--city-orbit,24s) linear infinite}.control-shield .wheel{animation:shieldDrift 8s ease-in-out infinite alternate}@keyframes shieldDrift{from{transform:translateY(-4px) rotate(-5deg)}to{transform:translateY(5px) rotate(5deg)}}

/* Mobile rendering budget: no full-screen blur, blend or filtered layers. */
.authart{background-image:linear-gradient(#24415b11,#15283b80),url('/hero-fast-v1.webp')}
@media(max-width:720px),(pointer:coarse){
 .cosmos{filter:none!important;transition:none!important;z-index:0;background:linear-gradient(150deg,#102c3e,#153f49 45%,#302741)}
 .aurora,.wave-b,.wave-c,.glow-dust,.stars{display:none!important}
 .tidal-wave{filter:none!important;mix-blend-mode:normal!important;will-change:auto!important;opacity:.15;width:120%;left:-10%;height:55%;animation-duration:38s}
 .card,.sidebar,.authform,.city-preview,.topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 .card,.authform{background:#183443f2}.city-control[class*="city-sigil-"],.core,.citycard:hover .living-city{filter:none!important}
 .skyline{box-shadow:none!important}.layout,.auth{position:relative;z-index:1}.playtitle{ text-shadow:none}
 .screen-ripple{display:none!important}.wheel:after{box-shadow:none}.tapbutton{box-shadow:none}
 button,a,input,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
 .nav button:active,button:active{opacity:.8;transform:scale(.98)}
 .phone-grid{grid-template-columns:1fr}.festival-decor i:nth-child(n+5){display:none}
}
.loading{min-height:70vh;display:grid;align-content:center;justify-content:center;padding:28px;background:#173340;color:#e5fff5;text-align:center}

/* Explicitly pin the mobile navigation to the bottom only. The older top:0 rule could cover the screen. */
@media(max-width:720px){.sidebar{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;height:auto!important;min-height:0!important;max-height:100px!important;padding:0 0 env(safe-area-inset-bottom)!important;align-self:auto!important;background:#102735fa!important}.sidebar .brand,.sidebarfooter{display:none!important}.sidebar .nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:6px 0}.sidebar .nav button{min-width:0;padding:8px 3px;display:flex;flex-direction:column;gap:4px;font-size:10px;justify-content:center}.shell{display:block!important;min-width:0;padding-bottom:calc(110px + env(safe-area-inset-bottom))!important}.layout{display:block!important}.topbar{position:relative}.username{max-width:100px;overflow:hidden;text-overflow:ellipsis}}
input,select,textarea{font-size:16px!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.market-caption{position:absolute;top:140px;left:22px;right:22px;z-index:2;display:flex;flex-direction:column;gap:5px;font-size:10px;pointer-events:none;color:#d5f3ff}.market-caption b{letter-spacing:1px}.market-caption small{font-size:9px}.control-petal{margin-top:30px}
.password-wrap{position:relative}.password-wrap input{padding-right:56px}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;padding:4px 11px;background:#244653;border:1px solid #acd3cd55;border-radius:9px;font-size:22px;color:#d7ffef}.password-toggle[aria-pressed="true"]{background:#426361}.message-thread{max-height:420px;overflow:auto}.support-bubble{padding:13px;border:1px solid #86cab344;border-radius:14px;margin:12px 0;background:#102936}.support-bubble.official{background:#24434b;border-color:#b6ffe277}.support-avatar{width:35px;height:35px;object-fit:cover;border-radius:50%;vertical-align:middle;margin-right:8px}

/* Crystal Harbour: dedicated high-resolution artwork, composition and light-only motion. */
.crystal-experience{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:28px;align-items:start;max-width:1500px;margin:auto}.crystal-stage{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:850px;height:calc(100svh - 130px);max-height:1150px;border-radius:24px;background:#051c23;border:1px solid #b3e4cf33}.crystal-art,.crystal-art img,.crystal-shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.crystal-art{z-index:-3}.crystal-art img{object-fit:cover;object-position:50% 42%;filter:none!important;image-rendering:auto}.crystal-motion{z-index:-2!important;opacity:1!important}.crystal-shade{z-index:-1;background:linear-gradient(180deg,#03151d7a 0%,transparent 36%,#03191e16 49%,#031b1fc9 76%,#03181ff5 100%)}.crystal-heading{position:absolute;top:34px;left:32px;right:24px;text-shadow:0 2px 18px #061c2570}.crystal-kicker{font-size:10px;letter-spacing:4px;color:#d9e6d7}.crystal-heading h1{font-family:Georgia,serif;font-size:clamp(46px,5vw,76px);line-height:.95;margin:17px 0 12px;font-weight:400;letter-spacing:-2px;color:#fff5df}.crystal-heading em{font-weight:400;color:#b8f9e3}.crystal-subtitle{font-size:12px;letter-spacing:.4px;color:#e4eee8}.crystal-counter{position:absolute;top:32px;right:25px;max-width:48%;text-align:right;display:grid;gap:8px}.crystal-counter small{letter-spacing:2px;font-size:9px;color:#d0e6dd}.crystal-counter .pointnumber{font:clamp(17px,2vw,30px) Consolas,monospace;letter-spacing:-.8px;padding:0;border:0;background:none;box-shadow:none;text-shadow:0 2px 12px #00151c;overflow-wrap:anywhere}.crystal-counter>span{font-size:7px;letter-spacing:1px;color:#d4e7de}.crystal-control{position:absolute;left:0;right:0;top:44%;height:230px;display:grid;place-items:center}.crystal-control>.wheelbox{position:relative!important;inset:auto!important;margin:0!important;transform:none!important}.crystal-control-hint{position:absolute;bottom:100%;font-size:8px;letter-spacing:3px;color:#e3f6ee;opacity:.8}.crystal-floor{position:absolute;bottom:0;left:0;right:0;padding:24px 28px}.crystal-level{font-size:9px;letter-spacing:2px;color:#ebeedf}.crystal-live{font-size:8px;letter-spacing:1.5px;color:#b6d4c8}.crystal-live i{display:inline-block;width:5px;height:5px;background:#86e7c8;border-radius:50%;margin-right:5px}.crystal-action{width:100%;margin:18px 0;background:linear-gradient(100deg,#a7ebcf,#def5cd)!important;color:#082821!important;border:1px solid #f0ffe1!important;box-shadow:0 3px 24px #9ff2c51a!important;border-radius:15px;letter-spacing:2px;font-size:12px;padding:16px}.crystal-action span{display:block;font-size:10px;font-weight:400;letter-spacing:.5px;margin-top:5px}.crystal-energy small{font-size:8px;letter-spacing:1px;color:#bbd3c9}.crystal-energy .bar{height:3px;background:#bdd9d51c}.crystal-energy .bar>span{background:#c3ecd3!important}.crystal-footnote{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:9px;color:#afc8bf}.crystal-journal{display:grid;gap:20px}.crystal-chapter,.crystal-explore{padding:25px 3px}.crystal-chapter h2{font:38px/1.1 Georgia,serif;color:#eee9d7;letter-spacing:-1px}.crystal-chapter p,.crystal-explore p{font-size:13px;line-height:1.8;color:#acc1bd}.crystal-rule{height:1px;background:#b5cfbd26;margin:30px 0}.crystal-chapter small{font-size:9px}.crystal-access-note{font-size:11px!important;margin-top:16px}.crystal-journal>.card{background:#0a2229a8!important;border-color:#a7d3c52b;box-shadow:none}.crystal-stage .screen-ripple{z-index:4}.crystal-stage .wheel{background:transparent!important;box-shadow:none!important}.crystal-stage .core{box-shadow:0 0 35px #b9fbe51c!important}.crystal-stage .orbit{opacity:.5}.crystal-stage .wheelbox{scale:.88}.crystal-stage button:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:1050px) and (min-width:721px){.crystal-experience{grid-template-columns:1fr}.crystal-journal{grid-template-columns:1fr 1fr}.crystal-stage{height:960px;min-height:850px;max-width:760px;width:100%;margin:auto}}
@media(max-width:720px){.crystal-experience{display:block;margin:0 -13px}.crystal-stage{min-height:700px;height:calc(100svh - 125px);max-height:960px;border-radius:0;border:0}.crystal-art img{object-position:50% 40%}.crystal-heading{top:24px;left:22px}.crystal-heading h1{font-size:49px;margin:13px 0 10px}.crystal-subtitle{font-size:10px}.crystal-counter{top:25px;right:18px;max-width:47%}.crystal-counter .pointnumber{font-size:19px}.crystal-counter>span{font-size:6px;letter-spacing:.4px}.crystal-counter small{font-size:8px}.crystal-control{top:37%;height:215px}.crystal-stage .wheelbox{scale:.78}.crystal-floor{padding:20px 22px 24px}.crystal-action{padding:14px;margin:16px 0}.crystal-journal{padding:18px 22px}.crystal-chapter{padding-top:12px}.crystal-chapter h2{font-size:32px}.crystal-journal>.card{border-radius:16px}.crystal-stage .living-city{filter:none!important}.crystal-experience .crystal-art{background:none!important}}

.crystal-stage .wheel{backdrop-filter:none!important}.crystal-stage .wheelbox:before{display:none}.crystal-stage .wheel:after{border-style:solid;border-color:#b8ebcf66}.crystal-stage .wheel{border-color:#c7ebd9cc}.crystal-stage .core{background:radial-gradient(circle at 35% 30%,#e9fff3,#6ad5c5 14%,#17483d 48%,#072c2b 80%);border-color:#d8f6d9}

.crystal-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2;pointer-events:none}.crystal-stage .crystal-motion{display:none}.cinema-fallback .crystal-video{display:none}.cinema-resume{position:absolute;z-index:5;left:20px;bottom:200px;font-size:12px;background:#062b2cde;color:white}.crystal-floor .crystal-energy{margin-top:22px}.control-pulse .wheel,.control-petal .wheel,.control-shield .wheel{animation:pulseWheelContinuous 2.4s linear infinite!important}.control-pulse .core,.control-petal .core,.control-shield .core{animation:pulseWheelContinuous 2.4s linear infinite reverse!important}.resting .wheel,.resting .core{animation-play-state:paused!important}@keyframes pulseWheelContinuous{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.wheel,.core{animation:none!important}}
.view-controls{display:flex;gap:5px;align-items:center}.view-controls button{width:32px;height:32px;padding:0;border:1px solid #cce8dc50;border-radius:50%;color:#e9f8ef;background:#0b262dbc;font-size:16px}.preference-options{display:grid;gap:10px}.preference-options [aria-pressed=true]{outline:2px solid white;outline-offset:2px}.rate-credit{font-size:10px;margin-top:18px;color:#a5b8b8}.rate-credit a{color:inherit}:root[data-palette=jade]{--accent:#94e4c7;--gold:#e0d6b1;--bg:#081d20}:root[data-palette=orchid]{--accent:#c6b0f5;--gold:#f3d1a3;--bg:#1b152b}:root[data-palette=ember]{--accent:#eab382;--gold:#f2d8a8;--bg:#251b18}:root[data-palette=rose]{--accent:#edb9ce;--gold:#d5ddf0;--bg:#231a2c}html[data-palette=jade] body{background:radial-gradient(ellipse at top right,#25483d,transparent 70%),#081d20}html[data-palette=orchid] body{background:radial-gradient(ellipse at top right,#493664,transparent 70%),#1b152b}html[data-palette=ember] body{background:radial-gradient(ellipse at top right,#60402e,transparent 70%),#251b18}html[data-palette=rose] body{background:radial-gradient(ellipse at top right,#553747,transparent 70%),#231a2c}html[data-palette] .card{background:color-mix(in srgb,var(--bg) 88%,var(--accent));border-color:color-mix(in srgb,var(--accent) 25%,transparent)}html[data-palette] .sidebar{background:color-mix(in srgb,var(--bg) 92%,var(--accent))!important}html[data-palette] .tidal-wave{border-color:var(--accent)}html[data-palette] .authform{background:var(--bg)}@media(max-width:720px){.view-controls{gap:4px}.view-controls button{width:28px;height:28px;font-size:14px}.accountchip{flex-wrap:wrap;justify-content:flex-end;gap:6px}}

.winter-lights{display:none;position:absolute;inset:0;overflow:hidden;pointer-events:none}html[data-festival=on] .winter-lights{display:block}.winter-orb{position:absolute;width:54px;height:66px;border-radius:50%;background:radial-gradient(circle at 28% 24%,#fffae6,#cbaf66 17%,#7b6033 46%,#21192b 90%);border:1px solid #f7e6ab99;opacity:.5;animation:winterFloat 9s ease-in-out infinite alternate}.winter-orb:after{content:'';position:absolute;top:100%;left:50%;width:1px;height:120px;background:linear-gradient(#d6c89866,transparent)}.o1{left:3%;top:24%}.o2{right:5%;top:12%;width:35px;height:42px;animation-delay:-4s}.o3{right:18%;top:67%;width:25px;height:32px;animation-delay:-2s}.winter-candle{position:absolute;bottom:0;width:18px;height:70px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,#60492b,#e8cf8c,#72523a);opacity:.45}.winter-candle:before{content:'';position:absolute;bottom:102%;left:3px;width:12px;height:24px;border-radius:80% 20% 60% 40%;background:radial-gradient(ellipse at bottom,#fff8d2,#ffc46a 40%,#c85d4b 75%,transparent);transform-origin:bottom;animation:winterFlame 1.8s ease-in-out infinite alternate}.c1{left:17%;height:85px}.c2{right:14%;height:50px}.c3{right:17%;height:74px}@keyframes winterFloat{to{transform:translate3d(8px,-24px,0) rotate(4deg)}}@keyframes winterFlame{to{transform:scale(.85,1.12) rotate(5deg)}}.resting .winter-lights *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.winter-lights *{animation:none!important}}@media(max-width:720px){.winter-orb{opacity:.3}.winter-candle{opacity:.25}.topbar{align-items:flex-start}.topbar>div:first-child{min-width:90px}.accountchip{max-width:65%}.view-controls{flex-basis:100%;justify-content:flex-end}}

html[data-palette=orchid] .crystal-journal>.card,html[data-palette=ember] .crystal-journal>.card,html[data-palette=rose] .crystal-journal>.card{background:var(--bg)!important;border-color:var(--accent)}

.cityart .district-cover,.city-full-preview .district-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none}.citynumber{z-index:2}.cityart:after{display:none}.scenery-status{position:absolute;bottom:12px;left:12px;z-index:6;font-size:12px;color:white}.cinema-resume{display:none}

.crystal-heading h1.long-heading{font-size:clamp(28px,5vw,54px);max-width:62%;overflow-wrap:anywhere}

.market-realm{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.market-stage{position:relative;min-height:760px;border:1px solid #29414c;border-radius:22px;overflow:hidden;background:#06131d;isolation:isolate}.market-stage>canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.market-overlay{position:relative;min-height:760px;height:100%;background:linear-gradient(180deg,#06131dbb 0,transparent 32%,transparent 55%,#06131de8 83%)}.market-heading{position:absolute;top:28px;left:24px;max-width:60%}.market-heading h1{font:clamp(28px,4vw,48px)/1.1 Georgia,serif;margin:0 0 14px;color:#e7f1ec}.market-heading .eyebrow{font-size:8px;letter-spacing:1px}.market-tags{display:flex;gap:10px;font-size:10px;color:#86c9df}.market-top-number{position:absolute;right:20px;top:26px;text-align:right;display:grid;gap:6px;max-width:38%}.market-top-number small{font-size:7px;letter-spacing:.6px}.market-top-number strong{font-size:20px}.market-readout{position:absolute;top:145px;left:24px;display:grid;gap:5px}.market-readout strong{font:26px system-ui;color:#a7e9ff}.market-readout span{font-size:8px;color:#9ab9ca;letter-spacing:1px}.market-controller{position:absolute;top:35%;left:0;width:100%;display:grid;place-items:center}.market-controller .wheelbox{scale:.8}.market-game{position:absolute;bottom:22px;left:24px;right:24px}.market-game .tapbutton{width:100%;margin:12px 0}.market-game small,.market-game #xpDisplay{font-size:9px}.market-game>.bar{height:3px;margin:10px 0}.market-journal{display:grid;align-content:start;gap:20px}@media(max-width:1000px){.market-realm{grid-template-columns:minmax(0,1fr)}.market-journal{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.market-realm{display:block;margin:0 -13px}.market-stage{border-radius:0;border:0;min-height:700px;height:calc(100svh - 125px)}.market-overlay{min-height:700px}.market-heading{left:20px;top:24px;max-width:57%}.market-heading h1{font-size:31px}.market-heading .eyebrow{font-size:7px}.market-top-number{right:16px;top:24px}.market-top-number strong{font-size:18px}.market-readout{left:20px;top:140px}.market-journal{padding:20px}.market-game{left:20px;right:20px}.market-controller{top:37%}}

/* Christmas finale: crisp, budgeted motion. The canvas never catches input. */
.festival-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}html[data-festival=on] .festival-canvas{display:block}html[data-festival=on] .cosmos{filter:none;background:radial-gradient(ellipse at 0 10%,#482433 0,transparent 45%),radial-gradient(ellipse at 100% 90%,#123f37 0,transparent 55%),#0b1b27}html[data-festival=on] .winter-lights,html[data-festival=on] .cosmos>.stars{display:none!important}html[data-festival=off] .festival-canvas{display:none!important}@media(max-width:720px){html[data-festival=on] .cosmos{background:linear-gradient(145deg,#322232,#173c38 60%,#2d293b)}.festival-canvas{opacity:.85}}
/* Member edition: quiet controls, precise progress, distinct kinetic sculptures. */
.brand>img{width:38px;height:38px;vertical-align:middle;margin-right:10px}.brand span{margin-left:49px;letter-spacing:1.3px}.topbar .member-mode{font-size:8px;letter-spacing:.6px;padding:4px 7px;display:inline-block}.member-photo{object-fit:cover;background:#102d32}.profile-card>.avatar{width:100px;height:100px;border-radius:30px;font-size:34px;margin-bottom:20px}.profile-card .row{margin-top:22px}.member-about{font-size:12px}.member-about .buttonlink{display:block;margin-top:20px;font-size:11px;color:#89a5ab}.member-qr{display:block;width:220px;max-width:100%;height:220px;background:white;padding:4px;border-radius:15px;margin:0 auto 26px}.invite-card input{font-size:13px}.referral-depths{gap:8px;flex-wrap:wrap}.referral-terms{font-size:12px;margin-top:20px}.passage-state{position:absolute;bottom:12px;right:12px;border-radius:6px;padding:6px 10px;font-size:10px;letter-spacing:1px;background:#0b1d2cd9;border:1px solid #bfd9d944;color:#d1dded}.passage-state.ready{color:#b9e9d5}.passage-state.veiled{clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}.realm-pace{display:grid;gap:7px;font-size:12px;margin:20px 0}.realm-pace small{font-size:9px;letter-spacing:.5px}.member-pace{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.member-pace>div{padding:16px 10px;border:1px solid #a4cbcb33;border-radius:12px;display:grid;gap:10px}.member-pace small{font-size:8px;letter-spacing:1.3px}.member-pace b{font:clamp(12px,1.4vw,19px) Consolas,monospace;color:var(--accent);overflow-wrap:anywhere}.member-work-line{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;margin-bottom:24px}.member-work-line small{white-space:nowrap}.member-motion{font-size:11px;text-align:right}.member-shortcuts{margin-top:20px;font-size:11px}.member-experience .crystal-floor{padding-top:10px;padding-bottom:24px}.member-experience .crystal-control{top:44%}.member-experience .crystal-counter{top:220px;left:30px;right:30px;text-align:left;max-width:100%}.member-experience .crystal-counter .pointnumber{font:clamp(28px,4vw,50px) Consolas,monospace;letter-spacing:1px}.member-experience .crystal-heading{top:35px}.member-experience .crystal-heading h1{font-size:clamp(38px,4vw,65px)}.member-confirmed{font-size:10px;min-height:15px;color:var(--accent)}.member-experience .crystal-journal .card{padding:25px}.member-control{position:relative!important;height:240px!important;width:240px!important;display:grid;place-items:center;overflow:visible!important;--sculpture-colour:var(--accent)}.member-control .wheel,.member-control .story-controller{width:220px!important;height:220px!important;position:relative;display:grid;place-items:center;border:0!important;border-radius:50%;background:none!important;box-shadow:none!important;transform:none!important;animation:none!important;overflow:visible}.member-control .wheel:before,.member-control .wheel:after,.member-control .flow-trail,.member-control .sigil{display:none!important}.member-control .core{position:absolute;width:38px;height:38px;font-size:18px;border:1px solid #edffde99;background:#0b2738aa;box-shadow:none!important;animation:none!important}.current-sculpture{width:220px;height:220px;overflow:visible;fill:var(--sculpture-colour);fill-opacity:.07;stroke:var(--sculpture-colour);stroke-width:1.2;stroke-linejoin:round;animation:currentSculpture var(--sculpture-speed,5s) linear infinite;pointer-events:none}.sculpture-spear{stroke-width:1.4;fill-opacity:.22}.sculpture-orbit{fill:none;stroke-width:1.5}.sculpture-compass{fill-opacity:.3}.member-control.responding .current-sculpture,.member-control .boost .current-sculpture{animation-duration:.9s}.member-control .gesture-hint{bottom:-20px;position:absolute;font-size:8px;letter-spacing:2px;color:#d9f8ed;pointer-events:none}.blossom-particle{position:absolute;left:50%;top:50%;font-style:normal;font-size:18px;color:var(--sculpture-colour);pointer-events:none;animation:blossomRelease .9s ease-out forwards;z-index:5}@keyframes currentSculpture{to{transform:rotate(360deg)}}@keyframes blossomRelease{to{transform:translate(var(--petal-x),var(--petal-y)) rotate(100deg);opacity:0}}[hidden]{display:none!important}@media(max-width:720px){.member-experience .crystal-stage{min-height:740px;height:calc(100svh - 100px)}.member-experience .crystal-counter{top:190px;left:24px}.member-experience .crystal-heading h1{font-size:43px}.member-experience .crystal-control{top:43%}.member-mode{max-width:180px}.brand>img{width:30px;height:30px}.member-pace b{font-size:15px}.member-control{scale:.9}.member-qr{width:200px;height:200px}}@media(prefers-reduced-motion:reduce){.current-sculpture,.blossom-particle{animation:none!important}.blossom-particle{display:none}}

.topbar .member-mark{width:28px;height:28px;float:left;margin-right:10px;margin-top:2px}.member-control .story-controller{touch-action:none;user-select:none}

/* Payment forms: feedback lives in the dialog top layer, above its backdrop. */
dialog{max-height:90svh;overflow-y:auto}#modalBody>.row:first-child{position:sticky;top:-1px;z-index:8;background:var(--panel,#16323d);padding:12px 0}.dialog-close{min-width:44px;min-height:44px;font-size:22px}.dialog-feedback{padding:12px 14px;margin:12px 0;border:1px solid #72d7c766;border-radius:10px;background:#082d36;color:#dffaf3;overflow-wrap:anywhere}.dialog-feedback.error{background:#482b30;color:#ffe6e6;border-color:#f2a9a9}.section-exit{display:flex;justify-content:flex-end;margin-bottom:12px}.section-exit button{min-height:44px}.live-network{display:grid;gap:5px;margin:18px 0;padding:16px;border:1px solid #8fd4cb55;border-radius:14px}.live-network span{font-size:12px;color:var(--muted)}[aria-busy=true]{cursor:progress;opacity:.75}#liveMinimum,#liveNumberHint{display:block;margin:-8px 0 18px;font-size:12px}button:disabled{cursor:not-allowed}@media(max-width:720px){dialog{width:calc(100vw - 24px);max-width:100%;padding:18px}dialog input,dialog select,dialog textarea{font-size:16px}}

.first-light{display:grid;gap:10px;padding:18px;border:1px solid #b2e6d44d;border-radius:18px;margin-bottom:18px;background:#102c2b70}.first-light p{margin:0}.first-light small{line-height:1.6}.first-light strong{font-size:1.15rem}.promo-summary{font-size:.9rem;line-height:1.7}.signal-glyph{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:7px}.signal-glyph span{position:absolute;right:0;top:0;min-width:16px;font-size:10px;border-radius:20px;background:#edca77;color:#132a29}.signal-glyph [hidden]{display:none}.signal-feed article{padding:16px 0;border-bottom:1px solid #ffffff20}.signal-feed p{overflow-wrap:anywhere}.member-legal{grid-column:1/-1;font-size:.75rem;opacity:.75}

.admin-save-feedback{position:sticky;top:0;z-index:12;padding:14px 18px;border:1px solid #7ae0b7;background:#123c32;color:#dbffec;border-radius:12px;margin:12px 0}.admin-save-feedback.error{background:#4d202c;border-color:#ff9cae;color:#fff}.admin-save-feedback[hidden]{display:none}#bulkRealms td input[type=number]{min-width:110px}#bulkRealms small{display:block}.bulk-template{margin:18px 0;padding:18px;border:1px solid #ffffff30;border-radius:14px}.save-result{display:block;margin-top:10px}

/* Warm estuary: emerald, champagne, coral; existing art is retained. */
:root[data-palette=orchid]{--accent:#a8dfc6;--gold:#f3d69e;--bg:#142b29}
html[data-palette=orchid] body{background:radial-gradient(ellipse at 85% 5%,#62503966,transparent 60%),#102623}
html[data-palette=orchid] .cosmos,html[data-festival=on] .cosmos{background:radial-gradient(ellipse at 10% 10%,#94694b55,transparent 48%),radial-gradient(ellipse at 90% 80%,#276d5d88,transparent 60%),linear-gradient(145deg,#173b37,#152e35 60%,#4b3930)}
html[data-palette=orchid] .wave-b{background:repeating-radial-gradient(ellipse at 70% 0%,transparent 0 10%,#f3bf7c77 12%,#ee8c7b44 15%,transparent 20% 29%)}
.support-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;border:1px solid var(--gold)}
html[data-palette=orchid] .card{background:linear-gradient(145deg,#203d38f2,#203132f5);border-color:#e1c7893d}

.support-office{margin:0 0 18px}.support-office>img{display:block;width:100%;height:190px;object-fit:cover;border-radius:14px}.support-office figcaption{font-size:10px;color:var(--muted);margin-top:5px}.support-bubble.official b{display:flex;align-items:center}

/* Detailed festival scene; motion is independent of interface rendering. */
.festival-world{display:none;position:absolute;inset:-2%;background:url('/aurora-gardens-v10.jpg') center center/cover no-repeat;pointer-events:none}
html[data-festival=on] .festival-world{display:block;animation:festivalWorldDrift 55s ease-in-out infinite alternate}
html[data-festival=on] .cosmos{background:#071627!important;filter:none!important}
html[data-festival=on] .cosmos:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#04122135,#04122110 48%,#04122165);pointer-events:none;z-index:1}
html[data-festival=on] .cosmos .tidal-wave,html[data-festival=on] .cosmos .aurora,html[data-festival=on] .cosmos .glow-dust{display:none!important}
html[data-festival=on] .festival-canvas{z-index:2;opacity:1}
html[data-festival=on] .sectionhead{display:table;padding:16px 22px;border-radius:16px;background:#071a29c9;max-width:100%;border:1px solid #e9d39d33}
html[data-festival=on] .topbar{background:#081b29c9;border-radius:16px;padding:16px 20px}
html[data-festival=on] .sidebar{background:linear-gradient(180deg,#0b2529f5,#152635ed)!important}
html[data-festival=on] .card{background:linear-gradient(145deg,#102c32ed,#13262cf2)!important;border-color:#e1c89466}
@keyframes festivalWorldDrift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.045) translate3d(-.5%,.3%,0)}}
@media(max-width:720px){.festival-world{background-position:53% center}html[data-festival=on] .sectionhead{padding:12px 16px}html[data-festival=on] .topbar{padding:12px}.festival-world{animation:none!important}}
@media(prefers-reduced-motion:reduce){.festival-world{animation:none!important}}

/* Four independently persisted palettes, including festival surfaces. */
html[data-palette=jade]{--surface-a:#103d30;--surface-b:#082b25;--surface-edge:#80e7b477;--scene-tint:#04583d55;--palette-glow:#78edbe}
html[data-palette=orchid]{--surface-a:#173f69;--surface-b:#102a49;--surface-edge:#83ccff88;--scene-tint:#1055a355;--palette-glow:#83ccff}
html[data-palette=ember]{--surface-a:#633f20;--surface-b:#3a2415;--surface-edge:#ffd08b88;--scene-tint:#b76e1655;--palette-glow:#ffd08b}
html[data-palette=rose]{--surface-a:#5b2541;--surface-b:#351b2c;--surface-edge:#ffacc188;--scene-tint:#9c254d55;--palette-glow:#ffacc1}
html[data-palette] .card,html[data-palette][data-festival] .card{background:linear-gradient(135deg,var(--surface-a),var(--surface-b))!important;border-color:var(--surface-edge)!important;color:#fff4e6}
html[data-palette][data-festival] .sidebar,html[data-palette] .sidebar{background:linear-gradient(180deg,var(--surface-a),var(--surface-b))!important}
html[data-palette] .topbar,html[data-palette] .sectionhead{background:var(--surface-b)!important;border-color:var(--surface-edge);color:#fff4e6}
html[data-palette] .nav button.active{background:var(--surface-a)!important;border-color:var(--palette-glow)!important;box-shadow:inset 3px 0 var(--palette-glow)}
html[data-palette] .card h2,html[data-palette] .card h3{color:var(--palette-glow)}
.festival-world:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--scene-tint,transparent),transparent 70%);pointer-events:none}
.preference-options button[data-pref-field=palette]{padding:17px;text-align:left;border-width:2px}
.preference-options button[data-pref-value=jade]{background:#103d30;color:#78edbe;border-color:#78edbe}
.preference-options button[data-pref-value=orchid]{background:#173f69;color:#83ccff;border-color:#83ccff}
.preference-options button[data-pref-value=ember]{background:#633f20;color:#ffd08b;border-color:#ffd08b}
.preference-options button[data-pref-value=rose]{background:#5b2541;color:#ffacc1;border-color:#ffacc1}

.support-office>img{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain;object-position:center;border-radius:14px}.support-office{margin:0 0 20px}.site-credits{padding:24px 0 8px;text-align:right}.site-credits .buttonlink{font-size:10px;opacity:.65;padding:4px 0}dialog{max-height:90svh;overflow-y:auto}@media(max-width:720px){.support-office>img{width:100%;height:auto}.site-credits{padding-bottom:85px}}

.auth-links{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-top:22px}.auth-links .buttonlink{padding:3px 0;font-size:13px}.auth-utilities{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:18px;border-top:1px solid #ffffff20}.assist-orbit{width:48px;height:48px;padding:6px;display:grid;place-items:center;background:transparent!important;color:var(--accent)!important;border:1px solid var(--accent)!important;border-radius:16px}.assist-orbit:hover{background:#ffffff0d!important}.assist-orbit:focus-visible,.auth-install:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.auth-install{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px;padding:10px 12px;background:transparent!important;white-space:nowrap}.auth-install svg{flex-shrink:0}@media(max-width:420px){.auth-links{gap:12px}.auth-links .buttonlink{font-size:12px}.auth-utilities{margin-top:24px}}

.profile-info{float:right;width:30px;height:30px;padding:4px;border:0;background:transparent!important;color:var(--muted);font-size:16px}
/* Motion update: transform-only speed; financial timing remains server-controlled. */
.member-control .current-sculpture{animation-duration:calc(var(--sculpture-speed,5s)*.5);will-change:transform}
.member-control.responding .current-sculpture,.member-control .boost .current-sculpture{animation-duration:.65s}
.control-pulse:not(.member-control) .wheel,.control-petal:not(.member-control) .wheel,.control-shield:not(.member-control) .wheel{animation-duration:1.2s!important}
.control-pulse:not(.member-control) .core,.control-petal:not(.member-control) .core,.control-shield:not(.member-control) .core{animation-duration:1.2s!important}
.cinema-loading .crystal-video{opacity:0}.crystal-video{transition:opacity .2s linear}
@media(prefers-reduced-motion:reduce){.member-control .current-sculpture{animation:none!important;will-change:auto}.crystal-video{transition:none}}

.flow-archive{padding:0}.flow-archive>summary{display:flex;align-items:center;gap:14px;padding:22px;cursor:pointer;list-style:none;color:var(--accent);font-size:17px}.flow-archive>summary::-webkit-details-marker{display:none}.flow-archive>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:16px}.flow-archive summary small{display:block;margin-top:4px;font-size:11px;font-weight:400}.flow-seal{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--accent);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);font-size:25px}.flow-chevron{margin-left:auto;transition:transform .15s}.flow-archive[open] .flow-chevron{transform:rotate(180deg)}.flow-archive-body{padding:0 22px 22px;border-top:1px solid var(--border)}.flow-archive-body h3{margin-top:24px;font-size:15px}@media(max-width:720px){.flow-archive-body{padding:0 12px 16px}.flow-archive>summary{padding:18px}}@media(prefers-reduced-motion:reduce){.flow-chevron{transition:none}}

/* Motion repair: readable blossoms with bounded particle count. */
.member-control .blossom-particle{font-size:30px;color:#fff0bc;text-shadow:0 0 5px #fff,0 0 14px var(--sculpture-colour);animation-duration:1.4s;font-weight:700}
.member-control.responding .current-sculpture,.member-control .boost .current-sculpture{animation-duration:.65s}
