/* Neura design system in the site (8 Nov 2026, built by Claude for the founder).
   Everything is scoped to .nr so old screens are untouched. Source of truth: Docs/design-system/ (tokens.json,
   components/bundle.css) + the founder's Claude Design prototype (2 - Documents/6 - Design mock-ups/2026-11-08 Neura Prototype (Claude Design).html).
   Generated by Docs/design-system/build-nr-css.py — rerun it instead of editing by hand. */
/* 1) TOKENS — generated from Docs/design-system/tokens.json (do not edit by hand; rerun the generator) */
.nr{--bg:#f5f5f7;--surface:#ffffff;--surface-2:#fbfbfd;--ink:#1d1d1f;--muted:#6e6e73;--line:#e5e5ea;--line-strong:#d2d2d7;--accent:#0a6b63;--accent-ink:#075049;--accent-soft:#e7f3f1;--on-accent:#ffffff;--ok:#1d7a44;--warn:#9a5b1e;--err:#c0392b;--ok-soft:#dff3e7;--ok-ink:#17663a;--warn-soft:#fbeee2;--warn-ink:#9a5b1e;--err-soft:#fbe4e2;--err-ink:#c0392b;--neutral-soft:#eceff0;--neutral-ink:#4d5a5e;--mint:#4cc2b6;--teal-deep:#064a44;--shadow:0 1px 2px rgba(0,0,0,.04), 0 4px 24px rgba(0,0,0,.06);--shadow-hover:0 2px 4px rgba(0,0,0,.05), 0 12px 32px rgba(0,0,0,.09);--focus:0 0 0 4px #e7f3f1;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--measure:680px;--radius-sm:12px;--radius:18px;--radius-lg:22px;--radius-chip:8px;--radius-pill:980px;--dur-fast:150ms;--dur:220ms;--ease-out:cubic-bezier(.2,.8,.2,1);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "Noto Sans Arabic", system-ui, sans-serif;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Noto Sans Arabic", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--font:var(--font-sans);--r-sm:var(--radius-sm);--r:var(--radius);--r-lg:var(--radius-lg);--pill:var(--radius-pill);--glow:rgba(76,194,182,.22);--scrim:rgba(0,0,0,.28)}
html[data-theme="dark"] .nr{--bg:#000000;--surface:#1c1c1e;--surface-2:#2c2c2e;--ink:#f5f5f7;--muted:#a1a1a6;--line:#38383a;--line-strong:#48484a;--accent:#4cc2b6;--accent-ink:#7ad6cc;--accent-soft:#10302c;--on-accent:#03201c;--ok:#4cd07d;--warn:#f0b35a;--err:#ff6b5e;--ok-soft:#16382a;--ok-ink:#7fd8a6;--warn-soft:#3a2a18;--warn-ink:#f0b77d;--err-soft:#3d1d1a;--err-ink:#f19a90;--neutral-soft:#262d2f;--neutral-ink:#aab6b8;--mint:#4cc2b6;--teal-deep:#064a44;--shadow:0 1px 2px rgba(0,0,0,.5), 0 8px 30px rgba(0,0,0,.45);--shadow-hover:0 2px 4px rgba(0,0,0,.5), 0 12px 36px rgba(0,0,0,.55);--focus:0 0 0 4px #10302c;--glow:rgba(76,194,182,.14);--scrim:rgba(0,0,0,.55);color-scheme:dark}

/* 2) COMPONENTS — Docs/design-system/components/bundle.css, unchanged */
/* Neura Research — component styles, hand-written from frontend/styles.css. Every value is a token from tokens.json. */
.nr { font-family: var(--font-sans); color: var(--ink); -webkit-font-smoothing: antialiased; font-size: 17px; line-height: 1.5; letter-spacing: -0.01em; }
.nr *, .nr *::before, .nr *::after { box-sizing: border-box; }

/* Button — Apple pill (.btn / .btn-primary / .btn-ghost / .btn-danger / .small / .btn-block) */
.nr .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; padding: 10px 22px;
  font: inherit; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; border: 1px solid transparent; border-radius: var(--radius-pill); cursor: pointer;
  transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out); }
