:root{--bg: #f1ece2;--surface: #fbf8f2;--surface-2: #f5f0e7;--ink: #211d17;--muted: #756e62;--faint: #a89f90;--line: #e4dcce;--accent: #9a7b4c;--accent-soft: #ede4d4;--on-accent: #fcfaf5;--danger: #9a5b4a;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}::selection{background:var(--accent-soft)}button,input,textarea,select{font-family:inherit}@keyframes jvIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes jvFade{0%{opacity:0}to{opacity:1}}@keyframes jvShim{0%{background-position:-260px 0}to{background-position:260px 0}}@keyframes jvToast{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.serif{font-family:var(--serif)}.overline{font:500 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}.label{font:500 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;line-height:1.1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 13px var(--sans);letter-spacing:.01em;padding:11px 18px;border-radius:3px;border:1px solid transparent;cursor:pointer;transition:background .18s,color .18s,border-color .18s,opacity .18s;background:none;color:var(--ink);text-decoration:none;white-space:nowrap}.btn-accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-accent:hover{filter:brightness(1.06)}.btn-line{border-color:var(--line);color:var(--ink)}.btn-line:hover{border-color:var(--accent);color:var(--accent)}.btn-text{color:var(--muted);padding:11px 6px}.btn-text:hover{color:var(--accent)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger-text{color:var(--danger);padding:8px 6px;font-size:12.5px}.btn-sm{padding:7px 13px;font-size:12.5px}.btn:disabled,.btn[aria-disabled=true]{background:var(--line);color:var(--faint);border-color:var(--line);cursor:not-allowed;filter:none}.btn-block{width:100%}.field{display:block;margin-bottom:16px}.field>.label{display:block;margin-bottom:7px}.input,textarea.input{width:100%;font:400 15px var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:12px 13px;outline:none;transition:border-color .18s}.input:focus{border-color:var(--accent)}textarea.input{resize:vertical;min-height:104px;line-height:1.55}.input-wrap{position:relative}.input-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:500 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:none;border:none;cursor:pointer}.input-toggle:hover{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:6px}.pref-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:18px;row-gap:0;grid-template-rows:auto auto 1fr}.pref-pair>.card{display:grid;grid-row:span 3;grid-template-rows:subgrid}.pill{display:inline-flex;align-items:center;font:600 9.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px}.pill-accent{background:var(--accent-soft);color:var(--accent)}.pill-muted{background:var(--surface-2);color:var(--faint)}.logo-box{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:3px;color:var(--accent);flex:none}.trust{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:12.5px;line-height:1.5}.trust .lock{width:16px;height:16px;border:1.4px solid var(--faint);border-radius:4px;flex:none}.skeleton{background:linear-gradient(90deg,var(--line),var(--surface-2),var(--line));background-size:300px 100%;animation:jvShim 1.2s infinite linear;border-radius:4px}.auth-stage{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 20px;position:relative;animation:jvFade .4s both}.auth-card{width:100%;max-width:400px}.auth-lang{position:fixed;top:20px;right:22px}.fade-in{animation:jvFade .35s both}.slide-in{animation:jvIn .3s both}.spin{animation:jvFade .5s infinite alternate}
