/* Tsuki Games — independent, static, responsive website */
:root{--bg:#0e0b16;--bg2:#171120;--panel:#201829;--panel2:#292032;--ink:#fff1f4;--text:#d9cbdc;--muted:#ae9fb4;--pink:#f5a0c7;--pink2:#f9bad9;--lav:#b9a3ff;--gold:#f3d5a7;--stroke:#49384e;--radius:22px;--max:1192px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 14% 8%,#49305060,transparent 35%),radial-gradient(ellipse at 95% 65%,#30284c55,transparent 42%),radial-gradient(1px 1px at 18% 21%,#ffe9f2 100%,transparent),radial-gradient(1px 1px at 74% 14%,#ffe9f2 100%,transparent),radial-gradient(1px 1px at 82% 81%,#ffe9f2 100%,transparent);background-size:auto,auto,211px 220px,233px 278px,301px 317px}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}p{margin:0 0 1rem}h1,h2,h3,h4{line-height:1.12;margin:0 0 1rem}h1,h2,.display{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,7.7vw,6.55rem);font-weight:500}h2{font-size:clamp(2.35rem,5vw,4rem);font-weight:500}h3{font-size:1.25rem}small,.small{font-size:.86rem}::selection{background:#f5a0c7;color:#241326}:focus-visible{outline:3px solid #ffdc9e;outline-offset:4px} .wrap{width:min(var(--max),calc(100% - 44px));margin-inline:auto}.narrow{max-width:800px}.skip{position:absolute;left:14px;top:-100px;z-index:99;padding:11px 17px;color:#000;background:#fff;border-radius:8px}.skip:focus{top:14px}
.announcement{font-size:.8rem;letter-spacing:.025em;text-align:center;background:#3b2343;color:#f7deeb;padding:8px 10px;border-bottom:1px solid #735475}.announcement strong{color:var(--gold)}.announcement a{text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:40;background:#100b17eb;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff12}.nav-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#6a456f,#271a3c);border:1px solid #c48aa9;box-shadow:0 5px 20px #100710;color:var(--gold)}.brand-mark svg{width:34px;height:34px}.brand-name{display:block;font-size:1.17rem;letter-spacing:.13em;font-weight:850;white-space:nowrap;line-height:1.2}.brand-sub{display:block;font-size:.59rem;color:#c4aec8;letter-spacing:.19em;text-transform:uppercase;font-weight:600;margin-top:5px}.site-nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,31px)}.site-nav>a:not(.btn){font-size:.87rem;color:#d4c5d3;font-weight:600;transition:color .2s}.site-nav>a:hover,.site-nav>a[aria-current="page"]{color:var(--pink)}.menu-btn{display:none;background:#25192e;border:1px solid #785678;color:#fff;border-radius:12px;padding:8px 13px;font-size:1.2rem;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 22px;border:1px solid transparent;border-radius:999px;font-weight:800;font-size:.88rem;line-height:1.15;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#2d152b;background:linear-gradient(110deg,#fac1dd,#f1a0ce);box-shadow:0 9px 30px #f5a0c52c}.btn-secondary{color:#fce7f0;background:#251a30;border-color:#6e4e6e}.btn-sm{font-size:.81rem;min-height:38px;padding:9px 17px}.btn-gold{background:var(--gold);color:#2d2330}.inline-link{color:var(--pink2);font-weight:700;text-decoration:underline;text-decoration-color:#a4648e;text-underline-offset:4px}.inline-link:hover{color:#fff}
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;color:var(--pink);letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:19px}.kicker:before{content:"✦";font-size:16px;color:var(--gold)}.gradient-text{background:linear-gradient(120deg,#ffe2d5 8%,#e8a9df 48%,#bdb0fc 100%);color:transparent;background-clip:text;-webkit-background-clip:text}.lede{font-size:1.08rem;line-height:1.85;color:#cfc1d1}.muted{color:var(--muted)}.section{padding:94px 0}.section-alt{background:linear-gradient(180deg,#17111eaa,#120d1a33)}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.section-head h2{margin-bottom:9px}.section-head p{color:var(--muted);max-width:620px}.eyebrow{font-size:.75rem;color:var(--pink2);text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin-bottom:11px}.divider{height:1px;background:linear-gradient(90deg,transparent,#765371,transparent)}
.hero{padding:78px 0 82px}.hero-grid{display:grid;grid-template-columns:.91fr 1.09fr;gap:clamp(32px,5vw,76px);align-items:center}.hero h1{margin:0 0 24px}.hero .lede{max-width:510px;margin-bottom:26px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subnote{font-size:.81rem;color:#a996ad;margin-top:24px}.hero-art{position:relative;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:8% -8% -10% 4%;background:#a2579450;filter:blur(65px);z-index:-1}.art-frame{position:relative;overflow:hidden;border:1px solid #b18da077;background:#2c1b33;border-radius:28px;box-shadow:0 35px 90px #040309b3}.art-frame img{width:100%;height:510px;object-fit:cover;object-position:48% 55%}.art-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#160e23b9 100%);pointer-events:none}.art-overlay{position:absolute;left:24px;bottom:26px;z-index:1;right:18px}.art-overlay p{color:#ffe3ef;font-size:.83rem;margin:7px 0 0}.art-overlay h3{font-family:Georgia,serif;font-weight:500;font-size:1.8rem;margin:5px 0}.float-chip{position:absolute;right:-13px;top:22px;background:#efd3aa;color:#342039;font-size:.78rem;padding:11px 16px;border-radius:12px;font-weight:900;box-shadow:0 8px 35px #0008;transform:rotate(5deg);z-index:3}.sparkle{color:var(--gold)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20}.stats>div{padding:25px 22px;text-align:center}.stats>div+div{border-left:1px solid #ffffff20}.stats strong{display:block;font-family:Georgia,serif;font-size:2.4rem;color:var(--gold);font-weight:500;line-height:1.1}.stats span{display:block;font-size:.77rem;color:#baa9be;margin-top:9px;letter-spacing:.06em}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{background:linear-gradient(150deg,#251929,#1a1422);border:1px solid #ffffff1e;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .25s,border-color .25s,box-shadow .25s}.game-card:hover{transform:translateY(-5px);border-color:#c18ba2aa;box-shadow:0 14px 44px #06030966}.game-card .cover{position:relative;aspect-ratio:1.35;overflow:hidden;background:#34223b}.game-card .cover img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.game-card:hover .cover img{transform:scale(1.04)}.cover>.cover-shade{position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#180e20c5)}.tag{display:inline-block;font-size:.63rem;font-weight:900;letter-spacing:.095em;text-transform:uppercase;border-radius:999px;padding:6px 10px;border:1px solid #ffffff35;background:#2c2037;color:#f6d6e3}.tag-live{background:#304034;color:#cdf3cb;border-color:#688f70}.tag-build{background:#4f2d42;color:#ffd6e8;border-color:#93617e}.tag-idea{background:#302b45;color:#d9ceff;border-color:#6f648f}.cover-tag{position:absolute;left:15px;top:14px;z-index:1;box-shadow:0 4px 14px #0005}.card-content{padding:24px;display:flex;flex-direction:column;flex:1}.card-content h3{font-family:Georgia,serif;font-size:1.75rem;font-weight:500;margin-bottom:10px}.card-content p{color:#b9aabf;font-size:.91rem;flex:1}.card-meta{font-size:.7rem;color:#d7aaca;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}.card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:21px;gap:7px;color:var(--pink2);font-weight:800;font-size:.87rem}.card-foot span:last-child{font-size:1.25rem}.fineprint{font-size:.74rem;color:#b2a1b5}
.feature-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.feature-image{border-radius:26px;overflow:hidden;border:1px solid #9b78948c;box-shadow:0 20px 50px #05030c70}.feature-image img{width:100%;height:450px;object-fit:cover;object-position:center 38%}.bullet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 28px}.bullet-grid div{border-radius:14px;background:#261d30;border:1px solid #ffffff18;padding:13px;font-size:.84rem;color:#dfc8dc}.bullet-grid b{display:block;color:var(--gold);font-size:1.05rem;margin-bottom:3px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.pillar{border:1px solid #ffffff1b;border-radius:21px;padding:28px;background:#1d1525}.pillar-icon{font-size:1.7rem;display:grid;place-items:center;border:1px solid #9e728e61;background:#3b2841;width:50px;height:50px;border-radius:15px;margin-bottom:20px;color:var(--pink)}.pillar h3{margin-bottom:10px;font-family:Georgia,serif;font-size:1.4rem;font-weight:500}.pillar p{color:#bcaec0;font-size:.89rem;margin:0}
.timeline{display:grid;grid-template-columns:1fr 1fr;gap:18px}.update{background:#21182a;border:1px solid #ffffff1d;padding:27px;border-radius:20px}.update time{font-size:.68rem;letter-spacing:.13em;color:var(--pink);font-weight:800;text-transform:uppercase}.update h3{margin:11px 0;font-family:Georgia,serif;font-weight:500;font-size:1.45rem}.update p{color:#bbaabc;font-size:.91rem;margin:0}.update small{display:block;color:#debfab;margin-top:18px}
.cta-panel{position:relative;overflow:hidden;text-align:center;background:radial-gradient(ellipse at top,#513354,#25162f 63%,#1a1423);border:1px solid #a47a98a0;padding:58px 28px;border-radius:32px}.cta-panel:before,.cta-panel:after{content:'✦';position:absolute;color:#e1b2dc;opacity:.6;font-size:32px}.cta-panel:before{left:8%;top:18%}.cta-panel:after{right:10%;bottom:14%}.cta-panel h2{font-size:clamp(2.5rem,5vw,4.15rem)}.cta-panel p{max-width:590px;margin:0 auto 24px;color:#d2bfd7}.cta-panel .actions{justify-content:center}
.site-footer{background:#0b0910;border-top:1px solid #ffffff19;padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:45px}.footer-head{font-family:Georgia,serif;font-size:1.6rem;color:#ffe3dc}.footer-grid p{color:#aa98ae;font-size:.87rem;max-width:340px;margin-top:12px}.footer-grid h4{text-transform:uppercase;font-size:.7rem;letter-spacing:.16em;color:#d5b4ce;margin:4px 0 15px}.footer-links{display:grid;gap:10px}.footer-links a{color:#c5b1c5;font-size:.87rem}.footer-links a:hover{color:var(--pink)}.copyright{display:flex;justify-content:space-between;gap:18px;margin-top:40px;border-top:1px solid #ffffff16;padding-top:19px;font-size:.74rem;color:#9b8ca3}
/* Inner pages */
.page-hero{padding:75px 0 62px}.page-hero h1{font-size:clamp(3rem,6.8vw,5.7rem);max-width:950px}.page-hero p{max-width:720px;color:#cbbdcd;font-size:1.05rem}.breadcrumb{font-size:.75rem;color:#b6a2bb;margin-bottom:23px}.breadcrumb a{color:#eeb6d7}.breadcrumb span{margin:0 9px;color:#89738e}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:29px}.filter{background:#241a2c;color:#cebcd0;border:1px solid #66516b;border-radius:100px;padding:9px 18px;cursor:pointer;font-size:.83rem;font-weight:750}.filter[aria-pressed="true"]{background:var(--pink);color:#2b172b;border-color:var(--pink)}.filter:hover{border-color:#c9a5c2}.empty{display:none;text-align:center;padding:26px;color:var(--muted)}.detail-cover{overflow:hidden;border:1px solid #765773;border-radius:28px;background:#2e2331;position:relative}.detail-cover img{width:100%;max-height:600px;object-fit:cover}.detail-cover .note{position:absolute;left:14px;bottom:14px;background:#0d0914c9;border:1px solid #ffffff26;border-radius:12px;color:#ead5e1;padding:8px 12px;font-size:.7rem;backdrop-filter:blur(6px)}.detail-bar{display:flex;flex-wrap:wrap;gap:10px;margin:27px 0 0}.detail-bar span{display:inline-block;background:#291f33;border:1px solid #644c65;border-radius:99px;padding:7px 13px;color:#e6ccd9;font-size:.8rem;font-weight:650}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:58px}.text-flow h2{margin-bottom:23px}.text-flow p{color:#cbbccc}.info-card{background:linear-gradient(150deg,#2d2135,#1d1628);border:1px solid #ffffff24;border-radius:23px;padding:27px}.info-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.6rem;margin-bottom:16px}.info-card p{color:#cdbdca}.feature-list{list-style:none;margin:0;padding:0}.feature-list li{padding:14px 0 14px 26px;border-bottom:1px solid #ffffff15;position:relative;color:#cec0d0;font-size:.93rem}.feature-list li:last-child{border-bottom:0}.feature-list li:before{content:'✦';position:absolute;left:0;color:#f5bdd1}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.gallery figure{margin:0;background:#261b2e;border:1px solid #ffffff1a;border-radius:18px;overflow:hidden}.gallery img{width:100%;height:225px;object-fit:cover}.gallery figcaption{padding:10px 14px 14px;color:#aa9bb0;font-size:.75rem}.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.progress div{padding:18px;border-radius:15px;border:1px solid #ffffff1b;background:#241a2c}.progress b{display:block;color:var(--gold);font-family:Georgia,serif;font-size:1.6rem;font-weight:400}.progress p{font-size:.79rem;color:#c9b8ca;margin:8px 0 0}.status-dot{width:8px;height:8px;display:inline-block;border-radius:100%;background:#df9fbf;margin-right:7px}.status-dot.wait{background:#9182b5}
.qa details{border-bottom:1px solid #ffffff22;padding:19px 0}.qa summary{cursor:pointer;font-size:1.04rem;font-weight:760;color:#ffebf6;list-style-position:outside}.qa details p{color:#c1b1c1;margin:12px 0 0}.qa{max-width:800px}.callout{background:#30213a;border:1px solid #795b7c;border-radius:18px;padding:25px;margin:29px 0;color:#edd9e5}.callout strong{color:var(--gold)}
/* Adaptations */
@media(max-width:980px){.nav-row{min-height:72px}.hero-grid{gap:25px}.hero h1{font-size:clamp(3.2rem,7vw,5.3rem)}.art-frame img{height:440px}.card-content{padding:18px}.card-content h3{font-size:1.5rem}.feature-split{gap:30px}.footer-grid{gap:27px}}
@media(max-width:760px){.wrap{width:min(var(--max),calc(100% - 30px))}.menu-btn{display:inline-block}.site-nav{display:none;position:absolute;left:0;top:100%;width:100%;background:#160f1f;border-bottom:1px solid #775679;padding:19px 18px 25px;box-shadow:0 20px 30px #0007;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a:not(.btn){padding:12px 5px;font-size:1rem}.site-nav .btn{margin-top:8px}.brand-mark{width:43px;height:43px}.brand-name{font-size:1.03rem}.brand-sub{font-size:.52rem}.hero{padding:54px 0}.hero-grid,.feature-split,.two-col{grid-template-columns:1fr}.hero h1{font-size:clamp(3.1rem,12vw,5rem)}.hero .lede{max-width:650px}.art-frame img{height:430px}.hero-art{margin-top:22px}.float-chip{right:12px}.section{padding:64px 0}.section-head{align-items:start}.card-grid{grid-template-columns:repeat(2,1fr)}.pillars{grid-template-columns:1fr}.feature-image img{height:430px}.gallery{grid-template-columns:repeat(2,1fr)}.progress{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.page-hero{padding:56px 0 42px}.section-head h2{font-size:2.5rem}}
@media(max-width:530px){.announcement{font-size:.7rem}.hero h1{font-size:3.25rem}.hero-art .art-frame img{height:320px}.art-overlay h3{font-size:1.4rem}.float-chip{font-size:.66rem}.section-head{display:block}.section-head .btn{margin-top:10px}.card-grid,.timeline,.gallery{grid-template-columns:1fr}.game-card .cover{aspect-ratio:1.65}.gallery img{height:230px}.feature-image img{height:335px}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:17px 10px}.stats>div:nth-child(3){grid-column:1/-1;border-top:1px solid #ffffff20}.stats>div:nth-child(3){border-left:0}.footer-grid{grid-template-columns:1fr 1fr}.copyright{display:block}.copyright span{display:block;margin-bottom:8px}.btn{width:100%}.actions{align-items:stretch;flex-direction:column}.nav-row{gap:9px}.brand-sub{letter-spacing:.1em}.page-hero h1{font-size:3.05rem}.bullet-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.game-card[hidden]{display:none!important}
