:root{--ink:#0e2a33;--muted:#4f6a72;--panel:rgba(251,250,246,.9);--panel-strong:#fbfaf6;--line:rgba(14,42,51,.16);--lagoon:#13808a;--lagoon-ink:#ffffff;--sun:#e2a21c;--sun-ink:#2b1d00;--scrim:rgba(6,22,28,.38);--bg:#a7c8e2;--shade:0 8px 24px rgba(14,42,51,.22);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ink:#eaf4f3;--muted:#a3bcc0;--panel:rgba(9,28,34,.84);--panel-strong:#0c232a;--line:rgba(234,244,243,.18);--lagoon:#2fb3ae;--lagoon-ink:#04161a;--sun:#f2b632;--sun-ink:#2b1d00;--scrim:rgba(0,0,0,.5);--bg:#0a1a20;--shade:0 8px 24px rgba(0,0,0,.5);color-scheme:dark}}:root[data-theme=dark]{--ink:#eaf4f3;--muted:#a3bcc0;--panel:rgba(9,28,34,.84);--panel-strong:#0c232a;--line:rgba(234,244,243,.18);--lagoon:#2fb3ae;--lagoon-ink:#04161a;--sun:#f2b632;--sun-ink:#2b1d00;--scrim:rgba(0,0,0,.5);--bg:#0a1a20;--shade:0 8px 24px rgba(0,0,0,.5);color-scheme:dark}html{scroll-padding-top:env(safe-area-inset-top,0px)}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--ink);font:500 14px/1.4 Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}*,*:before,*:after{box-sizing:border-box}#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}#hud[hidden]{display:none}.hud{position:fixed;z-index:4}button{font-family:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.mm{top:calc(10px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));width:98px;height:98px;border-radius:50%;background:var(--panel);box-shadow:var(--shade);padding:5px}.mm canvas{width:88px;height:88px;border-radius:50%;display:block}.mm .n{position:absolute;top:-3px;left:50%;transform:translate(-50%);width:19px;height:19px;border-radius:50%;background:var(--lagoon);color:var(--lagoon-ink);font:700 10px/19px Be Vietnam Pro,sans-serif;text-align:center}.loc{top:calc(114px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));max-width:min(300px,calc(100% - 154px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));display:flex;gap:7px;align-items:center;background:var(--panel);border-radius:12px;padding:6px 11px 6px 8px;box-shadow:var(--shade);pointer-events:none}.loc svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--lagoon);stroke-width:2.2}.loc div{min-width:0}.loc b,.loc small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc b{font-weight:700;font-size:13.5px;line-height:1.2}.loc small{color:var(--muted);font-size:11px;line-height:1.25}.demo{top:calc(16px + env(safe-area-inset-top,0px));left:calc(118px + env(safe-area-inset-left,0px));max-width:calc(100% - 264px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));display:flex;gap:7px;align-items:center;background:var(--panel);border-radius:12px;padding:6px 8px;box-shadow:var(--shade);pointer-events:none}.demo svg{display:none;width:17px;height:17px;flex:none;fill:none;stroke:var(--sun);stroke-width:2.2;stroke-linecap:round}.demo b,.demo small{display:block;line-height:1.25}.demo b{font-size:12.5px;font-weight:700}.demo small{font-size:10.5px;color:var(--muted)}@media (min-width:700px){.demo{left:50%;transform:translate(-50%);max-width:none;width:max-content;padding:6px 12px 6px 8px}.demo svg{display:block}.demo span{display:flex;align-items:baseline;gap:6px}.demo small{font-size:12px}.demo small:before{content:"· "}}.tr{top:calc(14px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:8px;align-items:flex-end}.pill{background:var(--panel);color:var(--ink);border:0;border-radius:999px;padding:7px 12px;display:flex;align-items:center;gap:7px;box-shadow:var(--shade);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.pill svg{width:18px;height:18px;fill:var(--sun)}.pill.q{font-weight:600;font-size:12px;color:var(--muted)}.pill[hidden]{display:none}.pill.bump{animation:bump .5s ease}@keyframes bump{40%{transform:scale(1.15)}}.qbtn,.quest{top:calc(164px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px))}.qbtn svg{fill:none;stroke:var(--lagoon);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.qbtn em{font-style:normal;font-weight:600;font-size:12px;color:var(--muted)}.qbtn[hidden],.quest[hidden],.wx[hidden]{display:none}.quest{width:min(236px,62vw,calc(100vw - 168px));background:var(--panel);border-radius:16px;padding:8px 12px 11px;box-shadow:var(--shade)}.qhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.qhead small{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lagoon)}.qhead button{border:0;background:var(--line);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:650;min-height:26px}.quest h2{margin:0;font-size:13px;line-height:1.3;font-weight:700}.pill.clk{font-size:13px}.pill.clk svg{fill:none;stroke:var(--sun);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pill.clk small{font-weight:600;font-size:12px;color:var(--muted)}.pill.clk[aria-expanded=true]{outline:2px solid var(--lagoon);outline-offset:1px}.wx{top:calc(120px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));width:min(300px,calc(100vw - 20px));max-height:calc(100% - 140px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;background:var(--panel-strong);border-radius:18px;padding:10px 14px 12px;box-shadow:var(--shade);z-index:6}.wxtop{display:flex;align-items:center;gap:10px;margin-top:4px}.wxtop svg{width:38px;height:38px;flex:none;fill:none;stroke:var(--sun);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.wxtop div{min-width:0;flex:1}.wxtop b{display:block;font-size:24px;line-height:1.05;font-weight:700;font-variant-numeric:tabular-nums}.wxtop span{display:block;font-size:12px;color:var(--muted)}.wxtop strong{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.wxsky{margin:6px 0 8px;font-size:13px;font-weight:600}.wxgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 6px}.wxgrid div{background:var(--line);border-radius:10px;padding:6px 8px}.wxgrid dt{font-size:10.5px;color:var(--muted)}.wxgrid dd{margin:0;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.wxlab{margin:8px 0 4px;font-size:11px;font-weight:700;color:var(--muted)}.seg{display:flex;gap:4px;flex-wrap:wrap}.seg button{flex:1 1 auto;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:10px;padding:7px 6px;font-size:12.5px;font-weight:600;min-height:34px}.seg button[aria-pressed=true]{background:var(--lagoon);border-color:var(--lagoon);color:var(--lagoon-ink)}.seg button:active{background:var(--line)}.wxnote{margin:10px 0 0;font-size:11.5px;line-height:1.45;color:var(--muted)}.quest ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.quest li{display:flex;align-items:center;gap:8px;font-size:12.5px}.quest li i{width:17px;height:17px;border-radius:5px;border:2px solid var(--line);flex:none;display:grid;place-items:center;transition:background .25s,border-color .25s}.quest li.done i{background:var(--lagoon);border-color:var(--lagoon)}.quest li.done i:after{content:"";width:4px;height:8px;border:solid var(--lagoon-ink);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}.quest li.done span{color:var(--muted)}.quest li em{margin-left:auto;font-style:normal;color:var(--muted);font-variant-numeric:tabular-nums}.qbtn.bump,.quest li.bump{animation:bump .5s ease}.quest.min ul{display:none}.joy{left:calc(26px + env(safe-area-inset-left,0px));bottom:calc(26px + env(safe-area-inset-bottom,0px));width:116px;height:116px;border-radius:50%;background:#ffffff29;border:2px solid rgba(255,255,255,.55);pointer-events:none}.joy.active{background:#ffffff3d}.joy .knob{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:#fffffff0;box-shadow:0 4px 12px #00000047}.br{right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px));display:flex;gap:12px;align-items:flex-end}.round{width:56px;height:56px;border-radius:50%;border:0;background:var(--panel);color:var(--ink);box-shadow:var(--shade);display:grid;place-items:center;padding:0}.round svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.round[aria-pressed=true]{background:var(--lagoon);color:var(--lagoon-ink)}.round.shot{width:66px;height:66px;background:var(--sun);color:var(--sun-ink)}.round.shot svg{width:30px;height:30px}.hint{left:50%;bottom:calc(158px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--panel);padding:9px 14px;border-radius:12px;width:max-content;max-width:min(86vw,440px);text-align:center;font-size:13px;box-shadow:var(--shade);transition:opacity .6s}.hint.off{opacity:0;pointer-events:none}.toast{left:50%;top:calc(126px + env(safe-area-inset-top,0px));transform:translate(-50%,-10px);opacity:0;pointer-events:none;background:var(--panel-strong);padding:10px 16px;border-radius:14px;box-shadow:var(--shade);font-weight:600;font-size:13.5px;width:max-content;max-width:min(80vw,420px);text-align:center;transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translate(-50%)}.busy{left:50%;top:calc(126px + env(safe-area-inset-top,0px));transform:translate(-50%);display:flex;align-items:center;gap:9px;background:var(--panel-strong);padding:10px 16px;border-radius:14px;box-shadow:var(--shade);font-weight:600;font-size:13.5px;width:max-content;max-width:min(80vw,420px);pointer-events:none}.busy[hidden]{display:none}.busy i{flex:none;width:16px;height:16px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--lagoon);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.area{left:50%;top:calc(22% + 50px + env(safe-area-inset-top,0px));transform:translate(-50%,10px);opacity:0;pointer-events:none;width:max-content;max-width:calc(100% - 24px);text-align:center;color:#fff;padding:16px clamp(24px,6vw,60px) 18px;background:radial-gradient(closest-side,#06181e80,#06181e47 60%,#06181e00);text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 16px rgba(0,0,0,.35);transition:opacity 1s ease,transform 1s ease}.area.show{opacity:1;transform:translate(-50%)}.area small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.9}.area b{display:block;font-size:clamp(22px,calc(2.4vw + 10px),36px);font-weight:700;line-height:1.15;margin-top:3px}.area i{display:block;width:46px;height:2px;margin:9px auto 0;border-radius:2px;background:var(--sun)}#flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:8}#flash.go{animation:flash .45s ease-out}@keyframes flash{0%{opacity:.9}to{opacity:0}}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--scrim)}.modal[hidden]{display:none}.card{background:var(--panel-strong);color:var(--ink);border-radius:22px;padding:22px 22px 20px;max-width:400px;width:100%;box-shadow:var(--shade)}.card h1{margin:0 0 6px;font-size:27px;line-height:1.12;font-weight:700;letter-spacing:-.015em}.card p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}.load{font-size:13px;color:var(--muted);margin-bottom:8px;min-height:1.4em}.bar{height:6px;border-radius:6px;background:var(--line);overflow:hidden;margin-bottom:16px}.bar div{height:100%;width:0;background:var(--lagoon);transition:width .25s}.cta{width:100%;border:0;border-radius:14px;padding:13px 16px;background:var(--lagoon);color:var(--lagoon-ink);font-weight:700;font-size:15px}.cta:disabled{opacity:.45;cursor:default}.keys{margin:12px 0 0!important;font-size:12.5px!important}.pill.go{font-weight:650;font-size:13px}.pill.go svg{fill:var(--lagoon)}.card.travel{max-width:340px}.card h2{margin:0 0 12px;font-size:20px;line-height:1.2;font-weight:700}.list{display:grid;gap:8px;margin:0 0 12px}.list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 14px;background:transparent;color:var(--ink);font-size:15px;font-weight:650}.list button small{font-weight:400;font-size:12.5px;color:var(--muted)}.list button:active{background:var(--line)}.cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.photo .card{max-width:520px;padding:14px}.photo img{display:block;width:100%;height:auto;border-radius:6px;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto}.photo p{margin:10px 2px 12px;font-size:13px}.desk .hint{bottom:calc(30px + env(safe-area-inset-bottom,0px))}@media (max-height:520px) and (orientation:landscape){.loc{top:calc(16px + env(safe-area-inset-top,0px));left:calc(118px + env(safe-area-inset-left,0px));max-width:min(300px,calc(100% - 400px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}.demo{left:auto;right:calc(147px + env(safe-area-inset-right,0px));transform:none;width:auto;max-width:150px;padding-left:9px;padding-right:9px}.demo svg{display:none}.demo span{display:block}.demo small{font-size:11px}.demo small:before{content:none}.qbtn,.quest{top:calc(66px + env(safe-area-inset-top,0px));left:calc(118px + env(safe-area-inset-left,0px))}.wx{top:calc(10px + env(safe-area-inset-top,0px));right:calc(150px + env(safe-area-inset-right,0px));max-height:calc(100% - 20px)}.hint{bottom:calc(18px + env(safe-area-inset-bottom,0px))}.toast,.busy{top:calc(16px + env(safe-area-inset-top,0px))}}@media (prefers-reduced-motion:reduce){.toast,.hint,.bar div{transition:none}.area{transform:translate(-50%);transition:opacity .4s}.pill.bump,.quest li.bump,#flash.go{animation:none}.busy i{animation-duration:2.4s}}.sit{right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(112px + env(safe-area-inset-bottom,0px));padding:11px 18px 11px 14px;font-size:15px;gap:8px;animation:bump .5s ease}.sit svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sit[aria-pressed=true]{background:var(--lagoon);color:var(--lagoon-ink)}.sit[aria-pressed=true] svg{stroke:currentColor}.sit kbd{font:600 11px/1 inherit;padding:3px 6px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}.sit[aria-pressed=true] kbd{color:inherit;border-color:currentColor}body:not(.desk) .sit kbd{display:none}@media (max-height:520px) and (orientation:landscape){.sit{bottom:calc(100px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.sit{animation:none}}#intro.wl{position:fixed;inset:0;z-index:12;display:block;padding:0;overflow:hidden;background:linear-gradient(180deg,#071820,#0c2a36 38%,#1b4553,#7a5a4a 86%,#2a3238);color:#eaf4f3;transition:opacity .9s ease}#intro.wl[hidden]{display:none}#intro.wl.wl-out{opacity:0;pointer-events:none}#intro.wl .wl-sky{position:absolute;inset:0;pointer-events:none}#intro.wl .wl-glow{position:absolute;left:50%;bottom:6%;width:150vmax;height:60vmax;margin-left:-75vmax;border-radius:50%;background:radial-gradient(closest-side,#ffb0609e,#f2804842 45%,#f2804800);animation:wl-breathe 9s ease-in-out infinite alternate;will-change:opacity,transform}#intro.wl .wl-stars{position:absolute;inset:0 0 50%;opacity:.55;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 8%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 44% 26%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 63% 12%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 78% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 90% 10%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 6% 40%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 35% 42%,#fff 50%,transparent 51%)}#intro.wl .wl-scene{position:absolute;left:50%;bottom:0;width:clamp(620px,100vw,1700px);transform:translate(-50%);pointer-events:none}#intro.wl .wl-drift{animation:wl-drift 26s ease-in-out infinite alternate;will-change:transform}#intro.wl .wl-scene svg{display:block;width:100%;height:auto}#intro.wl .wl-shimmer{position:absolute;left:-10%;right:-10%;bottom:0;height:24%;opacity:.5;background:repeating-linear-gradient(180deg,#ffd6aa00 0 7px,#ffd6aa29 7px 8px,#ffd6aa00 8px 15px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);animation:wl-shimmer 6s ease-in-out infinite alternate;will-change:transform,opacity}#intro.wl .wl-bird{position:absolute;width:18px;height:8px;top:var(--y);left:-30px;opacity:.75;animation:wl-fly var(--t) linear var(--d) infinite;will-change:transform}#intro.wl .wl-bird svg{display:block;width:100%;height:100%;animation:wl-flap .6s ease-in-out infinite alternate;transform-origin:50% 60%}#intro.wl .wl-main{position:relative;z-index:1;width:min(640px,calc(100% - 32px));margin:0 auto;padding-top:calc(max(5vh,28px) + env(safe-area-inset-top,0px));text-align:center}#intro.wl .wl-kicker{margin:0 0 6px;font:600 12px/1.4 Be Vietnam Pro,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#f2c879}#intro.wl h1{margin:0;font:700 clamp(34px,6.4vw,58px)/1.05 "Be Vietnam Pro",sans-serif;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}#intro.wl .wl-lead{margin:12px auto 0;max-width:56ch;font:400 14.5px/1.55 Be Vietnam Pro,sans-serif;color:#c9dcdf}#intro.wl .wl-card{margin:22px auto 0;max-width:460px;padding:16px 18px 14px;border-radius:16px;text-align:left;background:#06161c8c;border:1px solid rgba(234,244,243,.12);box-shadow:0 10px 30px #00000040;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#intro.wl .wl-disc{display:flex;gap:8px;align-items:flex-start;margin:12px auto 0;max-width:460px;padding:0 4px;text-align:left;font:400 12.5px/1.5 Be Vietnam Pro,sans-serif;color:#c9dcdf;text-wrap:pretty}#intro.wl .wl-disc svg{flex:none;width:16px;height:16px;margin-top:1px;fill:none;stroke:#f2c879;stroke-width:2;stroke-linecap:round}#intro.wl .wl-prog-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}#intro.wl .wl-prog-title{font:600 14px/1.3 Be Vietnam Pro,sans-serif;color:#fff}#intro.wl .wl-dots i{display:inline-block;width:4px;height:4px;margin-left:3px;border-radius:50%;background:#f2c879;vertical-align:middle;animation:wl-dot 1.2s ease-in-out infinite}#intro.wl .wl-dots i:nth-child(2){animation-delay:.2s}#intro.wl .wl-dots i:nth-child(3){animation-delay:.4s}#intro.wl .wl-pct{font:700 15px/1 Be Vietnam Pro,sans-serif;color:#f2c879;font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}#intro.wl .wl-track{position:relative;height:8px;margin-top:10px;border-radius:99px;background:#eaf4f31f;overflow:hidden}#intro.wl .wl-fill{position:absolute;inset:0;border-radius:99px;transform-origin:0 50%;transform:scaleX(.02);background:linear-gradient(90deg,#1e9a98,#2fb3ae 45%,#f2b632);will-change:transform;overflow:hidden}#intro.wl .wl-fill:after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,#fff0,#ffffff8c,#fff0);animation:wl-sheen 1.6s ease-in-out infinite;will-change:transform}#intro.wl .load{margin:9px 0 0;min-height:1.4em;font:400 13px/1.4 Be Vietnam Pro,sans-serif;color:#a9c3c7;text-align:left}#intro.wl .bar,#intro.wl.wl-done .wl-dots,#intro.wl.wl-err .wl-dots{display:none}#intro.wl.wl-err .wl-fill{background:#c9534f}#intro.wl.wl-err .wl-fill:after{display:none}#intro.wl.wl-err .load{color:#ffb4a8}#intro.wl .wl-tip{position:relative;margin:12px auto 0;max-width:460px;padding:12px 16px 14px;border-radius:14px;text-align:left;overflow:hidden;background:#06161c6b;border:1px solid rgba(234,244,243,.1)}#intro.wl .wl-tip-k{display:flex;align-items:center;gap:7px;font:700 11px/1.3 Be Vietnam Pro,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#7fd4cf}#intro.wl .wl-tip-k svg{width:14px;height:14px;flex:none}#intro.wl .wl-tip p{margin:5px 0 0;font:500 14px/1.5 Be Vietnam Pro,sans-serif;color:#eaf4f3;min-height:3em;transition:opacity .45s ease,transform .45s ease}#intro.wl .wl-tip.swap p,#intro.wl .wl-tip.swap .wl-tip-k{opacity:0;transform:translateY(4px)}#intro.wl .wl-tip .wl-tip-k{transition:opacity .45s ease,transform .45s ease}#intro.wl .wl-tip-t{position:absolute;left:0;right:0;bottom:0;height:2px;background:#7fd4cf8c;transform-origin:0 50%;transform:scaleX(0)}#intro.wl .wl-tip-t.run{animation:wl-tipbar var(--wl-tip,6s) linear forwards}#intro.wl .keys{margin:12px auto 0;max-width:460px;font:400 12px/1.5 Be Vietnam Pro,sans-serif;color:#86a5aa}#intro.wl .wl-credit{position:absolute;z-index:1;right:12px;bottom:calc(8px + env(safe-area-inset-bottom,0px));margin:0;font:400 11px/1.3 Be Vietnam Pro,sans-serif;color:#eaf4f39e}@media (max-height:700px){#intro.wl .keys{display:none}#intro.wl .wl-lead{font-size:13.5px}}@media (max-width:520px){#intro.wl .wl-lead{display:none}#intro.wl .wl-card{margin-top:18px}}@keyframes wl-breathe{0%{opacity:.75;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}@keyframes wl-drift{0%{transform:translate3d(-1.2%,0,0) scale(1.01)}to{transform:translate3d(1.2%,0,0) scale(1.03)}}@keyframes wl-shimmer{0%{transform:translate3d(-3%,0,0);opacity:.35}to{transform:translate3d(3%,1px,0);opacity:.6}}@keyframes wl-fly{0%{transform:translateZ(0)}to{transform:translate3d(calc(100vw + 60px),-6vh,0)}}@keyframes wl-flap{0%{transform:scaleY(1)}to{transform:scaleY(.45)}}@keyframes wl-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes wl-sheen{0%{transform:translate(-120%)}to{transform:translate(420%)}}@keyframes wl-tipbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#wl{position:fixed;inset:0;z-index:11;pointer-events:none;color:var(--ink)}#wl>*{pointer-events:auto}#wl .wl-brand{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:calc(16px + env(safe-area-inset-left,0px));padding:8px 14px 9px;border-radius:14px;background:var(--panel);box-shadow:var(--shade);transition:opacity .5s ease,transform .5s ease}#wl .wl-brand b{display:block;font:700 16px/1.2 Be Vietnam Pro,sans-serif}#wl .wl-brand span{display:block;font:500 11.5px/1.3 Be Vietnam Pro,sans-serif;color:var(--muted)}#wl .wl-hint{position:absolute;left:0;right:404px;bottom:calc(22px + env(safe-area-inset-bottom,0px));margin:0;text-align:center;pointer-events:none;font:500 12.5px/1.3 Be Vietnam Pro,sans-serif;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);transition:opacity .5s ease}#wl .wl-hint svg{width:15px;height:15px;vertical-align:-3px;margin-right:6px}#wl .wl-panel{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:372px;display:flex;flex-direction:column;background:var(--panel-strong);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shade);overflow:hidden;transition:opacity .5s ease,transform .55s cubic-bezier(.2,.7,.2,1)}#wl.wl-in .wl-panel{animation:wl-panel-in .6s cubic-bezier(.2,.7,.2,1) both}#wl.wl-in .wl-brand{animation:wl-fade-in .6s ease both}#wl.wl-leave .wl-panel{opacity:0;transform:translate(30px)}#wl.wl-leave .wl-brand,#wl.wl-leave .wl-hint{opacity:0}@keyframes wl-panel-in{0%{opacity:0;transform:translate(34px)}to{opacity:1;transform:none}}@keyframes wl-fade-in{0%{opacity:0}to{opacity:1}}#wl .wl-head{display:flex;align-items:center;gap:8px;padding:16px 16px 10px}#wl .wl-head h2{flex:1;margin:0;font:700 18px/1.25 Be Vietnam Pro,sans-serif}#wl .wl-icon{flex:none;width:36px;height:36px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;padding:0}#wl .wl-icon svg{width:18px;height:18px}#wl .wl-icon:hover{background:#7fa0a61f}#wl .wl-chip{display:inline-flex;align-items:center;gap:6px;max-width:150px;padding:6px 11px;border-radius:99px;background:var(--lagoon);color:var(--lagoon-ink);font:700 12.5px/1.2 Be Vietnam Pro,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wl .wl-chip.guest{background:#7fa0a633;color:var(--ink)}#wl .wl-body{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 16px;touch-action:pan-y;overscroll-behavior:contain}#wl .wl-body>p{margin:0 0 14px;color:var(--muted);font:400 13.5px/1.5 Be Vietnam Pro,sans-serif}#wl .wl-foot{padding:12px 16px 16px;border-top:1px solid var(--line);background:var(--panel-strong)}#wl .wl-foot .wl-cta{width:100%}#wl .wl-foot .wl-sub{display:block;width:100%;margin-top:8px}#wl .wl-note{margin:10px 0 0;font:400 12px/1.45 Be Vietnam Pro,sans-serif;color:var(--muted)}#wl .wl-note svg{width:13px;height:13px;vertical-align:-2px;margin-right:5px}#wl .wl-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border:0;border-radius:14px;background:var(--lagoon);color:var(--lagoon-ink);font:700 15.5px/1.2 Be Vietnam Pro,sans-serif;box-shadow:0 6px 18px #13808a47}#wl .wl-cta:hover{filter:brightness(1.06)}#wl .wl-cta:disabled{opacity:.5;cursor:default;filter:none}#wl .wl-cta svg{width:18px;height:18px}#wl .wl-ghost{min-height:44px;padding:10px 16px;border-radius:14px;border:1px solid var(--line);background:transparent;color:var(--ink);font:600 14.5px/1.2 Be Vietnam Pro,sans-serif}#wl .wl-ghost:hover{background:#7fa0a61f}#wl .wl-link{border:0;background:none;padding:6px 0;color:var(--lagoon);font:600 13.5px/1.3 Be Vietnam Pro,sans-serif;text-decoration:underline;text-underline-offset:3px}#wl a.wl-admin{display:inline-block;margin-left:16px}#wl .wl-choices{display:grid;gap:10px}#wl .wl-choice{display:flex;gap:12px;align-items:flex-start;width:100%;padding:14px;text-align:left;border-radius:16px;border:1.5px solid var(--line);background:transparent;color:var(--ink)}#wl .wl-choice:hover{border-color:#7fa0a699}#wl .wl-choice[aria-checked=true]{border-color:var(--lagoon);background:#2fb3ae1a;box-shadow:inset 0 0 0 1px var(--lagoon)}#wl .wl-choice .ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#7fa0a629}#wl .wl-choice[aria-checked=true] .ic{background:var(--lagoon);color:var(--lagoon-ink)}#wl .wl-choice .ic svg{width:20px;height:20px}#wl .wl-choice b{display:block;font:700 15px/1.3 Be Vietnam Pro,sans-serif}#wl .wl-choice div span{display:block;margin-top:2px;font:400 13px/1.45 Be Vietnam Pro,sans-serif;color:var(--muted)}#wl .wl-field{margin-top:12px}#wl .wl-field[hidden]{display:none}#wl .wl-field label{display:block;margin-bottom:6px;font:600 13px/1.3 Be Vietnam Pro,sans-serif}#wl .wl-field input{width:100%;min-height:46px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);background:transparent;color:var(--ink);font:600 16px/1.3 Be Vietnam Pro,sans-serif;-webkit-user-select:text;user-select:text;touch-action:manipulation}#wl .wl-field input:focus{outline:none;border-color:var(--lagoon);box-shadow:0 0 0 3px #2fb3ae38}#wl .wl-field input[aria-invalid=true]{border-color:#c9534f}#wl .wl-err{min-height:1.3em;margin:6px 0 0;font:500 12.5px/1.3 Be Vietnam Pro,sans-serif;color:#c9534f}#wl .wl-count{float:right;font-weight:500;color:var(--muted)}#wl .wl-count[hidden]{display:none}#wl .wl-field+.wl-field{margin-top:4px}#wl .wl-pass{position:relative}#wl .wl-pass input{padding-right:68px}#wl .wl-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);min-height:36px;min-width:52px;padding:4px 10px;border:0;border-radius:9px;background:transparent;color:var(--lagoon);font:700 13px/1 Be Vietnam Pro,sans-serif}#wl .wl-eye:hover{background:#7fa0a61f}#wl .wl-info{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#2fb3ae21;color:var(--ink);font:500 13px/1.45 Be Vietnam Pro,sans-serif}#wl .wl-acct{margin:0 0 6px;color:var(--ink);font:500 13px/1.45 Be Vietnam Pro,sans-serif}#wl .wl-acct svg{width:15px;height:15px;vertical-align:-3px;margin-right:6px;color:var(--lagoon)}#wl .wl-tabs{display:flex;gap:4px;margin:0 16px;padding:4px;border-radius:14px;background:#7fa0a624}#wl .wl-tab{flex:1;min-height:38px;padding:6px 4px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:600 13px/1.2 Be Vietnam Pro,sans-serif}#wl .wl-tab[aria-selected=true]{background:var(--panel-strong);color:var(--ink);box-shadow:0 1px 4px #0000001f}#wl .wl-sec{margin-top:16px}#wl .wl-sec h3{display:flex;justify-content:space-between;margin:0 0 9px;font:700 13.5px/1.3 Be Vietnam Pro,sans-serif}#wl .wl-sec h3 small{font:500 12.5px/1.3 Be Vietnam Pro,sans-serif;color:var(--muted)}#wl .wl-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}#wl .wl-opt{min-height:44px;padding:9px 12px;border-radius:12px;border:1.5px solid var(--line);background:transparent;color:var(--ink);font:600 14px/1.25 Be Vietnam Pro,sans-serif}#wl .wl-opt:hover{border-color:#7fa0a699}#wl .wl-opt[aria-pressed=true]{border-color:var(--lagoon);background:#2fb3ae1f;box-shadow:inset 0 0 0 1px var(--lagoon)}#wl .wl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}#wl .wl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#wl .wl-cards .wl-opt{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 6px;font-size:12.5px;text-align:center}#wl .wl-cards .wl-opt i{width:34px;height:34px;border-radius:10px;background:var(--c);box-shadow:inset 0 0 0 1px #00000026}#wl .wl-sws{display:flex;flex-wrap:wrap;gap:9px}#wl .wl-sw{position:relative;width:40px;height:40px;padding:0;border-radius:50%;border:0;background:var(--c);box-shadow:inset 0 0 0 1px #0000002e,0 0 0 2px var(--panel-strong),0 0 0 3px transparent;transition:box-shadow .15s ease}#wl .wl-sw[aria-pressed=true]{box-shadow:inset 0 0 0 1px #0000002e,0 0 0 3px var(--panel-strong),0 0 0 5px var(--lagoon)}#wl .wl-sw.none{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line),0 0 0 2px var(--panel-strong)}#wl .wl-sw.none[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--line),0 0 0 3px var(--panel-strong),0 0 0 5px var(--lagoon)}#wl .wl-sw.none:after{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:1.5px;margin-left:-.75px;background:var(--muted);transform:rotate(45deg)}#wl .wl-sw.orig:after{content:"";position:absolute;right:-1px;bottom:-1px;width:14px;height:14px;border-radius:50%;background:var(--panel-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3a5 5 0 1 0 5 5' fill='none' stroke='%2313808a' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M10 1l3 2-3 2z' fill='%2313808a'/%3E%3C/svg%3E") center/10px no-repeat}#wl .wl-busy{display:flex;align-items:center;gap:8px;margin:12px 0 0;font:500 12.5px/1.3 Be Vietnam Pro,sans-serif;color:var(--muted);visibility:hidden}#wl .wl-busy.on{visibility:visible}#wl .wl-busy i{width:14px;height:14px;border-radius:50%;border:2px solid rgba(127,160,166,.35);border-top-color:var(--lagoon);animation:wl-spin .8s linear infinite}@keyframes wl-spin{to{transform:rotate(360deg)}}@media (max-width:760px){#wl .wl-brand{padding:6px 11px 7px;border-radius:12px}#wl .wl-brand b{font-size:14px}#wl .wl-brand span{display:none}#wl .wl-panel{inset:auto 0 0;width:auto;height:min(52vh,470px);border-radius:22px 22px 0 0;border-width:1px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}#wl.wl-in .wl-panel{animation-name:wl-sheet-in}#wl.wl-leave .wl-panel{transform:translateY(40px)}#wl .wl-hint{right:0;bottom:auto;top:calc(48vh - 46px)}#wl .wl-head{padding:12px 14px 8px}#wl .wl-head h2{font-size:16.5px}#wl .wl-body{padding:2px 14px 12px}#wl .wl-tabs{margin:0 14px}#wl .wl-foot{padding:10px 14px 12px}#wl .wl-sec{margin-top:12px}#wl .wl-choices.c3{gap:8px}#wl .wl-choices.c3 .wl-choice{padding:10px 12px;align-items:center}#wl .wl-choices.c3 .wl-choice .ic{width:34px;height:34px;border-radius:10px}#wl .wl-choices.c3 .wl-choice:not([aria-checked=true]) div span{display:none}}@media (max-width:760px) and (min-height:760px){#wl .wl-panel{height:min(48vh,470px)}#wl .wl-hint{top:calc(52vh - 46px)}}@keyframes wl-sheet-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){#intro.wl .wl-glow,#intro.wl .wl-drift,#intro.wl .wl-shimmer,#intro.wl .wl-bird,#intro.wl .wl-bird svg,#intro.wl .wl-fill:after,#intro.wl .wl-dots i,#intro.wl .wl-tip-t.run{animation:none}#intro.wl .wl-bird{display:none}#wl.wl-in .wl-panel,#wl.wl-in .wl-brand{animation:none}}.pill.net{font-weight:650;font-size:12.5px;cursor:default;user-select:none}.pill.net i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted)}.pill.net.on i{background:#2bb673;box-shadow:0 0 0 3px #2bb67338}.pill.net.wait i{background:var(--sun);animation:netBlink 1.2s ease-in-out infinite}.pill.net.off{color:var(--muted)}.pill.net.off i{background:#c2453b}@keyframes netBlink{50%{opacity:.35}}@media (max-width:640px){.pill.net{padding:7px 10px;gap:6px;font-size:12px}}@media (prefers-reduced-motion:reduce){.pill.net.wait i{animation:none}}
