/* YukiWeb site: landing (/yukiweb/) and download (/yukiweb/download/) */
:root{
  --bg:#f6f6f3;--bg2:#ecebe5;--card:#ffffff;--ink:#16181e;--muted:#5b5f6a;--line:#dedcd4;
  --acc:#ffd23f;--acc-ink:#7d6200;--on-acc:#16181e;
  --display:"Unbounded",system-ui,sans-serif;--body:"Onest",system-ui,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.23,1,.32,1);--max:1180px;--g:clamp(16px,4vw,40px);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{--bg:#111215;--bg2:#1a1b20;--card:#1f2026;--ink:#ececf0;--muted:#a0a2b0;--line:#2d2e35;--acc-ink:#ffd23f;color-scheme:dark}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:17px/1.55 var(--body);overflow-x:hidden}
a{color:inherit}
img,svg{display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
::selection{background:var(--acc);color:var(--on-acc)}

/* nav */
.nav{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.scrolled{border-color:var(--line)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font:700 17px var(--display);text-decoration:none;letter-spacing:-.01em}
.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--acc);color:var(--on-acc)}
.mark svg{width:30px;height:30px}
.links{display:flex;gap:26px;margin-left:auto;font-size:15px}
.links a{text-decoration:none;color:var(--muted);transition:color .15s}
.links a:hover{color:var(--ink)}
.lang{border:1px solid var(--line);background:none;color:var(--muted);font:600 12px var(--body);border-radius:8px;padding:6px 8px;cursor:pointer}
.lang:hover{color:var(--ink)}
@media (max-width:760px){.links{display:none}.lang{margin-left:auto}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:14px;font:600 16px var(--body);text-decoration:none;border:0;cursor:pointer;transition:transform .2s var(--ease),background .15s}
.btn:active{transform:scale(.97)}
.btn-acc{background:var(--acc);color:var(--on-acc)}
.btn-acc:hover{background:#ffdb61}
.btn-ink{background:var(--ink);color:var(--bg)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.sm{height:40px;padding:0 16px;font-size:14px;border-radius:11px}
.btn .ico{width:19px;height:19px}

/* type */
.eyebrow{font:600 13px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--acc-ink)}
h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;line-height:1.05;text-wrap:balance}
h1{font-size:clamp(40px,7.2vw,88px);font-weight:700}
h2{font-size:clamp(32px,4.6vw,56px);font-weight:700}
h3{font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.2}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:34em;text-wrap:pretty}
mark{background:linear-gradient(transparent 58%,var(--acc) 58% 92%,transparent 92%);color:inherit;padding:0 .06em}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

footer{border-top:1px solid var(--line);padding:36px 0 48px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
footer a{text-decoration:none}
footer a:hover{color:var(--ink)}
footer .sp{margin-left:auto}
