/* YONA ARCADE v68 / mobile usability and Night Pass visual layer.
   Homepage-only stylesheet. Does not touch games, wallet or checkout. */
:root { --ux-tap:48px; --ux-ring:#e4c4ff; }
html { scroll-padding-top:125px; }
button,a,[role="button"] { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,[tabindex]:focus-visible {outline:3px solid var(--ux-ring)!important;outline-offset:3px!important;}
button:not(:disabled),a {touch-action:manipulation;}
button:disabled {cursor:not-allowed;}
.topbar {gap:12px;position:relative;z-index:11;}
.topbar-right {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;min-width:0;}
.header-quick-action {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:11px 16px;border-radius:14px;border:1px solid #a88bcb;color:#fff3fd;background:#32234e;text-decoration:none;white-space:nowrap;font-size:13px;font-weight:850;box-shadow:0 3px 12px #0004;transition:background .15s,transform .15s;}
.header-quick-action:hover {background:#4a3272;border-color:#e2b8fa;transform:translateY(-1px);}
.header-account {border-color:#b796ed;background:linear-gradient(120deg,#463071,#35224e);}
.header-coins {border-color:#c3a06b;color:#ffeabd;background:linear-gradient(120deg,#4c3546,#35283e);}
.header-coins small {color:#f5dda7;font-weight:700;font-size:9px;border:1px solid #ddbd7655;padding:2px 5px;border-radius:5px;}
.header-member-status {display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 13px;border:1px solid #705b8b;border-radius:14px;background:#221c34;color:#d6c7e9;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.02em;}
.header-member-status[data-state="verified"] {border-color:#c5a7f0;background:#39265a;color:#fff0c9;box-shadow:0 0 12px #ab72d122;}
.header-member-status[data-state="guest"] {border-color:#5a536b;color:#c7bed6;background:#242035;}
.header-member-status[data-state="pending"] {border-color:#987e58;color:#f1dca8;}
.topbar #audioToggle.icon-btn {min-height:48px;padding:11px 15px;border-radius:14px;font-size:12px;font-weight:800;white-space:nowrap;}
/* Primary touch targets throughout the lobby */
.main-nav .nav-button,.mobile-dock .dock-button,.secondary-btn,.primary-btn,.quest-mission button,.quest-quick-actions button,.quest-bottom-actions button,.quest-bottom-actions a {min-height:var(--ux-tap);}
.nav-button,.dock-button,.quest-room-choice,.quest-souvenir,.quest-stamp,.quest-bingo-cell,.quest-event-buttons button {cursor:pointer;}
.game-card a,.game-card button,.u-main-hero a,.u-main-hero button,.u-gacha-quick,.u-quick-links a,.u-quick-links button {min-height:48px;}
.u-main-hero button[data-anchor="machine-gacha"] {cursor:pointer;border-radius:13px;}
.quest-panel h2 {line-height:1.35;}
.quest-panel-title p {font-size:12px;line-height:1.85;}
.quest-section-counter {margin:0 0 11px;padding:9px 13px;border-radius:10px;color:#f9dcb1;border:1px solid #786390;background:#342844;font-size:12px;font-weight:750;letter-spacing:.03em;}
.quest-machine-grid {gap:14px;}
.quest-machine {border-radius:18px;padding:16px;scroll-margin-top:145px;}
.quest-machine-head strong {font-size:13px;line-height:1.4;}
.quest-machine-head small {font-size:11px;line-height:1.4;}
.quest-machine .quest-machine-note {min-height:0;font-size:11px;}
.quest-real-play {display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:47px;margin-top:11px;padding:9px 11px;text-align:center;text-decoration:none;color:#fceabf;background:#282440;border:1px solid #ad91a9;border-radius:12px;font-size:12px;font-weight:850;}
.quest-real-play:hover {background:#44335b;}
.quest-event-buttons button {min-height:51px;border:1px solid #78618d;border-radius:12px;padding:10px 9px;position:relative;z-index:1;}
.quest-event-buttons button:hover {border-color:#c99ff5;background:#443156;}
.quest-event-buttons button:active,.quest-room-choice:active,.quest-decor-choice:active {transform:scale(.985);}
.quest-stamp-grid {gap:11px;}
.quest-stamp {min-height:100px;border-radius:15px;grid-template-rows:34px 22px auto;font:inherit;}
.quest-stamp>strong {font-size:12px;}
.quest-stamp>small {font-size:10px;line-height:1.5;}
.quest-stamp:hover,.quest-stamp:focus-visible {border-color:#debae8;background:#322748;}
.quest-rally-footer {flex-wrap:wrap;gap:11px;}
.quest-rally-footer span {flex:1 1 190px;max-width:none;font-size:12px;}
.quest-rally-footer button {min-height:52px;max-width:none;flex:1 1 200px;font-size:12px;}
.quest-bingo {gap:8px;padding:10px;background:#140f25;}
.quest-bingo-cell {min-height:82px;aspect-ratio:auto;border-radius:12px;gap:3px;padding:11px 3px;color:#beb2cc;transition:border-color .14s,background .14s;}
.quest-bingo-cell span {font-size:27px;}
.quest-bingo-cell small {font-size:10px;font-weight:700;line-height:1.3;}
.quest-bingo-cell b {font-size:9px;opacity:.82;line-height:1.5;}
.quest-bingo-cell.done {color:#fff0cd;}
.quest-bingo-cell.line-complete {border:2px solid #ffd78e;box-shadow:inset 0 0 18px #c6a45a44,0 0 14px #efc75b38;}
.quest-bingo-cell.selected,.quest-bingo-cell:hover {outline:2px solid #e0b5f1;outline-offset:-2px;}
.quest-bingo-hint,.quest-souvenir-detail {min-height:68px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;margin-top:12px;padding:13px 14px;border:1px solid #6e5782;border-radius:13px;background:#2a213a;color:#e3d2f1;font-size:12px;line-height:1.75;}
.quest-bingo-hint .quest-go-action {width:100%;border:1px solid #caa8ef;border-radius:10px;background:#51396d;color:#fff;min-height:44px;padding:9px;font-weight:800;cursor:pointer;}
.quest-collection-top {display:grid;gap:8px;margin:0 0 11px;}
.quest-collection-top strong {font-size:13px;color:#ffe5ae;}
.quest-collection-meter {width:100%;height:9px;overflow:hidden;border-radius:99px;background:#29223d;border:1px solid #6c567e;}
.quest-collection-meter i {display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#9bd5ff,#e0a8f7,#ffe5b2);transition:width .3s ease;}
.quest-collection-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 12px;}
.quest-collection-filters button {min-height:43px;border-radius:11px;border:1px solid #755e8c;background:#2b223f;color:#e3d4f1;font-size:11px;font-weight:800;cursor:pointer;}
.quest-collection-filters button.active,.quest-collection-filters button[aria-pressed="true"] {background:#674b7c;border-color:#f0c2ff;color:#fff;}
.quest-souvenir {min-height:122px;font:inherit;}
.quest-souvenir strong {font-size:11px;}
.quest-souvenir small {font-size:10px;line-height:1.5;}
.quest-souvenir:hover,.quest-souvenir.selected {border-color:#f3c5eb;box-shadow:0 0 0 1px #eeb4ed88;}
.quest-souvenir-detail strong {font-size:13px;color:#ffe3b9;}
.quest-souvenir-detail p {margin:0;font-size:12px;line-height:1.8;}
.quest-collection-empty {grid-column:1/-1;padding:16px;color:#e4d4f0;text-align:center;font-size:12px;}
.quest-room-layout {align-items:start;gap:22px;}
.quest-room-scene {isolation:isolate;min-height:325px;border-radius:19px;box-shadow:inset 0 0 65px #32275e66,0 12px 30px #07041188;}
.quest-room-window {top:22px;left:24%;right:24%;bottom:75px;border-radius:95px 95px 9px 9px;border-width:6px;}
.quest-room-floor {position:absolute;z-index:1;bottom:0;left:0;right:0;height:105px;background:repeating-linear-gradient(92deg,#2f2240 0px,#2f2240 43px,#4a3352 45px,#483054 47px);border-top:7px solid #815e7a;box-shadow:0 -9px 17px #13091e88;}
.quest-room-rug {position:absolute;z-index:2;bottom:19px;left:15%;right:15%;height:49px;background:radial-gradient(ellipse,#e2afd7 10%,#88649d 62%,#533963 72%);border-radius:50%;filter:drop-shadow(0 8px 4px #0d081baa);}
.quest-room-sofa {position:absolute;z-index:3;bottom:50px;left:26%;right:25%;height:75px;background:linear-gradient(#735187,#422c5e);border:4px solid #9c73a0;border-bottom:12px solid #3a2453;border-radius:35px 35px 12px 12px;box-shadow:0 9px 16px #0907189a;}
.quest-room-sofa::before,.quest-room-sofa::after {content:"";position:absolute;bottom:-19px;width:13px;height:16px;background:#5a3d51;border-radius:1px 1px 4px 4px;}
.quest-room-sofa::before {left:11px;}.quest-room-sofa::after {right:11px;}
.quest-room-pillow {display:block;position:absolute;width:45px;height:32px;right:10%;bottom:9px;background:#bb85c9;border-radius:9px;transform:rotate(-10deg);}
.quest-room-yona {z-index:5;bottom:58px;width:102px;height:116px;background:transparent;border-radius:0;box-shadow:0 0 0 transparent;filter:drop-shadow(0 8px 8px #11091d);}
.quest-room-yona img {display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;image-rendering:auto;}
.quest-room-furniture {position:absolute;z-index:7;display:grid;place-items:center;line-height:1;text-shadow:0 1px 5px #1b0b37;font-size:30px;filter:drop-shadow(0 6px 7px #120922);}
.quest-room-furniture[hidden] {display:none!important;}
.quest-room-furniture.room-lamp {bottom:64px;left:10%;font-size:44px;color:#ffe8a6;text-shadow:0 0 25px #fbd983,0 0 10px #fff1b7;}
.quest-room-furniture.room-cat {bottom:62px;right:14%;font-size:33px;}
.quest-room-furniture.room-telescope {bottom:93px;right:10%;font-size:35px;}
.quest-room-furniture.room-mobile {top:11px;left:50%;transform:translateX(-50%);color:#ffd3f3;font-size:24px;}
.quest-room-label {z-index:9;bottom:10px;left:11px;right:11px;text-align:center;background:#1b1633be;border:1px solid #8a70b14d;padding:6px 4px;border-radius:9px;white-space:normal;line-height:1.5;}
.quest-room-scene[data-sleep="on"] {filter:saturate(.62) brightness(.68);}
.quest-room-scene[data-sleep="on"] .quest-room-yona {transform:translateX(-50%) rotate(-11deg);bottom:60px;}
.quest-room-scene[data-sleep="on"] .quest-room-moon {opacity:.35;}
.quest-room-settings {display:grid;gap:12px;}
.quest-room-settings-title {margin:5px 0 0;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:850;color:#ffe0b2;}
.quest-room-settings-title span {font-size:11px;color:#d9c6e8;}
.quest-room-choices {gap:9px;}
.quest-room-choice {min-height:95px;padding:12px;gap:6px;transition:border .2s,background .2s;}
.quest-room-choice>span:first-child {font-size:24px;}
.quest-room-choice span strong,.quest-room-choice span small {display:block;}
.quest-room-choice span strong {font-size:12px;}
.quest-room-choice span small {font-size:10px;color:#cfc0dd;line-height:1.5;}
.quest-room-choice>b {font-size:11px;line-height:1.5;margin-top:auto;}
.quest-room-choice.selected {border-color:#ffd8af;box-shadow:0 0 0 1px #ffd8af44;}
.quest-room-decor-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.quest-decor-choice {display:flex;align-items:center;gap:10px;min-width:0;text-align:left;min-height:92px;padding:10px;border-radius:13px;background:linear-gradient(135deg,#312642,#201a32);border:1px solid #78638d;color:#e9def4;cursor:pointer;}
.quest-decor-choice>span:first-child {font-size:26px;flex:0 0 28px;text-align:center;}
.quest-decor-choice>span:nth-child(2) {display:grid;gap:5px;flex:1;min-width:0;}
.quest-decor-choice strong {font-size:11px;line-height:1.4;}
.quest-decor-choice small {font-size:10px;color:#cebbdb;line-height:1.5;}
.quest-decor-choice b {font-size:9px;color:#ffdfa8;align-self:start;max-width:50px;text-align:right;line-height:1.55;}
.quest-decor-choice.equipped {background:#4b365b;border-color:#dfbee2;}
.quest-room-sleep-toggle {display:block;width:100%;min-height:52px;border:1px solid #ba9bdc;background:#45315d;color:#fff0d7;border-radius:12px;font-weight:850;cursor:pointer;}
.quest-room-status {font-size:12px;line-height:1.75;color:#eadbf5;min-height:42px;padding:10px;border-radius:10px;background:#2e2441;}
@media(max-width:1040px) {
 .quest-machine-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .topbar-right {gap:7px;}
 .header-quick-action {padding:10px 12px;}
}
@media(max-width:780px) {
 .site-shell {padding-left:16px;padding-right:16px;}
 .topbar {display:grid;grid-template-columns:1fr;align-items:center;gap:11px;padding-top:15px;padding-bottom:13px;}
 .topbar .wordmark {justify-self:start;font-size:17px;}
 .topbar-right {justify-content:space-between;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;}
 .header-member-status {min-width:0;min-height:49px;padding:8px 4px;font-size:11px;}
 .header-quick-action {min-width:0;min-height:49px;padding:8px 5px;font-size:12px;}
 .header-coins small {display:none;}
 .topbar #audioToggle.icon-btn {width:100%;min-width:0;min-height:49px;min-width:0;padding:9px 4px!important;font-size:10px;}
 .quest-room-layout {grid-template-columns:1fr;}
}
@media(max-width:580px) {
 html {scroll-padding-top:145px;}
 .site-shell {padding-left:12px;padding-right:12px;}
 .topbar .wordmark small {font-size:8px;}
 .topbar-right {grid-template-columns:repeat(4,minmax(0,1fr));}
 .header-member-status {font-size:10px;letter-spacing:0;}
 .header-quick-action {font-size:11px;}
 .quest-panel {padding:16px 13px;}
 .quest-panel-title h2 {font-size:20px;}
 .quest-machine-grid {grid-template-columns:1fr;}
 .quest-machine {padding:15px;}
 .quest-stamp-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .quest-stamp {min-height:98px;}
 .quest-bingo-cell {min-height:90px;}
 .quest-souvenir-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .quest-souvenir {min-height:118px;}
 .quest-room-choices,.quest-room-decor-choices {grid-template-columns:repeat(2,minmax(0,1fr));}
 .quest-room-choice {min-height:105px;}
 .quest-room-scene {min-height:310px;}
 .quest-room-sofa {left:22%;right:22%;}
 .u-main-hero .u-main-hero-actions a,.u-main-hero .u-main-hero-actions button {padding:12px;font-size:12px;}
 .mobile-dock {padding-bottom:max(9px,env(safe-area-inset-bottom));}
 .mobile-dock .dock-button {min-height:54px;}
}
@media(max-width:355px) {
 .site-shell {padding-left:9px;padding-right:9px;}
 .topbar-right {gap:5px;}
 .header-member-status,.header-quick-action {font-size:10px;}
 .topbar #audioToggle.icon-btn {font-size:9px;}
 .quest-bingo {gap:5px;padding:6px;}
 .quest-bingo-cell {min-height:86px;}
 .quest-bingo-cell small {font-size:9px;}
 .quest-decor-choice {padding:7px;gap:5px;}
}
@media(prefers-reduced-motion:reduce) {
 .quest-collection-meter i,.header-quick-action,.quest-bingo-cell,.quest-room-scene {transition:none!important;}
}
/* iOS visual viewport: prevent a decorative hero image from widening the page,
   which otherwise pushes the fixed bottom navigation partly off screen. */
html,body {max-width:100%;overflow-x:clip;}
.site-shell {max-width:100%;min-width:0;}
.u-main-hero {overflow:hidden;max-width:100%;}
.u-main-hero-art {overflow:hidden;max-width:100%;}
.mobile-dock {box-sizing:border-box;position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;max-width:100vw!important;z-index:24!important;}
.mobile-dock .dock-button {position:relative;z-index:1;}
