:root{--bg: #f6f7f9;--bg-deep: #eef0f3;--panel: #ffffff;--panel-2: #f4f5f7;--ink: #1b1f27;--muted: #5b6472;--faint: #97a0ad;--border: #e4e7ec;--border-soft: #eceef1;--accent: #4f46e5;--accent-bright: #6d5efc;--accent-deep: #4338ca;--accent-ink: #ffffff;--accent-soft: rgba(79, 70, 229, .1);--accent-glow: rgba(79, 70, 229, .3);--ok: #16a34a;--bad: #dc2626;--warn: #d97706;--paper: #ffffff;--paper-edge: #eef0f3;--paper-ink: #1b1f27;--paper-muted: #6b7280;--ph: #a2a8b2;--sheet-bg: var(--paper);--sheet-border: 1px solid #e6e8ec;--sheet-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 14px 38px rgba(16, 24, 40, .1);--glass-bg: color-mix(in srgb, #ffffff 80%, transparent);--hover: rgba(16, 24, 40, .05);--caret: var(--accent);--radius: 12px;--measure: 660px;--display: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Instrument Sans", "Segoe UI", sans-serif;--serif: "Newsreader", Charter, Georgia, serif;--mono: "Spline Sans Mono", Consolas, monospace}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:var(--bg);font-family:var(--sans);position:relative}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1100px 600px at 28% -10%,var(--accent-soft),transparent 60%)}#app{position:relative;z-index:1;max-width:var(--measure);margin:0 auto;padding:0 22px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;height:58px;margin-bottom:18px}.nav{display:flex;align-items:center;gap:14px;font:500 13px/1 var(--sans)}.nav-here{color:var(--ink);font-weight:600;padding-bottom:2px;border-bottom:2px solid var(--accent)}.nav-link{color:var(--muted);text-decoration:none;transition:color .12s ease}.nav-link:hover{color:var(--accent)}.brand{display:flex;align-items:center;gap:11px}.brand-seal{width:30px;height:30px;color:var(--accent)}.brand-name strong{display:block;font:600 18px/1 var(--display);letter-spacing:.01em;color:var(--ink)}.brand-name span{display:block;margin-top:3px;font-size:8px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}.eyebrow{margin:0 0 12px;font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.sheet{background:var(--sheet-bg);color:var(--paper-ink);border-radius:var(--radius);border:var(--sheet-border);box-shadow:var(--sheet-shadow);overflow:hidden;animation:rise .5s .04s cubic-bezier(.22,1,.36,1) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.toolbar{display:flex;gap:2px;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.tb{width:32px;height:30px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-family:var(--display);font-size:16px;line-height:1;transition:background .12s ease,color .12s ease}.tb svg{width:18px;height:18px}.tb i{font-style:italic}.tb:hover{background:var(--hover);color:var(--ink)}.tb.on{background:var(--accent-soft);color:var(--accent)}.paper{padding:30px 40px 28px}.ProseMirror{outline:none;min-height:200px;font-family:var(--serif);font-size:18px;line-height:1.72;font-variation-settings:"opsz" 16;color:var(--paper-ink);caret-color:var(--caret)}.ProseMirror p{margin:0 0 .7em}.ProseMirror .is-empty:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none;font-style:italic;color:var(--ph)}.ProseMirror strong{font-weight:620}.ProseMirror a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.ProseMirror ul{padding-left:1.2em}.ProseMirror ::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}.sheet-foot{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;border-top:1px solid var(--border-soft);background:var(--panel-2);font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-muted);font-variant-numeric:tabular-nums}.assurance{display:inline-flex;align-items:center;gap:6px}.sheet-foot .nib{width:14px;height:14px;color:var(--ok)}.toggle{margin:24px 0 0;border:1px solid var(--border);border-radius:var(--radius);padding:6px 16px 14px;background:var(--panel)}.toggle legend{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 8px}.opt{display:flex;gap:10px;align-items:baseline;padding:7px 0;font-size:14px;color:var(--muted);cursor:pointer}.opt b{font-weight:600;color:var(--ink)}.opt input{accent-color:var(--accent);transform:translateY(1px)}.actions{margin-top:22px;display:flex;align-items:center;gap:16px}.primary{font:600 15px/1 var(--sans);color:var(--accent-ink);background:linear-gradient(180deg,var(--accent-bright),var(--accent-deep));border:none;border-radius:10px;padding:12px 22px;cursor:pointer;box-shadow:0 6px 18px -8px var(--accent-glow);transition:transform .1s ease,box-shadow .2s ease}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px -8px var(--accent-glow)}.primary:active{transform:translateY(0)}.status{font-size:13px;color:var(--muted)}.result{margin-top:28px;background:var(--panel);color:var(--ink);border-radius:var(--radius);border:1px solid var(--border);border-top:3px solid var(--ok);padding:20px 22px;box-shadow:var(--sheet-shadow);animation:rise .4s cubic-bezier(.2,.7,.2,1) both}.result h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;font:560 18px/1.2 var(--display)}.result h2 .nib{width:20px;height:20px;color:var(--ok)}.field{display:block;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}#r-link{width:100%;margin-top:6px;padding:10px 12px;font:12px/1.45 var(--mono);color:var(--ink);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;resize:vertical;text-transform:none;letter-spacing:0}.row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 10px}.ghost{font:500 14px/1 var(--sans);color:var(--accent-deep);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:9px 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.ghost:hover{border-color:var(--accent);background:var(--accent-soft)}.note{margin:6px 0 0;font-size:13px;color:var(--muted)}
