@font-face{font-family:KomorebiTitle;src:url(assets/title.ttf)}@font-face{font-family:KomorebiBody;src:url(assets/body.ttf)}:root{--paper:#f5efdf;--ink:#344f43;--brown:#514535;--rust:#a64e33;--line:#cdbd9e;--soft:#e9dfc8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--brown);font:19px/1.6 KomorebiBody,system-ui}h1,h2,h3,p{margin:0 0 20px}h1,h2{font-family:KomorebiTitle,Georgia;font-weight:500;line-height:1.06}h1{font-size:clamp(58px,6.2vw,96px)}h2{font-size:clamp(38px,4vw,58px)}h3{font-size:24px;line-height:1.25}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--rust);outline-offset:5px}::selection{background:#d5dfc0;color:#253a31}.skip{position:fixed;left:20px;top:-100px;z-index:20;background:var(--paper);padding:12px}.skip:focus{top:10px}.topbar{display:flex;align-items:center;justify-content:space-between;max-width:1500px;margin:auto;padding:22px 4vw;border-bottom:1px solid var(--line)}.wordmark{font:36px/1 KomorebiTitle,Georgia;text-decoration:none}.topbar nav{display:flex;gap:32px;font-size:17px}.topbar nav a{text-decoration:none}.topbar nav a:hover{text-decoration:underline}.hero{position:relative;min-height:640px;max-width:1600px;margin:auto;display:grid;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 46%}.hero-copy{position:relative;width:52%;padding:64px 0 64px max(4vw,40px);background:linear-gradient(90deg,#f5efdf 73%,#f5efdf00);z-index:1}.hero-copy p{max-width:440px;font-size:24px}.hero-sign{position:absolute;right:40px;bottom:30px;font-size:15px;background:#f5efdf;padding:6px 14px}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:24px 0}.button,.small-button,.file-label{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:10px;min-height:52px;padding:13px 24px;font-weight:600;text-decoration:none}.primary{background:var(--rust);color:#fff5e5}.secondary{background:var(--ink);color:#fff5e5}.small-button,.file-label{background:var(--soft);color:var(--brown);font-size:16px;padding:10px 18px;min-height:46px}.button:hover{filter:brightness(1.08)}.text-button{font-size:18px}.hero-copy .offline{font-size:17px}.section{max-width:1240px;margin:0 auto;padding:76px 40px;border-bottom:1px solid var(--line)}.section-heading{display:flex;gap:40px;align-items:start;justify-content:space-between}.section-heading p{max-width:700px}.section-heading>.button{white-space:nowrap;margin-top:8px}.mode-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--line);padding-top:30px;margin-top:32px}.mode-strip span{font-size:24px;color:var(--ink)}.mode-strip small{display:block;font-size:15px;margin-top:6px;color:var(--brown)}.story{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.story img{width:100%;max-height:500px;object-fit:cover;border-radius:12px}.platforms{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:32px}.platform{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.platform strong{display:block;font-size:25px;color:var(--ink)}.platform small{display:block}.platform .state{font-size:14px;max-width:140px;text-align:right}.small{font-size:16px}.save-columns{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:32px}.save-columns>div+div{border-left:1px solid var(--line);padding-left:40px}.status{font-size:15px;white-space:nowrap;padding:8px 16px;background:var(--soft);border-radius:10px}.file-label{position:relative;cursor:pointer}.file-label input{position:absolute;width:1px;height:1px;opacity:0;bottom:0}.file-label:focus-within{outline:3px solid var(--rust);outline-offset:4px}.hall ol{padding:0;list-style:none;margin:32px 0}.hall li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0}.hall li.empty{padding:30px 0}.hall form{display:flex;flex-wrap:wrap;align-items:end;gap:20px}.hall label{display:grid;gap:8px;font-size:16px}.hall .consent{display:flex;align-items:center;max-width:370px}.hall .consent input{width:20px;height:20px}.hall input:not([type=checkbox]),select{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fffaf0;color:var(--brown)}.future{max-width:1240px}.future p{max-width:800px}footer{max-width:1240px;margin:auto;padding:38px 40px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;font-size:15px}footer p{margin:0}dialog{max-width:640px;border:0;border-radius:12px;background:var(--paper);color:var(--brown);padding:36px}dialog::backdrop{background:#16291ed9}#game-stage{margin:28px 0;background:#f1e8d3;padding:18px;border-radius:12px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}iframe{display:block;width:100%;height:700px;border:0;background:var(--paper)}#game-stage p{margin-top:12px}#save-status,#hall-status,#play-status{min-height:24px;font-size:16px;margin-top:20px}#play-status:empty{display:none}[hidden]{display:none!important}@media(max-width:850px){.topbar{padding:20px 24px}.topbar nav{gap:18px;font-size:15px}.hero{min-height:820px;align-items:start}.hero>img{object-position:56% 66%}.hero-copy{width:100%;padding:42px 24px;background:linear-gradient(180deg,#f5efdf 80%,#f5efdf00)}.hero-copy h1{font-size:64px}.hero-copy p{font-size:22px}.hero-copy .offline{font-size:16px}.hero-sign{right:24px;bottom:24px}.section{padding:52px 24px}.section-heading{display:block}.section-heading>.button{margin-bottom:16px}.mode-strip{grid-template-columns:1fr 1fr}.story,.save-columns{grid-template-columns:1fr;gap:24px}.save-columns>div+div{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.platforms{grid-template-columns:1fr}.section-heading .status{display:inline-block}iframe{height:80vh;min-height:580px}.topbar .wordmark{font-size:32px}.hall form{display:grid}.hall .consent{max-width:none}footer{padding:32px 24px}h2{font-size:42px}}@media(max-width:520px){.topbar{flex-wrap:wrap;gap:20px}.topbar nav{width:100%;justify-content:space-between;gap:8px}.hero-copy h1{font-size:56px}.hero-copy .actions{align-items:start;flex-direction:column}.hero{min-height:840px}.hero>img{object-position:58% 70%}.mode-strip span{font-size:22px}.section{padding-top:44px;padding-bottom:44px}.section-heading h2{font-size:38px}#game-stage{padding:8px}dialog{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:850px){.hero>img{top:320px;height:calc(100% - 320px)}}

.language-control{display:flex;align-items:center;gap:10px;font-size:15px}.language-control select{max-width:210px;min-height:46px;font-size:16px}.topbar{flex-wrap:wrap;gap:20px}.topbar nav{flex-wrap:wrap}.topbar nav a{min-height:44px;display:inline-flex;align-items:center}.topbar .wordmark{min-height:44px;display:inline-flex;align-items:center}.section-heading>.button{white-space:normal;flex-shrink:0;max-width:320px}.hero-copy{min-width:0}.hero-copy h1{overflow-wrap:break-word}.hero-copy .actions{max-width:560px}.section-heading>div,.save-columns>div,.platform>div{min-width:0}.platform .state{overflow-wrap:anywhere;flex-shrink:0}.hall li span{overflow-wrap:anywhere;min-width:0}.hall li strong{flex-shrink:0;padding-inline-start:20px;font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.legal{max-width:940px}.legal h1{font-size:clamp(36px,6vw,56px);margin-top:40px}.legal h2{font-size:36px;margin-top:40px}.legal p{max-width:72ch}html:lang(ja) h1,html:lang(zh) h1{font-family:KomorebiBody,system-ui;font-size:clamp(44px,5vw,76px);line-height:1.25}html:lang(ja) h2,html:lang(zh) h2{font-family:KomorebiBody,system-ui;font-size:clamp(30px,3vw,44px);line-height:1.35}@media(max-width:850px){.topbar nav{order:3;width:100%;justify-content:space-between}.language-control{margin-inline-start:auto}.topbar{align-items:center}.section-heading>.button{max-width:100%}}@media(max-width:520px){.language-control{font-size:14px;gap:8px}.language-control select{max-width:170px;padding:10px 8px}.topbar nav{gap:8px;font-size:14px}.topbar{gap:14px}.hero-copy h1{font-size:clamp(44px,11vw,56px)}html:lang(ja) .hero-copy h1,html:lang(zh) .hero-copy h1{font-size:40px}.section h2{overflow-wrap:break-word}}

/* Full game is the primary experience; web arcade is a limited demo. */
.topbar .nav-full{font-weight:700;color:var(--rust)}
.hero-copy{width:58%;padding-right:38px;background:linear-gradient(90deg,#f5efdf 79%,#f5efdf00)}
.hero-copy p{max-width:510px;font-size:22px;line-height:1.5}
.hero-copy .actions{gap:12px;max-width:600px}
.hero-copy .button{font-size:19px;line-height:1.4;min-height:56px;gap:12px}
.hero-copy .demo-link{font-size:16px}
.demo-link{background:transparent;color:var(--ink);border:1px solid var(--ink);font-weight:500}
.full-game-intro{padding:0;border:0;margin:0 0 44px;gap:48px}
.full-game-intro h2{color:var(--ink);text-wrap:balance}
.platform-heading{font-family:KomorebiTitle,Georgia;font-size:32px;line-height:1.25;margin-top:40px}
.downloads .platforms{margin-top:18px}
.play h2{font-size:clamp(32px,3vw,44px);text-wrap:balance;color:var(--ink)}
.play .section-heading p{max-width:690px}
.play .mode-strip{margin-top:20px;padding-top:24px}
.demo-to-full{margin-top:22px;font-size:17px}
@media(max-width:850px){.hero-copy{width:100%;padding:42px 24px;background:linear-gradient(180deg,#f5efdf 87%,#f5efdf00)}.hero{min-height:930px}.hero>img{top:480px;height:calc(100% - 480px)}.full-game-intro{gap:24px}.hero-copy h1{font-size:clamp(48px,8vw,64px)}.hero-copy p{font-size:20px;max-width:560px}}
@media(max-width:520px){.hero-copy .actions{align-items:stretch}.hero-copy .button{width:100%;justify-content:center}.hero{min-height:980px}.hero>img{top:530px;height:calc(100% - 530px)}.hero-copy h1{font-size:52px}.full-game-intro h2{font-size:38px}.game-toolbar{gap:12px}.game-toolbar strong{font-size:16px}.game-toolbar button{flex-shrink:0}.demo-to-full{width:100%}.platform-heading{font-size:30px}}

/* Platform choices use OS groups, with direct downloads before stores. */
.platforms{gap:0 48px}.platform-group{min-width:0;padding:32px 0;border-top:1px solid var(--line)}.platform-group h4{font:38px/1.1 KomorebiTitle,Georgia;color:var(--ink);margin:0 0 12px}.platform-detail{font-size:17px;margin-bottom:6px}.release-status{font-size:15px;margin:0 0 20px}.direct-downloads{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:20px 0}.direct-downloads .button{max-width:100%;min-height:52px;white-space:normal}.download-meta{font-size:14px;display:block;overflow-wrap:anywhere}.store-options{list-style:none;margin:20px 0 0;padding:0}.store-options li{display:flex;justify-content:space-between;gap:16px;font-size:16px;padding:8px 0;align-items:baseline}.store-options .store-status{font-size:14px}.download-promise{color:var(--ink);font-weight:600;margin-top:28px}.download-provider{max-width:68ch}.download-pending{font-size:16px;margin:0}.arcade-profile{margin:28px 0;padding:28px 0;border-block:1px solid var(--line)}.arcade-profile p{max-width:68ch}.profile-name{display:grid;gap:8px;max-width:440px}.profile-name input{min-height:48px;border:1px solid var(--line);border-radius:8px;background:#fffaf0;color:var(--brown);padding:12px}.arcade-profile fieldset{border:0;padding:0;margin:24px 0}.arcade-profile legend{font-weight:600;margin-bottom:16px}.cat-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.cat-option{position:relative;display:grid;justify-items:center;gap:8px;padding:12px 8px;background:var(--soft);border-radius:12px;cursor:pointer;font-size:16px}.cat-option input{accent-color:var(--rust);width:20px;height:20px}.cat-option:has(input:checked){outline:3px solid var(--ink);outline-offset:2px}.cat-option:focus-within{outline:3px solid var(--rust);outline-offset:3px}.cat-portrait{display:block;width:72px;height:72px;background-repeat:no-repeat;background-size:400% 400%;background-position:0 100%}.cat-option:first-child .cat-portrait{background-size:contain;background-position:center}.profile-summary{color:var(--ink);font-weight:600}#profile-error{color:var(--rust);min-height:24px;font-size:16px}@media(max-width:850px){.cat-options{grid-template-columns:repeat(3,minmax(0,1fr))}.platforms{gap:0}.platform-group h4{font-size:34px}}@media(max-width:520px){.store-options li{flex-wrap:wrap;gap:4px 16px}.cat-options{gap:10px}.cat-portrait{width:64px;height:64px}}

.story img{height:auto}.direct-downloads .small-button{min-height:48px}

/* Publisher identity: the wolf signs the studio; Komorebi retains its cat/paw identity. */
footer.publisher-footer{display:grid;grid-template-columns:344px minmax(0,1fr);gap:32px;align-items:center;padding-block:44px}
.brand-pair{display:flex;align-items:center;gap:24px}
.publisher-logo{display:block;width:160px;height:160px;object-fit:contain}
.footer-details{min-width:0}
.footer-details .wordmark{display:inline-block;margin-bottom:14px}
.footer-details p{max-width:70ch;margin-bottom:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:4px 24px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.publisher-credits{display:flex;align-items:center;gap:24px;margin-block:24px 32px}
.publisher-credits .publisher-logo{width:144px;height:144px}
.publisher-credits p{margin:0}
@media(max-width:720px){footer.publisher-footer{grid-template-columns:1fr;gap:24px;padding-block:32px}}
@media(max-width:520px){.brand-pair{gap:20px}.brand-pair .publisher-logo{width:clamp(104px,34vw,144px);height:auto;aspect-ratio:1}.publisher-credits{align-items:flex-start;gap:18px}.publisher-credits .publisher-logo{width:112px;height:112px;flex-shrink:0}}

/* Published store option, with its own independently released version. */
.store-options li.available-store{align-items:flex-start;flex-direction:column;gap:10px;padding:16px 0}.available-store .button{min-height:52px;max-width:100%;white-space:normal}.available-store .store-status{color:var(--ink);font-weight:600}
