html,body{margin:0;height:100%;overflow:hidden;background:#111;user-select:none;-webkit-user-select:none}#app{position:relative;width:100%;height:100%}#app canvas{display:block}.hud{position:absolute;top:8px;left:8px;padding:6px 10px;color:#fff;font:13px/1.4 system-ui,sans-serif;background:#00000073;border-radius:4px;pointer-events:none;white-space:pre}.hud-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font:14px/1.3 system-ui,sans-serif;color:#fff}.hud-root .hud{top:auto;bottom:8px}.player-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.player-label{position:absolute;left:0;top:0;display:flex;gap:5px;align-items:baseline;white-space:nowrap;padding:1px 6px 1px 5px;border-left:2px solid #fff;border-radius:2px;background:#080c1652;font:600 10px/1.3 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ffffffc7;text-shadow:0 0 4px rgba(60,230,255,.35);opacity:0;transition:opacity .35s ease-out}.player-label.on{opacity:1;transition:opacity .5s ease-in}.player-label .pl-role{color:#ffe18cb8;font-weight:500}.scoreboard{position:absolute;top:10px;left:50%;transform:translate(-50%);min-width:260px;background:#0a0e18d1;border-radius:6px;padding:6px 10px}.scoreboard .team{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600}.scoreboard .swatch{width:12px;height:12px;border-radius:2px}.scoreboard .name{flex:1}.scoreboard .serve{width:14px;color:#ffe14c;font-size:12px}.scoreboard .sets{width:22px;text-align:center;color:#aab;font-size:15px}.scoreboard .points{width:34px;text-align:right;font-variant-numeric:tabular-nums}.scoreboard .info{margin-top:4px;font-size:12px;color:#cdd}.power{position:absolute;bottom:70px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;background:#00000080;padding:6px 10px;border-radius:4px}.power-bar{position:relative;width:200px;height:12px;background:#333;border-radius:3px;overflow:hidden}.power-mark{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:#fff;box-shadow:0 0 3px #000}.power-label{min-width:84px;font-size:12px;color:#cdd}.power.past .power-label{color:#ff9a4d;font-weight:700}.power-fill{height:100%;width:0;background:linear-gradient(90deg,#3ddc84,#ffe14c,#ff4d4d)}.banner{position:absolute;top:22%;left:50%;transform:translate(-50%);text-align:center;background:#0a0e18d1;padding:10px 28px;border-radius:6px}.banner-title{font-size:30px;font-weight:700}.banner.big .banner-title{font-size:40px}.banner-detail{font-size:15px;color:#cdd}.banner.pop{animation:banner-pop .45s cubic-bezier(.2,1.4,.4,1)}.banner.pop .banner-title{animation:banner-title .6s ease-out}.banner.pop .banner-detail{animation:banner-detail .7s ease-out}@keyframes banner-pop{0%{transform:translate(-50%) translateY(-18px) scale(.6);opacity:0}to{transform:translate(-50%) translateY(0) scale(1);opacity:1}}@keyframes banner-title{0%{letter-spacing:.25em}to{letter-spacing:normal}}@keyframes banner-detail{0%,35%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pause{--sand: #f3c97a;--sun: #ff8a4c;--sea: #3cc4cf;--ink: #0d1d2a;--line: rgba(255, 255, 255, .09);--soft: #a9bccb;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(ellipse at center,#08142073,#040a12c7);font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.pause [hidden]{display:none!important}.menu{width:min(760px,94vw);max-height:92vh;display:flex;flex-direction:column;color:#eef4f8;background:linear-gradient(180deg,#12283af7,#0b1a28f7);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px #00000080;overflow:hidden}.menu button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:10px}.menu button:focus{outline:none}.menu button:focus-visible,.menu button:focus{box-shadow:0 0 0 2px var(--sea)}.menu kbd{display:inline-block;min-width:1.4em;padding:0 5px;border-radius:5px;text-align:center;font:600 11px/1.6 ui-monospace,Menlo,monospace;background:#ffffff1a;color:#dfe8ee;border:1px solid rgba(255,255,255,.14)}.menu-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 12px;border-top:4px solid var(--sand)}.menu-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);font-weight:700}.menu-head h2{margin:0;font-size:26px;letter-spacing:.01em}.menu .primary{background:var(--sun);color:#1c0f05;font-weight:700;padding:10px 18px;display:flex;gap:10px;align-items:center}.menu .primary:hover{background:#ff9f6a}.menu .primary kbd{background:#00000024;color:#1c0f05;border-color:#0003}.menu-tabs{display:flex;gap:4px;margin:0 22px;padding:4px;background:#00000040;border-radius:12px}.menu-tabs .tab{flex:1;padding:8px 0;background:transparent;color:var(--soft);font-weight:600}.menu-tabs .tab:hover{color:#fff;background:#ffffff0f}.menu-tabs .tab.selected{background:var(--sand);color:var(--ink)}.menu-body{overflow-y:auto;padding:16px 22px 6px}.menu-page{display:flex;flex-direction:column;gap:14px}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-actions button{padding:10px;background:#ffffff14;font-weight:600}.menu-actions button:hover{background:#ffffff24}.menu-rows{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px}.menu-row+.menu-row{border-top:1px solid var(--line)}.menu-label{font-weight:600}.menu-label small{display:block;font-weight:400;font-size:12px;color:var(--soft)}.menu .value{display:flex;align-items:center;gap:10px;min-width:190px;justify-content:space-between;padding:7px 12px;background:#3cc4cf1f;color:#e9fbfc;font-weight:600}.menu .value:hover{background:#3cc4cf3d}.menu .chev{color:var(--sea);font-size:18px;line-height:1}.menu-sub{margin:4px 0 -4px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--sand)}.menu-sub span{margin-left:10px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--soft)}.teams-box{display:grid;grid-template-columns:1fr 1fr;gap:12px}.team-card{background:#ffffff0d;border:1px solid var(--line);border-top:4px solid var(--kit);border-radius:12px;padding:10px 12px;font-size:12px}.team-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.team-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--soft)}.team-name{font-size:18px;font-weight:700}.team-card .next{padding:5px 10px;background:#ffffff14;font-size:12px;font-weight:600;white-space:nowrap}.team-card .next:hover{background:#ffffff29}.team-card ul{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}.team-card .player{display:flex;justify-content:space-between;gap:8px;font-size:14px}.team-card .meta{color:var(--soft);font-variant-numeric:tabular-nums}.team-card .role{color:#cfdbe4}.team-card p{margin:0 0 4px}.team-style{color:#dfe8ee}.menu-foot{padding:10px 22px 14px;font-size:12px;color:var(--soft);border-top:1px solid var(--line);margin-top:10px}.keys{border-collapse:collapse;font-size:13px;width:100%}.keys th{padding:6px 8px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sand)}.keys td{padding:6px 8px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}.keys td+td{width:10em;font-weight:600;color:#e9fbfc}.keys th+th{width:10em;line-height:1.35;vertical-align:bottom}@media (max-width: 600px){.keys tr{display:grid;grid-template-columns:1fr 1fr}.keys th:first-child{display:none}.keys td:first-child{grid-column:1 / -1;padding-bottom:2px}.keys td+td{width:auto;border-top:none;padding-top:2px}.keys th+th{width:auto}}.keys tr:nth-child(2n) td{background:#ffffff08}.net-marks{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:4px;font-size:13px;background:#0a0e18bf;border-radius:6px;padding:6px 10px}.net-mark{display:flex;align-items:center;gap:6px}.net-text{color:#cdd;font-variant-numeric:tabular-nums}.net-dot{width:9px;height:9px;border-radius:50%;background:#889}.net-mark[data-quality=good] .net-dot{background:#3ddc84}.net-mark[data-quality=fair] .net-dot{background:#ffe14c}.net-mark[data-quality=poor] .net-dot{background:#ff4d4d}.seat .net-text{margin-left:auto;font-size:12px}.online,.online-start{display:flex;flex-direction:column;gap:12px}.online-field{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}.online-field input{font:inherit;font-weight:400;color:#eef4f8;background:#0000004d;border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-width:260px}.online-field input[data-f=code]{text-transform:uppercase;letter-spacing:.3em;font-weight:700;max-width:140px}.online-field input:focus{outline:none;box-shadow:0 0 0 2px var(--sea)}.online-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.online-choice{display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:#ffffff0d;border:1px solid var(--line);border-radius:12px;padding:12px}.online-choice h4{margin:0;font-size:16px}.menu .online button:disabled{opacity:.55;cursor:default}.online-msg{margin:0;min-height:1.2em;color:var(--soft)}.online-msg.bad{color:#ff9d7a;font-weight:600}.online-room{display:flex;flex-direction:column;gap:12px}.room-head{display:flex;align-items:center;gap:18px}.room-code{font:700 34px/1 ui-monospace,Menlo,monospace;letter-spacing:.18em;color:var(--sand)}.online-team .seats{display:flex;flex-direction:column;gap:6px;margin-top:8px}.menu .seat{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#ffffff12;text-align:left}.menu .seat:disabled{opacity:1}.menu .seat.free:hover{background:#3cc4cf33}.menu .seat.mine{background:#f3c97a2e}.seat-name{font-size:15px;font-weight:700}.seat-name.computer{color:var(--soft);font-weight:600}.seat-hint{margin-left:auto;font-size:12px;color:var(--sea)}.seat .tag{font-size:11px;padding:1px 6px;border-radius:6px;background:#ffffff1f;color:#dfe8ee}.menu .value.fixed{background:#ffffff0d}.room-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.menu .room-foot .leave{padding:10px 14px;background:#ffffff14;font-weight:600}.online-games{display:flex;flex-direction:column;gap:6px}.online-games h4{margin:0;font-size:16px}.game-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffff0d;border:1px solid var(--line);border-radius:10px}.game-row .game-host{font-weight:700;min-width:110px}.game-row .game-count{font-weight:700;color:var(--sand)}.game-row .game-info{flex:1;font-size:13px;color:var(--soft)}.game-row .game-state{font-size:12px;padding:1px 6px;border-radius:6px;background:#ffffff1f}.game-row .game-state.playing{background:#3cc4cf40}.rating{margin-left:6px;font-size:12px;font-weight:700;color:var(--sand)}.online-views{display:flex;gap:6px;margin:14px 0 8px}.online-view{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:transparent;color:inherit;font-weight:700;cursor:pointer}.online-view.on{background:#ffffff24}.rank-row{display:flex;gap:12px;padding:5px 12px;border-radius:8px;font-size:14px}.rank-row:nth-child(odd){background:#ffffff0d}.rank-row.mine{background:#3cc4cf40}.rank-place{width:32px;font-weight:700;color:var(--soft)}.rank-name{flex:1;font-weight:700}.rank-rating{width:50px;font-weight:700;color:var(--sand)}.rank-games,.rank-wins{width:76px;font-size:13px;color:var(--soft)}.rank-gap{padding:0 12px;color:var(--soft)}.player-transfer{margin-top:8px}.rated{margin:10px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.rated h4{margin:0 8px 0 0}.rated-row{padding:2px 8px;border-radius:6px;background:#ffffff1a;font-weight:700}.rated-row.won{background:#3cc4cf40}.venue-picker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#040a1299;color:#eef4f8}.venue-panel{width:min(720px,92vw);max-height:88vh;overflow:auto;padding:16px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#12283afc,#0b1a28fc);box-shadow:0 24px 60px #00000080}.venue-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.venue-head h3{margin:0;font-size:18px}.venue-picker button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:10px}.venue-head .leave{padding:8px 12px;background:#ffffff14;font-weight:600}.venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.venue-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;text-align:left;background:#ffffff0f;border:2px solid transparent!important}.venue-card:hover,.venue-card:focus{background:#3cc4cf2e;outline:none}.venue-card.current{border-color:var(--sand)!important;background:#f3c97a24}.venue-preview{width:100%;aspect-ratio:16 / 9;border-radius:7px;overflow:hidden}.venue-preview img{display:block;width:100%;height:100%;object-fit:cover}.venue-name{font-weight:700;font-size:14px}.venue-place{font-size:12px;color:var(--soft)}.venue-card .tag{font-size:11px;padding:1px 6px;border-radius:6px;background:var(--sand);color:var(--ink);font-weight:700}.keys-note{font-size:12px;color:var(--soft, #aab);margin:8px 0 0}.menu-head-buttons{display:flex;gap:8px;align-items:center}.menu .secondary{background:#ffffff1a;font-weight:600;padding:10px 14px}.menu .secondary:hover{background:#ffffff2e}.menu .secondary.confirm{background:#c2257e;color:#fff}.menu-tabs[hidden]{display:none!important}.menu-text{margin:0;color:#dfe8ee}.main-menu{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;overflow:hidden;pointer-events:auto;color:#fff;background:#12052a;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.main-menu .opening-content{justify-content:flex-start;gap:2vh}.main-menu .opening-beach{font-size:clamp(48px,11vw,104px)}.main-menu .opening-alchemy{font-size:clamp(36px,8vw,74px)}.mm-list{margin-top:max(5vh,30px);display:flex;flex-direction:column;gap:8px;width:min(340px,86vw)}.mm-list button{font:700 15px/1 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#bff8ff;cursor:pointer;padding:12px 16px;border-radius:6px;border:2px solid rgba(60,230,255,.55);background:#14063299;text-shadow:0 0 6px rgba(60,230,255,.8);transition:transform .12s ease,box-shadow .12s ease}.mm-list button:hover,.mm-list button:focus{outline:none;transform:translate(4px);border-color:#ff6fb5;color:#fff;box-shadow:0 0 14px #ff6fb5b3,inset 0 0 10px #ff6fb559}.mm-list .mm-slot:empty{display:none}.mm-note{margin-top:auto;font-size:12px;color:#ffe0f2;letter-spacing:.08em;text-shadow:0 1px 3px rgba(40,0,40,.8)}.mm-page{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#0a021e99}.mm-page[hidden]{display:none}.mm-card .credits{max-height:68vh;overflow-y:auto;margin-bottom:12px;padding-right:6px;text-align:left;font-size:13px;line-height:1.45}.mm-card .credits h3{margin:14px 0 4px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#3ce6ff}.mm-card .credits ul{margin:0 0 8px;padding-left:18px;color:#f3e9ff}.mm-card .credits a{color:#ff9adf}.mm-card{width:min(520px,90vw);padding:22px;border-radius:14px;border:2px solid #3ce6ff;background:#140632eb;box-shadow:0 0 24px #3ce6ff73}.mm-card h2{margin:0 0 10px;font:italic 900 28px/1 Impact,Arial Black,sans-serif;letter-spacing:.04em;color:#ff9adf}.mm-card p{margin:0 0 10px;color:#f3e9ff}.mm-card button{font:700 13px/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#bff8ff;cursor:pointer;padding:10px 16px;border-radius:6px;border:2px solid #3ce6ff;background:transparent}.results{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(ellipse at center,#2a0a528c,#0d0326e0);font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;color:#fff}.results[hidden]{display:none}.results-card{width:min(620px,94vw);padding:22px 24px;border-radius:16px;border:2px solid #ff6fb5;background:linear-gradient(180deg,#2a0a52f5,#0d1640f5);box-shadow:0 0 30px #ff4f7b73}.results-kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#3ce6ff;font-weight:700}.results-winner{margin:4px 0 14px;font:italic 900 clamp(28px,6vw,44px)/1 Impact,"Arial Black",sans-serif;letter-spacing:.03em;background:linear-gradient(180deg,#fff,#bfe9ff 40%,#ff9adf 75%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #ff2f8e)}.results-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.results-table th,.results-table td{padding:7px 8px;text-align:center;border-top:1px solid rgba(255,255,255,.1)}.results-table th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ffd6f0;border-top:0}.results-table td:first-child,.results-table th:first-child{text-align:left}.results-table .won{color:#fff27a;font-weight:700}.results-team{display:flex;align-items:center;gap:8px;font-weight:700}.results-swatch{width:12px;height:12px;border-radius:2px}.results-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.results-buttons button{font:700 13px/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:12px 18px;border-radius:6px;border:2px solid #3ce6ff;color:#bff8ff;background:#14063299}.results-buttons button.primary{border-color:#ff8a4c;background:#ff8a4c;color:#1c0f05}.results-buttons button:focus{outline:none;box-shadow:0 0 0 2px #fff27a}.results-note{margin:12px 0 0;font-size:12px;color:#ffd6f0}.results-support{margin:14px 0 0;text-align:right}.support-link{color:#ffd6f0;font-size:11.5px;text-decoration:none;opacity:.85}.support-link:hover,.support-link:focus-visible{text-decoration:underline;opacity:1;outline:none}.keys+.keys{margin-top:14px}.keys th:first-child{font-size:13px;letter-spacing:.1em;color:#ff9adf}.keys-more{display:block;margin-top:2px;font-size:11.5px;line-height:1.35;color:var(--soft, #a9bccb)}.howto{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(ellipse at center,#2a0a52b3,#0d0326eb);color:#fff;font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.howto[hidden]{display:none}.howto-card{width:min(520px,92vw);padding:22px 24px;border-radius:16px;border:2px solid #3ce6ff;background:linear-gradient(180deg,#2a0a52f7,#0d1640f7);box-shadow:0 0 28px #3ce6ff66}.howto-kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#3ce6ff;font-weight:700}.howto-card h2{margin:4px 0 10px;font:italic 900 clamp(24px,5vw,32px)/1.05 Impact,"Arial Black",sans-serif;letter-spacing:.03em;background:linear-gradient(180deg,#fff,#bfe9ff 40%,#ff9adf 75%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #ff2f8e)}.howto-pic{display:block;width:100%;max-height:150px;margin:4px 0 8px;border-radius:10px;background:linear-gradient(180deg,#1d1460,#3a1470 60%,#8a2a7a)}.howto-pic .hk{fill:#140632cc;stroke:#3ce6ff;stroke-width:1.5}.howto-pic .hkt{fill:#bff8ff;font:700 11px system-ui,sans-serif;text-anchor:middle}.howto-pic .hball{fill:#fff27a;stroke:#ff6fb5;stroke-width:1.5}.howto-pic .hp,.howto-pic .hp2{fill:#ffc53d}.howto-pic .hp2{fill:#ff9adf}.howto-pic .hpl,.howto-pic .hp2l{fill:none;stroke:#ffc53d;stroke-width:3;stroke-linecap:round}.howto-pic .hp2l{stroke:#ff9adf}.howto-pic .harrow{fill:none;stroke:#3ce6ff;stroke-width:2.5;stroke-linecap:round}.howto-pic .hring{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:6 5;opacity:.7}.howto-pic .hring2{fill:none;stroke:#3ddc84;stroke-width:3}.howto-pic .hnet{stroke:#fff;stroke-width:3;stroke-dasharray:4 3}.howto-pic .hmouse{fill:#140632cc;stroke:#ff6fb5;stroke-width:2}.howto-pic .hbar{fill:#333}.howto-pic .hfill{fill:#ff8a4c}.howto-pic .hmark{fill:#fff}.howto-pic .hcap,.howto-pic .hcap2{fill:#ffd6f0;font:600 11px system-ui,sans-serif}.howto-pic .hcap{text-anchor:middle}.howto-card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;color:#f3e9ff}.howto-dots{display:flex;gap:6px;justify-content:center;margin:14px 0 4px}.howto-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:#ffffff4d;cursor:pointer}.howto-dots button.on{background:#3ce6ff}.howto-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.howto-buttons button{font:700 13px/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:11px 16px;border-radius:6px;border:2px solid #3ce6ff;color:#bff8ff;background:#14063299}.howto-buttons button[data-h=skip]{margin-right:auto;border-color:transparent}.howto-buttons button.primary{border-color:#ff8a4c;background:#ff8a4c;color:#1c0f05}.howto-buttons button:focus{outline:none;box-shadow:0 0 0 2px #fff27a}.opening{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;overflow:hidden;cursor:pointer;pointer-events:auto;color:#fff;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;transition:opacity .45s ease,transform .45s ease;background:#12052a}.opening.leaving{opacity:0;transform:scale(1.04);pointer-events:none}.opening-sky{position:absolute;top:0;right:0;bottom:40%;left:0;background:linear-gradient(180deg,#0d0326,#2a0a52 30%,#6b1a7a 58%,#c2257e 80%,#ff4f7b 94%,#ff8a5c)}.opening-sky:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.8;background-image:radial-gradient(1.5px 1.5px at 12% 14%,#fff,transparent),radial-gradient(1px 1px at 27% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 71% 11%,#fff,transparent),radial-gradient(1px 1px at 86% 22%,#fff,transparent),radial-gradient(1px 1px at 52% 5%,#fff,transparent),radial-gradient(1px 1px at 38% 24%,#fff,transparent),radial-gradient(1px 1px at 6% 32%,#fff,transparent),radial-gradient(1.5px 1.5px at 94% 6%,#fff,transparent)}.opening-sun{position:absolute;left:50%;bottom:40%;width:min(44vmin,360px);aspect-ratio:1;transform:translate(-50%,22%);border-radius:50%;background:linear-gradient(180deg,#fff27a,#ffc53d,#ff7a4f 60%,#ff2f8e);filter:drop-shadow(0 0 40px rgba(255,79,123,.7)) drop-shadow(0 0 90px rgba(255,122,79,.45));-webkit-mask-image:linear-gradient(180deg,#000 0 50%,transparent 50% 53%,#000 53% 58%,transparent 58% 62%,#000 62% 67%,transparent 67% 72%,#000 72% 76%,transparent 76% 82%,#000 82% 85%,transparent 85% 92%,#000 92% 94%,transparent 94%);mask-image:linear-gradient(180deg,#000 0 50%,transparent 50% 53%,#000 53% 58%,transparent 58% 62%,#000 62% 67%,transparent 67% 72%,#000 72% 76%,transparent 76% 82%,#000 82% 85%,transparent 85% 92%,#000 92% 94%,transparent 94%)}.opening-sigil{width:100%;height:100%;display:block}.opening-sigil .ring{fill:none;stroke:#6e0a5073;stroke-width:1.4}.opening-sigil .thin{stroke-width:.7}.opening-sigil .dot{fill:#6e0a5073}.opening-sigil .spin{transform-origin:0 0;animation:opening-spin 40s linear infinite}.opening-sea{position:absolute;left:0;right:0;bottom:22%;height:18%;overflow:hidden;background:linear-gradient(180deg,#3a1470,#1d1460 40%,#0c1640);border-top:2px solid #ff6fb5;box-shadow:0 -2px 18px #ff6fb599}.opening-sea:before{content:"";position:absolute;left:50%;top:0;width:min(46vmin,360px);height:100%;transform:translate(-50%);background:repeating-linear-gradient(180deg,rgba(255,160,200,.85) 0 3px,transparent 3px 10px);-webkit-mask-image:radial-gradient(ellipse 50% 100% at 50% 0%,#000,transparent);mask-image:radial-gradient(ellipse 50% 100% at 50% 0%,#000,transparent);animation:opening-glint 2.4s ease-in-out infinite alternate}.opening-sea i{position:absolute;left:-10%;width:120%;height:2px;border-radius:2px;background:#3ce6ff59;animation:opening-wave 6s ease-in-out infinite alternate}.opening-sea i:nth-child(1){top:30%}.opening-sea i:nth-child(2){top:58%;animation-delay:-2s}.opening-sea i:nth-child(3){top:84%;animation-delay:-4s}.opening-sand{position:absolute;left:0;right:0;bottom:0;height:22%;overflow:hidden;perspective:260px;background:linear-gradient(180deg,#ff9a6b,#e2567a 55%,#8a2a7a);border-top:2px solid #fff0a8}.opening-grid{position:absolute;left:-60%;right:-60%;top:-10%;height:260%;transform-origin:50% 0;transform:rotateX(62deg);background-image:linear-gradient(rgba(60,230,255,.6) 2px,transparent 2px),linear-gradient(90deg,rgba(60,230,255,.6) 2px,transparent 2px);background-size:64px 30px;animation:opening-grid 1.6s linear infinite;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%);mask-image:linear-gradient(180deg,transparent,#000 30%)}.opening-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:max(6vh,24px) 16px max(3vh,14px);box-sizing:border-box}.opening-title{margin:0;display:grid;place-items:center;line-height:.9}.opening-title>span{grid-area:1 / 1}.opening-beach{font:italic 900 clamp(70px,21vw,190px)/.9 Impact,"Arial Black","Helvetica Neue",sans-serif;letter-spacing:.03em;transform:skew(-8deg);padding:0 .1em .12em}.opening-beach span{display:inline-block;animation:opening-bob 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.32s);background:linear-gradient(180deg,#fff,#bfe9ff 22%,#3d7bd9 47%,#170a3c,#3a1a5c 51%,#ff9adf 64%,#ffe9fb 80%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.9);filter:drop-shadow(0 3px 0 #ff2f8e) drop-shadow(0 4px 0 #6b1a7a) drop-shadow(0 10px 18px rgba(10,0,30,.7))}.opening-alchemy{align-self:end;transform:translateY(42%) rotate(-9deg);padding:0 .2em;font:italic 400 clamp(54px,15vw,136px)/1 "Brush Script MT","Segoe Script","Snell Roundhand","Lucida Handwriting",cursive;color:#fff4fb;letter-spacing:.01em;white-space:nowrap;text-shadow:0 0 2px #fff,0 0 6px #ff3cac,0 0 14px #ff3cac,0 0 30px #ff1e9a,0 0 54px #ff1e9a,3px 4px 0 #2a0a52;animation:opening-neon 6s linear infinite}.opening-go{margin-top:auto;margin-bottom:3vh;font:700 clamp(13px,3.4vw,16px)/1 system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#bff8ff;cursor:pointer;padding:14px 28px;border-radius:6px;border:2px solid #3ce6ff;background:#1406328c;text-shadow:0 0 8px #3ce6ff;box-shadow:0 0 14px #3ce6ff99,inset 0 0 12px #3ce6ff59;animation:opening-pulse 1.8s ease-in-out infinite}.opening-go:focus{outline:none}.opening-made{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:default;font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#fff0f6;text-shadow:0 1px 3px rgba(40,0,40,.8)}.opening-logo{display:inline-block;padding:8px 18px;border-radius:10px;background:#161616;color:#6fd8a4;font:800 clamp(20px,5.5vw,26px)/1.1 "Helvetica Neue",Arial,system-ui,sans-serif;letter-spacing:-.01em;text-transform:none;text-shadow:none;text-decoration:none;box-shadow:0 6px 18px #28002880;transition:transform .15s ease}.opening-logo:hover,.opening-logo:focus-visible{transform:translateY(-2px);outline:2px solid #6fd8a4;outline-offset:2px}.opening-link{color:#fff0f6;font-size:12px;letter-spacing:.04em;text-transform:none;text-decoration:none}.opening-link:hover,.opening-link:focus-visible{text-decoration:underline;outline:none}.opening-made .support-link{margin-top:4px;color:#ffd6f0;font-size:11px;letter-spacing:.04em;text-transform:none;font-weight:600}@keyframes opening-spin{to{transform:rotate(360deg)}}@keyframes opening-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.05em)}}@keyframes opening-neon{0%,46%,50%,53%,to{opacity:1}48%,52%{opacity:.55}}@keyframes opening-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes opening-glint{0%{opacity:.55}to{opacity:1}}@keyframes opening-wave{0%{transform:translate(-4%)}to{transform:translate(4%)}}@keyframes opening-grid{0%{background-position:0 0}to{background-position:0 30px}}@media (prefers-reduced-motion: reduce){.opening *{animation:none!important}}.tour .results-card{width:min(720px,94vw);max-height:92vh;overflow:auto;box-sizing:border-box}.tour-intro,.tour-record{margin:0 0 12px;color:#f3e9ff}.tour-record{margin-top:12px;font-size:13px;color:#ffd6f0}.tour-record b{color:#fff27a}.tour-pick{display:flex;align-items:center;gap:8px;margin:8px 0}.tour-pick span{width:90px;font-weight:700;color:#ffd6f0}.tour-pick button{font:700 14px/1 system-ui,sans-serif;color:#fff;cursor:pointer;padding:9px 12px;border-radius:10px;border:1px solid #3ce6ff;background:#3ce6ff1f}.tour-pick .tour-value{min-width:200px;text-align:left}.tour-pick button:focus{outline:none;box-shadow:0 0 0 2px #fff27a}.tour-table td:nth-child(4),.tour-table td:nth-child(5){font-size:12px;text-transform:uppercase;letter-spacing:.08em}.tour-table tr.won td{color:#b8f5c9}.tour-table tr.next td{color:#fff27a;font-weight:700}.boot-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;color:#fff;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;pointer-events:auto;background:linear-gradient(180deg,#0d0326,#2a0a52 35%,#6b1a7a 65%,#c2257e 88%,#ff8a5c)}.boot-page.boot-lost,.boot-page.boot-error{background:#0d0326b8}.boot-card{width:min(520px,100%);max-height:100%;overflow:auto;box-sizing:border-box;padding:22px 24px;border-radius:16px;background:#12052ae0;border:1px solid rgba(255,111,181,.5);box-shadow:0 0 30px #ff4f7b59}.boot-logo{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.boot-logo span{font:italic 900 34px/1 Impact,Arial Black,sans-serif;letter-spacing:.04em;background:linear-gradient(180deg,#fff,#bfe9ff 30%,#3d7bd9,#ff9adf 70%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}.boot-logo em{font:italic 700 26px/1 Brush Script MT,Segoe Script,cursive;color:#ff6fb5;text-shadow:0 0 10px #ff2f8e}.boot-card h2{margin:6px 0 8px;font-size:21px;color:#fff27a}.boot-card p{margin:0 0 10px;color:#f1dcff}.boot-card ul{margin:0 0 14px;padding-left:20px;color:#f1dcff}.boot-card li{margin-bottom:6px}.boot-detail{font:12px/1.4 ui-monospace,Menlo,monospace;color:#c9b3df!important;word-break:break-word}.boot-buttons{display:flex;gap:10px;flex-wrap:wrap}.boot-buttons[hidden]{display:none}.boot-btn{font:700 15px/1 system-ui,sans-serif;padding:12px 20px;border:0;border-radius:10px;cursor:pointer;background:linear-gradient(180deg,#ffc53d,#ff7a4f);color:#2a0a1a;box-shadow:0 0 14px #ff7a4f8c}.boot-btn:hover{filter:brightness(1.08)}.boot-btn.soft{background:#ffffff1f;color:#fff;box-shadow:none}