.nr .btn-primary { background: var(--accent); color: var(--on-accent); }
.nr .btn-primary:hover { transform: scale(1.02); filter: brightness(1.08); }
.nr .btn-ghost { background: var(--surface); border-color: var(--line-strong); color: var(--ink); }
.nr .btn-ghost:hover { background: var(--accent-soft); transform: scale(1.02); }
.nr .btn-danger { background: #c0392b; color: #fff; }
.nr .btn:active { transform: scale(.97); }
.nr .btn:disabled { opacity: .45; cursor: not-allowed; transform: none; filter: none; }
.nr .btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.nr .btn.small { min-height: 36px; padding: 6px 16px; font-size: 14.5px; }
.nr .btn.large { min-height: 52px; padding: 14px 28px; font-size: 17px; }
.nr .btn-block { width: 100%; }
.nr .btn svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

/* Card (.card) */
.nr .card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-8); box-shadow: var(--shadow); }
.nr .card.lg { border-radius: var(--radius-lg); }
.nr .card h2 { margin: 0 0 var(--space-1); font-size: 23px; line-height: 1.2; font-weight: 650; letter-spacing: -0.02em; }
.nr .card .sub { margin: 0 0 22px; color: var(--muted); font-size: 16px; }

/* TextField (label, input, textarea, select) */
.nr label { display: block; font-weight: 500; font-size: 14px; margin: 0 0 7px; }
.nr .field + .field { margin-top: var(--space-4); }
.nr input, .nr textarea, .nr select { width: 100%; padding: 13px 14px; font: inherit; font-size: 16px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm);
  background: var(--surface-2); color: var(--ink); transition: border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.nr textarea { min-height: 120px; resize: vertical; }
.nr input::placeholder, .nr textarea::placeholder { color: var(--muted); }
.nr input:focus, .nr textarea:focus, .nr select:focus { outline: none; border-color: var(--accent); box-shadow: var(--focus); }
.nr .help { margin: 7px 0 0; font-size: 13px; color: var(--muted); }
.nr .field.err input { border-color: var(--err); }
.nr .field.err .help { color: var(--err); }

/* Prompt bar — the home's central input (TextField, large) */
.nr .prompt { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-2) var(--space-2) var(--space-5); min-height: 64px;
  background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius-lg); box-shadow: var(--shadow); transition: border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.nr .prompt:focus-within { border-color: var(--accent); box-shadow: var(--focus), var(--shadow); }
.nr .prompt input { flex: 1; border: 0; background: transparent; padding: var(--space-3) 0; font-size: 18px; box-shadow: none; }
.nr .prompt input:focus { box-shadow: none; }
.nr .prompt .btn { flex: none; }

/* Pill / Tag / Chip */
.nr .pill { display: inline-flex; align-items: center; gap: var(--space-1); padding: 4px 12px; border-radius: var(--radius-pill); font-size: 12px; font-weight: 600; white-space: nowrap; }
.nr .pill.teal { background: var(--accent-soft); color: var(--accent-ink); }
.nr .pill.ok { background: var(--ok-soft); color: var(--ok-ink); }
.nr .pill.warn { background: var(--warn-soft); color: var(--warn-ink); }
.nr .pill.err { background: var(--err-soft); color: var(--err-ink); }
.nr .pill.neutral { background: var(--neutral-soft); color: var(--neutral-ink); }
.nr .pill svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nr .tag { display: inline-block; background: var(--accent-soft); color: var(--accent-ink); border-radius: var(--radius-chip); padding: 3px 10px; font-size: 12px; margin: 2px 4px 2px 0; }
.nr .chip { display: inline-flex; align-items: center; gap: var(--space-1); padding: 4px 10px; border-radius: var(--radius-chip); background: var(--surface-2); border: 1px solid var(--line); font-size: 12.5px; font-variant-numeric: tabular-nums; }

/* Notice (.notice / .ok / .warn / .err) */
.nr .notice { display: flex; gap: var(--space-3); align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 12px 16px; border-radius: var(--radius-sm);
  background: var(--surface-2); border: 1px solid var(--line); font-size: 14px; }
