:root{--primary:var(--t-primary);--primary-dark:var(--t-primary-dark);--primary-soft:var(--t-primary-soft);--accent:var(--t-accent);--bg:var(--t-bg);--ink:var(--t-ink);--primary-ink:var(--t-primary);--text:#14171c;--muted:#5d6573;--faint:#8a919c;--line:rgba(20,24,32,0.09);--line-strong:rgba(20,24,32,0.16);--card:#ffffff;--card-2:color-mix(in srgb,var(--bg) 60%,#ffffff);--shadow-sm:0 1px 2px rgba(16,20,28,0.05),0 1px 1px rgba(16,20,28,0.03);--shadow:0 1px 2px rgba(16,20,28,0.04),0 12px 32px -12px rgba(16,20,28,0.14);--shadow-lg:0 30px 80px -30px color-mix(in srgb,var(--primary-dark) 45%,transparent);--radius:18px;--radius-sm:12px;--ok:#1f8a4c;--ok-soft:#e3f5ea;--warn:#9a6200;--warn-soft:#fff3d6;--info:var(--primary);--info-soft:var(--primary-soft);--sans:var(--font-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,"SF Mono",Menlo,monospace;color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.022em;margin:0;font-weight:700}p{margin:0}::selection{background:color-mix(in srgb,var(--primary) 25%,transparent)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}.section{padding-block:76px}.band{background:linear-gradient(180deg,color-mix(in srgb,var(--primary-soft) 60%,var(--bg)),var(--bg));border-top:1px solid var(--line)}.section-sm{padding-block:56px}.stack>*+*{margin-top:16px}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.center{text-align:center}.brand-text{color:var(--primary-ink)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}.logo{display:inline-flex;align-items:center;gap:10px;font-weight:750;font-size:18px;letter-spacing:-.02em}.logo-mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:16px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),var(--shadow-sm)}.nav{display:flex;align-items:center;gap:4px}.nav a{padding:8px 12px;border-radius:10px;color:var(--muted);font-size:15px;font-weight:500;transition:color .15s,background .15s}.nav a:hover{color:var(--text);background:var(--primary-soft)}.menu-btn,.mobile-nav{display:none}@media (max-width:820px){.header .btn,.nav{display:none}.menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--line-strong);background:var(--card);color:var(--text);cursor:pointer}.mobile-nav[open]{display:block}.mobile-nav{border-top:1px solid var(--line);padding:8px 20px 20px}.mobile-nav a{display:flex;align-items:center;min-height:44px;padding:12px 4px;font-weight:550;border-bottom:1px solid var(--line)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:12px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px -8px color-mix(in srgb,var(--primary) 70%,transparent)}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:var(--card);color:var(--text);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.btn-ghost:hover{border-color:var(--primary-ink);color:var(--primary-ink)}.btn-sm{height:38px;padding:0 14px;font-size:14px;border-radius:10px}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-ink)}.eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor;opacity:.6}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--primary-soft);color:var(--primary-ink);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-available,.badge-live{background:var(--ok-soft);color:var(--ok)}.badge-beta{background:var(--info-soft);color:var(--info)}.badge-coming{background:var(--warn-soft);color:var(--warn)}.tag{display:inline-block;font-family:var(--mono);font-size:12px;padding:3px 8px;border-radius:6px;border:1px solid var(--line-strong);color:var(--muted)}.hero{position:relative;overflow:hidden;padding:96px 0 72px}.hero:before{inset:-30% -10% auto;height:120%;background:radial-gradient(40% 50% at 18% 30%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 70%),radial-gradient(35% 45% at 85% 20%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%)}.hero:after,.hero:before{content:"";position:absolute;z-index:-1}.hero:after{inset:0;opacity:.5;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,transparent 75%)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:56px;gap:56px;align-items:center}.hero h1{font-size:clamp(38px,6vw,66px);letter-spacing:-.035em;font-weight:780;margin:18px 0 20px}.hero .lead{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:560px;margin-bottom:32px}.page-hero{padding:72px 0 40px}.page-hero h1{font-size:clamp(32px,5vw,52px);letter-spacing:-.03em;margin:14px 0}.page-hero .lead{font-size:18px;color:var(--muted);max-width:680px}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero{padding:64px 0 48px}}.grid{display:grid;grid-gap:18px;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}@media (max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}.card.hover:hover,a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--primary) 35%,var(--line))}.card h3{font-size:18px;margin-bottom:8px}.card p{color:var(--muted);font-size:15px}.card-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;background:var(--primary-soft);color:var(--primary-ink)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:600;font-size:14px;color:var(--primary-ink)}.panel-dark{position:relative;overflow:hidden;border-radius:28px;padding:56px;color:#eef2ee;background:radial-gradient(80% 120% at 0 0,color-mix(in srgb,var(--primary) 55%,var(--ink)),var(--ink) 60%);box-shadow:var(--shadow-lg)}.panel-dark:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 0);background-size:40px 40px;-webkit-mask-image:linear-gradient(270deg,#000,transparent 70%);mask-image:linear-gradient(270deg,#000,transparent 70%)}.panel-dark .eyebrow{color:color-mix(in srgb,var(--primary) 40%,#fff)}.panel-dark .muted,.panel-dark p{color:rgba(238,242,238,.78)}@media (max-width:620px){.panel-dark{padding:32px 22px;border-radius:22px}}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stat{background:var(--card);padding:22px}.stat b{display:block;font-size:32px;letter-spacing:-.03em}.stat span{color:var(--muted);font-size:14px}@media (max-width:620px){.stats{grid-template-columns:repeat(2,1fr)}}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px;align-items:center}.split h2{font-size:clamp(28px,3.6vw,40px);margin:14px 0 16px}@media (max-width:900px){.split{grid-template-columns:1fr;gap:28px}}.checks{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-gap:10px;gap:10px}.checks li{display:flex;gap:10px;align-items:flex-start}.checks li:before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:6px;background:var(--primary-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-color:var(--primary-ink);background-size:12px;background-position:50%;background-repeat:no-repeat}.section-head{max-width:680px;margin-bottom:40px}.section-head h2{font-size:clamp(28px,3.6vw,40px);margin:14px 0 12px}.section-head p{color:var(--muted);font-size:17px}.media{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--card-2);border:1px solid var(--line)}.media img{width:100%;height:100%;object-fit:cover}.media-ph{display:grid;place-items:center;width:100%;height:100%;min-height:180px;color:var(--primary-ink);background:radial-gradient(60% 80% at 20% 20%,color-mix(in srgb,var(--primary) 20%,transparent),transparent),radial-gradient(60% 80% at 90% 90%,color-mix(in srgb,var(--accent) 16%,transparent),transparent),var(--card-2)}.media-ph small{display:block;margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--faint);text-align:center}.app-icon{width:88px;height:88px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);flex:none}.app-icon .media-ph{min-height:0;font-size:inherit;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.app-icon .media-ph small{display:none}.flow{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-gap:14px;gap:14px;position:relative}.flow:before{content:"";position:absolute;left:36px;top:36px;bottom:36px;width:2px;opacity:.45;background:repeating-linear-gradient(to bottom,var(--primary) 0 6px,transparent 6px 12px)}.flow li{position:relative;display:grid;grid-template-columns:44px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.flow li b{display:block}.flow li .muted{display:block;font-size:13.5px;line-height:1.4}.flow code{font-family:var(--mono);font-size:12px;padding:5px 8px;border-radius:8px;background:var(--primary-soft);color:var(--primary-ink);white-space:nowrap}@media (max-width:520px){.flow li{grid-template-columns:44px 1fr}.flow code{grid-column:2;justify-self:start}}.flagship{display:grid;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px;align-items:center;padding:48px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,var(--primary-soft),var(--card) 75%)}.flagship h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:6px}@media (max-width:900px){.flagship{grid-template-columns:1fr;gap:32px;padding:28px 20px;border-radius:22px}}.room{--room-ok:color-mix(in srgb,var(--primary) 35%,#9ff0c0);color:#e9efe9;border-radius:22px;padding:18px;box-shadow:var(--shadow-lg);background:linear-gradient(160deg,color-mix(in srgb,var(--primary) 45%,var(--ink)),var(--ink) 70%)}.room-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 2px 14px}.room-head b{font-size:15px}.reading span,.room-head small,.spark-head{color:rgba(233,239,233,.62)}.room-head small{display:block;font-size:12.5px}.room-chip{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.09)}.readings{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.reading,.spark{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:14px}.reading{padding:12px;min-width:0}.reading span{display:block;font-size:12px}.reading b{display:block;font-family:var(--mono);font-size:clamp(18px,2.2vw,24px);font-weight:600;letter-spacing:-.02em;margin:2px 0}.reading b small{font-size:.55em;opacity:.7;margin-left:3px}.reading em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--room-ok)}.spark{margin-top:8px;padding:12px}.spark-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.spark svg{display:block;width:100%;height:64px}.spark-band{fill:color-mix(in srgb,var(--room-ok) 14%,transparent)}.spark-line{fill:none;stroke:var(--room-ok);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.equip{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.equip span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.06)}.equip i{width:7px;height:7px;border-radius:50%;background:var(--room-ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--room-ok) 22%,transparent)}.equip .off{color:rgba(233,239,233,.55)}.equip .off i{background:rgba(255,255,255,.3);box-shadow:none}.shots{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 24px}.shot{flex:none;width:240px;aspect-ratio:9/19.5;scroll-snap-align:start;border-radius:30px;padding:8px;background:#0d0f12;box-shadow:var(--shadow)}.shot .media{height:100%;border-radius:23px;border:0}.legal{display:grid;grid-template-columns:240px 1fr;grid-gap:56px;gap:56px;align-items:start;padding-bottom:96px}.toc{position:-webkit-sticky;position:sticky;top:92px;font-size:14px}.toc b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.toc a{display:block;padding:6px 10px;margin-left:-10px;border-radius:8px;color:var(--muted)}.toc a:hover{background:var(--primary-soft);color:var(--primary-ink)}@media (max-width:900px){.legal{grid-template-columns:1fr}.toc{display:none}}.prose{max-width:740px}.prose h2{font-size:24px;margin:48px 0 14px;padding-top:8px}.prose>h2:first-child,.prose>section:first-child>h2:first-child{margin-top:0}.prose h3{font-size:18px;margin:28px 0 10px}.prose li,.prose p{color:color-mix(in srgb,var(--text) 86%,var(--bg))}.prose p+p{margin-top:12px}.prose ol,.prose ul{padding-left:22px;margin:10px 0}.prose li{margin:6px 0}.prose a{color:var(--primary-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.meta-row{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:14px;color:var(--muted);margin-top:18px}.meta-row span{display:inline-flex;align-items:center;gap:6px}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;font-size:14.5px;margin:0 0 28px}.notice-draft{background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.notice-info{background:var(--primary-soft);color:var(--primary-ink)}.summary-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:36px;box-shadow:var(--shadow-sm)}.summary-box h3{font-size:15px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--primary-ink);margin-bottom:10px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);margin:16px 0;background:var(--card)}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600;background:var(--card-2);white-space:nowrap}tr:last-child td{border-bottom:0}.yes,td b{font-weight:600}.yes{color:var(--ok)}.no{color:var(--faint)}.steps{list-style:none;counter-reset:step;padding:0;margin:18px 0;display:grid;grid-gap:12px;gap:12px}.steps li{counter-increment:step;display:flex;gap:14px;align-items:center;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px}.steps li:before{content:counter(step);flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--primary);color:#fff}.legal-links{display:flex;flex-wrap:wrap;gap:10px}.legal-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;font-size:14px;font-weight:600;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:border-color .15s,color .15s}.legal-links a:hover{border-color:var(--primary-ink);color:var(--primary-ink)}.faq{display:grid;grid-gap:10px;gap:10px}.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 18px}.faq summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:600;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:20px;line-height:1;color:var(--primary-ink);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{padding:0 0 16px;color:var(--muted)}.form{display:grid;grid-gap:14px;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.form h3{font-size:19px}.field{display:grid;grid-gap:6px;gap:6px;font-size:14px;font-weight:600}.field input,.field select,.field textarea{font:inherit;font-weight:400;font-size:15px;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;padding:11px 13px;width:100%;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary-ink);box-shadow:0 0 0 4px var(--primary-soft)}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}.check input{margin-top:4px;accent-color:var(--primary-ink)}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.form-ok{text-align:center;padding:20px 8px}.form-ok b{display:block;font-size:20px;margin:10px 0 6px}.form-small{font-size:13px;color:var(--faint)}.field .opt{font-weight:400;color:var(--faint)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:620px){.field-row{grid-template-columns:1fr}}.choices{border:0;padding:0;margin:0;min-width:0}.choices legend{padding:0;margin-bottom:8px}.chip{position:relative}.chips .chip input[type=radio]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;box-shadow:none;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.chip span{display:inline-block;font-weight:500;font-size:14px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg);transition:background .15s,border-color .15s,color .15s}.chip input:checked+span{background:var(--primary-soft);border-color:var(--primary-ink);color:var(--primary-ink)}.chip input:focus-visible+span{box-shadow:0 0 0 4px var(--primary-soft)}.btn-wa{background:#1f8a4c;color:#fff}.btn-wa:hover{background:#18703d;color:#fff}.prose a.btn{text-decoration:none}.prose a.btn-wa{color:#fff}.prose a.btn-ghost{color:var(--text)}.spec-list{display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--card)}.spec-list div{display:grid;grid-template-columns:180px 1fr;grid-gap:16px;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14.5px}.spec-list div:last-child{border-bottom:0}.spec-list dt{color:var(--muted)}.spec-list dd{margin:0;font-weight:500}@media (max-width:620px){.spec-list div{grid-template-columns:1fr;gap:2px}}.measure{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line)}.measure b{font-weight:600}.measure{min-width:0}.measure>:first-child{min-width:0;flex:1 1 auto}.measure>.badge{flex:none}.measure .mono{color:var(--primary-ink);font-size:14px}.setups{display:flex;gap:8px;flex-wrap:wrap}.node-hero{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;align-items:center}@media (max-width:900px){.node-hero{grid-template-columns:1fr}}.kind-group+.kind-group{margin-top:48px}.kind-group h3{font-size:14px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}.footer{border-top:1px solid var(--line);padding:64px 0 36px;margin-top:40px;background:color-mix(in srgb,var(--card) 45%,var(--bg))}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);grid-gap:32px;gap:32px}.footer .foot-label{font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;font-weight:600}.footer ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px;font-size:14.5px}.footer ul a{color:var(--muted)}.footer ul a:hover{color:var(--primary-ink)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--faint)}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.rise-2{animation-delay:.08s}.rise-3{animation-delay:.16s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}.mm{display:none;position:static}.mm>summary{list-style:none}.mm>summary::-webkit-details-marker{display:none}@media (max-width:820px){.mm{display:block}.header .btn{display:none}.mm .mobile-nav{display:block;position:absolute;left:0;right:0;top:68px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);z-index:40}}body{overflow-x:clip}.footer-grid>*,.grid>*,.hero-grid>*,.legal>*,.node-hero>*,.split>*{min-width:0}.prose .steps{padding-left:0}.prose .steps li{margin:0}@media (max-width:620px){.hero h1{font-size:clamp(34px,10vw,44px)}.btn-row .btn{flex:1 1 auto}.section{padding-block:64px}.section-sm{padding-block:40px}}.app-scope{--primary:var(--app);--primary-dark:color-mix(in srgb,var(--app) 65%,#000);--primary-soft:color-mix(in srgb,var(--app) 12%,transparent);--primary-ink:var(--app)}.app-icon .media-ph span{font-size:inherit;line-height:1}.points-card{padding:10px;box-shadow:var(--shadow)}.points-row{display:flex;align-items:center;gap:16px;padding:22px 18px;border-radius:14px;font-size:17px}.points-row+.points-row{border-top:1px solid var(--line);border-radius:0}.points-row .tag{flex:none;width:32px;height:32px;padding:0;display:grid;place-items:center;border-radius:50%;border:0;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.points-row b{font-weight:600}.device{aspect-ratio:4/3;margin-bottom:18px;border-radius:var(--radius-sm);display:grid;place-items:center;overflow:hidden;background:radial-gradient(70% 70% at 50% 40%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 70%),var(--card-2);border:1px solid var(--line)}.device-box{position:relative;width:56%;aspect-ratio:1.45;border-radius:16px;display:grid;place-content:center;text-align:center;background:linear-gradient(165deg,#ffffff,#e8ece8);border:1px solid rgba(16,32,20,.1);box-shadow:0 22px 30px -18px rgba(16,40,24,.45),inset 0 1px 0 #fff;transition:transform .25s}.card.hover:hover .device-box{transform:translateY(-4px) rotate(-1deg)}.device-box b{font-family:var(--mono);font-size:clamp(20px,2.4vw,28px);letter-spacing:.08em;color:var(--ink)}.device-box small{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.device-icon{position:absolute;top:10px;left:10px;color:var(--primary-ink);opacity:.75}.device-led{position:absolute;top:13px;right:13px;width:7px;height:7px;border-radius:50%;background:#3fbf74;box-shadow:0 0 0 3px rgba(63,191,116,.2)}.device-ports{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.device-ports i{width:18px;height:6px;border-radius:3px 3px 0 0;background:#c9d0ca}.learn-hero{padding-bottom:40px}.learn-hero h1{max-width:820px}.learn-stats{display:flex;flex-wrap:wrap;gap:10px 28px;color:var(--muted);font-size:15px}.learn-stats b{color:var(--text);font-size:20px;margin-right:4px}.learn-h2{font-size:22px;margin-bottom:16px}.learn-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:24px}.learn-search{flex:1 1 320px;max-width:460px;height:48px;padding:0 16px 0 44px;border-radius:14px;font:inherit;font-size:15px;color:var(--text);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238a919c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px center;border:1px solid var(--line-strong);box-shadow:var(--shadow-sm)}.learn-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{height:36px;padding:0 14px;border-radius:999px;font:inherit;font-size:14px;font-weight:550;cursor:pointer;background:var(--card);color:var(--muted);border:1px solid var(--line-strong);transition:all .15s}.chip:hover{color:var(--text)}.chip.on,.chip:hover{border-color:var(--primary)}.chip.on{background:var(--primary);color:#fff}.pl-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.pl-thumb{position:relative;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:radial-gradient(80% 90% at 20% 10%,color-mix(in srgb,var(--primary) 55%,var(--ink)),var(--ink))}.pl-thumb img{width:100%;height:100%;object-fit:cover}.topic-mushroom{background:radial-gradient(80% 90% at 20% 10%,#6b4f2a,#1d160d)}.topic-greenhouse{background:radial-gradient(80% 90% at 20% 10%,#5b8c3a,#141f0c)}.topic-hydroponic{background:radial-gradient(80% 90% at 20% 10%,#2a7a6f,#0b1d1a)}.topic-home{background:radial-gradient(80% 90% at 20% 10%,#8a5a2b,#1d130a)}.topic-climate{background:radial-gradient(80% 90% at 20% 10%,#2D6A4F,#0F1D14)}.pl-code{font-family:var(--mono);font-size:44px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:-.02em}.pl-count{position:absolute;right:12px;bottom:12px;font-size:12px;font-weight:600;color:#fff;background:rgba(0,0,0,.55);padding:4px 9px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pl-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1 1}.pl-body h3{margin:2px 0 0}.pl-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pl-meta{gap:10px;align-items:center}.pl-foot,.pl-meta{display:flex;font-size:13px}.pl-foot{justify-content:space-between;color:var(--muted);margin-top:auto;padding-top:6px}.mini-progress,.ready-bar{height:5px;border-radius:999px;background:var(--line);overflow:hidden}.mini-progress span,.ready-bar span{display:block;height:100%;background:var(--primary);border-radius:inherit}.mini-progress span{background:var(--ok)}.continue-card{display:grid;grid-gap:6px;gap:6px}.crumbs{font-size:14px;color:var(--muted);padding-top:16px}.crumbs ol{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none;margin:0 auto;padding:0 20px;max-width:1180px}.crumbs li{display:inline-flex;align-items:center}.crumbs li:not(:last-child):after{content:"/";margin:0 8px;color:var(--faint)}.crumbs a:hover{color:var(--primary-ink)}.pl-layout{display:grid;grid-template-columns:1fr 340px;grid-gap:48px;gap:48px;align-items:start;padding-bottom:96px}.pl-side{position:-webkit-sticky;position:sticky;top:92px;display:grid;grid-gap:16px;gap:16px}.pl-side .btn{width:100%}.side-facts{margin:18px 0 6px;display:grid}.side-facts div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}.side-facts dt{color:var(--muted)}.side-facts dd{margin:0;font-weight:600}@media (max-width:960px){.pl-layout{grid-template-columns:1fr}.pl-side{position:static;order:-1}}.outline{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}.outline li+li{border-top:1px solid var(--line)}.outline li>a,.outline li>div{display:grid;grid-template-columns:44px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:16px 18px}.outline li.ready>a:hover{background:var(--primary-soft)}.ol-num,.outline li.planned{color:var(--faint)}.ol-num{font-family:var(--mono);font-size:13px}.ol-title{display:grid;grid-gap:4px;gap:4px}.ol-title .muted{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ol-meta{font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:center;white-space:nowrap}.tick{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#fff;font-size:12px;font-weight:700}.org-chips{display:flex;flex-wrap:wrap;gap:8px}.learn-layout{display:grid;grid-template-columns:300px 1fr;grid-gap:40px;gap:40px;align-items:start;padding-top:28px;padding-bottom:96px}.learn-side{position:-webkit-sticky;position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.side-back{display:block;font-weight:650;font-size:14.5px;padding:6px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:8px}.side-outline{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.side-outline li>a,.side-outline li>span{display:grid;grid-template-columns:26px 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:9px 8px;border-radius:10px;font-size:14px}.side-outline li.current>a,.side-outline li>a:hover{background:var(--primary-soft)}.side-outline li.current>a{color:var(--primary-ink);font-weight:650}.side-outline li.planned,.so-num{color:var(--faint)}.so-num{font-size:12px}.so-num,.so-soon{font-family:var(--mono)}.so-soon{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.player{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}.player:has(.site-film){aspect-ratio:16/9}.player-slot{position:absolute;inset:0;background:#000 50%/cover no-repeat}.film-dock{position:absolute;z-index:10;border-radius:var(--radius);overflow:hidden;background:#000}.site-film [data-media-provider] iframe.vds-youtube{position:absolute;left:50%;top:50%;width:calc(100% * var(--film-k, 1));height:calc(1000% * var(--film-k, 1));aspect-ratio:auto;max-width:none;transform:translate(-50%,-50%) scale(calc(1.012 / var(--film-k, 1)));transform-origin:50% 50%}.player:has(>.player-slot){background:transparent}.film-cover{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#000 50%/cover no-repeat;pointer-events:none}.film-cover:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28)}.film-spin{position:relative;width:44px;height:44px;border-radius:50%;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;animation:film-spin .8s linear infinite}@keyframes film-spin{to{transform:rotate(1turn)}}.player:-webkit-full-screen{border-radius:0}.player:fullscreen{border-radius:0}.player-cover{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#000 50%/cover no-repeat;display:grid;place-items:center}.player-cover .play{width:72px;height:72px;border-radius:50%;background:var(--primary);display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.35);transition:transform .15s}.player-cover:hover .play{transform:scale(1.06)}.player-cover .play:after{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}.player-soon{position:absolute;inset:0;display:grid;place-items:center;background:#000 50%/cover no-repeat}.player-soon span{background:rgba(0,0,0,.72);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600}.player-note{font-size:12.5px;color:var(--faint);margin:8px 0 0}.player-bar{gap:12px;justify-content:space-between;margin:14px 0 6px}.player-actions,.player-bar{display:flex;flex-wrap:wrap;align-items:center}.player-actions{gap:8px;margin-left:auto}.btn-done{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.lesson-head{margin:26px 0 22px}.lesson-head h1{font-size:clamp(26px,3.4vw,38px);margin:10px 0 12px}.lesson-head .lead{color:var(--muted);font-size:17px;max-width:760px}.tabs{margin-top:8px}.tab-list{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto}.tab-list button{font:inherit;font-weight:600;font-size:15px;padding:12px 16px;background:none;border:0;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab-list button.on{color:var(--primary-ink);border-bottom-color:var(--primary)}.tab-panel .prose h2,.tab-panel .prose h3{font-size:18px;margin:26px 0 10px}.tab-panel .prose section:first-child h2,.tab-panel .prose section:first-child h3{margin-top:0}.kp-sub{list-style:none;margin-left:-22px!important;margin-top:14px!important;font-weight:650;color:var(--text)!important}.lesson-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:48px}.lesson-nav .card{display:grid;grid-gap:4px;gap:4px}.lesson-nav .card:last-child{text-align:right}.lib-group{border:1px solid var(--line);border-radius:14px;padding:4px 18px;margin:10px 0;background:var(--card)}.lib-group summary{cursor:pointer;padding:12px 0;font-weight:650}.print-only{display:none}@media (max-width:960px){.learn-layout{grid-template-columns:1fr}.learn-side{position:static;max-height:none;order:2}.lesson-nav{grid-template-columns:1fr}.lesson-nav .card:last-child{text-align:left}}@media print{.crumbs,.film-dock,.footer,.header,.learn-side,.lesson-nav,.mm,.player-wrap,.tab-list{display:none!important}.learn-layout{display:block;padding:0}.tab-panel[hidden]{display:block!important}.print-only{display:block;font-size:20px;margin:28px 0 10px}body{background:#fff}a,body{color:#000}a{text-decoration:underline}}.learn-layout>*,.pl-layout>*,.player-bar>*{min-width:0}@media (max-width:620px){.player-actions{margin-left:0}.player-actions .btn{flex:1 1 auto}}html[data-site=kinokora]{--faint:#717780}html[data-site=kinokora] body{background:#fff}html[data-site=kinokora] .header{background:color-mix(in srgb,#fff 86%,transparent)}html[data-site=kinokora] .shot-card{background:#fff;box-shadow:0 22px 50px -28px rgba(15,29,20,.45);transition:transform .22s ease,box-shadow .22s ease}html[data-site=kinokora] .hero .shot-card{width:min(100%,300px);justify-self:end}html[data-site=kinokora] .home-hero{padding:28px 0 20px}html[data-site=kinokora] .home-hero .hero-grid{gap:28px;align-items:center}html[data-site=kinokora] .home-hero h1{font-size:clamp(32px,3.4vw,46px);margin:10px 0 12px}html[data-site=kinokora] .home-hero .lead{font-size:17px;margin-bottom:18px}html[data-site=kinokora] .home-hero .shot-card{width:auto;max-width:220px}html[data-site=kinokora] .home-hero .shot-card img{width:auto;max-width:100%;max-height:300px;height:auto;aspect-ratio:480/1039;object-fit:contain}html[data-site=kinokora] .app-jump{margin:8px auto 0}html[data-site=kinokora] .app-hero{padding:16px 0 24px}html[data-site=kinokora] .app-hero .hero-grid{align-items:start;gap:28px}html[data-site=kinokora] .app-hero h1{font-size:clamp(36px,4vw,52px);margin:8px 0 10px}html[data-site=kinokora] .app-hero .lead{font-size:17px;margin-bottom:14px}html[data-site=kinokora] .app-hero .shot-card img{width:auto;max-width:100%;max-height:340px;height:auto;aspect-ratio:480/1039;object-fit:contain}@media (max-width:900px){html[data-site=kinokora] .hero .shot-card{justify-self:center}}html[data-site=kinokora] .card,html[data-site=kinokora] .step-grid li{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}html[data-site=kinokora] .card:hover,html[data-site=kinokora] .shot-grid .shot-card:hover,html[data-site=kinokora] .step-grid li:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--primary) 35%,var(--line))}html[data-site=kinokora] .more svg{transition:transform .2s ease}html[data-site=kinokora] .card:hover .more svg,html[data-site=kinokora] a:hover .more svg{transform:translateX(4px)}html[data-site=kinokora] .rise,html[data-site=kinokora] .rise-2,html[data-site=kinokora] .rise-3{animation:none}.skip-link{position:absolute;left:12px;top:-48px;z-index:80;background:var(--card);color:var(--text);padding:10px 14px;border-radius:10px;border:1px solid var(--line-strong);font-weight:650}.skip-link:focus{top:12px}.fit-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.fit-list li{padding:16px 18px 4px 0;border-top:2px solid var(--primary)}.fit-list h3{font-size:18px;margin:0 0 8px}.fit-list p{color:var(--muted);font-size:15px;margin:0}@media (max-width:700px){.fit-list{grid-template-columns:1fr}.fit-list li{padding-right:0}}.shot-grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:repeat(3,1fr);align-items:start}.shot-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow-sm)}.shot-card img{width:100%;height:auto;border-radius:12px;background:var(--bg)}.shot-card figcaption,.step-grid p{color:var(--muted);font-size:15px;margin-top:10px}.step-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.app-jump,.step-grid li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.step-grid li{padding:18px}.step-grid h3{margin-top:8px}.app-jump{display:flex;flex-wrap:wrap;gap:8px;margin:18px auto 0;padding:10px}.app-jump a{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;border-radius:10px;color:var(--text);font-weight:600}.release-line{font-size:14px;color:var(--muted);margin:0 0 16px;max-width:52ch}.story-pair{display:grid;grid-template-columns:minmax(0,1fr) 150px;grid-gap:14px;gap:14px;align-items:end}.learn-hero-art,.story-scene{margin:0}.learn-hero-art img,.story-card img,.story-scene img{width:100%;height:auto;display:block;background:#F7F4EA}.story-scene img{aspect-ratio:16/10;object-fit:cover;object-position:78% center;border-radius:16px}.learn-hero-art img,.story-card img{aspect-ratio:4/3;object-fit:cover;border-radius:12px}.learn-hero-art figcaption,.story-card figcaption,.story-scene figcaption{color:var(--muted);font-size:14px;margin-top:8px}html[data-site=kinokora] .story-app{width:100%;max-width:none;margin:0;justify-self:stretch}.flow-list{margin:12px 0 0;padding-left:1.2rem}.flow-list li{margin:4px 0}.status-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:0;gap:0}.status-list li{display:grid;grid-template-columns:minmax(160px,220px) 1fr;grid-gap:16px;gap:16px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.status-list p{margin:4px 0 0;color:var(--muted)}.build-steps{list-style:none;padding:0;margin:22px 0;display:grid;grid-gap:0;gap:0}.build-steps li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.learn-shelf{margin:28px 0 8px}.learn-shelf h2{font-size:clamp(26px,3vw,34px);margin-bottom:6px}.learn-shelf-quiet h2{font-size:22px}.learn-hero-art{max-width:420px;margin-top:18px}@media (max-width:900px){.story-pair{grid-template-columns:1fr}html[data-site=kinokora] .story-app{width:min(100%,180px);justify-self:start}html[data-site=kinokora] .home-hero .btn-row{flex-direction:column;align-items:flex-start}html[data-site=kinokora] .home-hero .btn-row .btn{flex:0 0 auto}}@media (max-width:700px){.build-steps li,.status-list li{grid-template-columns:1fr;display:grid}}.app-jump a:hover{background:var(--primary-soft)}.field-error{color:#7a1e1e;font-size:14px;font-weight:650}.field-bad input,.field-bad select,.field-bad textarea{border-color:#7a1e1e}.form-errors{background:#f8ece8;border:1px solid #e2c2b8;border-radius:12px;padding:12px 14px}.form-errors ul{margin:8px 0 0;padding-left:18px}@media (max-width:900px){.shot-grid,.step-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.shot-grid,.step-grid{grid-template-columns:1fr}}.fl-wrap{display:grid;grid-gap:20px;gap:20px}.fl-top{align-items:center;justify-content:space-between;gap:12px}.fl-steps,.fl-top{display:flex;flex-wrap:wrap}.fl-steps{list-style:none;padding:0;margin:0;gap:6px;font-size:13px;color:var(--muted)}.fl-steps li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--line);background:var(--card)}.fl-steps li.now{border-color:var(--primary-ink);color:var(--primary-ink);font-weight:600}.fl-steps li.done{color:var(--ok)}.fl-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--primary-soft);color:var(--primary-ink)}.fl-steps li.done .fl-dot{background:var(--ok-soft);color:var(--ok)}@media (max-width:620px){.fl-steplabel{display:none}.fl-steps li.now .fl-steplabel{display:inline}}.fl-lang select{font:inherit;padding:6px 10px;border-radius:10px;border:1px solid var(--line-strong);background:var(--card)}.fl-card{display:grid;grid-gap:16px;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.fl-card h2{font-size:24px}.fl-big,.fl-h3{font-size:16px}.fl-big{height:54px;padding:0 26px}.fl-big:disabled,.fl-card .btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:620px){.fl-card{padding:18px}.fl-big{width:100%}}.fl-tips{border:1px solid var(--line);border-radius:12px;padding:4px 16px;background:var(--card-2)}.fl-tips summary{cursor:pointer;font-weight:600;padding:10px 0}.fl-tips ul{margin:0 0 12px;padding-left:20px;color:var(--muted);font-size:14.5px}.fl-tips ul li{margin:6px 0}.fl-choice a,.fl-tips a{color:var(--primary-ink);text-decoration:underline;text-underline-offset:3px}.fl-demo-pick{display:grid;grid-gap:10px;gap:10px;border-top:1px dashed var(--line-strong);padding-top:14px}.fl-facts{margin:0;display:grid;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.fl-facts div{display:grid;grid-template-columns:160px 1fr;grid-gap:12px;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line);font-size:15px}.fl-facts div:last-child{border-bottom:0}.fl-facts dt{color:var(--muted)}.fl-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}@media (max-width:620px){.fl-facts div{grid-template-columns:1fr;gap:2px}}.fl-fieldset{border:0;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px;min-width:0}.fl-fieldset legend{font-weight:700;font-size:16px;padding:0;margin-bottom:8px}.fl-choices{display:grid;grid-gap:10px;gap:10px}.fl-choices-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.fl-choice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line-strong);border-radius:14px;background:var(--card);cursor:pointer}.fl-choice:hover{border-color:var(--primary-ink)}.fl-choice:has(input:checked){border-color:var(--primary-ink);box-shadow:0 0 0 3px var(--primary-soft);background:color-mix(in srgb,var(--primary-soft) 45%,var(--card))}.fl-choice:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.fl-choice input{margin-top:4px;accent-color:var(--primary-ink);width:18px;height:18px;flex:none}.fl-choice>span:last-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.fl-choice small{color:var(--muted);font-size:13.5px;font-weight:400;overflow-wrap:anywhere}.fl-boards{display:grid;grid-gap:12px;gap:12px}.fl-board{align-items:center}.fl-photo{flex:none;width:112px;height:84px;border-radius:10px;overflow:hidden;background:var(--primary-soft);display:block}.fl-photo img{width:100%;height:100%;object-fit:cover}@media (max-width:620px){.fl-board{flex-wrap:wrap}.fl-photo{width:100%;height:140px}}.fl-croplist{max-height:260px;overflow-y:auto;padding:2px}.fl-search{font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg);width:100%}.fl-parts{display:grid;grid-gap:10px;gap:10px;padding:16px;background:var(--card-2);border:1px solid var(--line);border-radius:12px}.fl-partsgroup{display:grid;grid-gap:4px;gap:4px;font-size:14.5px}.fl-partsgroup ul{margin:0;padding-left:20px;color:var(--muted)}.fl-partsgroup.soft ul{font-style:italic}.fl-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:620px){.fl-two{grid-template-columns:1fr}}.fl-writes{list-style:none;margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card-2);font-size:13px;display:grid;grid-gap:6px;gap:6px}.fl-writes span{display:inline-block;min-width:76px;color:var(--muted)}.fl-confirm{padding:14px 16px;border:1px solid var(--line-strong);border-radius:12px;background:var(--warn-soft);font-size:15px}.fl-bar{height:14px;border-radius:999px;background:var(--primary-soft);overflow:hidden}.fl-bar span{display:block;height:100%;background:var(--primary);transition:width .3s}.fl-log{margin:10px 0 0;max-height:220px;overflow:auto;padding:10px 12px;background:var(--ink);color:#dfe8e2;border-radius:10px;font-family:var(--mono);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.fl-error details{margin-top:8px}.fl-done{justify-items:start}.fl-done .card-icon{background:var(--ok-soft);color:var(--ok);margin-bottom:0}.viz{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}@media (max-width:620px){.viz{padding:8px;border-radius:16px}}.viz svg{display:block;width:100%;height:auto;font-family:var(--sans)}.v-zone{fill:color-mix(in srgb,var(--primary-soft) 55%,transparent);stroke:color-mix(in srgb,var(--primary) 25%,transparent);stroke-dasharray:6 6}.v-box{fill:var(--card);stroke:var(--line-strong)}.v-box-strong{fill:var(--primary)}.v-soft{fill:var(--primary-soft)}.v-title{font-size:17px;font-weight:700;fill:var(--text)}.v-sub{font-size:13.5px;fill:var(--muted)}.v-title-inv{font-size:17px;font-weight:700;fill:#fff}.v-sub-inv{font-size:13.5px;fill:rgba(255,255,255,.85)}.v-label{font-size:12px;letter-spacing:.12em}.v-label,.v-mono{font-family:var(--mono);fill:var(--primary-ink)}.v-mono{font-size:14px;font-weight:600}.v-mono-sm{font-family:var(--mono);font-size:12.5px;fill:var(--muted)}.v-pill{fill:var(--card);stroke:color-mix(in srgb,var(--primary) 40%,transparent)}.v-pill-off{fill:var(--card);stroke:var(--line-strong)}.v-pill-text{font-size:14px;font-weight:600;fill:var(--text)}.v-dot{fill:var(--primary)}.v-dot-off{fill:var(--faint)}.v-wire,.v-wire-dash{fill:none;stroke:var(--primary);stroke-width:2}.v-wire-dash{stroke-dasharray:5 6}.v-cable{fill:none;stroke:var(--primary-dark);stroke-width:6;stroke-linecap:round}.v-cable-thin{fill:none;stroke:var(--primary-dark);stroke-width:3}.v-arrow{fill:var(--primary)}.v-ring{fill:none;stroke:var(--primary);stroke-width:2.5}.v-line,.v-wifi path{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linecap:round}.v-line{stroke-linejoin:round}@media (prefers-reduced-motion:no-preference){.v-wire-dash{animation:v-flow 1.6s linear infinite}@keyframes v-flow{to{stroke-dashoffset:-22}}}.story-hero .hero-grid{align-items:center}.story-steps{list-style:none;padding:0;margin:0;display:grid;grid-gap:14px;gap:14px;counter-reset:step}.story-steps li{display:grid;grid-template-columns:52px 1fr;grid-gap:16px;gap:16px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm);counter-increment:step}.story-steps li:before{content:counter(step,decimal-leading-zero);font-family:var(--mono);font-weight:700;font-size:14px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff}.story-steps b{display:block;font-size:17px;margin-bottom:4px}.story-steps span{color:var(--muted)}.compare td:not(:first-child),.compare th:not(:first-child){text-align:center}.compare thead th{font-size:15px}.split-links{margin-top:26px}#nl-badge-frame,#nl-hud-frame{display:none!important}.logo-wordmark{color:var(--ink);font-size:23px;font-weight:760;letter-spacing:-.065em;line-height:1}.lx-hero{padding:clamp(48px,7vw,88px) 0 28px;background:radial-gradient(70% 120% at 85% 0,var(--primary-soft),transparent 60%)}.lx-hero h1{max-width:780px;margin:12px 0 14px}.lx-hero .lead{max-width:620px}.lx-stats{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px}.lx-stats li{display:inline-flex;align-items:baseline;gap:6px;padding:9px 16px;border-radius:999px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);font-size:14px;color:var(--muted)}.lx-stats b{color:var(--text);font-size:17px}.lx-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin:12px 0 28px}.lx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:28px 24px;gap:28px 24px}.lx-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;border-radius:20px;outline-offset:4px}.lx-thumb{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(80% 90% at 20% 10%,#2D6A4F,#0F1D14);box-shadow:var(--shadow)}.lx-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.lx-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%);pointer-events:none}.lx-thumb-mark{font-size:64px;font-weight:750;color:rgba(255,255,255,.85)}.lx-card:hover .lx-thumb img{transform:scale(1.04)}.lx-play{position:absolute;z-index:1;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(0,0,0,.3);opacity:0;transform:scale(.85);transition:opacity .2s,transform .2s}.lx-play:after{content:"";position:absolute;left:22px;top:18px;border-left:16px solid var(--primary);border-top:10px solid transparent;border-bottom:10px solid transparent}.lx-card:focus-visible .lx-play,.lx-card:hover .lx-play,.lx-course-poster .lx-play{opacity:1;transform:none}.lx-pill{position:absolute;z-index:1;bottom:10px;font-size:12px;font-weight:650;color:#fff;background:rgba(0,0,0,.55);padding:4px 10px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lx-pill-l{left:10px}.lx-pill-r{right:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lx-body{display:flex;flex-direction:column;gap:6px;padding:14px 4px 0}.lx-body h3{margin:0;font-size:18px;line-height:1.3;letter-spacing:-.01em}.lx-card:hover h3{color:var(--primary-ink)}.lx-body p{margin:0;color:var(--muted);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lx-topic{letter-spacing:.06em;text-transform:uppercase;color:var(--primary-ink)}.lx-badge,.lx-topic{font-size:12px;font-weight:700}.lx-badge{align-self:flex-start;color:#fff;background:var(--primary);padding:4px 10px;border-radius:999px}.lx-go{margin-top:8px;font-weight:650;color:var(--primary-ink)}.lx-progress{position:relative;margin-top:8px;height:5px;border-radius:999px;background:var(--line)}.lx-progress span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.lx-progress small{position:absolute;top:9px;left:0;font-size:12px;color:var(--muted)}.lx-progress+*{margin-top:18px}.lx-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:36px;gap:36px;align-items:center;margin-bottom:44px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.lx-feature .lx-thumb{box-shadow:none}.lx-feature .lx-play{opacity:1;transform:none;width:68px;height:68px}.lx-feature .lx-play:after{left:27px;top:22px;border-left-width:19px;border-top-width:12px;border-bottom-width:12px}.lx-feature .lx-body{gap:10px;padding:0 12px 0 0}.lx-feature h3{font-size:clamp(24px,2.6vw,32px)}.lx-feature p{-webkit-line-clamp:3;font-size:16px}.lx-guides{margin-top:56px}.lx-guides h2{font-size:22px;margin-bottom:4px}.lx-guides>p{margin-bottom:20px}.lx-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px;margin:4px 0 48px}.lx-cat-tile{position:relative;isolation:isolate;display:flex;align-items:flex-end;height:128px;padding:16px 18px;border:0;border-radius:18px;overflow:hidden;font:inherit;text-align:left;color:#fff;cursor:pointer;background:radial-gradient(90% 120% at 15% 0,#2D6A4F,#0F1D14);box-shadow:var(--shadow);transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s}.lx-cat-tile img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:85% center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.lx-cat-tile:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(10,26,17,.78),rgba(10,26,17,.35) 45%,transparent 75%)}.lx-cat-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.lx-cat-tile:hover img{transform:scale(1.06)}.lx-cat-tile:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.lx-cat-tile.on{box-shadow:0 0 0 3px var(--bg,#fff),0 0 0 6px var(--primary),var(--shadow)}.lx-cat-text{display:grid;grid-gap:3px;gap:3px;min-width:0}.lx-cat-text b{font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.2;text-shadow:0 1px 8px rgba(0,0,0,.35)}.lx-cat-text small{font-size:13px;font-weight:550;color:rgba(255,255,255,.82)}.lx-cat-check{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.25);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s}.lx-cat-tile.on .lx-cat-check{opacity:1;transform:none}.lx-cat-tile.topic-guides{background:radial-gradient(90% 120% at 15% 0,#3d7f61,#14261b)}.lx-cat{scroll-margin-top:96px}.lx-cat+.lx-cat{margin-top:72px;padding-top:56px;border-top:1px solid var(--line)}.lx-cat-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:28px}.lx-cat-head h2{font-size:clamp(28px,3.2vw,38px);letter-spacing:-.02em;margin:0 0 6px}.lx-cat-head p{margin:0;font-size:16px;color:var(--muted);max-width:560px}.lx-cat-facts{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}.lx-cat-facts li{font-size:13px;font-weight:600;background:var(--primary-soft);padding:5px 11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lx-cat-facts li,.lx-see-all{color:var(--primary-ink);border-radius:999px}.lx-see-all{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 14px 0 18px;font:inherit;font-size:14.5px;font-weight:650;cursor:pointer;background:var(--card);border:1px solid var(--line-strong);transition:border-color .15s,background .15s}.lx-see-all:hover{border-color:var(--primary);background:var(--primary-soft)}.lx-shelf+.lx-shelf{margin-top:44px}.lx-shelf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.lx-shelf-head h3{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;margin:0}.lx-shelf-head h3 span{font-size:12px;font-weight:700;color:var(--muted);background:var(--card);border:1px solid var(--line-strong);padding:1px 8px;border-radius:999px}.lx-shelf-head p{margin:4px 0 0;font-size:14.5px;color:var(--muted)}.lx-arrows{display:flex;gap:8px;flex:none}.lx-arrows button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;cursor:pointer;color:var(--text);background:var(--card);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);transition:border-color .15s,color .15s,opacity .15s}.lx-arrows button:hover:not(:disabled){border-color:var(--primary);color:var(--primary-ink)}.lx-arrows button:disabled{opacity:.35;cursor:default}.lx-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px) / 4);grid-gap:24px;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 4px;padding:4px 4px 12px;margin:-4px -4px 0;scrollbar-width:none;overscroll-behavior-x:contain}.lx-row::-webkit-scrollbar{display:none}.lx-row>.lx-card{scroll-snap-align:start;min-width:0}.lx-found{margin:0 0 18px}@media (max-width:1100px){.lx-row{grid-auto-columns:calc((100% - 48px) / 3)}}@media (max-width:820px){.lx-row{grid-auto-columns:calc((100% - 24px) / 2)}}@media (max-width:640px){.lx-cats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 -16px 36px;padding:6px 16px 10px;scrollbar-width:none}.lx-cats::-webkit-scrollbar{display:none}.lx-cat-tile{flex:0 0 168px;height:104px;padding:12px 14px;scroll-snap-align:start}.lx-cat-text b{font-size:16px}.lx-cat+.lx-cat{margin-top:48px;padding-top:40px}.lx-arrows{display:none}.lx-row{grid-auto-columns:78%;gap:14px;margin:-4px -16px 0;padding:4px 16px 12px;scroll-padding:0 16px}}@media (prefers-reduced-motion:reduce){.lx-cat-check,.lx-cat-tile,.lx-cat-tile img{transition:none}}.lx-ai-note{margin:36px 0 0;font-size:13px;color:var(--faint)}.continue-card{grid-template-columns:112px 1fr;align-items:center;gap:14px;padding:12px}.continue-card img{width:112px;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.continue-card>span{display:grid;grid-gap:4px;gap:4px;min-width:0}.lx-course-hero{margin-top:16px;padding:40px 0 48px;background:linear-gradient(180deg,var(--primary-soft),transparent)}.lx-course-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);grid-gap:48px;gap:48px;align-items:center}.lx-course-text h1{margin:10px 0 12px;font-size:clamp(32px,4.4vw,52px)}.lx-facts{list-style:none;padding:0;margin:22px 0 26px;display:flex;flex-wrap:wrap;gap:8px}.lx-facts li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:14px;font-weight:550}.lx-facts svg{color:var(--primary-ink)}.lx-cta .btn{min-width:220px}.lx-course-poster{position:relative;display:grid;place-items:center;aspect-ratio:16/9;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg)}.lx-course-poster img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.lx-course-poster:hover img{transform:scale(1.03)}.lx-course-poster .lx-play{width:76px;height:76px}.lx-course-poster .lx-play:after{left:30px;top:24px;border-left-width:21px;border-top-width:14px;border-bottom-width:14px}.lx-course-body{max-width:920px;padding-top:40px;padding-bottom:96px}.lx-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:16px}.lx-section-head h2{font-size:26px;margin:0}.lx-section-head p{margin:0;font-size:14px}.lx-lessons{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden}.lx-lessons li+li{border-top:1px solid var(--line)}.lx-lessons a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:15px 20px;color:inherit;transition:background .15s}.lx-lessons a:hover{background:var(--primary-soft)}.lx-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary-ink);font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:background .15s,color .15s}.lx-lessons a:hover .lx-num{background:var(--primary);color:#fff}.lx-ltitle{display:grid;grid-gap:3px;gap:3px;min-width:0}.lx-ltitle b{font-weight:600}.lx-ltitle .muted{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lx-lmeta{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lx-stamp{font-family:var(--mono)}.lx-stamp,.side-outline .so-meta{font-size:12px;color:var(--faint)}.side-outline .so-meta{display:inline-flex;align-items:center;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.side-outline .tick{width:18px;height:18px;font-size:10px}@media (max-width:900px){.lx-feature{grid-template-columns:1fr;gap:16px;padding:12px}.lx-feature .lx-body{padding:4px 6px 8px}.lx-course-grid{grid-template-columns:1fr;gap:28px}.lx-course-poster{order:-1;margin-top:12px}}@media (max-width:620px){.lx-grid{grid-template-columns:1fr}.lx-lessons a{grid-template-columns:30px minmax(0,1fr);padding:14px;gap:12px}.lx-lmeta{grid-column:2}.lx-stamp{display:none}.lx-cta .btn{width:100%}}@media (prefers-reduced-motion:reduce){.lx-course-poster img,.lx-play,.lx-thumb img{transition:none}}.site-film{--video-brand:#3fbf74;--video-focus-ring-color:#6be09e;--video-border-radius:var(--radius);--video-border:0;--video-font-family:inherit;--media-menu-checkbox-bg-active:#2D6A4F;--media-slider-track-fill-bg:#3fbf74;width:100%;height:100%;background:#000}.site-film iframe{pointer-events:none}.site-film .vds-video-layout .vds-controls{background-image:linear-gradient(0deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.25) 22%,transparent 40%)}.site-film .vds-video-layout .vds-controls:not([data-visible]){background-image:none}@font-face{font-family:sans;src:url(/_next/static/media/6c596dfcddeca1e9-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:sans Fallback;src:local("Arial");ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.00%;size-adjust:107.89%}.__className_d3a27a{font-family:sans,sans Fallback}.__variable_d3a27a{--font-sans:"sans","sans Fallback"}@font-face{font-family:mono;src:url(/_next/static/media/a865edea076e0166-s.p.woff2) format("woff2");font-display:swap;font-weight:100 800}@font-face{font-family:mono Fallback;src:local("Arial");ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.00%;size-adjust:131.49%}.__className_3d904d{font-family:mono,mono Fallback}.__variable_3d904d{--font-mono:"mono","mono Fallback"}