:root{--os-paper:#f7f7f7;--os-ink:#111;--os-muted:#666;--os-rule:#e5e5e5}.os-site,.os-site *{box-sizing:border-box}.os-site{isolation:isolate;background:var(--os-paper);color:var(--os-ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Kaku Gothic ProN,sans-serif;position:relative}.os-site:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 91% 23%,#55555521,#0000 52%),radial-gradient(at 4% 12%,#fff,#0000 66%);position:fixed;inset:0}.os-site :is(h1,h2,h3,p){margin:0}.os-site a{color:inherit;text-decoration:none}.os-site img{max-width:100%;display:block}.os-site :focus-visible{outline-offset:5px;outline:2px solid}.os-site ::selection{color:#fff;background:#111}.os-wrap{width:min(100% - 96px,1040px);margin-inline:auto}.os-skip{z-index:10;background:#111;padding:12px 20px;position:fixed;top:12px;left:20px;transform:translateY(-180%);color:#fff!important}.os-skip:focus{transform:none}.os-header{z-index:20;backdrop-filter:blur(24px)saturate(1.15);background:#ffffff52;border-bottom:1px solid #ffffff80;position:sticky;top:0;box-shadow:0 1px #00000009}.os-header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:100px;display:flex}.os-brand{letter-spacing:-.055em;align-items:center;gap:9px;min-height:44px;font-size:22px;font-weight:600;display:inline-flex}.os-brand img{object-fit:contain;width:26px;height:26px}.os-nav{color:var(--os-muted);gap:32px;font-size:12px;display:flex}.os-nav a{align-items:center;min-height:44px;display:inline-flex}.os-nav a:hover,.os-nav a[aria-current=page]{color:var(--os-ink);text-underline-offset:5px;text-decoration:underline}.os-work{padding-bottom:96px;scroll-margin-top:120px}.os-work--standalone .os-work-title{font-size:40px;margin-bottom:48px!important}.os-work--standalone{min-height:65vh;padding-top:80px}.os-work-title{font-size:13px;font-weight:500;margin-bottom:26px!important}.os-work-list{border-top:1px solid var(--os-rule)}.os-project{border-bottom:1px solid var(--os-rule);position:relative}.os-project-store{position:absolute;top:50%;right:0;transform:translateY(-50%)}.os-project:has(.os-project-store) .os-project-link{padding-right:110px}.os-project-link{justify-content:space-between;align-items:center;gap:32px;padding:30px 0;display:flex}.os-project-summary{align-items:center;gap:28px;min-width:0;display:flex}.os-app-icon{border-radius:18px;flex-shrink:0;width:80px;height:80px}.os-project-summary :is(h2,h3){letter-spacing:-.02em;font-size:23px;font-weight:500;line-height:1.5}.os-project-description{color:var(--os-muted);overflow-wrap:anywhere;font-size:13px;line-height:1.9;margin-top:8px!important}.os-project-status{color:var(--os-muted);flex-shrink:0;font-size:11px}.os-project-link:hover :is(h2,h3){text-underline-offset:6px;text-decoration:underline 1px}.os-footer{padding-bottom:28px}.os-footer-bottom{color:var(--os-muted);justify-content:space-between;align-items:baseline;gap:24px;font-size:10px;display:flex}.os-footer-bottom>span{white-space:nowrap}.os-footer-bottom nav{flex-wrap:wrap;justify-content:flex-end;gap:4px 20px;display:flex}.os-footer-bottom a{align-items:center;min-height:32px;display:inline-flex}.os-footer-bottom a:hover{text-underline-offset:4px;text-decoration:underline}@media (width<=760px){.os-wrap{width:calc(100% - 48px)}.os-header-inner{min-height:84px}.os-brand{gap:6px;font-size:21px}.os-nav{gap:20px;font-size:11px}.os-app-icon{border-radius:14px;width:60px;height:60px}.os-project-summary{gap:18px}.os-project-link{flex-direction:column;align-items:flex-start;gap:12px;padding-block:24px}.os-project-summary :is(h2,h3){font-size:21px}.os-work{padding-bottom:64px}.os-footer-bottom{flex-direction:column;gap:12px}.os-footer-bottom nav{justify-content:flex-start}}@media (width<=380px){.os-wrap{width:calc(100% - 36px)}.os-brand{font-size:19px}.os-nav{gap:14px;font-size:10px}}@media (forced-colors:active){.os-site:before{display:none}.os-header{backdrop-filter:none;background:canvas}.os-site{color:canvastext;background:canvas}.os-project,.os-work-list{border-color:canvastext}}@media print{.os-nav,.os-skip{display:none}.os-project{break-inside:avoid}}.os-screen-rail{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#bbb transparent;gap:40px;padding:12px max(48px,50% - 520px) 32px;scroll-padding-inline:max(48px,50% - 520px);display:flex;overflow-x:auto}.os-screen-group{display:contents}.os-screen-link{scroll-snap-align:start;flex:0 0 clamp(230px,23vw,280px)}.os-screen-preview{display:block}.os-store-link{white-space:nowrap;align-items:center;gap:4px;min-height:44px;font-size:12px;display:inline-flex}.os-store-link:hover{text-underline-offset:4px;text-decoration:underline}.os-device{aspect-ratio:1470/3000;width:100%;position:relative}.os-device-display{border-radius:12%/5.6%;width:89.8%;height:95.6%;position:absolute;top:2.2%;left:5.1%;overflow:hidden}.os-device-display img{object-fit:cover;width:100%;height:100%}.os-device-display--store img{width:125%;max-width:none;height:123%;position:absolute;top:-17.6%;left:-12.5%}.os-device-frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.os-screen-caption{justify-content:space-between;align-items:baseline;gap:12px;padding:22px 8px 0;display:flex}.os-screen-caption :is(h2,h3),.os-screen-name{font-size:17px;font-weight:500}.os-screen-caption>span:last-child{color:var(--os-muted);font-size:10px}.os-screen-link:hover .os-screen-caption :is(h2,h3,.os-screen-name){text-underline-offset:5px;text-decoration:underline}@media (width<=760px){.os-screen-rail{gap:24px;padding-inline:24px;scroll-padding-inline:24px}.os-screen-link{flex-basis:240px}}.os-language{border-left:1px solid var(--os-rule);padding-left:24px}@media (width<=760px){.os-header-inner{flex-wrap:nowrap;gap:12px;min-height:76px;padding-block:8px}.os-brand{flex-shrink:0;font-size:19px}.os-nav{white-space:nowrap;gap:12px;margin-left:auto;font-size:10px}.os-language{padding-left:12px}}@media (width<=360px){.os-header-inner{flex-wrap:wrap;gap:0}.os-nav{justify-content:space-between;gap:12px;width:100%;margin-left:0}}@supports not (backdrop-filter:blur(1px)){.os-header{background:#f7f7f7f0}}@media (prefers-color-scheme:dark){:root:not([data-preview-theme=light]){--os-paper:#000;--os-ink:#f5f5f5;--os-muted:#aaa;--os-rule:#333;color-scheme:dark}html:not([data-preview-theme=light]) .os-site:before{background:0 0}html:not([data-preview-theme=light]) .os-header{background:#00000061;border-bottom-color:#ffffff12;box-shadow:0 1px #00000026}html:not([data-preview-theme=light]) .os-brand-mark,html:not([data-preview-theme=light]) .os-ascii-dice canvas,html:not([data-preview-theme=light]) .os-ascii-dice img{filter:invert()}html:not([data-preview-theme=light]) .os-site ::selection{color:#111;background:#eee}html:not([data-preview-theme=light]) .os-screen-rail{scrollbar-color:#555 transparent}@supports not (backdrop-filter:blur(1px)){html:not([data-preview-theme=light]) .os-header{background:#000000f0}}}@media (forced-colors:active){.os-header{background:canvas;border-color:canvastext}.os-brand-mark,.os-ascii-dice canvas,.os-ascii-dice img{filter:none}}@media (width<=760px){.os-work--standalone{min-height:auto;padding-top:40px}.os-work--standalone .os-work-title{font-size:30px;margin-bottom:24px!important}.os-screen-link{flex-basis:clamp(210px,62vw,260px)}.os-screen-caption{padding-top:16px}.os-screen-rail{padding-bottom:24px}.os-footer-bottom{gap:16px}.os-footer-bottom nav{gap:4px 16px}}html[lang=ja] .os-site{font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,Meiryo,sans-serif}.os-brand,.os-entry h1{font-family:Helvetica Neue,Arial,sans-serif}html[lang=ja] .os-entry-story{letter-spacing:.025em}html[lang=ja] .os-entry-statement{letter-spacing:.04em;font-weight:500}html[lang=en] .os-site{font-family:Avenir Next,Avenir,Segoe UI,sans-serif}html[lang=en] .os-entry-story{letter-spacing:.01em}html[lang=en] .os-entry-story p{line-height:1.85}html[lang=en] .os-entry-statement{letter-spacing:.025em;font-weight:500}html[data-preview-theme=light]{color-scheme:light}@media (width<=380px){.os-screen-rail{padding-inline:18px;scroll-padding-inline:18px}}.os-work--standalone .os-work-title--gallery{letter-spacing:-.035em;color:var(--os-ink);font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:clamp(36px,4vw,48px);font-weight:500;line-height:1.15;margin-bottom:20px!important}.os-site .os-brand{color:#000}.os-brand-mark{flex-shrink:0;width:26px;height:26px;display:block}@media (width<=760px){.os-brand-mark{width:23px;height:23px}}@media (width<=380px){.os-brand-mark{width:20px;height:20px}}@media (prefers-color-scheme:dark){html:not([data-preview-theme=light]) .os-site .os-brand{color:#fff}}