.nr .notice.ok { background: var(--ok-soft); border-color: var(--ok-soft); color: var(--ok-ink); }
.nr .notice.warn { background: var(--warn-soft); border-color: var(--warn-soft); color: var(--warn-ink); }
.nr .notice.err { background: var(--err-soft); border-color: var(--err-soft); color: var(--err-ink); }
.nr .notice .btn.small { min-height: 32px; }

/* ToolCard — one of the three doors on the home */
.nr .tool { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); min-height: 196px; text-align: start; text-decoration: none; color: var(--ink);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); cursor: pointer; font: inherit;
  transition: transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out); }
.nr .tool:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); border-color: var(--line-strong); }
.nr .tool:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.nr .tool .ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--accent-soft); color: var(--accent-ink); }
.nr .tool .ico svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.nr .tool h3 { margin: var(--space-1) 0 0; font-size: 18px; line-height: 1.3; font-weight: 600; letter-spacing: -0.015em; }
.nr .tool p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.45; flex: 1; }
.nr .tool .go { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-ink); font-size: 14.5px; font-weight: 600; }
.nr .tool .go svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ChatBubble — the assistant and the student */
.nr .msg { display: flex; gap: var(--space-3); max-width: 100%; }
.nr .msg .avatar { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--accent); color: var(--on-accent); display: grid; place-items: center; }
.nr .msg .avatar svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 8; stroke-linecap: round; }
.nr .bubble { padding: 12px 16px; border-radius: var(--radius); font-size: 16px; line-height: 1.5; max-width: 85%; }
.nr .msg.ai .bubble { background: var(--surface); border: 1px solid var(--line); border-start-start-radius: 6px; color: var(--ink); }
.nr .msg.me { justify-content: flex-end; }
.nr .msg.me .bubble { background: var(--accent-soft); color: var(--ink); border-end-end-radius: 6px; }
.nr .bubble p { margin: 0; }
.nr .bubble p + p { margin-top: var(--space-2); }
.nr .bubble .time { display: block; margin-top: var(--space-1); font-size: 13px; color: var(--muted); }
.nr .typing { display: inline-flex; gap: 4px; padding: 4px 0; }
.nr .typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); opacity: .5; }
.nr .typing i:nth-child(2) { opacity: .75; } .nr .typing i:nth-child(3) { opacity: 1; }

