@font-face{font-family:Fredoka;font-weight:500;font-display:swap;src:url(fonts/fredoka-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Fredoka;font-weight:600;font-display:swap;src:url(fonts/fredoka-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}

:root{
  --paper:#F3F0E8;--card:#FFFDF8;--ink:#17191C;--ink2:#2E3238;--muted:#5B6068;--line:#E3DDD0;
  --bamboo:#4C8A2E;--bamboo-text:#3E7A2A;--deck:#24272B;--deck-edge:#3A3F45;
  --display:Fredoka,"Segoe UI Rounded","Segoe UI",system-ui,sans-serif;
  --body:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--bamboo-text)}a:hover{color:var(--ink)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.word{font-family:var(--display);font-weight:600;font-size:24px;color:var(--ink)}
.word span{color:var(--bamboo)}
.kicker{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--bamboo-text)}
h1,h2,h3{margin:0}
h2{font-family:var(--display);font-weight:600;font-size:clamp(32px,4.5vw,46px);line-height:1.05}
.hint{font-size:13px;color:var(--muted)}

.nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-top:20px;padding-bottom:20px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none}
.brand img{width:36px;height:36px;border-radius:9px}
.links{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:15px}
.links a{color:var(--ink2);text-decoration:none}
.btn{display:inline-block;font-weight:600;text-decoration:none;padding:13px 20px;border-radius:14px;background:var(--ink);color:#FBF8F2 !important}
.btn:hover{background:#000}
.btn.green{background:var(--bamboo);color:#fff !important}
.btn.light{background:var(--card);color:var(--ink) !important;box-shadow:inset 0 0 0 1.5px #DDD7C8}

.hero{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:48px;padding-bottom:72px}
.hero-copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(44px,7vw,76px);line-height:.98;letter-spacing:-.02em}
.lead{margin:0;max-width:480px;font-size:18px;color:var(--ink2)}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-deck{flex:1 1 420px;min-width:0;display:flex;justify-content:center}
.deck{background:var(--deck);border-radius:30px;padding:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;box-shadow:0 30px 60px -30px rgba(23,25,28,.6),inset 0 1px 0 var(--deck-edge);max-width:400px;width:100%}
.deck img{width:100%;aspect-ratio:1;border-radius:18px}
.deck.wide{grid-template-columns:repeat(5,minmax(0,1fr));max-width:620px}
.deck.wide img{border-radius:14px}

.band{padding:80px 0}
.band.card{background:var(--card)}
.band.dark{background:var(--ink);color:var(--paper)}
.band.dark .kicker{color:#B9DD8C}
.head{display:flex;flex-direction:column;gap:10px;max-width:660px;margin-bottom:36px}
.head p{margin:0;color:var(--muted)}
.band.dark .head p{color:#C9CDD3}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.tile{background:var(--paper);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px}
.band:not(.card) .tile{background:var(--card)}
.band.dark .tile{background:var(--deck)}
.tile img{width:72px;height:72px;border-radius:14px}
.tile h3{font-size:18px}
.tile p{margin:0;color:var(--muted);font-size:15px}
.band.dark .tile p{color:#C9CDD3}
.step{font:700 28px/1 ui-monospace,Consolas,monospace;color:#7DB547}

.table{overflow-x:auto;background:var(--card);border-radius:20px}
table{width:100%;min-width:640px;border-collapse:collapse;font-size:15px}
th{text-align:left;color:var(--muted);font-size:13px;font-weight:600;padding:16px 20px}
td{padding:14px 20px;border-top:1px solid #EAE5D9}
.tag{font-size:12px;font-weight:600;padding:4px 9px;border-radius:6px;background:#EFECE4;color:#3E434A;white-space:nowrap}
.tag.ok{background:#E6EFDC;color:#2F5F1E}

.alarm{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.alarm .deck{flex:1 1 380px}
.alarm-copy{flex:1 1 320px;display:flex;flex-direction:column;gap:14px}
.alarm-copy p{margin:0;color:var(--ink2)}

details{background:var(--card);border-radius:16px;padding:18px 22px;margin-bottom:14px}
summary{font-weight:600;font-size:17px;cursor:pointer}
details p{margin:12px 0 0;color:var(--muted)}
.faq{max-width:760px;margin:0 auto}
.faq h2{margin-bottom:24px}

.download{background:var(--bamboo);border-radius:28px;padding:48px 32px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;color:#fff}
.download h2{color:#fff;font-size:clamp(30px,4vw,40px)}
.download p{margin:8px 0 0;color:#E6F2DA}

.foot{padding:32px 0 48px}
.foot-inner{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:13px;color:var(--muted)}
.foot-links{display:flex;gap:18px}

.legal{max-width:760px;padding-top:24px;padding-bottom:48px}
.legal h1{font-family:var(--display);font-weight:600;font-size:40px;margin-bottom:16px}
.legal h2{font-family:var(--body);font-size:18px;margin:28px 0 8px}
.legal p{margin:0 0 12px;color:var(--ink2)}

.gh-icon{flex:none}
.gh-link{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.btn.gh{display:inline-flex;align-items:center;gap:9px}
.btn.ghost{background:transparent;color:#F3F0E8 !important;box-shadow:inset 0 0 0 1.5px #4A4F57}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px #C9CDD3;background:transparent}
.oss{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.oss-copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.oss-copy p{margin:0;color:#C9CDD3}
.oss-copy .hint a,.band.dark .hint a{color:#B9DD8C}
.code{flex:1 1 420px;min-width:0;background:#0E1012;border-radius:18px;box-shadow:inset 0 0 0 1px #2C3035;overflow:hidden}
.code-bar{display:flex;gap:7px;padding:12px 14px;border-bottom:1px solid #2C3035}
.code-bar span{width:11px;height:11px;border-radius:50%;background:#3A3F45}
.code pre{margin:0;padding:18px 20px;overflow-x:auto;font:14px/1.7 ui-monospace,Consolas,"JetBrains Mono",monospace;color:#E6E8EB}
.code .c{color:#8C9198}
.foot .gh-link{color:var(--ink)}
