/* GCG Tools - one stylesheet for every page. Palette: navy + gold (Grigoryan Capital Group). */
:root{
  --bg:#f6f4ef; --card:#ffffff; --ink:#14223a; --ink2:#3d4a5c; --ink3:#6b7686; --rule:#dfe3ea;
  --brand:#1f3c88; --brand2:#162d68; --gold:#c9a24a; --ok:#1d7a46; --bad:#b42335; --soft:#eef2f9;
  --radius:12px; --shadow:0 1px 2px rgba(20,34,58,.06),0 4px 16px rgba(20,34,58,.06);
}
@media (prefers-color-scheme:dark){
  :root{--bg:#0f1522;--card:#172033;--ink:#eef2f8;--ink2:#c3cad6;--ink3:#8e98a8;--rule:#2a3448;
        --brand:#8fb0ff;--brand2:#b9ccff;--soft:#1d2a42;--shadow:none}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif}
a{color:var(--brand)}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
header.top{background:var(--card);border-bottom:1px solid var(--rule)}
header.top .wrap{display:flex;align-items:center;gap:16px;min-height:60px}
.logo{font:700 19px/1 Georgia,serif;color:var(--ink);text-decoration:none;white-space:nowrap}
.logo span{color:var(--gold)}
nav.cats{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}
nav.cats a{color:var(--ink2);text-decoration:none}
nav.cats a:hover{color:var(--brand)}
main{padding:24px 0 48px}
h1{font:700 30px/1.2 Georgia,serif;margin:0 0 6px}
h2{font:700 21px/1.3 Georgia,serif;margin:28px 0 10px}
h3{font-size:16px;margin:18px 0 6px}
.lead{color:var(--ink2);margin:0 0 18px;font-size:17px}
.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin:0 0 4px}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:10px 12px;min-height:44px}
input[type=checkbox],input[type=radio]{width:auto;min-height:0}
input[type=color]{padding:2px;height:44px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}
.hint{font-size:12.5px;color:var(--ink3);margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 inherit;font-family:inherit;border:0;border-radius:9px;padding:12px 18px;min-height:44px;cursor:pointer;background:var(--brand);color:#fff;text-decoration:none}
.btn:hover{background:var(--brand2)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.result{background:var(--soft);border-radius:var(--radius);padding:16px}
.big{font:700 30px/1.15 Georgia,serif}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:15px}
.kv:last-child{border-bottom:0}
.kv b{font-variant-numeric:tabular-nums}
.err{color:var(--bad);font-size:14px;margin-top:8px}
.ok{color:var(--ok)}
.note{font-size:13px;color:var(--ink3)}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--brand)}
.private{display:block;font-size:13.5px;color:var(--ok);margin:8px 0 14px}
.drop{border:2px dashed var(--rule);border-radius:var(--radius);padding:28px;text-align:center;color:var(--ink2);cursor:pointer;background:var(--card)}
.drop.on{border-color:var(--brand);background:var(--soft)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:14px}
.thumb{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:6px;text-align:center;font-size:12px;position:relative;cursor:grab}
.thumb canvas{max-width:100%;height:auto;display:block;margin:0 auto 4px;background:#fff}
.thumb .x{position:absolute;top:2px;right:4px;border:0;background:none;font-size:18px;cursor:pointer;color:var(--ink3)}
.thumb .r{border:0;background:none;cursor:pointer;color:var(--brand);font-size:12px}
.thumb.drag{opacity:.4}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
table.tbl th,table.tbl td{border-bottom:1px solid var(--rule);padding:6px 4px;text-align:right}
table.tbl th:first-child,table.tbl td:first-child{text-align:left}
.tools a.tool{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}
.tools a.tool:hover{border-color:var(--brand)}
.tools a.tool b{display:block;margin-bottom:3px}
.tools a.tool span{font-size:13.5px;color:var(--ink3)}
.search{max-width:520px;margin:6px 0 22px}
.faq details{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:12px 14px;margin:8px 0}
.faq summary{font-weight:600;cursor:pointer}
footer.foot{border-top:1px solid var(--rule);padding:22px 0 40px;font-size:13.5px;color:var(--ink3)}
footer.foot a{color:var(--ink2);margin-right:14px}
.prose{max-width:760px}
.prose p,.prose li{color:var(--ink2)}
canvas.preview{max-width:100%;height:auto;border:1px solid var(--rule);border-radius:8px;background:#fff}
.sigpad{width:100%;height:200px;border:1px solid var(--rule);border-radius:8px;background:#fff;touch-action:none}
@media (max-width:640px){h1{font-size:25px}.big{font-size:25px}nav.cats{display:none}}
.mt{margin-top:14px}
details.card{margin-top:14px}
details.card summary{cursor:pointer}
[hidden]{display:none!important}
