:root{color-scheme:light;--color-background: #f6f1e7;--color-surface: #fffdf8;--color-text: #293126;--color-text-muted: #6f7468;--color-primary: #647650;--color-primary-dark: #46563c;--color-accent: #b59a58;--color-border: #ded7ca;--color-parchment: #fbf7ec;--shadow-soft: 0 8px 24px rgba(65, 61, 48, .08);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--container: 1160px;--font-body: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;--font-heading: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif}*{box-sizing:border-box}html{background:var(--color-background);scroll-behavior:smooth}body{margin:0;overflow-x:clip;background:radial-gradient(circle at 8% 8%,rgba(255,253,248,.86) 0 12rem,transparent 26rem),var(--color-background);background-size:auto;color:var(--color-text);font-family:var(--font-body);line-height:1.85;letter-spacing:0}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid rgba(181,154,88,.42);outline-offset:4px}img{display:block;max-width:100%;height:auto}h1,h2,h3{margin:0;font-family:var(--font-heading);font-weight:700;line-height:1.35}p{margin:0}main{min-height:calc(100vh - 160px)}.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(222,215,202,.88);background:#fffdf8e0;backdrop-filter:blur(12px)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;min-width:max-content;gap:13px;color:var(--color-text);text-decoration:none}.brand span{display:flex;flex-direction:column;gap:2px}.brand-mark{display:block;width:80px;height:80px;flex:0 0 auto;object-fit:contain;object-position:center;filter:drop-shadow(0 1px 0 rgba(255,253,248,.72))}.brand strong{display:block;font-family:var(--font-heading);font-size:clamp(1.3rem,3vw,2rem);line-height:1.12;letter-spacing:.03em}.brand small{display:block;margin-top:0;padding-left:5px;color:var(--color-text-muted);font-family:var(--font-heading);font-size:.78rem;line-height:1.25;letter-spacing:.22em}.main-nav{display:flex;align-items:center;gap:clamp(16px,3.5vw,54px);font-weight:700}.main-nav a{min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent;color:var(--color-text);font-size:.98rem;text-decoration:none}.x-contact{justify-content:center}.x-contact svg{width:1.08rem;height:1.08rem;fill:currentColor}.main-nav a:hover{border-bottom-color:var(--color-primary);color:var(--color-primary-dark)}.home-hero{position:relative;height:430px;min-height:430px;display:grid;grid-template-columns:minmax(20px,1fr) minmax(300px,420px) minmax(380px,740px) minmax(20px,1fr);align-items:stretch;overflow:hidden;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.home-hero:before{content:"";position:absolute;inset:0 auto 0 0;z-index:1;width:min(62%,720px);background:linear-gradient(90deg,#fffdf8fa,#fffdf8db 58%,#fffdf800);pointer-events:none}.hero-copy{position:relative;z-index:2;grid-column:2 / 3;grid-row:1;align-self:center;padding-block:42px}.home-flow:after{content:"";width:30px;height:48px;background:url(/images/ui/botanical-mark.png) center / contain no-repeat;opacity:.54}.eyebrow{margin-bottom:12px;color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-copy h1{font-size:clamp(2.85rem,5vw,3.5rem);letter-spacing:.02em}.lead{max-width:39rem;margin-top:16px;color:var(--color-text-muted);font-size:1.02rem}.button-primary{min-height:52px;display:inline-flex;align-items:center;gap:24px;margin-top:24px;padding:0 28px;border-radius:6px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fffdf8;font-weight:700;text-decoration:none;box-shadow:var(--shadow-soft)}.hero-visual{grid-column:1 / -1;grid-row:1;min-width:0;min-height:0;overflow:hidden}.hero-visual img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}.home-flow,.page-flow{position:relative;display:grid;gap:34px;padding-block:20px 46px}.home-flow:after{position:absolute;right:0;bottom:12px}.adult-notice{display:flex;align-items:center;gap:18px;min-height:62px;padding:13px 22px;border:1px solid rgba(181,154,88,.45);border-radius:var(--radius-sm);background:#fffdf8b8;color:#776746}.notice-badge{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;border:1px solid rgba(181,154,88,.7);border-radius:50%;color:var(--color-accent);font-family:var(--font-heading);font-weight:700}.adult-notice p{flex:1;font-size:.95rem}.adult-notice a,.section-heading a{color:var(--color-primary-dark);font-size:.9rem;font-weight:700;text-decoration:none}.home-section{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading h2{display:inline-flex;align-items:center;gap:10px;font-size:clamp(1.55rem,3vw,2.05rem)}.section-icon{display:block;width:22px;height:34px;flex:0 0 auto;object-fit:contain;object-position:center}.featured-post{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft);text-decoration:none}.featured-post img{width:100%;height:100%;min-height:300px;object-fit:cover}.featured-post-body{display:grid;align-content:center;gap:17px;padding:clamp(28px,4vw,48px)}.featured-meta{display:flex;align-items:center;gap:16px;color:var(--color-text-muted);font-size:.9rem}.featured-meta span{padding:2px 8px;border:1px solid rgba(181,154,88,.42);border-radius:6px;background:#fbf5e5;color:var(--color-accent);font-size:.78rem;font-weight:800}.featured-post h3{font-size:clamp(1.55rem,3.4vw,2.25rem)}.featured-post p,.devlog-card p{color:var(--color-text-muted)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{min-height:28px;display:inline-flex;align-items:center;padding:2px 12px;border:1px solid var(--color-border);border-radius:999px;background:#fffdf8ad;color:var(--color-text-muted);font-size:.78rem}.progress-panel{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,58px);padding:20px 28px 24px;border-radius:var(--radius-md);background:#fffdf88f}.overall-gauge{width:146px;height:146px;display:grid;place-items:center;justify-self:center;border-radius:50%;background:conic-gradient(var(--color-primary) var(--progress),rgba(222,215,202,.74) 0)}.overall-gauge>div{width:112px;height:112px;display:grid;place-items:center;align-content:center;border-radius:50%;background:var(--color-background);font-family:var(--font-heading)}.overall-gauge span{color:var(--color-text-muted);font-size:.78rem}.overall-gauge strong{color:var(--color-primary-dark);font-size:2.35rem;line-height:1}.progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:54px;row-gap:15px}.progress-item-head{display:flex;justify-content:space-between;gap:18px;color:var(--color-text-muted);font-size:.9rem}.progress-item-head strong{color:var(--color-text);font-weight:700}.progress-track{height:6px;overflow:hidden;border-radius:999px;background:#ded7cac7}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-primary))}.devlog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,260px));gap:28px}.devlog-card,.card{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-soft);text-decoration:none;transition:transform .18s ease,border-color .18s ease}.devlog-card:hover,.card:hover{transform:translateY(-3px);border-color:#b59a58bf}.devlog-card img,.card img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.devlog-card-body,.card-body{padding:17px 18px 20px}.devlog-card time,.meta{color:var(--color-text-muted);font-size:.9rem}.devlog-card h3,.card h2{margin-top:5px;color:var(--color-text);font-size:1.12rem}.screenshot-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.screenshot-gallery figure{margin:0}.screenshot-gallery img{width:100%;aspect-ratio:16 / 9;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);object-fit:cover}.gallery-dots{display:flex;justify-content:center;gap:14px;margin-top:18px}.gallery-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-border)}.gallery-dots .active{background:var(--color-primary)}.category-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.category-links a{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fffdf8a8;box-shadow:var(--shadow-soft);color:var(--color-primary-dark);font-weight:700;text-align:center;text-decoration:none}.category-icon{display:block;width:16px;height:25px;flex:0 0 auto;object-fit:contain;object-position:center;opacity:.86}.page-hero{padding-block:72px 46px;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,#fffdf8b3,#f6f1e700)}.page-hero h1{font-size:clamp(2.35rem,5vw,4rem)}.article{width:min(820px,calc(100% - 40px));margin:0 auto;padding:64px 0 90px}.article-header{margin-bottom:34px}.article-hero-image{width:100%;margin-bottom:34px;aspect-ratio:16 / 9;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);object-fit:cover}.article h1{margin-top:10px;font-size:clamp(2rem,5vw,3.25rem)}.article-content{font-size:1.02rem}.article-content h2{margin-top:2.6em;padding-bottom:.35em;border-bottom:1px solid var(--color-border)}.article-content p,.article-content ul{color:var(--color-text)}.article-content img{margin:28px auto;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.article-content a,.back{color:var(--color-primary-dark)}.back{text-decoration:none}.site-footer{border-top:1px solid var(--color-border);background:#fffdf88a;color:var(--color-text-muted);font-size:.86rem}.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-block:28px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(min-width:1200px){.home-hero{height:500px;min-height:500px}}@media(min-width:1441px){.home-hero:before{width:calc((100vw - var(--container)) / 2 + 700px);background:linear-gradient(90deg,#fffdf8fa 0,#fffdf8d1 calc((100vw - var(--container)) / 2 + 420px),#fffdf800)}}@media(min-width:942px){.brand-mark{width:100px;height:100px}.brand small{padding-left:8px}}@media(max-width:860px){.header-inner{min-height:84px;align-items:flex-start;flex-direction:column;padding-block:13px 11px;gap:10px}.main-nav{width:100%;justify-content:space-between;gap:14px}.home-hero{height:auto;grid-template-columns:20px minmax(0,1fr) 20px;min-height:620px}.home-hero:before{width:100%;background:linear-gradient(90deg,#fffdf8fa,#fffdf8d1 48%,#fffdf800)}.hero-copy{grid-column:2;grid-row:1}.hero-visual{grid-column:1 / -1;grid-row:1}.featured-post,.progress-panel{grid-template-columns:1fr}.featured-post img{min-height:260px}.progress-list{grid-template-columns:1fr}.category-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.container{width:min(100% - 28px,var(--container))}.brand-mark{width:80px;height:80px}.brand strong{font-size:1.45rem}.main-nav{overflow-x:auto;justify-content:flex-start;padding-bottom:2px;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.main-nav a{min-width:max-content}.home-hero{min-height:560px}.hero-copy{align-self:end;padding-block:44px}.hero-copy h1{font-size:2.55rem}.adult-notice{align-items:flex-start;flex-wrap:wrap;padding:14px 16px}.adult-notice p{min-width:calc(100% - 58px)}.adult-notice a{margin-left:54px}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.devlog-grid{grid-template-columns:1fr}.screenshot-gallery{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.screenshot-gallery figure{flex:0 0 82%;scroll-snap-align:start}.category-links{grid-template-columns:1fr;gap:12px}.footer-inner{flex-direction:column}}@media(max-width:420px){.home-hero{min-height:540px}.hero-copy h1{font-size:2.35rem}.lead{font-size:.96rem}.button-primary{width:100%;justify-content:center}}
