@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-CSETrqM2.woff2)format("woff2"),url(/assets/geist-latin-600-normal-DsPlZH-9.woff)format("woff")}@layer base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-width:none;text-autospace:normal}:where(code,kbd,pre,samp,input,textarea,.font-mono){text-autospace:no-autospace}html::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"palt";min-height:100dvh;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,system-ui,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}:where(:focus:not(:focus-visible)){outline:none}:where(:focus-visible){outline:2px solid color-mix(in oklch, var(--accent-dark) 70%, transparent);outline-offset:2px}}@layer components{.site-header{z-index:100;height:calc(60px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);background:#ffffffd9;border-bottom:1px solid #0000;align-items:center;transition:border-color .2s,background .2s;display:flex;position:fixed;top:0;left:0;right:0}.site-header.scrolled{border-bottom-color:var(--border);background:#fffffff2}.site-header .inner{width:100%;max-width:var(--max-w);padding:0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left));justify-content:space-between;align-items:center;margin:0 auto;display:flex}.logo{color:var(--fg);letter-spacing:-.025em;align-items:center;gap:10px;font-family:Geist,Inter,sans-serif;font-size:17px;font-weight:600;display:flex}.logo img{border-radius:7px;width:28px;height:28px}.header-actions{align-items:center;gap:16px;display:flex}.header-login{color:var(--fg-secondary);cursor:pointer;transition:color .16s var(--ease-out);background:0 0;border:none;align-items:center;padding:8px 4px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.header-cta{color:#fff;background:var(--accent);cursor:pointer;white-space:nowrap;transition:transform .16s var(--ease-out), background .16s ease, box-shadow .16s ease;border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;display:inline-flex}.header-cta:active{transform:scale(.97)}.site-footer{border-top:1px solid var(--border);padding:24px 0 calc(24px + env(safe-area-inset-bottom));background:var(--bg)}.footer-inner{max-width:var(--max-w);padding:0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left));justify-content:space-between;align-items:center;margin:0 auto;display:flex}.footer-left{color:var(--muted);font-size:13px}.footer-links{align-items:center;gap:20px;display:flex}.footer-links a{color:var(--muted);transition:color .16s var(--ease-out);font-size:13px}@media (hover:hover){.header-login:hover{color:var(--fg)}.header-cta:hover{background:var(--accent-hover);box-shadow:0 2px 12px #22c55e33}.footer-links a:hover{color:var(--fg)}}@media (width<=768px){.site-header{height:calc(56px + env(safe-area-inset-top))}.site-header .inner{padding:0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left))}.logo{gap:8px;font-size:15px}.logo img{border-radius:6px;width:24px;height:24px}.header-login{display:none}.header-cta{padding:8px 18px;font-size:13px}}@media (pointer:coarse){.logo,.header-login,.header-cta{min-height:44px}.footer-links a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}}@media (width<=640px){.footer-inner{text-align:center;flex-direction:column;gap:4px}.footer-links{flex-wrap:wrap;justify-content:center;gap:0 16px}.footer-links a{align-items:center;min-height:44px;display:inline-flex}}}:root{--bg:#fff;--fg:#0f172a;--fg-secondary:#334155;--muted:#64748b;--muted-light:#94a3b8;--accent:#22c55e;--accent-hover:#16a34a;--accent-dark:#15803d;--surface:#f8fafc;--surface-light:#e2e8f0;--border:#e2e8f0;--radius:10px;--radius-lg:16px;--max-w:1140px;--mono:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}
