/* KYCLOGIC site — shared styles (dark · gold) */
:root{
  /* dark + gold, same family as the 매일 훈련 app */
  --bg:#0b0b0d; --bg-soft:#111114; --bg-card:#151518; --bg-tint:#1a1914;
  --ink:#f0ede4; --ink-soft:#d4cfc3; --ink-muted:#959084; --ink-faint:#5e5a53;
  --line:#35353d; --line-soft:#26262c;
  --accent:#c9a44f; --accent-soft:rgba(201,164,79,.13); --accent-deep:#e2c47c; --gold-dim:#8d7436;
  --night:#0c0c0e; --night2:#121216; --gold:#c9a44f; --paper:#f0ede4;
  --ok:#a3c46b; --warn:#e0a45c; --bad:#e0765c;
  --serif:"Fraunces","Noto Serif KR","Noto Serif CJK KR",Georgia,"Apple SD Gothic Neo",serif;
  --mono:ui-monospace,SFMono-Regular,"Cascadia Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Pretendard","Apple SD Gothic Neo","Malgun Gothic","Segoe UI",system-ui,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{background:var(--bg);color:var(--ink)}
body{font-family:var(--serif);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;position:relative}
/* fine grain over everything */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .09 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
.gold-text{background:linear-gradient(180deg,#f3dfa6 0%,#c9a44f 55%,#8d7436 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
:lang(ko) body, body:lang(ko){word-break:keep-all}
::selection{background:var(--accent);color:#141208}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px}
@media (max-width:640px){.wrap{padding:0 16px}}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(12,12,14,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:.5px solid var(--line-soft)}
.nav .wrap{display:flex;justify-content:space-between;align-items:center;height:60px;gap:12px}
.brand{font-family:var(--mono);font-size:11px;letter-spacing:.35em;color:var(--accent);font-weight:500;text-decoration:none;white-space:nowrap}
.nav-r{display:flex;gap:22px;align-items:center}
.nav-r a{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--ink-muted);text-decoration:none;white-space:nowrap}
.nav-r a:hover{color:var(--accent)}
.nav-r a.pill{border:1px solid var(--gold-dim);color:var(--accent);padding:8px 12px}
.nav-r a.pill:hover{background:var(--accent);color:#141208}
@media (max-width:640px){.nav-r{gap:12px}.nav-r a{font-size:9px;letter-spacing:.14em}.nav-r .hide-s{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border:1px solid var(--accent);background:var(--accent);color:#141208;font-weight:600;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.btn:hover{background:var(--accent-deep)}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--gold-dim)}
.btn.ghost:hover{background:var(--accent);color:#141208}
.btn[disabled]{opacity:.5;cursor:default}
.btn .ar{transition:transform .25s}.btn:hover .ar{transform:translateX(4px)}

.kicker{font-family:var(--mono);font-size:10px;letter-spacing:.36em;color:var(--accent);text-transform:uppercase}
.rule{width:36px;height:.5px;background:var(--accent)}
.sans{font-family:var(--sans)}
.muted{color:var(--ink-muted)}

/* forms */
.field{display:block;margin-bottom:16px}
.field span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--ink-muted);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font:16px/1.4 var(--sans);color:var(--ink);background:var(--bg-card);border:.5px solid var(--line);padding:12px 14px;border-radius:0;outline:none;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}
.msg{min-height:20px;font:13px/1.5 var(--sans);color:var(--bad);margin:6px 0 10px}
.msg.ok{color:var(--ok)}

/* footer */
.foot{padding:56px 0 72px;text-align:center;border-top:.5px solid var(--line-soft)}
.foot .mark{font-style:italic;font-size:20px;color:var(--accent);margin-bottom:10px}
.foot .meta{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--ink-faint);line-height:2.2}
.foot a{color:var(--ink-muted);text-decoration:none}
