:root{--ink: #14231c;--ink-soft: #3d5248;--paper: #f3efe6;--paper-2: #e7e0d2;--leaf: #1b3a2f;--leaf-mid: #2f5d4a;--mint: #7cb89a;--line: rgba(20, 35, 28, .14);--ok: #2f6b4f;--danger: #9b3b32;--warn: #8a6a2a;--shadow: 0 18px 40px rgba(20, 35, 28, .12);--font-display: "Fraunces", Georgia, serif;--font-body: "Manrope", "Segoe UI", sans-serif;--max: 760px;--radius: 14px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(124,184,154,.35),transparent 55%),radial-gradient(ellipse 70% 45% at 100% 0%,rgba(47,93,74,.18),transparent 50%),linear-gradient(180deg,#f7f3ea 0%,var(--paper) 45%,#ebe4d6 100%);background-attachment:fixed}a{color:var(--leaf-mid)}button,input,textarea{font:inherit}#app{min-height:100vh}.shell{width:min(100% - 2rem,var(--max));margin:0 auto;padding:1.25rem 0 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;animation:rise .5s ease both}.brand{font-family:var(--font-display);font-weight:700;font-size:1.65rem;letter-spacing:-.02em;color:var(--leaf);text-decoration:none}.brand span{color:var(--mint)}.nav-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.hero{text-align:center;padding:2.5rem 0 2rem;animation:rise .7s ease both}.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--leaf);margin:0 0 .75rem}.hero p{margin:0 auto 1.5rem;max-width:34rem;color:var(--ink-soft);font-size:1.05rem;line-height:1.55}.panel{background:#fffcf6d1;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow);animation:rise .6s ease both}.panel h2{font-family:var(--font-display);font-size:1.45rem;margin:0 0 .85rem;color:var(--leaf)}.stack{display:grid;gap:.85rem}label{display:grid;gap:.35rem;font-size:.92rem;font-weight:600;color:var(--ink-soft)}input[type=email],input[type=password],input[type=text],textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem .85rem;background:#fffdf8;color:var(--ink)}textarea{min-height:280px;resize:vertical;line-height:1.5}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:999px;padding:.65rem 1.15rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:transform .16s ease,background .16s ease,border-color .16s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--leaf);color:#f4f7f4}.btn-primary:hover{background:var(--leaf-mid)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-danger{background:transparent;border-color:#9b3b3259;color:var(--danger)}.muted{color:var(--ink-soft);font-size:.92rem;line-height:1.45}.notice{padding:.75rem .9rem;border-radius:10px;background:#2f5d4a14;border:1px solid rgba(47,93,74,.18);color:var(--ink-soft);font-size:.9rem;line-height:1.45}.error{color:var(--danger);font-size:.92rem}.ok{color:var(--ok);font-size:.92rem}.vault-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.vault-list a{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:12px;text-decoration:none;color:inherit;border:1px solid var(--line);background:#fffcf6b3;transition:border-color .16s ease,background .16s ease}.vault-list a:hover{border-color:#2f5d4a59;background:#fff}.vault-list strong{font-weight:650}.editor-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.85rem}.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.tab{border:1px solid var(--line);background:#fffcf6b3;border-radius:999px;padding:.35rem .8rem;cursor:pointer;font-size:.88rem}.tab.active{background:var(--leaf);border-color:var(--leaf);color:#f4f7f4}.row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.status-dot{font-size:.85rem;color:var(--ink-soft)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.turnstile-wrap{display:grid;gap:.4rem}.turnstile-slot{min-height:65px}.turnstile-slot iframe{max-width:100%}.hint{margin:0;font-size:.88rem;color:var(--ink-soft)}@media(max-width:560px){.hero{padding-top:1.25rem}.panel{padding:1rem}}
