/* Matches the approved 2026-10-08 image concepts; product UI scoped to these routes. */
@font-face{font-family:StargateProvider;src:url('/shared/assets/fonts/SUIT-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
.provider-screen{font-family:StargateProvider,'Malgun Gothic',sans-serif}
.provider-screen.interface-refined .header{padding-inline:calc(4vw + max(0px,(100vw - 1536px)/2))}
.provider-screen #view{max-width:1536px;padding:36px 4% 48px}
.provider-page,.provider-launch-page{min-width:0}
.provider-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:24px}
.provider-heading h1{font-size:40px;line-height:1.25;letter-spacing:-1px;margin:0 0 10px}
.provider-heading p{margin:0;color:var(--muted);font-size:16px}
.provider-search{flex:0 1 440px;min-width:0}
.provider-search>label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.provider-search-controls{display:flex;gap:8px;align-items:center;min-width:0}
.provider-search-input{position:relative;flex:1;min-width:0}
.provider-search .input{width:100%;padding:10px 42px 10px 44px;min-height:48px;font-size:16px}
.provider-search .input::-webkit-search-cancel-button{-webkit-appearance:none}
.provider-search-input>.provider-icon{position:absolute;top:14px;left:14px;pointer-events:none;color:var(--muted)}
.provider-search-clear{position:absolute;right:0;top:2px;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer;touch-action:manipulation}
.provider-search-clear[hidden]{display:none}
.provider-search .provider-search-submit{flex:0 0 auto;min-width:72px;min-height:48px;padding:10px 16px}
.provider-search .provider-search-help{font-size:12px;line-height:1.5;margin:8px 0 0;color:var(--muted)}
.game-coral .provider-slots .provider-list-tools{flex-wrap:wrap;gap:12px 18px;padding-bottom:14px}
.provider-search.is-toolbar{flex:0 1 360px;margin:0 0 0 auto}
.provider-icon{display:inline-block;flex:0 0 21px;width:21px;height:21px;background:currentColor;mask:var(--provider-icon) center/contain no-repeat;-webkit-mask:var(--provider-icon) center/contain no-repeat;vertical-align:middle}
.provider-source-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:24px}
.provider-source-tabs a{font-size:16px;font-weight:650;min-height:48px;padding:10px 1px;border-bottom:3px solid transparent;text-decoration:none;color:var(--muted)}
.provider-source-tabs a[aria-current]{border-color:var(--accent);color:var(--accent-2)}
.provider-vendors{display:flex;align-items:center;gap:26px;margin-bottom:22px;min-width:0}
.provider-vendors>span{flex:0 0 auto;font-weight:600;font-size:15px}
.provider-vendor-buttons{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.provider-vendor-buttons button{border:1px solid #52617a;background:transparent;color:var(--muted);border-radius:6px;min-height:44px;padding:8px 18px;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.provider-vendor-buttons button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
.provider-vendor-select{display:none!important;min-width:0;max-width:100%;flex:1}
.provider-many-vendors{flex-wrap:wrap}
.provider-many-vendors .provider-vendor-buttons{flex:1 1 300px}
.provider-many-vendors .provider-vendor-select{display:block!important;flex:0 1 320px;width:100%;min-height:44px}
.provider-list-tools{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:0;margin-bottom:16px;min-width:0}
.provider-type-tabs{display:flex;flex-wrap:wrap;gap:24px;min-width:0}
.provider-type-tabs button{font:inherit;color:var(--muted);background:none;border:0;border-bottom:3px solid transparent;min-height:48px;min-width:44px;padding:10px 2px;cursor:pointer;white-space:nowrap}
.provider-type-tabs button[aria-pressed=true]{color:var(--accent-2);border-color:var(--accent);font-weight:750}
.provider-favorites-filter{display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 2px;background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap}
.provider-favorites-filter[aria-pressed=true]{color:var(--accent-2)}
.provider-sort{margin-left:auto;flex:0 0 116px;min-width:0}
.provider-sort .input{font:inherit;padding:6px 10px;min-height:40px;width:100%}
.provider-context{color:var(--muted);font-size:14px;margin:0 0 5px;line-height:1.7}
.provider-count{font-size:13px;color:var(--muted);margin-bottom:22px;min-height:22px}
.provider-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 22px;align-items:start}
.provider-slots .provider-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.provider-card{min-width:0;border:0;background:none;box-shadow:none}
.provider-card-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border:1px solid #3b4963;border-radius:8px;background:var(--bg-2);text-decoration:none}
.provider-slots .provider-card-media,.game-coral .provider-slots .provider-card-media{aspect-ratio:1}
.provider-card-media img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease}
@media(hover:hover) and (pointer:fine){.provider-card-media:hover img{transform:scale(1.025)}}
.provider-card-open{position:absolute;inset:0;display:grid;place-items:center;background:#080d20a3;color:#fff;font-size:16px;font-weight:700;opacity:0;transition:opacity .16s ease}
.provider-card-media:focus-visible .provider-card-open{opacity:1}
@media(hover:hover) and (pointer:fine){.provider-card-media:hover .provider-card-open{opacity:1}}
.provider-image-fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:18px;color:var(--muted);padding:18px;text-align:center;overflow-wrap:anywhere}
.provider-image-missing .provider-image-fallback{display:flex}
.provider-card-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 0 0;min-width:0}
.provider-card-caption>div{min-width:0;flex:1}
.provider-card h2{margin:0 0 4px;font-size:18px;font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.provider-card h2 a{text-decoration:none;color:var(--text)}
.provider-card h2 a:hover{color:var(--accent-2)}
.provider-card-caption p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.provider-star{color:var(--muted);border:0;background:none;cursor:pointer;display:grid;place-items:center;width:44px;min-width:44px;height:44px;margin-top:-5px;padding:0}
.provider-star[aria-pressed=true]{color:var(--accent-2);background:var(--tint);border-radius:6px}
.provider-star .provider-icon{width:22px;height:22px}
.provider-empty{grid-column:1/-1;text-align:center;padding:44px 16px;border-top:1px solid var(--line)}
.provider-empty h1,.provider-empty h2{font-size:24px;line-height:1.5;margin:0 0 10px}
.provider-empty p{color:var(--muted);margin:0 0 20px}
.provider-list-footer{text-align:center;margin-top:30px}
.provider-list-footer .btn{min-width:200px}
.provider-own-tools{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}
.provider-own-tools label{display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer}
.provider-own-tools input{width:18px;height:18px;accent-color:var(--accent)}
.provider-own-tools a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.provider-own-grid .game-card{min-width:0}
.provider-breadcrumb{display:flex;flex-wrap:wrap;gap:16px;font-size:15px;align-items:center;margin-bottom:22px}
.provider-breadcrumb a{color:var(--muted);min-height:44px;display:flex;align-items:center}
.provider-game-frame{border:1px solid #52617a;border-radius:8px;overflow:hidden;min-width:0;background:var(--bg)}
.provider-frame-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:20px;min-width:0}
.provider-frame-game{display:flex;align-items:center;gap:16px;min-width:0}
.provider-frame-game img{width:96px;height:60px;object-fit:cover;border-radius:5px;flex-shrink:0}
.provider-frame-game>div{min-width:0}
.provider-frame-game h1{font-size:22px;line-height:1.4;margin:0 0 4px;overflow-wrap:anywhere}
.provider-frame-game p{font-size:14px;color:var(--muted);margin:0;overflow-wrap:anywhere}
.provider-frame-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}
.provider-frame-actions .btn{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 16px}
.provider-fullscreen{display:flex;gap:9px;align-items:center;min-height:44px;background:none;border:0;color:var(--text);font:inherit;cursor:pointer}
.provider-fullscreen:disabled{opacity:.5;cursor:default}
.provider-launch-state{min-height:570px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}
.provider-launch-art{width:280px;max-width:75%;height:160px;object-fit:cover;border:1px solid var(--line);border-radius:6px;margin-bottom:26px}
.provider-launch-state>.provider-icon{width:40px;height:40px;flex-basis:40px;margin-bottom:20px;color:var(--accent-2)}
.provider-launch-state[data-launch-state=error]>.provider-icon{color:#efb14b;width:56px;height:56px;flex-basis:56px;margin-bottom:24px}
.provider-launch-state h2{font-size:28px;font-weight:750;margin:0 0 12px;line-height:1.45;overflow-wrap:anywhere}
.provider-launch-state p{color:var(--muted);font-size:16px;margin:0 0 28px;line-height:1.8}
.provider-launch-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:100%}
.provider-launch-buttons .btn{min-height:48px;min-width:170px}
.provider-launch-note{font-size:14px;color:var(--muted);margin:16px 8px 0;word-break:keep-all;overflow-wrap:anywhere}
.provider-spinner{width:40px;height:40px;box-sizing:border-box;border:4px solid #332752;border-top-color:var(--accent-2);border-radius:50%;animation:provider-spin .9s linear infinite;margin-bottom:24px}
.provider-game-frame:fullscreen{width:100%;height:100%;overflow:auto}
.provider-game-frame:fullscreen .provider-launch-state{min-height:calc(100dvh - 115px)}
@keyframes provider-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.provider-spinner{animation:none;border-color:var(--accent-2)}.provider-card-media img,.provider-card-open{transition:none}.provider-card-media:hover img{transform:none}}
@media(max-width:1150px){.provider-slots .provider-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.provider-slots .provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.provider-heading{align-items:flex-start}.provider-search{flex-basis:310px}.provider-frame-actions{gap:12px}.provider-frame-game img{width:72px;height:52px}}
@media(max-width:760px){
  .provider-screen.interface-refined .header{padding:10px 20px;gap:10px;min-height:64px;align-items:center}
  .provider-screen.interface-refined .header .brand{order:0;gap:9px;font-size:19px;flex:0 0 auto}
  .provider-screen.interface-refined .header #me-box{order:1;flex:0 1 auto;width:auto;min-width:0;max-width:96px;margin:0 0 0 auto;gap:6px}
  .provider-screen.interface-refined .header #me-box .btn{min-height:44px;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px}
  .provider-screen.interface-refined .header #me-box:has([role="status"]){order:3;flex:1 0 100%;width:100%;max-width:100%;justify-content:flex-end;flex-wrap:wrap}
  .provider-screen:not(.menu-open) #me-box a[href*="register"],.provider-screen:not(.menu-open) #me-box .coinpill{display:none}
  .provider-screen.interface-refined .header .menu-toggle{order:2;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:0;font-size:0;display:inline-flex;align-items:center;justify-content:center}
  .provider-screen .menu-toggle::before{content:'';width:24px;height:24px;background:currentColor;mask:url('/shared/assets/provider-icons/menu.svg') center/contain no-repeat;-webkit-mask:url('/shared/assets/provider-icons/menu.svg') center/contain no-repeat}
  .provider-screen.interface-refined .header .spacer{display:none}
  .provider-screen.menu-open.interface-refined .header #me-box{order:3;width:100%;max-width:100%;justify-content:flex-end;flex-wrap:wrap}
  .provider-screen.menu-open.interface-refined .header #me-box .btn{max-width:100%}
  .provider-screen.menu-open .header #me-box .coinpill{max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .provider-screen.menu-open.interface-refined .header #nav{order:4;display:grid;width:100%;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:8px;overflow:visible}
  .provider-screen.menu-open.interface-refined .header #nav a{font-size:14px;text-align:center;min-height:44px}
  .provider-screen #view{padding:28px 20px 40px}
  .provider-heading{display:block;margin-bottom:18px}.provider-heading h1{font-size:30px}.provider-heading p{font-size:15px}.provider-search{width:100%;margin-top:20px}
  .provider-source-tabs{margin-bottom:20px;gap:28px}.provider-source-tabs a{font-size:15px}
  .provider-vendors{display:block;margin-bottom:14px}.provider-vendors>span{display:block;margin-bottom:7px;font-size:14px}.provider-vendor-buttons{display:none}.provider-vendor-select{display:block!important;width:100%}
  .provider-list-tools{flex-wrap:wrap;gap:0 18px;margin-bottom:14px}.provider-type-tabs{gap:16px;order:0;flex:1 0 100%;border-bottom:1px solid var(--line)}.provider-type-tabs button{font-size:15px;min-height:48px}
  .provider-favorites-filter{order:1;min-height:48px;font-size:14px}.provider-sort{order:2;margin-left:auto;flex-basis:110px}
  .provider-search.is-toolbar{order:2;flex:1 0 100%;margin:0}
  .provider-grid,.provider-slots .provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .provider-own-grid:has(>.game-card:only-child){grid-template-columns:minmax(0,1fr)}
  .provider-card-media{aspect-ratio:4/3}.provider-card h2{font-size:16px;line-height:1.5}.provider-card-caption p{font-size:14px}.provider-card-caption{gap:0;padding-top:8px}.provider-star{margin-top:-7px;width:44px;min-width:44px}
  .provider-context{font-size:14px}.provider-count{font-size:13px;margin-bottom:16px}.provider-empty h2{font-size:21px}
  .provider-frame-toolbar{flex-wrap:wrap;padding:16px;gap:12px}.provider-frame-game{width:100%;gap:12px}.provider-frame-game h1{font-size:20px}.provider-frame-game p{font-size:14px}.provider-frame-actions{width:100%;justify-content:space-between}.provider-frame-actions .btn{font-size:14px}
  .provider-breadcrumb{margin-bottom:14px;font-size:14px;gap:10px}.provider-launch-state{min-height:430px;padding:30px 16px}.provider-launch-state h2{font-size:23px}.provider-launch-state p{font-size:15px}.provider-launch-art{width:220px;height:140px}.provider-launch-buttons{width:100%;gap:10px}.provider-launch-buttons .btn{min-width:0;flex:1 1 140px;padding:10px 12px;font-size:14px}.provider-launch-note{margin-left:0;margin-right:0}
}
@media(max-width:359px){.provider-screen #view{padding-inline:16px}.provider-screen.interface-refined .header{padding-inline:16px;gap:7px}.provider-screen.interface-refined .header .brand{font-size:17px;gap:7px}.provider-screen.interface-refined .header #me-box{max-width:72px}.provider-screen.interface-refined .header #me-box .btn{max-width:72px}.provider-type-tabs{gap:10px}.provider-type-tabs button{font-size:14px}.provider-card-caption>div{min-width:0}.provider-card h2{font-size:15px}.provider-frame-actions{gap:6px}.provider-fullscreen{font-size:14px}}
.provider-live-iframe{display:block;width:100%;border:0;background:#111}
.lounge-casino-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.game-coral .lounge-casino-card[data-provider-direct]::after{content:'게임 시작'}
.game-coral .provider-lobby-card .provider-lobby-art{position:relative;display:block;inset:auto;width:100%;aspect-ratio:1;margin:0;background:#191919;font-size:inherit}
.game-coral .provider-lobby-card .provider-lobby-art img{width:100%;height:100%;aspect-ratio:1;object-fit:contain;object-position:center}
.game-coral .provider-lobby-card .provider-image-fallback{inset:0;color:#fff;font-size:clamp(18px,2vw,28px);font-weight:750;background:linear-gradient(145deg,#3e2525,#191919)}
.game-coral .provider-lobby-card.provider-image-missing .provider-image-fallback,.game-coral .provider-lobby-art.provider-image-missing .provider-image-fallback{display:flex}
.game-coral .provider-lobby-card[data-provider-direct]::after{aspect-ratio:1}
.provider-card-media img[hidden],.game-coral .provider-lobby-card img[hidden]{display:none}

@font-face{font-family:StargatePretendard;src:url('/shared/assets/fonts/PretendardVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.provider-popup-body{margin:0;padding:0;display:flex;flex-direction:column;height:100svh;overflow:hidden;background:#111;font-family:StargatePretendard,'Malgun Gothic',sans-serif}
.provider-popup-toolbar{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#fff;color:#301715;flex:none}
.provider-popup-toolbar strong{color:#c62d44;font-size:20px}
.provider-popup-toolbar h1{margin:0;flex:1;min-width:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.provider-popup-toolbar .btn{color:#301715;border-color:#aa8078;background:#fff;min-width:44px;min-height:44px}
.provider-popup-toolbar .btn:hover{background:#f9f0ee}
.provider-popup-content{flex:1;min-height:0}
.provider-popup-loading{margin:auto;text-align:center;padding:24px;color:#fff;line-height:1.7}
.provider-popup-body .provider-live-iframe{height:100%;min-height:0}
.provider-request-reference{font-size:12px!important;overflow-wrap:anywhere}
.provider-request-reference code{user-select:text}
@media(max-width:600px){.provider-popup-toolbar{gap:8px;padding:8px}.provider-popup-toolbar strong{font-size:16px}.provider-popup-toolbar h1{font-size:13px}.provider-popup-toolbar .btn{padding:8px;font-size:11px}}

/* Restore the original home model cards without changing catalogue images. */
.game-coral .provider-lobby-card.home-model-card .provider-lobby-art,.game-coral .provider-lobby-card.home-model-card[data-provider-direct]::after{aspect-ratio:1.35}
.game-coral .provider-lobby-card.home-model-card .provider-lobby-art img{aspect-ratio:auto;object-fit:cover;object-position:center 25%}
