.ks-page{gap:18px;max-width:760px;margin:0 auto;padding:24px 20px 64px;display:grid}.ks-page h1{font-family:Fraunces, var(--font-display);margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.05}.ks-day-head p:last-child{color:var(--muted-foreground);margin:6px 0 0}.ks-preview{background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);margin:0;padding:10px 14px;font-size:.9rem}.ks-crumbs{color:var(--muted-foreground);font-size:.9rem}.ks-crumbs a{color:var(--foreground)}.ks-day-page{gap:12px;padding-top:16px}.ks-day-page .ks-preview{padding:8px 12px;font-size:.8rem}.ks-day-page .ks-crumbs{font-size:.8rem}.ks-day-page .ks-day-head h1{font-size:clamp(1.6rem,6vw,2.2rem)}@media (width<=640px){.ks-day-page{gap:10px;padding-top:12px}.ks-day-page .ks-day-head p:last-child{font-size:.9rem}}.ks-card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-paper);gap:14px;padding:22px;display:grid}.ks-card h2{margin:0;font-size:1.35rem;line-height:1.25}.ks-tag{background:var(--accent);color:var(--accent-foreground);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-self:start;margin:0;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-block}.ks-photo{border-radius:var(--radius);aspect-ratio:10/7;object-fit:cover;width:100%;height:auto}.ks-quote{font-family:Fraunces, var(--font-display);background:var(--secondary);border-radius:var(--radius);margin:0;padding:12px 16px;font-size:1.6rem}.ks-note{border-left:3px solid var(--primary);background:var(--muted);border-radius:var(--radius);color:var(--foreground);margin:0;padding:10px 14px;font-size:.95rem;line-height:1.5}.ks-options{gap:10px;display:grid}.ks-option{text-align:left;min-height:52px;font:inherit;background:var(--background);color:var(--foreground);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:12px 16px;font-size:1.05rem}.ks-option:hover:not(:disabled){border-color:var(--foreground)}.ks-option:focus-visible,.ks-speak:focus-visible,.ks-link:focus-visible,.ks-icon:focus-visible,.ks-day a:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.ks-option.right{border-color:var(--success);background:color-mix(in oklab, var(--success) 12%, var(--card))}.ks-option.wrong{border-color:var(--destructive)}.ks-option:disabled{opacity:.45;cursor:default}.ks-feedback-slot{min-height:1.5em;margin:0}.ks-feedback{border-radius:var(--radius);align-items:center;gap:8px;margin:0;padding:10px 14px;font-weight:500;display:flex}.ks-feedback.ok{background:color-mix(in oklab, var(--success) 14%, var(--card));color:var(--foreground)}.ks-feedback.retry{background:color-mix(in oklab, var(--accent) 30%, var(--card));color:var(--foreground)}.ks-hint p{color:var(--muted-foreground);margin:6px 0 0}.ks-link,.ks-icon{font:inherit;color:var(--foreground);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;text-decoration:underline;display:inline-flex}.ks-icon{margin-left:8px;padding:4px;text-decoration:none}.ks-speak-list{gap:8px;display:grid}.ks-speak{white-space:normal;min-width:0;max-width:100%;height:auto;min-height:48px;font:inherit;text-align:left;background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;font-size:1.05rem;display:flex}.ks-speak>span{overflow-wrap:anywhere;min-width:0}.ks-speak>svg{flex-shrink:0}.ks-speak:disabled{cursor:default;opacity:.8}.ks-voice-note{color:var(--muted-foreground);margin:0;font-size:.85rem}.ks-check{align-items:center;gap:10px;font-weight:500;display:flex}.ks-check input{width:20px;height:20px;accent-color:var(--primary)}.ks-dialog{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ks-dialog li{background:var(--secondary);border-radius:var(--radius);justify-self:start;max-width:90%;padding:10px 14px}.ks-dialog li.me{background:var(--accent);color:var(--accent-foreground);justify-self:end}.ks-speaker{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:.75rem;font-weight:600;display:block}.ks-pairs{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ks-pairs li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ks-progress{background:var(--muted);border-radius:999px;height:6px;overflow:hidden}.ks-progress span{background:var(--accent);height:100%;display:block}.ks-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.ks-actions .dw-button{min-height:48px}.ks-done h2{font-family:Fraunces, var(--font-display);font-size:2rem}.ks-days{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ks-day a,.ks-day>div{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--card-foreground);gap:4px;padding:16px 18px;text-decoration:none;display:grid;position:relative}.ks-day a:hover{border-color:var(--foreground)}.ks-day.planned>div{color:var(--muted-foreground);background:0 0;border-style:dashed}.ks-day-no{letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.ks-status{background:var(--secondary);border-radius:999px;justify-self:start;padding:2px 8px;font-size:.8rem}.ks-day.available .ks-status{background:var(--accent);color:var(--accent-foreground)}.ks-days.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.ks-a1-card{border-radius:calc(var(--radius) + 4px);background:var(--ink);color:var(--ink-foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:12px 0;padding:20px;display:flex}.ks-a1-card h2{font-family:Fraunces, var(--font-display);margin:6px 0 4px;font-size:1.6rem}.ks-a1-card p{margin:0}.ks-a1-card .dw-button{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.ks-language{grid-template-columns:minmax(0,1fr);justify-self:stretch;align-items:center;gap:8px;min-width:0;font-size:.85rem;display:grid}.ks-language .ks-translation-toggle{white-space:nowrap;flex-shrink:0;justify-self:start}.ks-language .ks-translation-toggle svg{flex-shrink:0}.ks-language select{background:var(--card);width:100%;min-width:0;min-height:44px;color:var(--card-foreground);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.ks-language select:focus-visible{outline:3px solid var(--foreground);outline-offset:2px}.ks-translated,.ks-extra{border-top:1px solid var(--border);padding-top:10px;font-size:.9rem}.ks-translated summary,.ks-extra summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.ks-translated p{color:var(--foreground);margin:4px 0;line-height:1.6}.ks-count{background:var(--secondary);border-radius:8px;grid-template-columns:repeat(5,40px);justify-content:center;gap:14px;padding:20px 8px;display:grid}.ks-pencil{width:40px;height:48px;color:var(--foreground);fill:var(--accent);stroke-width:1.5px}.ks-letter-card{text-align:center;font-family:var(--font-sans);letter-spacing:0;background:var(--secondary);color:var(--foreground);border-radius:8px;margin:0;padding:18px;font-size:2.5rem;font-weight:700}.ks-letter-groups{gap:16px;display:grid}.ks-letter-grid{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;display:grid}.ks-letter-grid .ks-speak{justify-content:center;padding:10px 6px}.ks-number-group{gap:8px;display:grid}.ks-number-group+.ks-number-group{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.nh{grid-template-columns:minmax(0,1fr);gap:72px;padding-bottom:72px;display:grid}.nh section{box-sizing:border-box;width:100%;min-width:0;max-width:1180px;margin:0 auto;padding:0 20px}.nh h2{font-family:Fraunces, var(--font-display);margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1}.nh-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:32px;display:grid;padding-top:40px!important}.nh-hero h1{font-family:Fraunces, var(--font-display);letter-spacing:-.01em;margin:14px 0 18px;font-size:clamp(2.6rem,6.4vw,5rem);line-height:1}.nh-hero h1 em{background:linear-gradient(transparent 62%, var(--accent) 62%);font-style:italic}.nh-lead{color:var(--muted-foreground);max-width:34ch;margin:0 0 24px;font-size:1.2rem}.nh-pill{background:var(--accent);color:var(--accent-foreground);border-radius:999px;margin:0;padding:6px 12px;font-weight:600;display:inline-block}.nh-cta{flex-wrap:wrap;gap:12px;display:flex}.nh-cta .dw-button{min-height:52px;padding:0 22px;font-size:1.05rem}.nh-hero figure{margin:0;position:relative}.nh-hero img{aspect-ratio:5/4;object-fit:cover;width:100%;height:auto;box-shadow:var(--shadow-lift);border-radius:22px}.nh-hero figcaption{background:var(--card);color:var(--card-foreground);border-radius:var(--radius);box-shadow:var(--shadow-paper);padding:12px 14px;font-size:.92rem;position:absolute;bottom:16px;left:16px;right:16px}.nh-free{color:var(--muted-foreground);max-width:52ch;margin:16px 0 0;font-size:.92rem}.nh-days-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.nh-steps{counter-reset:s;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.nh-steps li{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.nh-steps strong{margin-bottom:4px;font-size:1.1rem;display:block}.nh-steps li:before{counter-increment:s;content:"0" counter(s);font-family:Fraunces, var(--font-display);color:var(--muted-foreground);margin-bottom:8px;font-size:1.6rem;display:block}.nh-photos{grid-template-columns:1fr 1fr;gap:16px;display:grid}.nh-photos figure{margin:0}.nh-photos img{aspect-ratio:10/7;object-fit:cover;border-radius:18px;width:100%;height:auto}.nh-photos figcaption{color:var(--muted-foreground);margin-top:8px;font-size:.92rem}.nh-levels{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;display:grid}.nh-level{background:var(--ink);color:var(--ink-foreground);border-radius:18px;align-content:space-between;gap:6px;min-height:150px;padding:22px;text-decoration:none;display:grid}.nh-level:hover,.nh-level:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.nh-level b{font-family:Fraunces, var(--font-display);color:var(--accent);font-size:2.6rem;font-weight:400}.nh-honest{background:var(--secondary);border-radius:22px;padding:28px!important}.nh-honest ul{gap:8px;margin:0;padding-left:18px;display:grid}.nh-faq details{border-top:1px solid var(--border);padding:14px 0}.nh-faq summary{cursor:pointer;font-size:1.05rem;font-weight:600}.nh-faq p{color:var(--muted-foreground);margin:8px 0 0}@media (width<=860px){.nh{gap:52px}.nh-hero{grid-template-columns:minmax(0,1fr);padding-top:20px!important}.nh-steps,.nh-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.nh-photos{grid-template-columns:1fr}}@media (width<=480px){.nh-hero figcaption{box-shadow:none;margin-top:10px;position:static}.ks-card{padding:16px}.ks-quote{font-size:1.35rem}}.ks-translation-text{font-family:var(--font-sans);text-align:start;white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:.9rem;font-weight:400;line-height:1.65;display:block}.ks-translation-text[dir=rtl],.ks-translation-text bdi{unicode-bidi:isolate}.ks-option .ks-translation-text{display:none}.ks-actions .dw-button:has(.ks-translation-text){white-space:normal;flex-wrap:wrap;height:auto}.ks-speak:has(.ks-translation-text){white-space:normal;flex-wrap:wrap;height:auto}.ks-link:has(.ks-translation-text){white-space:normal;flex-wrap:wrap;height:auto}.ks-actions .ks-translation-text,.ks-link .ks-translation-text{flex-basis:100%}.ks-review-instruction{font-family:var(--font-sans);font-size:1rem;display:block}.ks-language label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.ks-language-label{white-space:nowrap;min-width:0}@media (width>=640px){.ks-language{justify-self:end;gap:16px;display:flex}.ks-language label{flex:0 320px}.ks-language select{width:220px}}.ks-invite{border:1px solid var(--border);background:var(--secondary);border-radius:.75rem;margin-top:1.25rem;padding:1rem}.ks-invite h3{margin:0 0 .4rem;font-size:1.05rem}.ks-invite p{overflow-wrap:anywhere;margin:0 0 .75rem}.ks-invite .ks-actions{flex-wrap:wrap}
