/* Same bundled families and real weights as nikolog/lib/typography.dart. */
@font-face{font-family:NikoRounded;src:url('/assets/fonts/MPLUSRounded1c-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:NikoRounded;src:url('/assets/fonts/MPLUSRounded1c-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:NikoRounded;src:url('/assets/fonts/MPLUSRounded1c-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:NikoRounded;src:url('/assets/fonts/MPLUSRounded1c-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:NikoRounded;src:url('/assets/fonts/MPLUSRounded1c-Black.ttf') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/Nunito-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/Nunito-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/Nunito-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/Nunito-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/Nunito-Black.ttf') format('truetype');font-weight:900;font-display:swap}

:root{font-family:NikoRounded,Nunito,sans-serif;font-size:16px;--muted:#74665c}
html[lang=en]{font-family:Nunito,NikoRounded,sans-serif}
body{line-height:1.75;font-weight:400}
button,input,textarea,select{font-family:inherit}
.brand{font-family:Nunito,NikoRounded,sans-serif}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:50;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #e9bc3c;border-radius:50%;background:#ffd45a;color:#574015;box-shadow:0 5px 18px #76561924;cursor:pointer;transition:background .15s,transform .15s}
.back-to-top svg{width:25px;height:25px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.back-to-top:hover{background:#ffdf7d;transform:translateY(-2px)}
.back-to-top:focus-visible{outline:3px solid #b47213;outline-offset:4px}
@media(max-width:760px){.back-to-top{right:16px;bottom:18px;width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-to-top{transition:none}.back-to-top:hover{transform:none}}
.public-site .hero-copy h1{font-size:clamp(32px,3.3vw,48px);font-weight:800;line-height:1.6;letter-spacing:.01em}
html[lang=en] .public-site .hero-copy h1{font-size:clamp(36px,3.6vw,52px);line-height:1.25;letter-spacing:-.02em}
.public-site .hero-copy .lead,.public-site .section-intro,.public-site .page-heading .lead{font-size:16px;line-height:1.9;color:#75665c}
html[lang=en] .public-site .hero-copy .lead,html[lang=en] .public-site .section-intro,html[lang=en] .public-site .page-heading .lead{font-size:18px;line-height:1.7}
.public-site .section-title{font-size:clamp(27px,2.5vw,36px);font-weight:800;line-height:1.55;letter-spacing:.01em}
.public-site .hero-tag,.public-site .eyebrow{font-size:12px;line-height:1.7}
.public-site .site-header nav{font-size:14px;gap:20px}
.public-site .primary,.public-site .secondary,.public-site .text-link{font-size:16px;font-weight:700}
.public-site .header-download{font-size:14px;padding:11px 20px}
.public-site .language-switch button{font-size:13px}
.public-site .hero-actions{gap:22px;flex-wrap:wrap}
.public-site .floating-label{font-size:13px}
.public-site .sample-caption,.public-site .score-note{font-size:12px;line-height:1.75;color:#796a5d}
.public-site .feature-card h3,.public-site .tour-card h3,.public-site .aside-card h2{font-size:20px;font-weight:700;line-height:1.5}
.public-site .feature-card p,.public-site .tour-card>p,.public-site .mode-copy p,.public-site .aside-card>p{font-size:16px;line-height:1.85;color:#75665c}
html[lang=en] .public-site .feature-card p,html[lang=en] .public-site .tour-card>p,html[lang=en] .public-site .mode-copy p,html[lang=en] .public-site .aside-card>p{font-size:17px;line-height:1.7}
.public-site .tour-card{display:flex;flex-direction:column}.public-site .tour-card>p{min-height:0;margin-bottom:25px}.public-site .tour-card>a{margin-top:auto}
.public-site .mode-card{display:flex;flex-direction:column}.public-site .mode-copy p{min-height:0}.public-site .mode-card figure{margin-top:auto;padding-top:25px}
.public-site .mode-card figcaption{font-size:13px}
.public-site .form-note,.public-site .sdk-note,.public-site .contact-layout .form-note{font-size:13px!important;line-height:1.85;color:#796a5d}
.public-site .policy-paper p{font-size:16px;line-height:1.95;color:#64574e}
html[lang=en] .public-site .policy-paper p{font-size:17px;line-height:1.8}
.public-site .policy-paper h2{font-size:21px;font-weight:700;line-height:1.55}
.public-site .policy-sidebar nav a{font-size:13px;line-height:1.75}
.public-site .policy-paper .operator-info,.public-site .document-meta{font-size:13px}
.public-site .privacy-table{font-size:14px;line-height:1.8}
.public-site .faq-item summary{font-size:18px;line-height:1.6}.public-site .faq-item p{font-size:16px;line-height:1.9;color:#64574e}.public-site .faq-category{font-size:13px}
.public-site .contact-layout label{font-size:16px;font-weight:500;line-height:1.6}
.public-site .contact-layout input,.public-site .contact-layout textarea,.public-site .contact-layout select{font-size:16px;font-weight:400;line-height:1.6}
.public-site input::placeholder,.public-site textarea::placeholder{font-size:14px;color:#8e8074}
.public-site .contact-layout .checkbox{font-size:14px;font-weight:400;line-height:1.9}
.public-site .required,.public-site .optional{font-size:12px}
.public-site .notice,.public-site .error{font-size:14px;line-height:1.85}
.public-site .download-card small,.public-site .compact .download-card small{font-size:12px}.public-site .store-device,.public-site .compact .store-device{font-size:13px}
.public-site .store-link,.public-site .store-unavailable,.public-site .compact .store-link,.public-site .compact .store-unavailable{font-size:14px}
.public-site .qr-pending>span{font-size:10px}.public-site .site-footer nav,.public-site .site-footer>div>p,.public-site .site-footer small{font-size:13px;line-height:1.8}
.public-site .score-demo-label{font-size:14px}.public-site .smile-score-demo small{font-size:12px}

.public-site .promise-strip{display:block;padding:28px 0;background:#fff3d8;border:0}
.promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.promise-card{display:flex;align-items:flex-start;gap:14px;border:1px solid #efe1c8;background:#fffdf8;border-radius:20px;padding:25px 22px}
.promise-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:#ffedb6;color:#8c682b}
.promise-icon svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.people-icon{background:#ffe6ec;color:#a1606c}.privacy-icon{background:#e1f1e7;color:#3f7b62}
.promise-card h2{font-size:17px;line-height:1.6;font-weight:700;margin:0 0 10px;color:#3c3026}
.promise-card p{font-size:14px;line-height:1.8;color:#78695c;margin:0}
html[lang=en] .promise-card h2{font-size:19px;line-height:1.4}html[lang=en] .promise-card p{font-size:16px;line-height:1.65}

@media(max-width:1050px){
  .public-site .site-header{flex-wrap:wrap}.public-site .site-header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.public-site .header-tools{margin-left:auto}
  .promise-card{padding:20px 16px;gap:12px}.promise-icon{flex-basis:38px;width:38px;height:38px}.promise-card h2{font-size:16px}
}
@media(max-width:760px){
  .public-site .site-header nav{font-size:12px;gap:13px}.public-site .language-switch button{font-size:12px}.public-site .hero-copy h1{font-size:32px;line-height:1.6}
  html[lang=en] .public-site .hero-copy h1{font-size:36px;line-height:1.25}
  .public-site .hero-tag{font-size:12px}.public-site .hero-copy .lead,.public-site .section-intro,.public-site .page-heading .lead{font-size:15px;line-height:1.9}
  html[lang=en] .public-site .hero-copy .lead,html[lang=en] .public-site .section-intro,html[lang=en] .public-site .page-heading .lead{font-size:17px;line-height:1.7}
  .public-site .hero-actions .primary{font-size:15px}.public-site .hero-actions .text-link{font-size:14px}
  .public-site .floating-label{font-size:10px}.public-site .sample-caption{font-size:10px;left:5px;bottom:-23px}
  .promise-grid{grid-template-columns:1fr;gap:12px}.public-site .promise-strip{padding:22px 0}.promise-card{padding:21px;gap:16px}.promise-icon{width:44px;height:44px;flex-basis:44px}.promise-card h2{font-size:18px;margin-bottom:6px}.promise-card p{font-size:14px}
  .public-site .policy-paper p,.public-site .faq-item p{font-size:15px;line-height:1.9}.public-site .policy-paper h2{font-size:19px}
  .public-site .privacy-table{font-size:12px}.public-site .contact-layout label{font-size:15px}.public-site .contact-layout .checkbox{font-size:13px}
  .public-site .compact .download-card small{font-size:11px}.public-site .site-footer nav{font-size:12px}
}
.workflow-heading{text-align:left;font-size:20px;font-weight:700;margin:40px 0 18px;color:#5e4933}.public-site .workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0 0 46px;gap:34px}.workflow-steps .tour-card{position:relative}.workflow-steps .tour-card:not(:last-child)::after{content:'→';position:absolute;right:-33px;top:45px;z-index:1;width:32px;text-align:center;color:#bc8c31;font:700 27px Nunito,sans-serif}.workflow-steps .tour-card:nth-child(1){background:#fff3d8}.workflow-steps .tour-card:nth-child(2){background:#edf5fa}.workflow-steps .tour-card:nth-child(3){background:#ffedf1}.mode-screens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:auto}.public-site .mode-card .mode-screens figure{width:auto;max-width:none;margin:0;padding-top:25px}.mode-screens a{display:block}.public-site .mode-screens figcaption{font-size:12px;line-height:1.7}
.hero-downloads{margin:25px 0 20px;gap:12px}.public-site .hero-downloads .download-card{padding:14px;gap:12px;min-width:0;text-align:left}.public-site .hero-downloads .qr-box{width:82px;height:82px;flex:0 0 82px}.public-site .hero-downloads .qr-box>img{max-width:82px;height:auto}.public-site .hero-downloads .qr-pending>img{width:30px}.public-site .hero-downloads .download-card h3{font-size:17px;margin:4px 0}.public-site .hero-downloads .download-card small{font-size:11px}.public-site .hero-downloads .store-device{font-size:11px}.download-card-info>img{display:block;object-fit:contain;margin-bottom:7px}.hero-downloads .store-unavailable{font-size:12px}.secret-value{display:block;overflow-wrap:anywhere;white-space:pre-wrap;font-family:monospace;background:#fff8e9;padding:15px;border-radius:12px}.settings-policy{margin:24px 0}.settings-policy>summary{cursor:pointer;font-weight:700;padding:20px;background:#fff4d9;border-radius:15px}.admin-body .download-card{min-width:0}.admin-body .download-card small{overflow-wrap:anywhere}.admin-body .inquiry-row small{display:block;overflow-wrap:anywhere}.admin-body .login-shell{max-width:640px}.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{outline:2px solid #edaa36;outline-offset:2px}.admin-body #view-settings>.paper{margin-top:22px}
@media(max-width:500px){.public-site .hero-downloads{grid-template-columns:1fr 1fr}.public-site .hero-downloads .download-card{display:block;padding:12px}.public-site .hero-downloads .qr-box{margin-bottom:12px}.public-site .hero-downloads .download-card-info>img{width:24px;height:24px}.admin-body #admin-store-preview{grid-template-columns:1fr}}
@media(max-width:760px){.public-site .workflow-steps{grid-template-columns:1fr;gap:38px}.workflow-steps .tour-card:not(:last-child)::after{content:'↓';top:auto;right:calc(50% - 16px);bottom:-36px;font-size:28px}.workflow-heading{font-size:19px;margin-top:30px}.mode-screens{gap:10px}.public-site .mode-card .mode-screens figure img{border-width:4px;border-radius:18px}.public-site .mode-screens figcaption{font-size:11px}}
