/* Portal styles are scoped; Blocksy remains installed and updateable. */
body.fwg-portal{--fwg-blue:#2463eb;--fwg-ink:#17233b;--fwg-muted:#64748b;--fwg-line:#e5eaf2;background:#fff;color:var(--fwg-ink);font-family:Arial,'Noto Sans KR','Malgun Gothic',sans-serif;line-height:1.6}
.fwg-portal #header,.fwg-portal #footer{display:none!important}
.fwg-portal #main{padding:0!important;min-height:0!important}
.fwg-portal *, .fwg-portal *::before,.fwg-portal *::after{box-sizing:border-box}
.fwg-portal [hidden]{display:none!important}
.fwg-portal a{color:inherit;text-decoration:none}
.fwg-portal h1,.fwg-portal h2,.fwg-portal h3,.fwg-portal p{margin:0}
.fwg-portal h1{font-size:clamp(26px,3.2vw,40px);font-weight:800;line-height:1.3;letter-spacing:-1.4px;color:var(--fwg-ink)}
.fwg-portal h2{font-size:24px;font-weight:750;letter-spacing:-.7px;line-height:1.4;color:var(--fwg-ink)}
.fwg-portal h3{color:var(--fwg-ink)}
.fwg-wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.fwg-header{background:#fff;border-bottom:1px solid var(--fwg-line)}
.fwg-header-inner{min-height:88px;display:flex;align-items:center;gap:32px}
.fwg-brand{display:inline-flex;align-items:center;font-size:23px;font-weight:800;letter-spacing:-1px;white-space:nowrap}
.fwg-brand>span:not(.fwg-brand-mark){color:var(--fwg-blue)}
.fwg-brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--fwg-blue);border-radius:11px;color:white;margin-right:9px;font-size:28px;line-height:1}
.fwg-header nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:14px;font-weight:650;white-space:nowrap}
.fwg-header nav a:hover,.fwg-more:hover{color:var(--fwg-blue)}
.fwg-search{display:flex;align-items:center;background:#f5f7fb;border:1px solid var(--fwg-line);border-radius:12px;overflow:hidden;gap:4px;width:100%;max-width:460px;margin:0}
.fwg-header .fwg-search{max-width:330px}
.fwg-search input[type=search]{width:0;flex:1;min-width:0;border:0;background:transparent;box-shadow:none;padding:12px 16px;height:48px;font-size:14px;color:var(--fwg-ink)}
.fwg-search button{background:transparent;color:var(--fwg-muted);border:0;min-height:44px;padding:8px 16px;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}
.fwg-search button span{font-size:21px;margin-left:6px}
.fwg-menu{position:relative}
.fwg-menu summary{cursor:pointer;list-style:none;padding:12px 0}
.fwg-menu>div{position:absolute;z-index:30;right:0;top:100%;width:210px;background:white;border:1px solid var(--fwg-line);border-radius:14px;box-shadow:0 15px 40px #233d6018;padding:10px}
.fwg-menu>div a{display:block;padding:9px 12px;border-radius:8px}.fwg-menu>div a:hover{background:#eff5ff}
.fwg-skip{position:fixed;top:-100px;left:20px;z-index:999999;background:white;padding:12px}.fwg-skip:focus{top:20px}
.fwg-portal :focus-visible{outline:3px solid #f6b33a;outline-offset:3px}
.fwg-hero{margin-top:24px;border-radius:24px;padding:24px 36px;background:#edf4ff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}
.fwg-eyebrow{display:block;color:var(--fwg-blue);font-size:11px;letter-spacing:1.6px;font-weight:750;margin-bottom:10px}
.fwg-hero h1{font-size:clamp(28px,3vw,39px)}.fwg-hero em{color:var(--fwg-blue);font-style:normal}
.fwg-hero p{color:var(--fwg-muted);font-size:15px;margin:14px 0 20px}
.fwg-hero .fwg-search{background:#fff;box-shadow:0 6px 20px #3268b50b;max-width:440px}
.fwg-hero-copy{z-index:1;flex:1}
.fwg-hero-art{position:relative;width:330px;height:220px;flex-shrink:0;margin-right:15px}
.fwg-art-cross{position:absolute;display:grid;place-items:center;left:42px;top:35px;background:#4074f3;color:white;border-radius:30px;font-size:100px;font-weight:800;line-height:1;width:135px;height:135px;transform:rotate(-13deg);box-shadow:10px 15px 0 #d1e0fc}
.fwg-art-ring{position:absolute;right:15px;top:13px;width:88px;height:88px;border:22px solid #ffc557;border-radius:50%;transform:rotate(20deg)}
.fwg-art-tile{position:absolute;right:24px;bottom:5px;background:#ac8cf2;color:white;display:grid;place-items:center;width:87px;height:87px;border-radius:22px;font-size:41px;transform:rotate(13deg);box-shadow:7px 7px 0 #e2d9fa}
.fwg-art-dot{position:absolute;bottom:0;left:12px;width:25px;height:25px;background:#70cbbc;border-radius:8px;transform:rotate(30deg)}
.fwg-hub-chips{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0 0}
.fwg-hub-chips a{font-size:13px;padding:9px 17px;border:1px solid var(--fwg-line);border-radius:999px;background:#fff;font-weight:600}
.fwg-hub-chips a:hover,.fwg-hub-chips a.is-current{background:var(--fwg-blue);border-color:var(--fwg-blue);color:white}
.fwg-section{margin-top:42px}.fwg-section:last-child{margin-bottom:54px}
.fwg-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.fwg-section-head .fwg-eyebrow{color:var(--fwg-muted);letter-spacing:.1px;margin-bottom:5px;font-size:12px}
.fwg-more{font-size:13px;white-space:nowrap;font-weight:600;color:var(--fwg-muted)!important}
.fwg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.fwg-card{display:block;min-width:0;background:white;border:1px solid var(--fwg-line);border-radius:17px;overflow:hidden;transition:box-shadow .18s,transform .18s}
.fwg-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #26365410}
.fwg-card-media{aspect-ratio:16/10;background:linear-gradient(140deg,#e8efff,#e9e2fa);overflow:hidden;position:relative}
.fwg-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.fwg-card:hover img{transform:scale(1.035)}
.fwg-image-fallback{display:grid;place-items:center;position:absolute;inset:0;color:#a6b9e4;font-size:64px}
.fwg-card-copy{padding:14px 16px 16px}.fwg-card h3{font-size:16px;line-height:1.4;font-weight:700;overflow-wrap:anywhere;letter-spacing:-.3px}
.fwg-card p{font-size:12px;color:var(--fwg-muted);margin-top:6px}
.fwg-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fwg-category-grid a{border:1px solid var(--fwg-line);border-radius:13px;padding:18px;background:#f9fbfe;display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:650}
.fwg-category-grid small{color:var(--fwg-muted);font-size:12px;font-weight:400}.fwg-category-grid small span{float:right}
.fwg-footer{margin-top:54px;border-top:1px solid var(--fwg-line);background:#f8fafd;padding:35px 0}
.fwg-footer-inner{display:flex;align-items:flex-start;gap:35px;flex-wrap:wrap}.fwg-footer p{color:var(--fwg-muted);font-size:12px;margin-top:12px}
.fwg-footer nav{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap;padding-top:8px;font-size:13px}
.fwg-copyright{flex-basis:100%;border-top:1px solid var(--fwg-line);padding-top:16px}
.fwg-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--fwg-muted);padding:22px 0 18px}
.fwg-hub-hero{background:#f1f6ff;border-radius:21px;padding:30px 34px;margin-bottom:22px}.fwg-hub-hero p{margin-top:12px;color:var(--fwg-muted);font-size:15px}
.fwg-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 24px;font-size:13px}
.fwg-filters label{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}
.fwg-filters select{font-size:13px;border:1px solid var(--fwg-line);border-radius:9px;padding:8px 32px 8px 11px;min-height:42px;background-color:white;color:var(--fwg-ink)}
.fwg-result-count{margin-left:auto;color:var(--fwg-muted)}
.fwg-button{display:inline-flex;align-items:center;justify-content:center;background:var(--fwg-blue);color:white!important;font-size:13px;font-weight:650;border:0;border-radius:9px;min-height:42px;padding:9px 17px;cursor:pointer;line-height:1.4;white-space:nowrap}
.fwg-button:hover{background:#174ed1}
.fwg-text-button{border:0;background:transparent;color:var(--fwg-muted);font-size:12px;min-height:44px;padding:8px;cursor:pointer}
.fwg-pagination{display:flex;gap:8px;justify-content:center;margin-top:32px}.fwg-pagination>*{padding:8px 14px;border:1px solid var(--fwg-line);border-radius:9px}.fwg-pagination .current{background:var(--fwg-blue);color:white}
.fwg-empty{padding:70px 15px;text-align:center;color:var(--fwg-muted)}.fwg-empty p{margin:16px 0}
.fwg-game-heading{margin-bottom:20px}.fwg-game-heading h1{font-size:clamp(25px,3vw,34px)}
.fwg-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.fwg-tags>*{font-size:12px;background:#edf4ff;color:#3664b7!important;border-radius:6px;padding:4px 9px}
.fwg-game-container{background:#edf1f8;border:1px solid var(--fwg-line);border-radius:18px;overflow:hidden;max-width:100%;position:relative}
.fwg-game-container:not(.fwg-flash-container):not(.fwg-expanded):not(:fullscreen){max-width:900px;margin-inline:auto}
.fwg-game-stage{position:relative;aspect-ratio:var(--fwg-game-ratio,16 / 9);width:100%;margin-inline:auto;background:#111827;overflow:hidden}
.fwg-game-stage.is-portrait{max-width:420px}
.fwg-game-stage iframe{display:block;border:0;width:100%;height:100%;position:absolute;inset:0;max-width:100%}
.fwg-game-overlay{position:absolute;inset:0;z-index:2;background:#edf3fc;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#4b6289;padding:16px;text-align:center}
.fwg-loading-thumb{width:110px;height:72px;object-fit:cover;border-radius:12px;opacity:.8}.fwg-load-message{font-size:14px}
.fwg-game-toolbar{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;font-size:12px;color:var(--fwg-muted)}
.fwg-game-toolbar>div{display:flex;gap:10px;align-items:center}.fwg-player-notice{padding:10px;background:#fff6dc;color:#785516;font-size:13px}
.fwg-game-container:fullscreen{border-radius:0;background:#111827;display:flex;flex-direction:column;width:100%;height:100%;border:0;justify-content:center}
.fwg-game-container:fullscreen .fwg-game-stage{height:calc(100% - 64px);width:100%;max-width:none;aspect-ratio:auto;flex:1}
.fwg-game-container:fullscreen .fwg-game-toolbar{flex-shrink:0}
.fwg-game-container.fwg-expanded{position:fixed;inset:0;z-index:100000;width:100%;height:100dvh;max-width:none;border:0;border-radius:0;display:flex;flex-direction:column;background:#111827}
.fwg-expanded .fwg-game-stage{height:auto;flex:1;aspect-ratio:auto;max-width:none;min-height:0}
.fwg-expanded .fwg-game-toolbar,.fwg-expanded .fwg-player-notice{flex-shrink:0}
.fwg-info-bar{display:flex;gap:30px;flex-wrap:wrap;padding:20px 22px;margin-top:16px;background:#f7f9fc;border:1px solid var(--fwg-line);border-radius:12px;font-size:13px}
.fwg-info-bar span{display:flex;gap:10px;align-items:center}.fwg-info-bar small{color:var(--fwg-muted);font-size:12px}
.fwg-details{max-width:900px;margin-top:34px}.fwg-content-section{margin:25px 0}.fwg-content-section h2{font-size:20px;margin-bottom:11px}.fwg-content-section p{font-size:15px;line-height:1.9;color:#53627a;margin-top:8px;overflow-wrap:anywhere}
@media(max-width:1000px){.fwg-header-inner{gap:18px}.fwg-header .fwg-search{max-width:250px}.fwg-header nav{gap:14px}.fwg-grid{gap:16px}.fwg-hero-art{width:270px}.fwg-wrap{width:calc(100% - 40px)}}
@media(max-width:760px){.fwg-wrap{width:calc(100% - 32px)}.fwg-header-inner{flex-wrap:wrap;padding-block:16px;gap:12px}.fwg-brand{font-size:21px}.fwg-header .fwg-search{order:3;max-width:none}.fwg-header nav{font-size:12px;gap:14px}.fwg-hero{padding:25px 24px;margin-top:18px;min-height:0}.fwg-hero-art{display:none}.fwg-hero h1{font-size:29px;letter-spacing:-1px}.fwg-hero p{font-size:13px;margin:12px 0 17px}.fwg-hero .fwg-eyebrow{font-size:9px}.fwg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fwg-card-copy{padding:11px 12px 13px}.fwg-card h3{font-size:14px}.fwg-card p{font-size:11px}.fwg-section{margin-top:30px}.fwg-section-head h2{font-size:20px}.fwg-more{font-size:11px}.fwg-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fwg-hub-chips{gap:7px;margin-top:17px}.fwg-hub-chips a{font-size:12px;padding:8px 12px}.fwg-footer-inner{gap:22px}.fwg-footer nav{margin-left:0;width:100%;gap:16px}.fwg-hub-hero{padding:24px}.fwg-filters{gap:10px}.fwg-filters label{font-size:12px}.fwg-result-count{width:100%;margin-left:0}.fwg-game-toolbar{padding:8px 10px;flex-wrap:wrap}.fwg-game-toolbar>span{display:none}.fwg-game-toolbar>div{width:100%;justify-content:space-between}.fwg-info-bar{padding:15px;gap:12px 20px}.fwg-info-bar span{gap:7px}.fwg-breadcrumb{padding-top:16px}.fwg-game-stage.is-portrait{max-width:100%}.fwg-game-heading{margin-bottom:15px}.fwg-content-section p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.fwg-card,.fwg-card-media img{transition:none}.fwg-card:hover,.fwg-card:hover img{transform:none}}

/* Flash-only native sizing: provider iframe sizing is unchanged. */
.fwg-flash-container{width:min(100%,var(--fwg-native-width,900px),900px);margin-inline:auto}
.fwg-flash-container .fwg-game-stage ruffle-player{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.fwg-flash-container:fullscreen,.fwg-flash-container.fwg-expanded{width:100%;max-width:none}
