
:root{color-scheme:dark;--bg:#100b1d;--panel:#211a30;--line:#ffffff22;--text:#f8f0fb;--muted:#baabc6;--pink:#ffa2c5;--mint:#8fecbd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 86% -15%,#4c255850,transparent 45%),radial-gradient(ellipse at 0% 86%,#1e456044,transparent 50%),var(--bg);color:var(--text);font:15px/1.5 Inter,"Segoe UI",system-ui,sans-serif;min-height:100dvh}button,input,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;border:none;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button:not(:disabled):hover{filter:brightness(1.12)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--pink);outline-offset:2px}[hidden]{display:none!important}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.defs{position:absolute;width:0;height:0;overflow:hidden}.shell{max-width:1220px;margin:auto;padding:0 38px}.topbar{display:flex;height:88px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:30px}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800;letter-spacing:-.5px}.brand em{color:#dbc0df;font-style:normal;font-weight:350}.brandmark{display:grid;place-items:center;background:linear-gradient(135deg,#a05277,#2f1c42);border:1px solid #ffbbdf55;border-radius:14px;width:42px;height:42px;color:#ffd5e8}.brandmark svg{width:24px;height:24px}.brand small{display:block;font:9px/1.7 ui-monospace,monospace;color:#a98eaf;letter-spacing:3px}.topright{display:flex;align-items:center;gap:18px}.edition,.eyebrow,.tag{font:10px/1.5 ui-monospace,"Courier New",monospace;letter-spacing:2px}.edition{color:#a68da9}.eyebrow{color:#c7a8c5;display:inline-flex;align-items:center;gap:8px}.pink{color:var(--pink)}.dot{display:inline-block;background:#88ebbd;height:7px;width:7px;border-radius:50%;box-shadow:0 0 12px #8eeac28a}.iconbtn{width:39px;height:39px;background:#ffffff0a;border:1px solid var(--line);border-radius:13px;display:inline-flex;align-items:center;justify-content:center}.iconbtn svg{width:19px;height:19px}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;border-radius:12px;padding:12px 18px;font-size:13px;font-weight:700}.primary{background:linear-gradient(115deg,#ffcea8,#ff8eb8);color:#321d31;box-shadow:0 12px 33px #ff8aba1e}.secondary{background:#ffffff0a;border:1px solid #ffffff2c;color:#f1e2f4}.primary svg,.secondary svg{width:18px;height:18px}.wide{width:100%;margin-top:14px}.welcome-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:65px;align-items:center;padding:65px 12px 30px}.welcome-copy h1{font-size:clamp(54px,6.8vw,86px);line-height:1.07;letter-spacing:-4px;margin:28px 0;font-weight:850}.serif{font-family:Georgia,serif;font-style:italic;font-weight:400;color:#f6a0c7}.welcome-copy p{color:#d4c2d7;font-size:18px;line-height:1.75}.perks{display:flex;flex-wrap:wrap;gap:15px;font-size:11px;color:#bba7c6;margin:25px 0}.perks span:before{content:'✧ ';color:var(--pink)}.panel{border:1px solid #ffffff25;border-radius:23px;background:linear-gradient(140deg,#352640ec,#1c172be8);box-shadow:0 26px 80px #05030d66}.entry{padding:32px}.entry h2{margin:12px 0 0;font-size:27px;letter-spacing:-.8px}.entry p{color:#c1aecb;font-size:13px;margin:6px 0 22px}.entry label,.game-surface label{display:block;color:#d6bede;font-size:12px;margin:16px 0 8px}.entry input,.game-surface textarea,.chatpanel input{width:100%;background:#100b1bda;border:1px solid #ffffff25;border-radius:12px;color:#fff;padding:13px 14px;font-size:16px;min-width:0}.entry input::placeholder,.game-surface textarea::placeholder,.chatpanel input::placeholder{color:#9b87a9}.game-surface textarea{resize:vertical;min-height:112px;line-height:1.55}.divider{display:flex;gap:12px;align-items:center;margin:22px 0 10px;color:#917f9b;font-size:11px}.divider:before,.divider:after{content:'';height:1px;background:#ffffff22;flex:1}.joinrow{display:flex;gap:9px}.entry small{font-size:10px;color:#a18cae}.error{color:#ff9ab6!important;overflow-wrap:anywhere}.city{position:relative;height:185px;overflow:hidden;opacity:.85;mask-image:linear-gradient(transparent,#000 30%)}.sun{position:absolute;left:50%;top:0;height:235px;width:235px;border-radius:50%;background:linear-gradient(#ffe3b5,#fa9ea7 60%,#89486d);box-shadow:0 0 90px #edb49138;transform:translateX(-50%)}.skyline{position:absolute;bottom:23px;left:0;right:0;height:125px;background:linear-gradient(#2d1e3b,#151020);clip-path:polygon(0 100%,0 62%,6% 62%,6% 34%,10% 34%,10% 67%,16% 67%,16% 10%,23% 10%,23% 58%,28% 58%,28% 25%,36% 25%,36% 70%,42% 70%,42% 32%,50% 32%,50% 54%,56% 54%,56% 11%,62% 11%,62% 60%,68% 60%,68% 28%,74% 28%,74% 77%,81% 77%,81% 39%,88% 39%,88% 55%,95% 55%,95% 18%,100% 18%,100% 100%)}.road{position:absolute;bottom:-55px;height:127px;left:-15%;width:130%;transform:perspective(120px) rotateX(50deg);background:repeating-linear-gradient(90deg,transparent 0 62px,#f8a2d022 63px 64px),repeating-linear-gradient(0deg,transparent 0 22px,#f8a2d022 23px 24px);border-top:1px solid #ffc6dc55}.citylabel{position:absolute;bottom:7px;right:15px;font:9px monospace;letter-spacing:3px;color:#ddb6ce}.roomhead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.roomhead h2{font-size:30px;letter-spacing:-1px;margin:4px 0;font-weight:650}.roomtools{display:flex;align-items:center;gap:10px}.codebutton{font:12px ui-monospace,monospace;letter-spacing:1px}.leave{display:inline-flex;align-items:center;gap:7px;background:#ffffff08;border:1px solid #ffffff14;padding:12px 14px;border-radius:11px;color:#d0b7ce;font-size:12px}.leave svg{width:18px;height:18px}.players{display:flex;align-items:center;gap:18px;padding:17px 20px;background:#21192dcc;border:1px solid #ffffff1b;border-radius:18px}.player{display:flex;align-items:center;gap:11px;min-width:0}.player b{display:block;font-size:13px;max-width:160px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player small{display:block;font-size:10px;color:#ac97b8}.player small .dot{height:5px;width:5px;margin-right:4px}.avatar{height:38px;width:38px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;color:#ffd6e6;background:#71415e;border:1px solid #ffffff30}.avatar.partner{background:#42385c;color:#d3c1f7}.you{font:9px monospace;color:#b9a5c5}.between{color:#c878a3}.between svg{width:18px}.session-stat{margin-left:auto;display:flex;align-items:center;gap:6px;color:#ccbad1;font-size:10px}.session-stat svg{color:#ff90bd;width:16px}.session-stat b{color:#ffbbda;font-size:19px}.notice{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;background:#432a4469;color:#dcc5d7;padding:12px 15px;border-radius:12px;font-size:12px;border:1px solid #d29ec833}.notice:empty{display:none}.textbutton{background:none;color:#ffadce;padding:10px;font-size:11px;text-decoration:underline;text-underline-offset:4px}.hero{position:relative;height:350px;border:1px solid #b77ca342;border-radius:23px;overflow:hidden;margin-top:22px;background:linear-gradient(125deg,#4b2e46,#241b32)}.hero-copy{position:relative;z-index:2;padding:36px 40px}.hero h2{font-size:58px;line-height:1.09;margin:17px 0 12px;font-weight:700;letter-spacing:-3px}.hero p{font-size:12px;color:#efcde2;margin:15px 0 22px}.hero .city{position:absolute;right:0;top:0;bottom:0;width:65%;height:auto;mask-image:linear-gradient(90deg,transparent,#000 47%);opacity:.8}.hero .city .sun{top:35px;left:60%}.bigheart{position:absolute;left:50%;top:100px;font-size:118px;color:#ffbad5;text-shadow:0 0 35px #ffb6d35a;transform:rotate(-12deg);animation:bob 6s ease-in-out infinite}.heroindex{position:absolute;bottom:14px;left:40px;color:#d2a6c5;font:9px monospace;letter-spacing:2px}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:34px 0 18px}.sectionhead h2{font-size:23px;font-weight:650;letter-spacing:-.4px;margin:6px 0}.tag{color:#d8b9d2;border:1px solid #ffffff24;padding:7px 11px;border-radius:20px;font-size:9px}.gamecards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gamecard{text-align:left;position:relative;overflow:hidden;min-height:251px;border:1px solid #ffffff25;border-radius:19px;padding:23px;background:linear-gradient(145deg,#543046,#261c30)}.gamecard:hover{transform:translateY(-3px);box-shadow:0 15px 30px #0005}.gamecard .tagline{font:9px monospace;letter-spacing:1.3px;color:#d6bdd4}.gamecard h3{font-size:22px;font-weight:650;margin:15px 0 7px}.gamecard p{font-size:11px;color:#dcc9da;line-height:1.6;max-width:230px;margin:0}.gamecard .art{height:80px;display:flex;align-items:center;font-size:58px;filter:drop-shadow(0 0 13px #ff9cc680)}.gamecard .arrow{position:absolute;top:20px;right:19px;font-size:22px;color:#e6d2e1}.gamecard.violet{background:linear-gradient(135deg,#40375e,#232136)}.gamecard.blue{background:linear-gradient(135deg,#334962,#1e293b)}.gamecard.peach{background:linear-gradient(135deg,#5a403e,#2b2231)}.gamecard.mint{background:linear-gradient(135deg,#33564f,#1d2c30)}.gamecard:nth-child(4),.gamecard:nth-child(5){min-height:210px}.gamecard:nth-child(5){grid-column:2/4}.comfort{text-align:center;color:#a68cae;font-size:11px;margin:29px 0}.roomfooter{display:flex;justify-content:space-between;gap:10px;padding:25px 0 130px;border-top:1px solid var(--line);color:#8d7896;font:9px monospace;letter-spacing:1.4px}.dock{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(750px,calc(100% - 30px));z-index:30;background:#291f38e9;border:1px solid #ffffff34;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 17px;backdrop-filter:blur(22px);box-shadow:0 15px 65px #0009}.voice-summary{display:flex;align-items:center;gap:11px;min-width:0}.voice-summary b{font-size:12px;display:block}.voice-summary small{font-size:9px;color:#bba3c2;display:block}.voice-dot{height:7px;width:7px;border-radius:50%;background:#8c7997}.voice-dot.live{background:#8fecbd;box-shadow:0 0 15px #8fecbd}.dockactions{display:flex;align-items:center;gap:8px}.dockbtn{min-width:53px;min-height:53px;padding:7px;background:#ffffff08;border-radius:12px;border:1px solid #ffffff0e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative}.dockbtn svg{width:20px;height:20px}.dockbtn span{font-size:9px}.dockbtn[aria-pressed=true]{border-color:#ff9ac5;background:#bd577a52;color:#ffb3d4}.dockbtn.danger{color:#ff9fba;background:#d35d6a22}.dockbtn.chatbutton{background:#ffb9d4;color:#3a1d3a}.dockbtn b{position:absolute;right:-4px;top:-5px;border-radius:8px;background:#fff;color:#321b39;font:10px monospace;padding:2px 5px}.dockdivider{height:28px;width:1px;background:#ffffff29}.chatpanel{position:fixed;z-index:36;bottom:100px;right:20px;width:min(380px,calc(100% - 25px));height:min(550px,calc(100dvh - 150px));background:#281e36;border:1px solid #a58aaa65;box-shadow:0 20px 80px #0009;border-radius:21px;overflow:hidden;display:flex;flex-direction:column}.chathead{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.chathead h3{margin:4px 0 0;font-size:19px}.chatlog{flex:1;overflow:auto;padding:17px}.chatempty{text-align:center;color:#b09bbd;padding:45px 12px;font-size:13px}.bubble{width:fit-content;max-width:87%;background:#3b2b47;border-radius:14px 14px 14px 4px;padding:11px 13px;font-size:13px;margin:9px 0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{margin-left:auto;background:#643f5f;border-radius:14px 14px 4px 14px}.bubble small{display:block;color:#d4b3cd;font-size:9px;margin-top:7px}.systemmsg{text-align:center;color:#ac93b6;font-size:10px;margin:12px 0}.chatpanel form{display:flex;gap:7px;padding:12px 13px 7px;border-top:1px solid var(--line)}.chatpanel form button{min-width:45px}.typing{min-height:22px;color:#d4a4c4;font-size:10px;padding-left:17px}.chatfoot{color:#a28bb1;font-size:9px;padding:8px 15px 13px}.callbanner{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:60;background:#342a43;border:1px solid #a9e6c2ad;border-radius:16px;box-shadow:0 20px 55px #000a;padding:14px;display:flex;align-items:center;gap:10px;width:min(510px,calc(100% - 24px))}.callbanner span{flex:1;font-size:13px}.gamehead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:20px 0}.game-surface{border:1px solid #ffffff2d;border-radius:22px;background:radial-gradient(ellipse at 50% -20%,#98557838,transparent 65%),#221a2f;padding:35px;max-width:800px;min-height:420px;margin:0 auto 30px}.game-surface h2{font-size:32px;font-weight:700;letter-spacing:-.7px;line-height:1.25;margin:17px 0}.game-surface .subtitle{font-size:13px;color:#c9b4d1}.turnline{display:flex;align-items:center;gap:12px;margin:21px 0}.turnchip{color:#c6eede;background:#78d6b51b;border:1px solid #78d6b555;border-radius:9px;padding:9px 14px;font-size:11px}.turnchip.other{color:#e8ccea;background:#c487cf18;border-color:#c487cf55}.steps{display:flex;gap:8px;margin:24px 0}.steps span{flex:1;border-top:2px solid #ffffff22;padding-top:9px;color:#9983a5;font:9px monospace;letter-spacing:.7px}.steps .active{color:#ffadd1;border-color:#ffadd1}.choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.choice{min-height:120px;border:1px solid #ffffff2e;border-radius:15px;text-align:left;padding:23px;background:linear-gradient(145deg,#62324e,#33253c);font-size:19px;font-weight:650}.choice:nth-child(2){background:linear-gradient(145deg,#433b6b,#29253c)}.choice small{display:block;font-size:11px;color:#e7c9dc;margin-top:8px;font-weight:400}.gameactions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.feedback{background:#8bdabb14;border:1px solid #8bdabb3e;color:#b5f1d3;border-radius:12px;padding:13px;font-size:12px;margin:18px 0}.waiting{border:1px dashed #e0bad746;border-radius:13px;padding:30px 15px;text-align:center;color:#dac5db;margin:23px 0;font-size:14px}.answerbox{background:#ffffff08;border:1px solid var(--line);border-radius:14px;padding:17px;margin:15px 0;overflow-wrap:anywhere;white-space:pre-wrap}.answerbox small{display:block;font:10px monospace;letter-spacing:1px;color:#ffb5d1;margin-bottom:8px}.answerbox p{margin:0;color:#ead7ee}.reveal-title{color:#a6efc9}.memorygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.memorycard{aspect-ratio:1.2;border:1px solid #ffffff2b;border-radius:15px;background:linear-gradient(145deg,#58375b,#35253f);font-size:31px}.memorycard.revealed{background:linear-gradient(140deg,#ffdfb5,#ff9fcc);color:#331429}.memorycard.found{background:#8edfbc30;border-color:#8edfbc88}.fineprint{font-size:10px;color:#aa96b6;line-height:1.7}.game-surface fieldset{border:0;margin:0;padding:0;min-width:0}.game-surface fieldset:disabled{opacity:.55}.toast{position:fixed;bottom:106px;left:50%;transform:translateX(-50%);z-index:70;background:#ffe2f0;color:#392338;padding:12px 18px;border-radius:13px;box-shadow:0 15px 45px #0008;font-size:12px;max-width:90%;text-align:center}dialog{border:1px solid #af80a3;background:#2a2038;color:#fff;padding:24px;border-radius:20px;width:min(450px,calc(100% - 24px));box-shadow:0 25px 80px #0009}dialog::backdrop{background:#07040bbd;backdrop-filter:blur(6px)}.dialogtop{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:24px}#dialogbody{white-space:pre-line;font-size:13px;line-height:1.8;color:#d3bed8;overflow-wrap:anywhere}.dialogactions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.skip{position:absolute;top:-100px;left:0;background:#fff;color:#000;padding:8px;z-index:100}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes bob{50%{transform:translateY(-12px) rotate(-6deg)}}
@media(max-width:850px){.shell{padding:0 22px}.welcome-grid{gap:25px}.welcome-copy h1{font-size:57px;letter-spacing:-2.5px}.entry{padding:23px}.hero h2{font-size:49px}.gamecards{grid-template-columns:repeat(2,1fr)}.gamecard:nth-child(5){grid-column:auto}.gamecard{min-height:230px}.session-stat span{display:none}.you{display:none}}
@media(max-width:580px){.shell{padding:0 16px}.topbar{height:75px;margin-bottom:20px}.brand{font-size:16px}.brandmark{width:35px;height:35px}.brand small{font-size:7px;letter-spacing:2px}.edition{display:none}.welcome-grid{display:block;padding:24px 0}.welcome-copy h1{font-size:54px;line-height:1.1;letter-spacing:-2.8px;margin:22px 0}.welcome-copy p{font-size:14px}.perks{font-size:9px;gap:12px;margin:15px 0 27px}.entry{padding:23px}.city{height:135px}.roomhead{flex-direction:column;align-items:stretch;gap:10px}.roomhead h2{font-size:25px}.roomtools{display:flex;justify-content:space-between}.codebutton{font-size:11px}.leave{padding:10px;font-size:11px}.players{gap:9px;padding:12px 10px}.avatar{height:31px;width:31px;border-radius:9px;font-size:12px}.player{gap:6px;flex:1}.player b{max-width:96px;font-size:11px}.player small{font-size:9px}.between{display:none}.session-stat{font-size:9px}.session-stat b{font-size:15px}.hero{height:320px;margin-top:18px}.hero-copy{padding:27px 23px}.hero h2{font-size:44px;letter-spacing:-2px}.hero p{font-size:11px;max-width:157px}.hero .primary{padding:10px;font-size:11px}.hero .city{width:70%}.hero .sun{height:185px;width:185px;top:60px;left:66%}.bigheart{font-size:80px;left:48%;top:123px}.heroindex{left:23px;font-size:7px}.citylabel{font-size:7px;letter-spacing:1px}.sectionhead h2{font-size:19px}.sectionhead .tag{display:none}.gamecards{gap:11px}.gamecard{padding:15px;border-radius:14px;min-height:218px}.gamecard .tagline{font-size:7px}.gamecard .art{font-size:46px;height:72px}.gamecard h3{font-size:17px;margin:12px 0 5px}.gamecard p{font-size:10px}.gamecard:nth-child(4),.gamecard:nth-child(5){min-height:218px}.roomfooter{font-size:7px;padding-bottom:160px}.dock{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 18px);flex-wrap:wrap;gap:6px;padding:9px 12px;border-radius:15px}.voice-summary{width:100%;gap:9px;padding:0 4px 4px}.voice-summary b{font-size:11px}.voice-summary small{font-size:9px}.dockactions{width:100%;justify-content:space-around;gap:5px}.dockbtn{min-width:0;flex:1;min-height:45px;padding:4px}.dockbtn svg{height:18px;width:18px}.dockbtn span{font-size:8px}.chatpanel{right:9px;bottom:123px;width:calc(100% - 18px);height:min(530px,calc(100dvh - 155px))}.gamehead{gap:5px}.gamehead .tag{font-size:8px;letter-spacing:0}.gamehead .secondary{padding:8px 10px;min-height:38px;font-size:10px}.game-surface{padding:22px 17px;border-radius:17px}.game-surface h2{font-size:25px}.steps span{font-size:7px}.choice{padding:17px 12px;font-size:16px;min-height:118px}.memorygrid{gap:8px}.memorycard{font-size:24px;border-radius:10px}.gameactions .primary,.gameactions .secondary{font-size:11px;padding:11px 12px}.turnchip{font-size:10px}.notice{font-size:11px}.welcome-city{height:130px}.callbanner{flex-wrap:wrap;gap:8px}.callbanner span{flex-basis:100%}.callbanner button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* v2.1 — mobile sunset/footer repair.
   Keep the welcome artwork separate from the in-room hero artwork. */
#welcome>.city {
  position:relative;
  isolation:isolate;
  height:228px;
  margin-top:18px;
  margin-bottom:20px;
  overflow:hidden;
  opacity:1;
  border-radius:18px 18px 0 0;
  background:
    radial-gradient(ellipse at 62% 58%,rgba(255,151,175,.16),transparent 55%),
    linear-gradient(180deg,#20152e 0%,#30203d 46%,#22182f 100%);
  -webkit-mask-image:none;
  mask-image:none;
}
#welcome>.city::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.7;
  background-image:
    radial-gradient(circle,#ffd9d8 0 1px,transparent 1.6px),
    radial-gradient(circle,#ffafd0 0 1px,transparent 1.5px);
  background-size:97px 77px,131px 96px;
  background-position:13px 9px,64px 49px;
}
#welcome>.city .sun {
  z-index:1;
  left:62%;
  top:20px;
  width:172px;
  height:172px;
  border-radius:50%;
  background:linear-gradient(180deg,#ffe5bb 0%,#ffbcae 40%,#ee91ac 76%,#b66b98 100%);
  box-shadow:0 0 0 12px #ffb1c50b,0 0 65px 21px #f6a6b438;
  transform:translateX(-50%);
}
#welcome>.city .skyline {
  z-index:2;
  bottom:49px;
  height:82px;
  background:linear-gradient(180deg,#24192f,#141021);
  clip-path:polygon(0 100%,0 75%,6% 75%,6% 60%,12% 60%,12% 79%,18% 79%,18% 45%,24% 45%,24% 76%,32% 76%,32% 59%,38% 59%,38% 84%,45% 84%,45% 48%,51% 48%,51% 72%,58% 72%,58% 62%,64% 62%,64% 83%,71% 83%,71% 46%,78% 46%,78% 76%,86% 76%,86% 55%,93% 55%,93% 72%,100% 72%,100% 100%);
}
#welcome>.city .road {
  z-index:3;
  bottom:-54px;
  height:122px;
  width:125%;
  left:-12.5%;
  transform:perspective(185px) rotateX(50deg);
  background:
    repeating-linear-gradient(90deg,transparent 0 63px,#ef9ac938 64px 65px),
    repeating-linear-gradient(0deg,transparent 0 26px,#ef9ac92c 27px 28px),
    linear-gradient(180deg,#261b37,#120e20);
  border-top:1px solid #f8a7d078;
}
#welcome>.city .citylabel {
  z-index:4;
  top:15px;
  bottom:auto;
  right:16px;
  max-width:55%;
  text-align:right;
  font-size:9px;
  line-height:1.5;
  color:#ffe4ef;
  letter-spacing:1.8px;
  text-shadow:0 1px 8px #160e27;
}
#welcome {
  padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));
}
@media(max-width:580px) {
  #welcome>.city {
    height:198px;
    margin-top:17px;
    margin-bottom:34px;
    border-radius:15px 15px 0 0;
  }
  #welcome>.city .sun {
    top:22px;
    left:60%;
    width:137px;
    height:137px;
    box-shadow:0 0 0 8px #ffb4cb0b,0 0 46px 16px #f4a5b02f;
  }
  #welcome>.city .skyline {
    bottom:45px;
    height:57px;
  }
  #welcome>.city .road {
    bottom:-58px;
    height:111px;
    left:-15%;
    width:130%;
  }
  #welcome>.city .citylabel {
    top:12px;
    right:12px;
    max-width:54%;
    font-size:7px;
    letter-spacing:1px;
  }
  #welcome {
    padding-bottom:calc(46px + env(safe-area-inset-bottom,0px));
  }
}


