.menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;font-family:var(--font-ui);color:var(--color-text-inverse);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;transition:opacity var(--animation-normal) var(--ease-out)}.menu.is-gone{opacity:0;pointer-events:none}.menu-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--palette-dark) url(/assets/menu/main_menu_background_hd.webp) center / cover no-repeat;image-rendering:auto}.menu-bg__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0;transition:opacity .6s var(--ease-out)}.menu-bg__video.is-ready{opacity:1}.menu-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1b17122e}.menu-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:max(14px,env(safe-area-inset-top)) 18px 0}.hud{display:flex;align-items:center;gap:4px;padding:5px 6px;background:#1b1712d9;border:var(--ring-width) solid var(--color-border-accent);border-radius:var(--radius-medium);box-shadow:var(--shadow-small);font-size:clamp(13px,1.9vh,20px);font-weight:500;white-space:nowrap}.hud-item{display:flex;align-items:center;gap:6px;padding:2px 8px}.hud-item+.hud-item{border-left:2px solid var(--palette-brown-grey)}.hud-item .px-icon{width:1.3em;height:1.3em}.hud b{font-weight:700;color:var(--color-reward)}.menu-icons{display:flex;gap:10px}.icon-btn{--size: clamp(42px, 6.4vh, 66px);position:relative;display:grid;place-items:center;width:var(--size);height:var(--size);padding:0;color:var(--color-text-inverse);background:var(--color-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);box-shadow:inset 0 0 0 var(--ring-width) var(--color-border-accent),inset 0 5px #f1e9d21f,var(--shadow-small);cursor:pointer;transition:transform var(--animation-fast) var(--ease-out),background-color var(--animation-fast) var(--ease-out),box-shadow var(--animation-fast) var(--ease-out)}.icon-btn .px-icon{width:58%;height:58%}.icon-btn:hover{background:var(--button-secondary-bg-hover);transform:translateY(-1px);box-shadow:inset 0 0 0 var(--ring-width) var(--color-border-accent),inset 0 5px #f1e9d22e,0 4px 0 0 var(--palette-dark)}.icon-btn:active{transform:translateY(2px) scale(.96);box-shadow:inset 0 0 0 var(--ring-width) var(--color-border-accent),0 1px 0 0 var(--palette-dark);transition-duration:var(--animation-press)}.icon-btn.is-off{color:var(--palette-beige)}.icon-btn[aria-disabled=true]{cursor:not-allowed}.menu-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.4vh,14px);padding:64px 16px 56px;pointer-events:none}.menu-center>*{pointer-events:auto}.menu-logo{height:clamp(140px,33vh,380px);width:auto;margin-bottom:clamp(0px,.6vh,8px);animation:logo-in var(--animation-important) var(--ease-out) both}.menu-buttons{display:flex;flex-direction:column;gap:clamp(9px,1.5vh,14px);width:clamp(280px,30vw,540px)}.menu-btn{--btn-bg: var(--button-secondary-bg);--btn-bg-hover: var(--button-secondary-bg-hover);position:relative;display:flex;align-items:center;gap:.7em;width:100%;height:clamp(46px,7.4vh,78px);padding:0 7px 0 .9em;font-family:var(--font-ui);font-size:clamp(16px,2.6vh,28px);font-weight:600;color:var(--color-text-inverse);text-align:left;text-shadow:0 2px 0 var(--palette-dark);background:var(--btn-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);box-shadow:inset 0 0 0 var(--ring-width) var(--color-border-accent),inset 0 6px #f1e9d21a,inset 0 -5px #1b171238,var(--shadow-medium);cursor:pointer;transition:transform var(--animation-fast) var(--ease-out),background-color var(--animation-fast) var(--ease-out),box-shadow var(--animation-fast) var(--ease-out);animation:button-in .32s var(--ease-out) backwards;animation-delay:calc(.26s + var(--i, 0) * 60ms)}.menu-btn--primary{--btn-bg: var(--button-primary-bg);--btn-bg-hover: var(--button-primary-bg-hover);box-shadow:inset 0 0 0 3px var(--color-border-accent),inset 0 7px #f1e9d224,inset 0 -5px #1b171238,var(--shadow-medium)}.menu-btn__icon,.menu-btn__chevron{display:grid;place-items:center;flex:none}.menu-btn__icon .px-icon{width:1.3em;height:1.3em;filter:drop-shadow(0 2px 0 var(--palette-dark))}.menu-btn__label{flex:1}.menu-btn__chevron{width:1.75em;height:1.75em;background:#1b171247;border:2px solid rgba(199,154,59,.7);border-radius:2px}.menu-btn__chevron .px-icon{width:1.1em;height:1.1em;transition:transform var(--animation-fast) var(--ease-out)}.menu-btn:not([aria-disabled=true]):hover{background:var(--btn-bg-hover);transform:translateY(-2px);box-shadow:inset 0 0 0 3px var(--color-border-accent),inset 0 6px #f1e9d233,inset 0 -5px #1b171238,0 7px 0 0 var(--palette-dark)}.menu-btn:not([aria-disabled=true]):hover .menu-btn__chevron .px-icon{transform:translate(2px)}.menu-btn:not([aria-disabled=true]):active{transform:translateY(3px);box-shadow:inset 0 0 0 3px var(--color-border-accent),inset 0 4px #1b171240,0 1px 0 0 var(--palette-dark);transition-duration:var(--animation-press)}.menu-btn[aria-disabled=true]{--btn-bg: var(--button-disabled-bg);color:var(--button-disabled-text);text-shadow:none;cursor:not-allowed;box-shadow:inset 0 0 0 var(--ring-width) var(--palette-brown-grey),var(--shadow-small)}.menu-btn[aria-disabled=true] .menu-btn__chevron{border-color:var(--palette-brown-grey)}.menu-btn[aria-disabled=true] .px-icon{filter:none}.is-denied{animation:denied .18s steps(4) both!important}.menu button:focus-visible,.menu input:focus-visible{outline:3px solid var(--color-border-accent);outline-offset:3px}.menu-btn--small{width:auto;height:44px;padding:0 1.4em;font-size:17px;animation:none}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;z-index:5;padding:5px 9px;font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--color-text-inverse);text-shadow:none;white-space:nowrap;background:var(--color-surface-dark);border:2px solid var(--palette-beige);border-radius:var(--radius-small);box-shadow:var(--shadow-small);opacity:0;pointer-events:none;transform:translate(-50%,-3px);transition:opacity .12s var(--ease-out),transform .12s var(--ease-out)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,[data-tooltip].is-denied:after{opacity:1;transform:translate(-50%)}.menu-icons [data-tooltip]:after{left:auto;right:0;transform:translateY(-3px)}.menu-icons [data-tooltip]:hover:after,.menu-icons [data-tooltip]:focus-visible:after,.menu-icons [data-tooltip].is-denied:after{transform:translateY(0)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#1b17129e;animation:fade-in var(--animation-normal) var(--ease-out) both}.menu.has-modal .menu-center,.menu.has-modal .menu-top{visibility:hidden}.modal{width:min(540px,100%);max-height:calc(100vh - 32px);overflow:auto;color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);box-shadow:inset 0 0 0 var(--ring-width) var(--palette-beige),0 6px 0 0 var(--palette-dark);animation:modal-in var(--animation-normal) var(--ease-out) both}.modal__header{padding:12px 18px;background:var(--color-primary);border-bottom:var(--border-width) solid var(--color-border-accent)}.modal__header h2{margin:0;font-size:22px;font-weight:700;color:var(--color-text-inverse);text-shadow:0 2px 0 var(--palette-dark);letter-spacing:.04em}.modal__body{padding:16px 20px 4px;font-size:15px;line-height:1.45}.modal__body p{margin:0 0 12px}.modal__warning{padding:8px 10px;color:var(--color-text-inverse);background:var(--color-error);border:2px solid var(--palette-dark);border-radius:var(--radius-small)}.modal__footer{display:flex;justify-content:flex-end;padding:10px 20px 18px}.rules{display:grid;gap:6px;margin:0 0 14px;padding:0;list-style:none}.rule{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:6px 10px;background:#8c786024;border-left:3px solid var(--color-secondary)}.rule .px-icon{width:20px;height:20px}.rule__name{font-weight:600}.rule__value{font-weight:700;color:var(--color-primary);text-align:right}.option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:2px dashed rgba(107,90,70,.35)}.option__label{font-weight:600}.option input[type=range]{width:min(240px,55%);accent-color:var(--color-primary);cursor:pointer}.choice{display:flex;gap:8px}.toggle{min-width:96px;padding:7px 12px;font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--color-text-inverse);background:var(--palette-brown-grey);border:2px solid var(--palette-dark);border-radius:var(--radius-small);box-shadow:var(--shadow-small);cursor:pointer;transition:transform var(--animation-fast) var(--ease-out),background-color var(--animation-fast) var(--ease-out)}.toggle[aria-pressed=true]{background:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-border-accent),var(--shadow-small)}.toggle:not([aria-disabled=true]):hover{transform:translateY(-1px)}.toggle:not([aria-disabled=true]):active{transform:translateY(2px);box-shadow:0 1px 0 0 var(--palette-dark)}.toggle[aria-disabled=true]{color:var(--button-disabled-text);background:var(--button-disabled-bg);cursor:not-allowed}.menu.is-leaving .menu-center,.menu.is-leaving .menu-top{opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity var(--animation-normal) var(--ease-out),transform var(--animation-normal) var(--ease-out)}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;animation:fade-in var(--animation-normal) var(--ease-out) both}.loading__panel{min-width:min(360px,calc(100vw - 32px));padding:18px 22px;text-align:center;background:#1b1712e6;border:var(--ring-width) solid var(--color-border-accent);border-radius:var(--radius-medium);box-shadow:var(--shadow-medium)}.loading__title{margin:0 0 12px;font-size:18px;font-weight:600}.loading__bar{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;padding:4px;background:var(--palette-dark);border:2px solid var(--palette-brown-grey)}.loading__bar span{height:14px;background:var(--palette-brown)}.loading__bar span.is-lit{background:var(--color-success)}.loading__percent{margin:10px 0 0;font-size:14px;color:var(--color-reward)}.loading__hint{min-height:1.4em;margin:8px 0 0;font-size:14px;font-style:italic;color:var(--color-text-inverse);opacity:.85;transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}.loading__hint.is-out{opacity:0;transform:translateY(4px)}@media(prefers-reduced-motion:reduce){.loading__hint{transition:none}}@keyframes logo-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes button-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes denied{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.menu *,.menu *:after{animation:none!important;transition:none!important}}@media(max-width:560px){.menu-top{padding-inline:10px}.hud-item:nth-child(3){display:none}.hud{font-size:12px}.hud-item{padding:2px 5px}.menu-icons{gap:6px}.icon-btn{--size: 40px}.menu-buttons{width:min(100%,340px)}}.rotate-hint{z-index:30}.rotate-hint__body{display:grid;justify-items:center;gap:12px;text-align:center;padding-bottom:12px}.rotate-hint__body p{margin:0}.rotate-hint__phone{display:grid;place-items:center;width:44px;height:76px;margin:10px 0 4px;border:4px solid var(--palette-dark);border-radius:7px;background:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-border-accent);animation:rotate-phone 2s var(--ease-out) infinite}.rotate-hint__phone span{width:12px;height:4px;margin-top:56px;background:var(--palette-cream)}@keyframes rotate-phone{0%,20%{rotate:0deg}55%,90%{rotate:-90deg}to{rotate:0deg}}.modal--leaderboard{width:min(460px,100%)}.modal__footer{gap:10px}.menu-btn--link{--btn-bg: var(--button-primary-bg);--btn-bg-hover: var(--button-primary-bg-hover);text-decoration:none}.lb{display:grid;gap:10px;padding-bottom:6px}.lb__state{text-align:center;padding:18px 0}.lb__leader{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:10px 14px;color:var(--color-text-inverse);background:var(--color-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);box-shadow:inset 0 0 0 var(--ring-width) var(--color-border-accent),var(--shadow-small)}.lb__crown{grid-row:span 2}.lb__crown .px-icon{display:block;width:40px;height:40px}.lb__leader-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:800;text-shadow:0 2px 0 var(--palette-dark)}.lb__leader-score{font-size:14px;color:var(--palette-gold)}.lb__list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.lb__row{display:grid;grid-template-columns:1.4em 1fr auto;align-items:baseline;gap:8px;padding:5px 10px;background:#8c786024;border-left:3px solid var(--color-secondary)}.lb__rank{font-weight:800;color:var(--palette-terracotta)}.lb__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.lb__score{font-size:13px;white-space:nowrap;color:var(--color-text-muted)}.lb__row.is-me,.lb__leader.is-me{outline:2px solid var(--palette-gold);outline-offset:1px}.lb__me{margin:0;font-size:14px;font-weight:600;text-align:center}@media(orientation:landscape)and (max-height:500px){.modal--leaderboard{width:min(640px,100%)}.modal--leaderboard .modal__header{padding:7px 16px}.modal--leaderboard .modal__header h2{font-size:18px}.modal--leaderboard .modal__body{padding:10px 16px 0}.modal--leaderboard .modal__footer{padding:8px 16px 12px}.modal--leaderboard .menu-btn--small{height:38px;font-size:15px}.lb{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:8px 12px}.lb__leader{grid-template-columns:1fr;justify-items:center;text-align:center;row-gap:2px;padding:10px}.lb__crown{grid-row:auto}.lb__me{grid-column:1 / -1}.lb__row{padding:3px 8px}}
