/* Cozy Frame: only the main library. CMS areas and the annex retain their contents. */
@font-face{font-family:"Cozy Zen Maru";src:url("../fonts/ZenMaruGothic-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cozy Zen Maru";src:url("../fonts/ZenMaruGothic-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Cozy Kaisei";src:url("../fonts/KaiseiDecol-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
.cozy-frame{--color-bg:#f7f0e3;--color-surface:#fffaf1;--color-line:#d9c9b1;--color-text:#3a2f28;--color-text-soft:#665748;--color-link:#8c3d22;--color-link-hover:#663019;--color-accent:#f4b63f;--color-accent-text:#2d2420;--cozy-ink:#2d2420;--cozy-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;--shadow-soft:0 10px 28px -18px rgba(45,36,32,.32);background:var(--color-bg);color:var(--color-text);line-height:1.8;font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.cozy-frame *{box-sizing:border-box}
.cozy-frame{--cozy-serif:"Cozy Kaisei","Yu Mincho","Hiragino Mincho ProN",serif;font-family:"Cozy Zen Maru","Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.cozy-frame a{color:var(--color-link)}
.cozy-frame h1,.cozy-frame h2{font-family:var(--cozy-serif);letter-spacing:.035em;line-height:1.5}
.cozy-frame :is(a,button,input,select,textarea):focus-visible{outline:3px solid #bc5a28;outline-offset:4px}
.cozy-frame .container{max-width:1220px;padding-left:20px;padding-right:20px}
.cozy-frame .site-header{position:sticky;top:0;z-index:100;background:rgba(45,36,32,.97);border-bottom:1px solid #6e5843;backdrop-filter:blur(12px)}
.cozy-frame .site-header__inner{max-width:1220px;min-height:82px;padding:14px 20px;gap:24px}
.cozy-frame .site-header__logo{width:304px;max-width:100%;height:auto}
.cozy-frame .top-nav__list{gap:8px}
.cozy-frame .top-nav__link{background:transparent;color:#f7f0e3;border-radius:999px;padding:8px 15px;min-height:44px}
.cozy-frame .top-nav__link:hover{background:#493a2e;color:#fff}
.cozy-frame .top-nav__link.is-active{background:#f4b63f;color:#2d2420}
.cozy-frame .home-page{background:var(--color-bg)}
.cozy-frame .hero-visual{min-height:540px;background:#3a2f28;border:0}
.cozy-frame .hero-visual__inner{max-width:1220px;padding:48px 20px}
.cozy-frame .hero-visual__scrim{background:rgba(24,17,12,.30)}
.cozy-frame .hero-visual__content{width:min(580px,53%);padding:32px 36px;background:rgba(45,36,32,.76);border:1px solid rgba(247,240,227,.3);border-radius:22px;backdrop-filter:blur(9px);box-shadow:0 18px 50px -22px rgba(20,12,6,.65)}
.cozy-frame .hero-visual__eyebrow{display:inline-block;padding:4px 12px;background:#f4b63f;border-radius:999px;font-size:.72rem;letter-spacing:.1em;color:#2d2420!important;text-shadow:none!important}
.cozy-frame .hero-visual__title{font-size:clamp(2rem,3.1vw,2.7rem);line-height:1.5;letter-spacing:.055em;text-shadow:none!important;color:#fff7e8!important;overflow-wrap:anywhere;word-break:normal}
.cozy-frame .hero-visual__lead{font-size:.95rem;line-height:1.9;margin-bottom:24px;text-shadow:none!important;color:#fff7e8!important}
.cozy-frame .hero-visual__actions{gap:12px}
.cozy-frame .hero-visual__button{min-height:46px;border-radius:999px;box-shadow:none;font-size:.9rem;padding:10px 22px}
.cozy-frame .hero-visual__button--primary{background:#efe4d1;color:#3a2f28;border:1px solid #efe4d1}
.cozy-frame .hero-visual__button--secondary{background:#f4b63f;color:#2d2420;border:1px solid #f4b63f}
.cozy-frame .hero-visual__button:hover{transform:none;background:#fff7e8;color:#2d2420}
.cozy-frame .cozy-shelf{padding:56px 0;background:#2d2420;color:#f7f0e3}
.cozy-frame .cozy-shelf .container{padding-top:0;padding-bottom:0}
.cozy-frame .cozy-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.cozy-frame .cozy-section-heading h2{margin:0;color:#f7f0e3;font-size:1.85rem}
.cozy-frame .cozy-kicker{margin:0 0 6px;font-size:.82rem;letter-spacing:.12em;color:#f4b63f}
.cozy-frame .cozy-text-link{color:#f4b63f;text-underline-offset:5px;font-size:.9rem;flex-shrink:0;padding:8px 0}
.cozy-frame .cozy-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cozy-frame .cozy-game-tile{min-width:0;background:#fffaf1;color:#3a2f28;border-radius:16px;overflow:hidden;box-shadow:0 14px 34px -12px rgba(20,12,6,.4)}
.cozy-frame .cozy-game-tile__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.cozy-frame .cozy-game-tile__image{aspect-ratio:16/9;background:#181411;display:flex;align-items:center;justify-content:center;color:#f7f0e3;overflow:hidden}
.cozy-frame .cozy-game-tile__image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s ease}
.cozy-frame .cozy-game-tile__link:hover img{transform:scale(1.015)}
.cozy-frame .cozy-game-tile__body{padding:20px;display:flex;flex-direction:column;flex:1;gap:12px}
.cozy-frame .cozy-game-tile h3{font-size:1.1rem;line-height:1.65;margin:0;overflow-wrap:anywhere}
.cozy-frame .cozy-game-tile__tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.cozy-frame .cozy-game-tile__tags li{border-radius:6px;background:#e5ead9;color:#36442d;font-size:.74rem;padding:2px 8px}
.cozy-frame .cozy-game-tile__tags li:nth-child(2){background:#f4dfb9;color:#573912}
.cozy-frame .cozy-game-tile__more{font-size:.82rem;color:#8c3d22;margin-top:auto}
.cozy-frame .cozy-shelf-note{margin:22px 0 0;color:#d7c9b7;font-size:.82rem}
.cozy-frame .home-section{padding:52px 0}
.cozy-frame .home-section .container{padding-top:0;padding-bottom:0}
.cozy-frame .home-section--intro,.cozy-frame .home-section--links{background:#f7f0e3}
.cozy-frame .home-section--menu{background:#efe4d1;border-top:1px solid #ddccb2;border-bottom:1px solid #ddccb2}
.cozy-frame .home-section__heading h2{font-size:1.9rem;margin-bottom:10px}
.cozy-frame .home-section__heading p{font-size:.9rem;color:#665748}
.cozy-frame .home-content-area--activity{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.cozy-frame .update-home-feed__featured,.cozy-frame .update-home-feed__card{border-color:#d9c9b1;border-radius:12px;box-shadow:none;background:#fffaf1}
/* Activity images remain uncropped at the five-entry layout's existing sizes. */
.cozy-frame .update-home-feed__featured-thumb img,.cozy-frame .update-home-feed__card-thumb img{object-fit:contain}
.cozy-frame .home-content-area:not(.home-content-area--activity){border:0;border-left:4px solid #d8703e;border-radius:0 11px 11px 0;padding:20px 24px;background:#f0e2ca;box-shadow:none}
.cozy-frame .home-content-area:not(.home-content-area--activity) p{margin:0}
.cozy-frame .home-shortcuts{gap:18px}
.cozy-frame .home-shortcut-card{background:#fffaf1;border:1px solid #d5c2a4;border-radius:14px;min-height:140px;box-shadow:none;transition:border-color .15s ease}
.cozy-frame .site-menu-card:nth-child(4n+2){background:#e7ecd9}
.cozy-frame .site-menu-card:nth-child(4n+3){background:#f5e0c0}
.cozy-frame .site-menu-card:nth-child(4n+4){background:#e5e8ed}
.cozy-frame .home-shortcut-card.site-menu-card::before{opacity:.75;filter:saturate(1);background-size:cover}
.cozy-frame .home-shortcut-card__title{font-size:1.12rem;color:#3a2f28}
.cozy-frame .home-shortcut-card__text{font-size:.82rem;line-height:1.8;color:#514032}
.cozy-frame .site-menu-card .home-shortcut-card__title,.cozy-frame .site-menu-card .home-shortcut-card__text{text-shadow:0 1px 5px #fffaf1,0 0 5px #fffaf1}
.cozy-frame .home-shortcut-card:hover{transform:none;border-color:#9c6a3a}
.cozy-frame .home-shortcut-card--external{min-height:110px;background:transparent;border-radius:0;border-width:0 0 1px;padding:16px 0}
.cozy-frame .home-shortcut-card::after{color:#7c5439}
.cozy-frame .game-archive{max-width:1220px;padding:44px 20px 64px}
.cozy-frame .game-archive__header{padding:0 0 28px;border-bottom:1px solid #d9c9b1;margin-bottom:32px}
.cozy-frame .game-archive__header h1{font-size:2.2rem;color:#3a2f28}
.cozy-frame .game-archive__header p{color:#665748}
.cozy-frame .cozy-search-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}
.cozy-frame .game-search-form{padding:20px;border:1px solid #d9c9b1;background:#fffaf1;border-radius:16px;margin:0;min-width:0}
.cozy-frame .cozy-filter-title{font-size:1.05rem;margin:0 0 24px}
.cozy-frame .game-search-form__grid{grid-template-columns:1fr;gap:14px}
.cozy-frame .game-search-form label>span,.cozy-frame .game-search-form legend{color:#3a2f28;font-size:.86rem}
.cozy-frame .game-search-form input[type=text],.cozy-frame .game-search-form select{background:#f7f0e3;border-color:#b8a58a;color:#3a2f28;font:inherit;font-size:.86rem;border-radius:8px}
.cozy-frame .game-search-form__tags{padding:12px 0 0;border:0;border-top:1px solid #d9c9b1;background:transparent;border-radius:0}
.cozy-frame .game-search-form__tag-list{gap:8px 12px}
.cozy-frame .game-search-form__tag-item{min-height:32px;line-height:1.5;font-size:.81rem}
.cozy-frame .game-search-form input[type=checkbox]{width:17px;height:17px;accent-color:#8c3d22;flex-shrink:0}
.cozy-frame .game-search-form__actions{gap:8px}
.cozy-frame .game-search-form__actions button{background:#f4b63f;color:#2d2420;font-weight:700;flex:1;border-radius:999px;padding:8px 12px;font-size:.85rem}
.cozy-frame .game-search-form__actions button[name=shuffle]{background:#e8dfcd;border:1px solid #b8a58a}
.cozy-frame .game-search-form__actions a{font-size:.82rem;background:transparent;color:#8c3d22;padding:4px 0;border:0;text-decoration:underline}
.cozy-frame .cozy-search-results{min-width:0}
.cozy-frame .game-archive__result-meta{border-bottom:1px solid #d9c9b1;padding-bottom:14px;margin-bottom:20px}
.cozy-frame .game-archive__result-meta p{color:#665748;font-size:.86rem}
.cozy-frame .game-card-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cozy-frame .game-card{border:1px solid #d9c9b1;border-radius:16px;box-shadow:var(--shadow-soft);background:#fffaf1;min-width:0}
.cozy-frame .game-card__thumb{background:#181411}
.cozy-frame .game-card__thumb img{object-fit:contain}
.cozy-frame .game-card__thumb-placeholder{background:#efe4d1;color:#665748}
.cozy-frame .game-card__body{padding:18px;gap:12px;flex:1}
.cozy-frame .game-card__title{font-size:1.1rem;line-height:1.65;font-family:inherit;letter-spacing:0;overflow-wrap:anywhere}
.cozy-frame .game-card__title a{color:#3a2f28}
.cozy-frame .game-card__summary{font-size:.84rem;color:#665748}
.cozy-frame .game-card__chips{gap:5px}
.cozy-frame .game-card__chips li{background:#e5ead9;color:#36442d;line-height:1.5;border-radius:6px;min-height:26px;font-size:.73rem;padding:3px 7px}
.cozy-frame .game-card__links a{color:#8c3d22;background:transparent;border-color:#ccb899;border-radius:999px;font-size:.8rem;min-height:38px;padding:4px 11px}
.cozy-frame .game-detail-page{max-width:1220px;padding:40px 20px 56px;margin:auto}
.cozy-frame .game-detail-page--cozy-game .game-detail-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.cozy-frame .game-detail-card{margin:0;min-width:0;background:#fffaf1;border-color:#d9c9b1;border-radius:16px;padding:26px;box-shadow:var(--shadow-soft)}
.cozy-frame .game-detail-page--cozy-game .game-detail-main>.game-detail-card:first-child{grid-column:1/-1;background:#2d2420;color:#f7f0e3;padding:32px 36px;border-color:#5e4b3b}
.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child .game-detail-card__heading{color:#f7f0e3;font-size:2.1rem;border:0;padding:0;margin:0 0 16px}
.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child a{color:#f4b63f}
.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child .game-description{color:#f7f0e3}
.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child .game-description :is(p,div,span){color:inherit!important}
.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child .game-public-links__title{color:#d7c9b7}
.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child .game-public-links__buttons a{background:#efe4d1;color:#3a2f28}
.cozy-frame .game-detail-card--slider{grid-column:1;padding:0;overflow:hidden;background:#181411}
.cozy-frame .game-detail-page--cozy-game .game-detail-main>.game-detail-card--meta{grid-column:2;grid-row:2/span 3;padding:22px}
.cozy-frame .game-detail-page--cozy-game .game-detail-main>.game-detail-card:nth-child(n+4){grid-column:1}
.cozy-frame .game-detail-page--cozy-game .game-detail-main table,.cozy-frame .game-detail-page--cozy-game .game-detail-main td,.cozy-frame .game-detail-page--cozy-game .game-detail-main th{background:transparent;color:#3a2f28;border-color:#d9c9b1;overflow-wrap:anywhere}
.cozy-frame .game-detail-page--cozy-game .game-detail-main .game-meta{table-layout:fixed;width:100%}
.cozy-frame .game-detail-page--cozy-game .game-detail-main .game-meta th{width:90px;min-width:0;font-size:.86rem;word-break:normal}
.cozy-frame .game-detail-page--cozy-game .game-detail-main .game-meta td{font-size:.86rem}
.cozy-frame .game-detail-card__heading{color:#3a2f28;font-size:1.2rem;border-color:#d9c9b1}
.cozy-frame .game-cta__btn--play,.cozy-frame .game-dialog__btn--play{background:#f4b63f;color:#2d2420!important}
.cozy-frame .game-cta__btn--readme{background:#efe4d1;color:#3a2f28!important}
.cozy-frame .game-cta__btn{border-radius:999px;box-shadow:none;flex:0 1 auto;min-width:190px;min-height:48px;padding:12px 22px}
.cozy-frame .game-cta{display:flex;flex-wrap:wrap;gap:12px}
.cozy-frame .game-dialog{background:#fffaf1;border-color:#d9c9b1}
.cozy-frame .game-slider-fallback{background:#181411;border:0}
.cozy-frame .game-slider-fallback__image{object-fit:contain}
.cozy-frame>.container{max-width:1000px;padding-top:44px;padding-bottom:56px;min-height:50vh}
.cozy-frame>.container>h1{font-size:2rem;padding-bottom:20px;border-bottom:1px solid #d9c9b1}
.cozy-frame .fml-policy,.cozy-frame .fml-contact{color:#3a2f28}
.cozy-frame .fml-policy h2{font-family:inherit;font-weight:700;font-size:1.18rem}
.cozy-frame .fml-footer{margin-top:0;background:#2d2420;color:#d7c9b7;border-top:1px solid #584432;padding:34px 0}
.cozy-frame .fml-footer .container{padding-top:0;padding-bottom:0}
.cozy-frame .fml-footer a{color:#f7f0e3;font-size:.82rem}
.cozy-frame .cozy-footer-brand{display:inline-block;margin-bottom:16px}
.cozy-frame .cozy-footer-brand img{max-width:280px;width:100%;height:auto}
@media(min-width:1100px){.cozy-frame .game-detail-page--cozy-game .game-detail-main>.game-detail-card--meta{position:sticky;top:106px}}
@media(max-width:1100px){.cozy-frame .cozy-search-layout{grid-template-columns:240px minmax(0,1fr);gap:22px}.cozy-frame .game-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cozy-frame .site-header__inner{gap:16px}.cozy-frame .site-header__logo{width:260px}.cozy-frame .top-nav__link{padding:8px 12px}}
@media(max-width:820px){.cozy-frame .site-header{position:relative}.cozy-frame .site-header__inner{flex-wrap:wrap;justify-content:center;gap:10px;padding:16px 20px}.cozy-frame .top-nav{width:100%}.cozy-frame .top-nav__list{justify-content:center;flex-wrap:wrap;gap:5px}.cozy-frame .top-nav__link{font-size:.82rem;padding:6px 11px}.cozy-frame .hero-visual{min-height:500px}.cozy-frame .hero-visual__content{width:min(530px,76%);padding:28px}.cozy-frame .hero-visual__title{font-size:2.25rem}.cozy-frame .cozy-search-layout{display:block}.cozy-frame .game-search-form{margin-bottom:28px}.cozy-frame .game-search-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cozy-frame .cozy-game-grid{gap:16px}.cozy-frame .cozy-game-tile__body{padding:16px}.cozy-frame .cozy-game-tile h3{font-size:.95rem}.cozy-frame .home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.cozy-frame .game-detail-page--cozy-game .game-detail-main{grid-template-columns:minmax(0,1fr)}.cozy-frame .game-detail-page--cozy-game .game-detail-main>.game-detail-card{grid-column:1!important;grid-row:auto!important}.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child .game-detail-card__heading{font-size:1.8rem}}
@media(max-width:560px){.cozy-frame .site-header__inner{padding:14px 16px}.cozy-frame .site-header__logo{width:265px}.cozy-frame .container,.cozy-frame .game-archive,.cozy-frame .game-detail-page{padding-left:20px;padding-right:20px}.cozy-frame .hero-visual__inner{padding:32px 20px;align-items:flex-end;min-height:520px}.cozy-frame .hero-visual__bg{background-position:62% center}.cozy-frame .hero-visual__content{width:100%;padding:24px;background:rgba(45,36,32,.88)}.cozy-frame .hero-visual__title{font-size:1.85rem;letter-spacing:.02em}.cozy-frame .hero-visual__lead{font-size:.86rem;line-height:1.85}.cozy-frame .hero-visual__actions{flex-direction:row;gap:8px}.cozy-frame .hero-visual__button{width:auto;flex:1;padding:8px 10px;min-height:44px;font-size:.8rem}.cozy-frame .cozy-shelf,.cozy-frame .home-section{padding:38px 0}.cozy-frame .cozy-section-heading{display:block}.cozy-frame .cozy-section-heading h2,.cozy-frame .home-section__heading h2{font-size:1.6rem}.cozy-frame .cozy-text-link{display:inline-block;margin-top:10px}.cozy-frame .cozy-game-grid,.cozy-frame .game-card-grid{grid-template-columns:1fr;gap:20px}.cozy-frame .cozy-game-tile h3{font-size:1.1rem}.cozy-frame .cozy-game-tile__body{padding:20px}.cozy-frame .home-shortcuts{gap:12px}.cozy-frame .home-shortcut-card{min-height:150px;padding:18px 14px}.cozy-frame .home-shortcut-card__title{font-size:1rem}.cozy-frame .home-shortcut-card__text{font-size:.76rem}.cozy-frame .home-shortcut-card::after{display:none}.cozy-frame .home-shortcuts--compact{grid-template-columns:1fr}.cozy-frame .home-content-area:not(.home-content-area--activity){padding:18px;font-size:.9rem}.cozy-frame .game-search-form{padding:18px}.cozy-frame .game-search-form__grid{gap:14px 12px}.cozy-frame .game-search-form select{font-size:.8rem;padding:9px 8px}.cozy-frame .game-archive__header h1{font-size:1.85rem}.cozy-frame .game-detail-card{padding:22px}.cozy-frame .game-detail-page--cozy-game .game-detail-main>.game-detail-card:first-child{padding:26px 22px}.cozy-frame .game-detail-page--cozy-game .game-detail-card:first-child .game-detail-card__heading{font-size:1.6rem}.cozy-frame .game-detail-page--cozy-game .game-detail-main .game-basic-info th{width:90px}.cozy-frame .game-detail-page{padding-top:28px}.cozy-frame .game-detail-card--slider{padding:0}.cozy-frame .fml-footer nav{gap:4px 18px}}
@media(prefers-reduced-motion:reduce){.cozy-frame *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:560px){.cozy-frame .top-nav__link{font-size:.74rem;padding:6px 9px;min-height:44px}.cozy-frame .hero-visual,.cozy-frame .hero-visual__inner{min-height:650px}.cozy-frame .hero-visual__inner{padding-top:210px}.cozy-frame .hero-visual__bg{background-size:auto 360px;background-position:88% top}}

.cozy-frame .game-detail-page:not(.game-detail-page--cozy-game){max-width:1000px}

/* Existing article images, uncropped like the home activity feed. */
.cozy-frame .library-news-entry{border:1px solid #d1c3b1;background:#fffaf1;box-shadow:none;border-radius:12px}
.cozy-frame .library-news-entry:hover{box-shadow:none;border-color:#8c3d22}
.cozy-frame .library-news-entry__link{grid-template-columns:220px minmax(0,1fr)}
.cozy-frame .library-news-entry__thumb{background:#efe6d7;display:grid;place-items:center;min-height:180px}
.cozy-frame .library-news-entry__thumb img{width:100%;height:100%;object-fit:contain}
.cozy-frame .library-news-entry__title{font-family:"Kaisei Decol",serif;color:#2d2420;line-height:1.6}
@media(max-width:680px){.cozy-frame .library-news-entry__link{grid-template-columns:minmax(0,1fr)}.cozy-frame .library-news-entry__thumb{height:210px;min-height:0}.cozy-frame .library-news-entry__body{padding:20px}.cozy-frame .library-news-entry__thumb img{max-height:210px}}