/* Helpful, crawlable landing-page content. Native details support keyboards. */
.seo-info{max-width:900px;margin:42px auto 84px;padding:0 15px}
.seo-info h2{font-size:clamp(28px,3.7vw,42px);letter-spacing:-1.3px;line-height:1.2;margin:14px 0 18px}
.seo-info h3{font-size:22px;font-weight:600;margin:35px 0 16px}
.seo-info p{font-size:14px;line-height:1.85;color:#d0bdd8;max-width:780px}
.seo-intro{padding:26px 30px;border:1px solid #ffffff1a;border-radius:20px;background:linear-gradient(160deg,#34223d75,#1c162c85)}
.seo-intro p+p{margin-top:18px}
.faq-items{display:grid;gap:10px}
.faq-items details{border:1px solid #ffffff20;border-radius:12px;background:#261c34b8;overflow:hidden}
.faq-items summary{cursor:pointer;list-style-position:inside;font-size:14px;font-weight:600;color:#f2dfef;padding:16px 20px}
.faq-items summary:focus-visible{outline:2px solid #ffaccd;outline-offset:-3px}
.faq-items details[open] summary{border-bottom:1px solid #ffffff18}
.faq-items details p{padding:0 20px 18px;margin:15px 0 0}
@media(max-width:580px){.seo-info{margin:30px auto 65px;padding:0}.seo-intro{padding:20px;border-radius:15px}.seo-info h2{font-size:28px}.seo-info h3{font-size:19px}.seo-info p{font-size:13px;line-height:1.75}.faq-items summary{padding:15px;font-size:13px}.faq-items details p{padding:0 15px 15px}}

/* Legal notice and creator credit: discoverable, readable and keyboard-accessible. */
.welcome-privacy{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:6px 15px 16px;color:#bba4c3;font-size:11px}
.welcome-privacy a,.roomfooter a{color:#ffbad8;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.welcome-privacy a:focus-visible,.roomfooter a:focus-visible{outline:2px solid #ffbad8;outline-offset:5px}
@media(max-width:580px){.welcome-privacy{font-size:10px;gap:8px}.roomfooter{align-items:center;flex-wrap:wrap;justify-content:center;gap:14px;text-align:center}}

.seo-preview{margin:22px 0 16px;border:1px solid #ffffff21;border-radius:18px;background:#25192f;overflow:hidden}
.seo-preview img{display:block;width:100%;height:auto;max-height:280px;object-fit:cover;object-position:center}
.seo-preview figcaption{text-align:center;color:#bea6c5;font-size:11px;padding:10px 14px}
@media(max-width:580px){.seo-preview{border-radius:13px;margin:16px 0}.seo-preview img{max-height:190px}.seo-preview figcaption{font-size:10px}}