/* Working — the loading state of every tool: step lines that tick as they finish */
.nr .steps { display: grid; gap: var(--space-3); margin-top: 22px; }
.nr .step { display: flex; align-items: center; gap: var(--space-3); font-size: 16px; color: var(--muted); }
.nr .step .ck { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--line-strong); display: grid; place-items: center; flex: none; }
.nr .step .ck svg { width: 14px; height: 14px; stroke: var(--on-accent); fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.nr .step.on { color: var(--ink); }
.nr .step.on .ck { border-color: var(--accent); border-top-color: transparent; animation: nr-spin .9s linear infinite; }
.nr .step.done { color: var(--ink); }
.nr .step.done .ck { background: var(--accent); border-color: var(--accent); }
.nr .step.done .ck svg { opacity: 1; }
.nr .step .m { color: var(--muted); font-size: 14px; margin-inline-start: auto; font-variant-numeric: tabular-nums; }
.nr .working-note { margin-top: 22px; color: var(--muted); font-size: 14px; }
@keyframes nr-spin { to { transform: rotate(360deg); } }

/* Result — answer first, proof behind a fold, then exactly two buttons */
.nr .answer { font-size: 26px; line-height: 1.3; font-weight: 650; letter-spacing: -0.02em; margin: var(--space-2) 0 0; }
.nr .est { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 13.5px; color: var(--muted); }
.nr .est svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.nr details.proof { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 16px; }
.nr details.proof summary { cursor: pointer; font-weight: 600; font-size: 15.5px; list-style: none; display: flex; align-items: center; gap: var(--space-2); }
.nr details.proof summary::-webkit-details-marker { display: none; }
.nr details.proof summary svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur) var(--ease-out); }
.nr details.proof[open] summary svg { transform: rotate(90deg); }
.nr details.proof .in { margin-top: 14px; display: grid; gap: var(--space-3); font-size: 14.5px; color: var(--muted); }
.nr .two { display: flex; gap: var(--space-3); flex-wrap: wrap; justify-content: flex-end; margin-top: 24px; }
.nr .two .btn { flex: 1 1 180px; }
@media (min-width: 560px) { .nr .two .btn { flex: 0 1 auto; min-width: 160px; } }
.nr .pricebox { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: 14px 16px; border-radius: var(--radius-sm); background: var(--surface-2); border: 1px solid var(--line); }
.nr .pricebox b { font-size: 22px; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.nr .pricebox .m { color: var(--muted); font-size: 13.5px; display: block; }

/* 3) SCREENS — the prototype's layout, scoped to .nr */
.nr *{box-sizing:border-box}
.nr{margin:0;min-height:100%;background:var(--bg) radial-gradient(900px 480px at 50% -10%,var(--glow),transparent 70%) no-repeat;color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
[dir=rtl] .nr{letter-spacing:0;line-height:1.7}
.nr button,.nr input,.nr textarea,.nr select{font:inherit;color:inherit}
.nr svg{stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
[dir=rtl] .nr svg.flip{transform:scaleX(-1)}
.nr a{color:var(--accent-ink)}
.nr h1,.nr h2,.nr h3{text-wrap:balance;margin:0}
.nr .hidden,.nr [hidden]{display:none!important}
.nr .top{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding-block:18px;gap:12px}
.nr .top .l{display:flex;align-items:center;gap:14px;min-width:0}
.nr .brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:20px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.nr .brand svg{width:22px;height:22px;color:var(--accent);stroke-width:8}
.nr .brand small{display:block;font-size:8.5px;font-weight:600;letter-spacing:3px;color:var(--muted);margin-top:3px}
.nr .brand .w{display:flex;flex-direction:column;line-height:1}
.nr .crumb{color:var(--muted);font-size:14.5px;display:none;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nr .crumb svg{width:16px;height:16px;flex:none}
.nr [data-view]:not([data-view="home"]) .crumb{display:inline-flex}
@media (max-width:560px){.nr .crumb{display:none!important}}
.nr .top .r{display:flex;gap:8px;align-items:center}
.nr .lang{min-height:40px;padding:6px 14px;border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--surface);cursor:pointer;font-size:14.5px;font-weight:600}
.nr .lang:hover{background:var(--accent-soft)}
.nr .acct{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 6px 6px 14px;border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--surface);color:var(--ink);font-size:14.5px;font-weight:500;cursor:pointer}
[dir=rtl] .nr .acct{padding:6px 14px 6px 6px}
.nr .acct:hover{background:var(--accent-soft)}
.nr .acct .av{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:12.5px;font-weight:700}
.nr main{max-width:760px;margin:0 auto;padding-block:24px 40px}
.nr main.wide{max-width:1080px}
.nr .view{animation:fade .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.nr .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;font-size:16px;font-weight:600;letter-spacing:-.01em;border:1px solid transparent;border-radius:var(--pill);cursor:pointer;text-decoration:none;transition:transform .15s,filter .15s,background .15s;white-space:nowrap}
.nr .btn svg{width:20px;height:20px;stroke-width:2;flex:none}
.nr .btn-primary{background:var(--accent);color:var(--on-accent)}
.nr .btn-primary:hover{transform:scale(1.02);filter:brightness(1.08)}
.nr .btn-ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}
.nr .btn-ghost:hover{background:var(--accent-soft)}
.nr .btn.small{min-height:36px;padding:6px 16px;font-size:14.5px}
.nr .btn.small svg{width:16px;height:16px}
.nr .btn.block{width:100%}
.nr .btn:active{transform:scale(.97)}
.nr .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.nr :is(.btn,.nr .tool,.nr .chip,.nr .acct,.nr .lang,.nr .row,.nr .opt,.nr .cite,.nr .link):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.nr .two{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-top:24px}
.nr .two .btn{flex:1 1 180px;max-width:100%}
@media (min-width:560px){.nr .two .btn{flex:0 1 auto;min-width:160px}}
.nr .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
@media (max-width:560px){.nr .card{padding:22px}}
.nr .card h2,.nr .sheet h2{font-size:23px;line-height:1.2;font-weight:650;letter-spacing:-.02em}
.nr .sub{margin:6px 0 0;color:var(--muted);font-size:16px}
.nr .pill{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--pill);font-size:12px;font-weight:600;white-space:nowrap}
.nr .pill svg{width:14px;height:14px;stroke-width:2}
.nr .pill.ok{background:var(--ok-soft);color:var(--ok-ink)}
.nr .pill.warn{background:var(--warn-soft);color:var(--warn-ink)}
.nr .pill.err{background:var(--err-soft);color:var(--err-ink)}
.nr .pill.neutral{background:var(--neutral-soft);color:var(--neutral-ink)}
.nr .pill.teal{background:var(--accent-soft);color:var(--accent-ink)}
.nr .field{margin-top:16px}
.nr .field:first-child{margin-top:0}
.nr label{display:block;font-weight:500;font-size:14px;margin:0 0 7px}
.nr input[type=text],.nr input[type=number],.nr input[type=email],.nr textarea,.nr select{width:100%;padding:13px 14px;font-size:16px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);transition:border-color .22s,box-shadow .22s}
.nr textarea{min-height:100px;resize:vertical}
.nr input::placeholder,.nr textarea::placeholder{color:var(--muted)}
.nr input:focus,.nr textarea:focus,.nr select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus)}
.nr .help{margin:7px 0 0;font-size:13px;color:var(--muted)}
.nr .notice{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 16px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:14.5px}
.nr .notice.ok{background:var(--ok-soft);border-color:var(--ok-soft);color:var(--ok-ink)}
.nr .notice.warn{background:var(--warn-soft);border-color:var(--warn-soft);color:var(--warn-ink)}
.nr .notice.err{background:var(--err-soft);border-color:var(--err-soft);color:var(--err-ink)}
.nr .kicker{font-size:11.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
[dir=rtl] .nr .kicker{letter-spacing:0;font-size:12.5px}
.nr .chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:var(--pill);padding:8px 14px;font-size:14px;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.nr .chip:hover,.nr .chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-soft)}
.nr .num{font-variant-numeric:tabular-nums}
.nr .back{display:flex;width:max-content;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:14.5px;font-weight:500;margin-bottom:18px;background:none;border:0;padding:0;cursor:pointer}
.nr .back:hover{color:var(--accent-ink)}
.nr .back svg{width:16px;height:16px;stroke-width:2}
.nr .h1{font-size:clamp(24px,4vw,30px);line-height:1.15;font-weight:700;letter-spacing:-.025em}
.nr .link{background:none;border:0;padding:0;color:var(--accent-ink);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:inherit}
.nr .proj{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-ink);font-size:14.5px;margin-bottom:18px}
.nr .proj svg{width:18px;height:18px;flex:none}
.nr .proj .t{flex:1;min-width:0}
.nr .proj b{font-weight:600}
.nr .home{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(12px,5vw,52px)}
.nr .hello{font-size:clamp(28px,5vw,40px);line-height:1.12;font-weight:700;letter-spacing:-.025em}
.nr .hello span{color:var(--accent-ink)}
.nr .home .sub{margin-top:10px;max-width:46ch}
.nr .prompt{width:100%;max-width:680px;margin-top:28px;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 20px;min-height:68px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow);transition:border-color .22s,box-shadow .22s;text-align:start}
[dir=rtl] .nr .prompt{padding:8px 20px 8px 8px}
.nr .prompt:focus-within{border-color:var(--accent);box-shadow:var(--focus),var(--shadow)}
.nr .prompt>svg{width:22px;height:22px;color:var(--muted);flex:none}
.nr .prompt input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:18px;padding:12px 0;box-shadow:none}
.nr .prompt input:focus{box-shadow:none}
.nr .prompt .btn{flex:none;min-height:52px;padding:12px 24px}
.nr .chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;max-width:680px}
.nr .cont{width:100%;max-width:680px;margin-top:32px;text-align:start}
.nr .cont .card{display:flex;align-items:center;gap:16px;padding:18px 20px;flex-wrap:wrap}
.nr .cont .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--accent-soft);color:var(--accent-ink);flex:none}
.nr .cont .ico svg{width:22px;height:22px}
.nr .cont .t{flex:1;min-width:200px}
.nr .cont b{display:block;font-weight:600;font-size:16.5px}
.nr .cont .m{color:var(--muted);font-size:14px}
.nr .cont .bar{height:6px;border-radius:3px;background:var(--line);margin-top:8px;overflow:hidden;max-width:260px}
.nr .cont .bar i{display:block;height:100%;width:30%;background:var(--accent);border-radius:3px}
.nr .doors{width:100%;margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:720px){.nr .doors{grid-template-columns:1fr}}
.nr .tool{display:flex;flex-direction:column;gap:12px;padding:24px;min-height:196px;text-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);color:var(--ink);cursor:pointer;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s}
.nr .tool:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--line-strong)}
.nr .tool .ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--accent-soft);color:var(--accent-ink)}
.nr .tool .ico svg{width:28px;height:28px}
.nr .tool h3{margin-top:4px;font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.nr .tool p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5;flex:1}
.nr .go{display:inline-flex;align-items:center;gap:6px;color:var(--accent-ink);font-size:14.5px;font-weight:600}
.nr .go svg{width:16px;height:16px;stroke-width:2}
.nr .more{margin-top:18px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;align-items:center}
.nr .help-l{margin-top:36px;color:var(--muted);font-size:14px;text-align:center}
.nr .flow{max-width:640px;margin:0 auto}
.nr .flow.wide{max-width:none}
.nr .phase{display:flex;gap:6px;align-items:center;margin:4px 0 18px;color:var(--muted);font-size:13.5px}
.nr .phase i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);display:inline-block}
.nr .phase i.on{background:var(--accent);width:22px;border-radius:4px}
.nr .phase i.done{background:var(--accent)}
.nr .phase span{margin-inline-start:6px}
.nr .opts{display:grid;gap:10px;margin-top:18px}
.nr .opt{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer;text-align:start;min-height:60px}
.nr .opt:hover{border-color:var(--line-strong)}
.nr .opt[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}
.nr .opt b{font-weight:600;font-size:16px;display:block}
.nr .opt .m{color:var(--muted);font-size:14px}
.nr .opt .dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center}
.nr .opt[aria-pressed=true] .dot{border-color:var(--accent);background:var(--accent)}
.nr .opt[aria-pressed=true] .dot svg{width:12px;height:12px;color:var(--on-accent);stroke-width:3}
.nr details.adv{margin-top:16px}
.nr details.adv summary{cursor:pointer;color:var(--muted);font-size:14.5px;font-weight:500;list-style:none;display:inline-flex;gap:6px;align-items:center}
.nr details.adv summary::-webkit-details-marker{display:none}
.nr details.adv summary svg{width:16px;height:16px;transition:transform .2s}
.nr details.adv[open] summary svg{transform:rotate(90deg)}
.nr .steps{display:grid;gap:12px;margin-top:22px}
.nr .step{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--muted);transition:color .3s}
.nr .step .ck{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;flex:none;transition:all .3s}
.nr .step .ck svg{width:14px;height:14px;stroke-width:3;color:var(--on-accent);opacity:0}
.nr .step.on{color:var(--ink)}
.nr .step.on .ck{border-color:var(--accent);border-top-color:transparent;animation:spin .9s linear infinite}
.nr .step.done{color:var(--ink)}
.nr .step.done .ck{background:var(--accent);border-color:var(--accent)}
.nr .step.done .ck svg{opacity:1}
.nr .step .m{color:var(--muted);font-size:14px;margin-inline-start:auto}
@keyframes spin{to{transform:rotate(360deg)}}
.nr .working-note{margin-top:22px;color:var(--muted);font-size:14px}
.nr .answer{font-size:clamp(21px,3.2vw,26px);line-height:1.3;font-weight:650;letter-spacing:-.02em;margin-top:8px}
.nr .answer.num-big{text-align:center;padding:10px 0 4px}
.nr .answer .n{display:block;font-size:72px;line-height:1;font-weight:700;letter-spacing:-.03em;color:var(--accent-ink)}
.nr .answer .l{display:block;color:var(--muted);font-size:16px;font-weight:400;margin-top:8px;letter-spacing:-.01em}
.nr .est{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13.5px;color:var(--muted)}
.nr .est svg{width:16px;height:16px}
.nr details.proof{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.nr details.proof summary{cursor:pointer;font-weight:600;font-size:15.5px;list-style:none;display:flex;align-items:center;gap:8px}
.nr details.proof summary::-webkit-details-marker{display:none}
.nr details.proof summary svg{width:18px;height:18px;transition:transform .2s}
.nr details.proof[open] summary svg{transform:rotate(90deg)}
.nr details.proof .in{margin-top:14px;display:grid;gap:12px}
.nr .gapcard{border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px;background:var(--surface-2)}
.nr .gapcard .t{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.nr .gapcard h3{font-size:16.5px;line-height:1.35;font-weight:600;margin:6px 0 4px}
.nr .gapcard p{margin:0;color:var(--muted);font-size:14.5px}
.nr .src{font-size:14px;color:var(--muted)}
.nr .src h4{margin:0 0 6px;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
[dir=rtl] .nr .src h4{letter-spacing:0}
.nr .src ol{margin:0;padding-inline-start:20px;display:grid;gap:4px}
.nr .sum{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:480px){.nr .sum{grid-template-columns:1fr}}
.nr .sum div{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;background:var(--surface-2)}
.nr .sum .k{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--accent-ink);font-weight:600}
[dir=rtl] .nr .sum .k{letter-spacing:0;font-size:12.5px}
.nr .sum .v{margin-top:4px;font-size:15px}
.nr .copy{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);font-size:14.5px;color:var(--muted)}
.nr .ws{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
@media (max-width:860px){.nr .ws{grid-template-columns:1fr}}
.nr .doc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:32px 36px;min-width:0}
@media (max-width:560px){.nr .doc{padding:22px 18px}}
.nr .doc h2{font-size:21px;font-weight:650;letter-spacing:-.02em;margin:22px 0 8px}
.nr .doc h2:first-of-type{margin-top:8px}
.nr .doc p{margin:0 0 12px;max-width:65ch}
.nr .cite{display:inline-block;line-height:1.3;padding:0 7px;border-radius:6px;background:var(--accent-soft);color:var(--accent-ink);font-size:14px;font-weight:600;cursor:pointer;border:0}
.nr .doc .new{background:var(--ok-soft);border-radius:6px;padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.nr .doc .todo{color:var(--muted);border:1.5px dashed var(--line-strong);border-radius:var(--r-sm);padding:14px 16px;font-size:15px}
.nr .chat{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-height:520px;max-height:calc(100vh - 160px);position:sticky;top:env(safe-area-inset-top,0px)}
@media (max-width:860px){.nr .chat{position:static;max-height:none;min-height:0}}
.nr .chat-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.nr .chat-h .av,.nr .msg .av{flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}
.nr .chat-h .av svg,.nr .msg .av svg{width:16px;height:16px;stroke-width:8}
.nr .chat-h b{font-size:15.5px}
.nr .chat-h .m{display:block;color:var(--muted);font-size:13px}
.nr .chat-b{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.nr .msg{display:flex;gap:10px}
.nr .bubble{padding:12px 16px;border-radius:var(--r);font-size:15.5px;line-height:1.5;max-width:88%}
.nr .msg.ai .bubble{background:var(--surface-2);border:1px solid var(--line);border-start-start-radius:6px}
.nr .msg.me{justify-content:flex-end}
.nr .msg.me .bubble{background:var(--accent-soft);border-end-end-radius:6px}
.nr .bubble p{margin:0}
.nr .bubble p+p{margin-top:8px}
.nr .acts{display:flex;gap:8px;flex-wrap:wrap;padding-inline-start:40px}
.nr .typing{display:inline-flex;gap:4px;padding:6px 0}
.nr .typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
.nr .typing i:nth-child(2){animation-delay:.2s}
.nr .typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}
.nr .chat-f{padding:12px;border-top:1px solid var(--line)}
.nr .chat-f .in{display:flex;gap:8px;align-items:center;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:6px 6px 6px 16px}
[dir=rtl] .nr .chat-f .in{padding:6px 16px 6px 6px}
.nr .chat-f .in:focus-within{border-color:var(--accent);box-shadow:var(--focus)}
.nr .chat-f input{flex:1;min-width:0;border:0;background:transparent;padding:10px 0;font-size:15.5px;box-shadow:none}
.nr .chat-f input:focus{box-shadow:none}
.nr .chat-f .send{width:40px;height:40px;border-radius:50%;border:0;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;cursor:pointer;flex:none}
.nr .chat-f .send svg{width:18px;height:18px;stroke-width:2}
.nr .row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);cursor:pointer;width:100%;text-align:start;text-decoration:none}
.nr .row+.row{margin-top:8px}
.nr .row:hover{border-color:var(--line-strong);background:var(--surface-2)}
.nr .row>svg{width:20px;height:20px;color:var(--muted);flex:none}
.nr .row b{font-weight:600;font-size:15.5px;display:block}
.nr .row .m{color:var(--muted);font-size:13.5px}
.nr .row .t{min-width:0;flex:1}
.nr .row .pill{margin-inline-start:auto}
.nr .empty{text-align:center;padding:40px 20px;border:1.5px dashed var(--line-strong);border-radius:var(--r)}
.nr .empty .ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--accent-soft);color:var(--accent-ink);margin-bottom:12px}
.nr .empty .ico svg{width:28px;height:28px}
.nr .empty h3{font-size:18px;font-weight:600}
.nr .empty p{color:var(--muted);font-size:15px;margin:6px auto 0;max-width:38ch}
.nr .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
@media (max-width:760px){.nr .plans{grid-template-columns:1fr}}
.nr .plan{position:relative;display:flex;flex-direction:column;gap:14px}
.nr .plan.hi{border-color:var(--accent)}
.nr .plan .badge{position:absolute;top:-12px;inset-inline-start:22px}
.nr .plan .price{font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1}
.nr .plan .price small{font-size:14px;color:var(--muted);font-weight:500;letter-spacing:0}
.nr .plan ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:15px;flex:1}
.nr .plan li{display:flex;gap:8px;align-items:flex-start}
.nr .plan li svg{width:18px;height:18px;color:var(--ok);flex:none;margin-top:4px;stroke-width:2}
.nr .center{text-align:center}
.nr .signin{max-width:420px;margin:24px auto 0}
.nr .or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:18px 0}
.nr .or::before,.nr .or::after{content:"";flex:1;height:1px;background:var(--line)}
.nr .sheet{position:fixed;inset:0;display:grid;place-items:end center;background:var(--scrim);padding:16px;z-index:20}
@media (min-width:720px){.nr .sheet{place-items:center}}
.nr .sheet .box{width:100%;max-width:440px;background:var(--surface);border-radius:var(--r-lg);padding:28px 24px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-hover);text-align:start}
.nr .sheet p{margin:6px 0 18px;color:var(--muted);font-size:16px}
.nr .sheet .two{margin-top:6px}
.nr .menu{display:grid;gap:4px;margin:-6px 0 14px}
.nr .menu button{display:flex;align-items:center;gap:12px;width:100%;text-align:start;padding:12px 14px;border:0;background:transparent;border-radius:var(--r-sm);cursor:pointer;font-size:16px}
.nr .menu button:hover{background:var(--accent-soft)}
.nr .menu button svg{width:20px;height:20px;color:var(--muted)}
.nr .pricebox{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);margin-bottom:14px}
.nr .pricebox b{font-size:22px;letter-spacing:-.02em}
.nr .pricebox .m{color:var(--muted);font-size:13.5px;display:block}
.nr .toast{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-hover);border-radius:16px;padding:12px 18px;display:flex;align-items:center;gap:10px;font-size:15px;z-index:30;max-width:calc(100vw - 32px)}
.nr .toast .ck{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#fff;flex:none}
.nr .toast .ck svg{width:13px;height:13px;stroke-width:3}
.nr .statebar{position:sticky;bottom:0;margin:24px auto 0;max-width:1080px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm) var(--r-sm) 0 0;font-size:13px;color:var(--muted);z-index:5}
.nr .statebar .chip{padding:5px 11px;font-size:12.5px}
@media (prefers-reduced-motion:reduce){.nr *{transition:none!important;animation:none!important}}
