:root{--canopy: #0a1f14;--deep: #0f2e1f;--bark: #1a3d2a;--leaf: #2d5a3d;--moss: #7a9b6a;--lichen: #c9d9b0;--mist: #e8efe3;--fog: #f3f7f0;--ink: #1a2a1f;--muted: #5a6e5f;--danger: #8b3a3a;--ok: #3d6b4f;--radius: 4px;--font-display: "Fraunces", "Palatino Linotype", Palatino, serif;--font-body: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", sans-serif;--shadow-soft: 0 12px 40px rgba(10, 31, 20, .18);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);font-size:1.05rem;line-height:1.55;color:var(--ink);background:radial-gradient(ellipse 120% 80% at 10% -10%,rgba(122,155,106,.22),transparent 55%),radial-gradient(ellipse 90% 60% at 100% 0%,rgba(45,90,61,.18),transparent 50%),linear-gradient(180deg,var(--fog) 0%,var(--mist) 40%,#dfe8d8 100%);background-attachment:fixed}a{color:var(--leaf);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--deep)}h1,h2,h3,.brand{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.15}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(26,61,42,.12);background:#f3f7f0b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.site-nav .brand-link{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--deep);text-decoration:none;margin-right:.5rem}.site-nav .nav-links{display:flex;flex-wrap:wrap;gap:.35rem 1rem;flex:1}.site-nav a{color:var(--muted);text-decoration:none;font-size:.95rem;font-weight:500}.site-nav a:hover,.site-nav a.active{color:var(--deep)}.site-nav .nav-meta{font-size:.9rem;color:var(--muted)}main{flex:1;width:min(720px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}main.hero-main{width:min(960px,calc(100% - 2rem));display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 4.5rem);padding-top:0;padding-bottom:3rem}.hero{position:relative;padding:3rem 0 2rem;overflow:hidden}.hero:before{content:"";position:absolute;inset:-20% -10% auto auto;width:min(520px,80vw);height:min(520px,80vw);border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(201,217,176,.55),transparent 60%),radial-gradient(circle at 70% 60%,rgba(122,155,106,.35),transparent 55%);pointer-events:none;animation:drift 14s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;left:-8%;bottom:10%;width:40%;height:2px;background:linear-gradient(90deg,transparent,var(--moss),transparent);opacity:.45;animation:fade-line 8s ease-in-out infinite}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(-4%,6%) scale(1.06)}}@keyframes fade-line{0%,to{opacity:.2;transform:scaleX(.85)}50%{opacity:.55;transform:scaleX(1)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-brand{position:relative;font-family:var(--font-display);font-size:clamp(3rem,9vw,5.5rem);font-weight:700;color:var(--deep);margin:0 0 .75rem;animation:rise .9s ease-out both}.hero-line{position:relative;font-family:var(--font-display);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:500;color:var(--bark);margin:0 0 .75rem;max-width:22ch;animation:rise .9s ease-out .12s both}.hero-support{position:relative;color:var(--muted);max-width:36ch;margin:0 0 1.75rem;animation:rise .9s ease-out .22s both}.cta-row{position:relative;display:flex;flex-wrap:wrap;gap:.75rem;animation:rise .9s ease-out .32s both}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.15rem;border-radius:var(--radius);border:1px solid transparent;font-weight:600;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--deep);color:var(--lichen)}.btn-primary:hover{background:var(--canopy);color:var(--fog)}.btn-ghost{background:transparent;color:var(--leaf);border-color:#2d5a3d59}.btn-ghost:hover{background:#7a9b6a1f;color:var(--deep)}.btn:disabled{opacity:.55;cursor:not-allowed}.page-title{font-size:1.85rem;margin:0 0 .35rem;color:var(--deep)}.page-lead{margin:0 0 1.5rem;color:var(--muted)}.panel{padding:0;margin:0 0 1.5rem}.stack{display:flex;flex-direction:column;gap:.85rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.9rem;font-weight:600;color:var(--bark)}.field input,.field textarea,.field select{padding:.65rem .75rem;border:1px solid rgba(26,61,42,.22);border-radius:var(--radius);background:#ffffffa6;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(122,155,106,.55);outline-offset:1px;border-color:var(--moss)}.field-check{flex-direction:row;align-items:center;gap:.55rem}.field-check input{width:1.05rem;height:1.05rem}.msg{padding:.75rem .9rem;border-radius:var(--radius);font-size:.95rem}.msg-error{background:#8b3a3a1a;color:var(--danger);border:1px solid rgba(139,58,58,.25)}.msg-ok{background:#3d6b4f1a;color:var(--ok);border:1px solid rgba(61,107,79,.25)}.msg-info{background:#7a9b6a1f;color:var(--bark);border:1px solid rgba(122,155,106,.28)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.list-item{padding-bottom:1rem;border-bottom:1px solid rgba(26,61,42,.12)}.list-item:last-child{border-bottom:none}.list-item h3{margin:0 0 .25rem;font-size:1.15rem;color:var(--deep)}.meta{font-size:.88rem;color:var(--muted)}.mono{font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace;font-size:.88rem;word-break:break-all}.code-block{display:block;padding:.85rem 1rem;background:var(--deep);color:var(--lichen);border-radius:var(--radius);font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace;font-size:.92rem;overflow-x:auto}.steps{margin:0 0 1.25rem;padding-left:1.2rem;color:var(--muted)}.steps li{margin-bottom:.4rem}.split-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}@media(max-width:560px){.site-nav{padding:.85rem 1rem}main{width:calc(100% - 1.5rem);padding-top:1.5rem}main.hero-main{width:calc(100% - 1.5rem)}}
