/* Nika Studio — общий стиль. Одна колонка, тонкая нижняя панель (64px), контент с запасом снизу, чтобы ничего не пряталось */
:root{
  --bg:#F6F8FA; --card:#FFFFFF; --ink:#0F172A; --muted:#7E8C9E; --line:#E3E9EF;
  --accent:#0E9F6E; --accent-2:#10B981; --dark:#062A20; --soft:#EEF2F6;
  --warn-bg:#FFF6E5; --warn-ink:#8A5A00; --danger:#E5484D;
  --display:"Montserrat",system-ui,sans-serif; --body:"Manrope",system-ui,sans-serif;
  --bar:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0B1220; --card:#121B2C; --ink:#EAF0F6; --muted:#8392A7; --line:#22304A;
  --accent:#10B981; --accent-2:#34D399; --dark:#05261C; --soft:#18233A;
  --warn-bg:#2E2410; --warn-ink:#F3C969; color-scheme:dark;}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:500 15px/1.45 var(--body);-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
[hidden]{display:none!important}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.wrap{max-width:480px;margin:0 auto;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  padding-top:calc(16px + env(safe-area-inset-top,0px));
  padding-bottom:calc(var(--bar) + 36px + env(safe-area-inset-bottom,0px))}

h2{font:900 italic 30px/1.1 var(--display);text-transform:uppercase;margin:0 0 16px;text-wrap:balance}
h3{font:800 11px var(--body);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin:22px 4px 10px}

.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;border-radius:28px;padding:0 20px;
  font:800 13px var(--body);letter-spacing:.14em;text-transform:uppercase}
.btn-main{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(14,159,110,.22)}
.btn-ghost{background:var(--card);color:var(--muted);border:1px solid var(--line)}
.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--line)}
.btn:disabled{opacity:.5;cursor:default}

.input{width:100%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:18px;padding:14px 18px;font:600 16px var(--body);outline:none}
.input:focus{border-color:var(--accent-2)}
textarea.input{min-height:80px;resize:vertical}

.vac{background:var(--warn-bg);color:var(--warn-ink);border-radius:20px;padding:14px 16px;font-weight:600;font-size:14px;line-height:1.45}
.vac b{display:block;font:900 italic 15px var(--display);text-transform:uppercase;margin-bottom:4px}
.err{color:var(--danger);font-size:13px;min-height:18px;padding-left:6px}
.toast{position:fixed;left:50%;bottom:calc(var(--bar) + 30px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);
  background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:14px;font-weight:700;font-size:14px;z-index:50;max-width:90vw}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.cmodal{position:fixed;inset:0;background:rgba(15,23,42,.6);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}
.cmodal .box{background:var(--bg);border-radius:24px;padding:22px;max-width:400px;width:100%;display:flex;flex-direction:column;gap:12px;text-align:center}
.cmodal .box h2{font-size:22px;margin:0}
.cmodal .box p{margin:0;color:var(--muted);font-size:14px}
.cmodal .code{font:900 24px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;background:var(--card);color:var(--ink);border:2px dashed var(--accent-2);border-radius:16px;padding:14px 8px;user-select:all;word-break:break-all}
.linkbtn{color:var(--accent);font-weight:800;font-size:14px;text-decoration:underline;text-underline-offset:3px;padding:4px}
