:root{color-scheme:dark;--bg:#0a1220;--text:#e5edea;--muted:#8a9ca9;--mint:#a5ebce;--line:#263340}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button{color:inherit}main,.site-header,footer{max-width:1440px;margin:auto;padding-left:64px;padding-right:64px}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:12px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:12px}.brand-icon{font-size:36px;color:var(--mint)}nav{display:flex;align-items:center;gap:30px}nav a{font-size:12px;color:var(--muted)}.solo{font-size:9px;letter-spacing:1.4px;color:var(--mint)}i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);margin-right:7px}.intro{display:flex;align-items:center;justify-content:space-between;padding:43px 0 31px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:var(--mint);margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font:46px/1.2 Georgia,serif;letter-spacing:-1.5px;margin-bottom:14px}em{font-weight:400;color:var(--mint)}.intro p:last-child{color:var(--muted);font-size:13px;margin-bottom:0}.edition{text-align:center;letter-spacing:2px;font-size:8px;color:var(--muted);line-height:2.3}.edition:first-line{font-size:26px;color:var(--mint)}.edition small{font-size:8px;color:#536574}.game{height:min(660px,76vh);min-height:470px;position:relative;border:1px solid #354956;border-radius:16px;overflow:hidden;background:#0b1929;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;left:26px;right:22px;top:23px;display:flex;justify-content:space-between;pointer-events:none}.stats{display:flex;flex-direction:column}.stats .eyebrow{margin-bottom:1px}.stats strong{font-size:29px;font-weight:500;line-height:1.4}.stats small{font-size:11px;color:var(--muted)}#rank{font-size:10px;color:var(--muted)}.tide{display:flex;gap:12px;font-size:9px;letter-spacing:1.5px;align-items:flex-start}.tide>span{font-size:23px;color:var(--mint)}.tide small{display:block;letter-spacing:0;color:var(--muted);margin-top:5px}.top-controls{display:flex;gap:8px;pointer-events:auto}.icon-button{width:35px;height:35px;border:1px solid #41576680;background:#102331aa;border-radius:50%;font-size:16px}.icon-button[aria-pressed="false"]{color:#738595}.leaderboard{position:absolute;right:25px;top:90px;width:144px}.leaderboard .eyebrow{font-size:8px;color:#899daa}.leaderboard ol{list-style:none;padding:0;margin:0}.leaderboard li{display:flex;gap:9px;font-size:10px;margin:7px 0;color:#a1b1bb}.leaderboard li b{margin-left:auto;font-weight:400}.leaderboard li.you{color:var(--mint)}.bottom-hud{position:absolute;bottom:22px;left:25px;right:22px;display:flex;justify-content:space-between;align-items:center}.garden-label{font-size:9px;letter-spacing:1.8px;color:#b0c0c6}.garden-label small{display:block;font-size:8px;color:#6e8b98;margin:3px 0 0 13px}.burst{display:flex;align-items:center;gap:13px;background:#142d38e8;border:1px solid #668c80;border-radius:12px;padding:11px 16px;text-align:left;font-size:12px;min-width:204px}.burst small{display:block;font-size:9px;color:#91b4b1}.burst:disabled{opacity:.5;cursor:default}.burst-icon{font-size:29px;color:var(--mint);line-height:1}#moon-count{margin-left:auto;color:var(--mint)}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#081421b8,#08142128);backdrop-filter:blur(2px)}.overlay[hidden]{display:none}.panel{text-align:center;padding:24px;max-width:520px}.panel-orbit{display:block;font-size:56px;color:#bcf2da;line-height:1.3;text-shadow:0 0 35px #92ffce}.panel .eyebrow{font-size:8px;margin:16px 0}.panel h2{font:57px/1.15 Georgia,serif;letter-spacing:-2px;margin-bottom:17px}.panel>p:not(.eyebrow):not(.best){font-size:12px;color:#b5c5cc}.primary{margin:12px 0 23px;padding:15px 25px;min-width:234px;border:0;border-radius:8px;background:var(--mint);color:#102b2a;font-weight:600;font-size:12px;box-shadow:0 5px 35px #98ffd51a}.primary:hover{background:#c7ffe8}.primary span{margin-left:30px}.panel-help{display:flex;justify-content:center;gap:22px;font-size:9px;color:#9cb3bb}.best{font-size:8px;letter-spacing:2px;color:#79909d;margin:23px 0 0}.best span{color:#c7d5d9;margin-left:10px}#notice{position:absolute;top:100px;left:50%;transform:translateX(-50%);text-align:center;font-size:12px;color:#ffe3a5;pointer-events:none;white-space:nowrap}.game-caption{display:flex;justify-content:space-between;color:#8196a1;font-size:10px;padding-top:14px}.game-caption>span:last-child{font-size:8px;letter-spacing:1.3px}.guide{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:35px;padding:70px 0;border-bottom:1px solid var(--line)}h2{font:30px/1.2 Georgia,serif;letter-spacing:-.6px}.section-heading p:last-child,article p,.notes p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.9}h3{font-size:13px;font-weight:500;margin-bottom:10px}.step{font-size:8px;letter-spacing:1.6px;color:#8fa6ae}.guide-symbol{font-size:43px;color:var(--mint);height:80px}.gold{color:#e8cd94}.violet{color:#b7a8e3}.notes{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:55px 0;border-bottom:1px solid var(--line)}.notes h3{margin-top:6px}.faq{padding:45px 0 60px;max-width:850px;margin:auto}.faq>.eyebrow{text-align:center;margin-bottom:25px}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:12px}details p{font-size:12px;color:var(--muted);margin:14px 0 0}footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:30px;display:flex;justify-content:space-between;align-items:center}footer .brand{font-size:9px}footer>span{font-size:10px;color:var(--muted)}footer nav{gap:20px}footer button{background:none;border:0;color:var(--muted);font-size:10px;padding:5px}dialog{background:#122331;border:1px solid #3b5863;border-radius:16px;padding:30px;max-width:480px;color:var(--text);width:calc(100% - 32px)}dialog::backdrop{background:#020910b8}dialog p{color:#a7bbc4;font-size:13px}dialog .icon-button{float:right}#joystick{display:none;position:absolute;left:24px;bottom:26px;width:92px;height:92px;border-radius:50%;border:1px solid #88c8c74d;background:#17313d80;touch-action:none}#joystick span{position:absolute;left:30px;top:30px;width:30px;height:30px;border-radius:50%;background:#a5ebce70;border:1px solid #ade7d0}.game.active{touch-action:none}@media(pointer:coarse){.active #joystick{display:block}.active .garden-label{visibility:hidden}}@media(max-width:760px){main,.site-header,footer{padding-left:20px;padding-right:20px}.site-header{height:74px}nav{gap:16px}.solo,.edition{display:none}.brand{font-size:10px;letter-spacing:1px}.brand-icon{font-size:28px}nav a{font-size:10px}.intro{padding:29px 0 24px}h1{font-size:34px}.intro p:last-child{font-size:11px;max-width:280px}.game{height:650px;height:76svh;min-height:510px;border-radius:12px}.hud{left:16px;right:14px;top:18px}.tide{position:absolute;left:0;top:91px;font-size:8px}.tide>span{font-size:18px}.leaderboard{right:15px;top:78px;width:120px}.leaderboard .eyebrow{font-size:7px}.leaderboard li{font-size:9px}.panel{padding:20px}.panel h2{font-size:43px}.panel-help{gap:12px;font-size:8px}.panel>p:not(.eyebrow):not(.best){font-size:11px}.bottom-hud{left:16px;right:15px;bottom:20px}.burst{min-width:164px;padding:12px;gap:9px}.burst-icon{font-size:25px}.garden-label{font-size:8px}.game-caption>span:last-child{display:none}.game-caption{font-size:9px}.guide{grid-template-columns:1fr;gap:24px;padding:40px 0}.guide article{position:relative;padding-left:65px}.guide-symbol{position:absolute;left:3px;top:15px}.guide article p{margin-bottom:0}.step{display:block;margin-bottom:9px}.notes{grid-template-columns:1fr;gap:14px;padding:35px 0}.faq{padding:35px 0}footer{flex-wrap:wrap;gap:20px}footer>span{display:none}#notice{top:160px;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hud{z-index:2}@media(max-width:760px){.top-controls .icon-button{width:44px;height:44px}.active .burst{min-height:58px}}

/* Arrival: a small character studio, framed by the living garden. */
[hidden]{display:none!important}
.game.customizing{min-height:650px}
.customizing .stats,.customizing .tide,.customizing .leaderboard,.customizing .bottom-hud,.customizing #pause{visibility:hidden}
.customizing #arena{opacity:.55}
.customizing .overlay{background:radial-gradient(ellipse at 30% 45%,#11383766,transparent 70%),#06132180;backdrop-filter:blur(4px);padding:24px}
.arrival{--avatar-accent:#a5ebce;width:min(830px,100%);margin:0;animation:arrival-in .55s ease-out}
.arrival-heading{text-align:center;margin-bottom:24px}
.arrival-heading .eyebrow{font-size:8px;letter-spacing:2.1px}
.arrival-heading h2{font:37px/1.2 Georgia,serif;letter-spacing:-1px;margin-bottom:9px}
.arrival-heading>p:last-child{color:#96aeb6;font-size:11px;margin-bottom:0}
.arrival-body{display:grid;grid-template-columns:.95fr 1fr;border:1px solid #789a963b;border-radius:16px;background:#0c1d2be8;box-shadow:0 22px 65px #00000035;overflow:hidden}
.avatar-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:30px 18px 25px;background:radial-gradient(ellipse at 50% 44%,#42766b26,transparent 65%);border-right:1px solid #789a9628}
.stage-label{font-size:8px;letter-spacing:2.7px;color:#90aaa9}
#avatar-preview{height:auto;width:100%;max-width:320px;aspect-ratio:16/11;touch-action:auto;margin-top:0}
#preview-name{color:#f0f5ed;font:25px/1.25 Georgia,serif;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:32px}
.specimen{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--avatar-accent);margin-top:10px}
#style-description{font:italic 12px/1.6 Georgia,serif;color:#9bb2b9;margin:9px 0 22px;text-align:center}
.stage-footer{display:flex;justify-content:space-between;gap:20px;width:100%;color:#6f8c96;font-size:6px;letter-spacing:1.2px;border-top:1px solid #789a9626;padding-top:15px;margin-top:auto}
.arrival-options{padding:26px 28px 20px;min-width:0}
.name-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.name-label label,.style-picker legend{color:#809e9e;font-size:9px;letter-spacing:1px}
.name-label label span,.style-picker legend span{color:#dce9e5;font-size:11px;letter-spacing:.15px;margin-left:9px}
#name-count{font-size:8px;color:#77909c}
#avatar-name{display:block;width:100%;height:46px;padding:0 14px;background:#071521a6;border:1px solid #45625f;border-radius:7px;color:#edf6ed;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:border-color .2s,box-shadow .2s}
#avatar-name::placeholder{color:#6c8691}
#avatar-name:focus{outline:2px solid var(--avatar-accent);outline-offset:3px;border-color:transparent;box-shadow:0 0 20px #a5ebce0b}
#name-hint{font-size:9px;color:#819aa4;margin:7px 0 21px}
.style-picker{padding:0;border:0;margin:0;min-width:0}
.style-picker legend{padding:0;margin-bottom:12px}
.avatar-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.avatar-choice{position:relative;cursor:pointer;min-width:0}
.avatar-choice input{position:absolute;opacity:0;width:1px;height:1px}
.avatar-tile{position:relative;display:flex;flex-direction:column;align-items:center;border:1px solid #304750;border-radius:9px;background:#13293755;padding:0 4px 7px;transition:background .2s,border-color .2s,transform .2s}
.avatar-tile canvas{width:64px;height:50px;max-width:100%;touch-action:auto}
.avatar-tile>span:not(.selection-check){font-size:9px;color:#a8bdc4}
.selection-check{position:absolute;right:6px;top:3px;font-size:10px;color:var(--avatar-accent);opacity:0}
.avatar-choice input:checked+.avatar-tile{background:#a5ebce0b;border-color:var(--avatar-accent);box-shadow:inset 0 0 15px #a5ebce05}
.avatar-choice input:checked+.avatar-tile>span{color:var(--avatar-accent)}
.avatar-choice input:checked+.avatar-tile .selection-check{opacity:1}
.avatar-choice input:focus-visible+.avatar-tile{outline:2px solid var(--avatar-accent);outline-offset:3px}
@media(hover:hover){.avatar-choice:hover .avatar-tile{transform:translateY(-2px);background:#23433f50}}
.cosmetic-note{text-align:center;font-size:8px;color:#819ba5;margin:10px 0 0}
.launch{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;margin:17px 0 11px;font-size:12px;background:var(--avatar-accent);padding:14px 18px}
.launch span{font-size:19px;line-height:1}
.arrival-footnote{display:flex;justify-content:center;gap:9px;font-size:6px;letter-spacing:.7px;color:#8ba29f;margin:0;white-space:nowrap}
.arrival-footnote span+span::before{content:'·';margin-right:9px;color:#4b676d}
.arrival-controls{display:flex;justify-content:center;gap:32px;margin-top:21px;color:#7c969f;font-size:9px}
.arrival-controls b{color:#b6c9cd;font-weight:400;margin:0 5px}
.secondary{display:block;border:0;background:transparent;color:#a3bfba;font-size:11px;padding:10px 16px;margin:-11px auto 12px;text-decoration:underline;text-underline-offset:4px}
.leaderboard li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leaderboard li b{flex-shrink:0}
@keyframes arrival-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px) and (min-width:761px){.customizing .overlay{padding:20px}.arrival-options{padding:24px 20px}.arrival-controls{gap:14px}}
@media(max-width:760px){
  .game.customizing{height:auto;min-height:0}
  .customizing #arena{position:absolute;inset:0}
  .customizing .overlay{position:relative;padding:56px 16px 23px}
  .customizing .hud{top:12px;right:12px}
  .customizing .top-controls{flex-direction:row-reverse}
  .customizing #sound{width:34px;height:34px}
  .arrival-heading{margin-bottom:20px}
  .arrival-heading .eyebrow{font-size:6px;letter-spacing:1.3px}
  .arrival-heading h2{font-size:29px;max-width:270px;margin:0 auto 10px}
  .arrival-heading>p:last-child{font-size:10px;max-width:235px;margin:auto}
  .arrival-body{grid-template-columns:1fr;border-radius:12px}
  .avatar-stage{padding:16px 15px 13px;border-right:0;border-bottom:1px solid #789a9628}
  .stage-label{font-size:7px;letter-spacing:2px}
  #avatar-preview{width:205px;height:130px;margin:-3px 0 -5px}
  #preview-name{font-size:21px;min-height:27px}
  .specimen{font-size:8px;margin-top:3px}
  #style-description{font-size:11px;margin:5px 0 0}
  .stage-footer{display:none}
  .arrival-options{padding:20px 18px 18px}
  #name-hint{margin-bottom:16px}
  .avatar-tile{padding-bottom:6px}
  .avatar-tile canvas{width:64px;height:46px}
  .avatar-styles{gap:7px}
  .launch{margin-top:15px;min-height:48px}
  .arrival-footnote{font-size:5.5px;gap:5px;letter-spacing:.45px}
  .arrival-footnote span+span::before{margin-right:5px}
  .arrival-controls{gap:12px;font-size:8px;flex-wrap:wrap;margin-top:17px;row-gap:7px}
  .arrival-controls b{margin:0 3px}
}
@media(prefers-reduced-motion:reduce){.arrival{animation:none}.avatar-tile{transition:none}.avatar-choice:hover .avatar-tile{transform:none}}

@media(max-width:760px){#avatar-name{font-size:16px}}
