/* Bảng màu theo maxbot.com.vn (nền tối ấm, nhấn cam chuyển sắc) */
:root{
  color-scheme:dark;
  --bg:#0a0807;--surf:#100c09;--card:#181210;--line:#2a201a;--line2:#3a2c22;
  --ink:#f3ede8;--mut:#b6aa9e;--faint:#85776b;
  --o1:#FF9A3D;--o2:#E0590A;--o:#FF9A3D;--o-soft:rgba(255,154,61,.10);--o-line:rgba(255,154,61,.4);
  --grad:linear-gradient(135deg,var(--o1),var(--o2));
  --grad-text:linear-gradient(120deg,#FFB061,var(--o2));
  --grid:rgba(255,154,61,.028);
  --radius:13px;--glow:0 8px 26px rgba(224,89,10,.3);
  --font:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--font);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:32px 32px;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}
strong{color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* đầu trang */
.top{position:sticky;top:0;z-index:5;background:rgba(10,8,7,.92);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:60px}
.mark{display:flex;align-items:baseline;gap:10px;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:.3px}
.mark i{font-style:normal;color:var(--o)}
.mark small{font-weight:400;color:var(--mut);font-size:12px;letter-spacing:2px;text-transform:uppercase}
.top nav{margin-left:auto;display:flex;gap:6px;align-items:center}
.top nav a{text-decoration:none;color:var(--mut);font-size:14px;padding:7px 12px;border-radius:999px}
.top nav a:hover{color:var(--ink);background:var(--card)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:44px;align-items:center;padding:60px 0 44px}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--o);
  border:1px solid var(--o-line);border-radius:999px;padding:5px 14px;margin:0 0 20px}
h1{font-size:clamp(32px,4.8vw,50px);line-height:1.12;letter-spacing:.3px;margin:0 0 18px;font-weight:700;text-wrap:balance}
h1 .hl{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--mut);font-size:17px;margin:0 0 26px;max-width:520px;text-wrap:pretty}
.stats{display:flex;flex-wrap:wrap;gap:10px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;min-width:124px}
.stat b{display:block;font-size:23px;line-height:1.2;font-variant-numeric:tabular-nums}
.stat span{font-size:12px;color:var(--mut)}
.feature{position:relative;display:block;text-decoration:none;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line);transition:border-color .2s}
.feature:hover{border-color:var(--o-line)}
.feature img{aspect-ratio:1200/630;width:100%;object-fit:cover;background:var(--surf)}
.feature .cap{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--line)}
.feature .cap b{font-size:15px}
.feature .cap span{margin-left:auto;color:var(--o);font-weight:600;font-size:14px;white-space:nowrap}

/* khối nội dung */
section{padding:30px 0}
.kicker{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--o);margin:0 0 6px}
.sec-h{margin:0 0 20px}
.sec-h h2{font-size:24px;margin:0 0 4px;letter-spacing:.2px}
.sec-h p{margin:0;color:var(--mut);font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.chip{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--card);color:var(--mut);border-radius:999px;padding:6px 14px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:#fff}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.card{display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .18s,border-color .18s}
.card[hidden]{display:none}
.card:hover,.card:focus-visible{transform:translateY(-3px);border-color:var(--o-line);outline:none}
.card img{aspect-ratio:16/9;width:100%;object-fit:cover;background:var(--surf)}
.card .body{padding:15px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.sheet{font:600 11px/1 var(--mono);letter-spacing:.1em;color:var(--faint)}
.card h3{margin:0;font-size:17px;line-height:1.35}
.card p{margin:0;color:var(--mut);font-size:14px}
.card .foot{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13px;color:var(--mut);border-top:1px dashed var(--line)}
.card .go{margin-left:auto;color:var(--o);font-weight:600}
.tag{display:inline-block;font-size:12px;font-weight:600;color:var(--o);background:var(--o-soft);border:1px solid rgba(255,154,61,.18);border-radius:999px;padding:2px 10px}
.draft{display:inline-block;font:700 11px/1.6 var(--mono);letter-spacing:.06em;color:#ff6b4a;border:1px solid currentColor;border-radius:6px;padding:0 6px}

.notes{display:grid;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.note{display:flex;gap:16px;align-items:baseline;padding:15px 18px;text-decoration:none;border-top:1px solid var(--line)}
.note:first-child{border-top:0}
.note:hover{background:var(--surf)}
.note b{font-weight:600}
.note p{margin:2px 0 0;color:var(--mut);font-size:14px}
.note span{margin-left:auto;font-size:13px;color:var(--faint);white-space:nowrap}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:s}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px}
.step::before{counter-increment:s;content:"0" counter(s);display:block;font:700 13px/1 var(--mono);color:var(--o);margin-bottom:12px}
.step b{display:block;margin-bottom:4px}
.step p{margin:0;color:var(--mut);font-size:14px}

/* trang ca dự án */
.crumb{padding:22px 0 0;font-size:14px;margin:0}
.crumb a{color:var(--mut);text-decoration:none}
.crumb a:hover{color:var(--o)}
.case-h{padding:14px 0 22px}
.case-h .eyebrow{margin-bottom:14px}
.case-h h1{font-size:clamp(28px,4vw,42px)}
.case-h .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.viewer{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.viewer img{aspect-ratio:1200/630;width:100%;object-fit:cover}
.viewer .open{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  background:var(--grad);color:#fff;font-weight:700;padding:14px 28px;border-radius:999px;box-shadow:var(--glow);white-space:nowrap}
.viewer .open:hover{filter:brightness(1.08)}
.hint{color:var(--mut);font-size:13px;margin:10px 2px 0}
.case{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;padding:30px 0}
.prose h2{font-size:20px;margin:30px 0 8px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#e2d9d1}
.prose ul{padding-left:20px;margin:0}
.prose li{margin:6px 0}
.prose li::marker{color:var(--o)}
aside.facts{display:flex;flex-direction:column;gap:14px}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.box h2{font-size:15px;margin:0 0 12px}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kv div{background:var(--surf);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.kv b{display:block;font-size:19px;font-variant-numeric:tabular-nums;line-height:1.25}
.kv span{font-size:12px;color:var(--mut)}
table.sys{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
table.sys th{text-align:right;font-weight:500;color:var(--mut);padding:4px 4px 6px;border-bottom:1px solid var(--line)}
table.sys th:first-child,table.sys td:first-child{text-align:left}
table.sys td{text-align:right;padding:5px 4px;border-bottom:1px solid var(--line)}
table.sys tr.g td{color:var(--o);font-weight:600;padding-top:12px;border-bottom:0;text-align:left}
table.sys .dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:0}
.small{font-size:12px;color:var(--mut);margin:8px 0 0}
.pn{display:flex;justify-content:space-between;gap:12px;padding:8px 0 32px;font-size:14px}
.pn a{text-decoration:none;color:var(--mut)}
.pn a:hover{color:var(--o)}

article.prose{max-width:720px;padding:8px 0 40px}
article.prose h1{margin-bottom:6px}
article.prose .meta{color:var(--mut);font-size:14px;margin-bottom:24px}
article.prose a{color:var(--o)}
article.prose code{font-family:var(--mono);font-size:.9em;background:var(--card);border:1px solid var(--line);padding:1px 5px;border-radius:5px}
article.prose blockquote{margin:16px 0;padding:4px 16px;border-left:3px solid var(--o);color:var(--mut)}

/* chân trang: khung tên như bản vẽ */
footer{margin-top:auto;padding:30px 0 34px}
.titleblock{display:grid;grid-template-columns:auto auto 1fr;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden;font-size:13px}
.titleblock>div{padding:11px 16px;border-left:1px solid var(--line)}
.titleblock>div:first-child{border-left:0}
.titleblock>div:last-child{text-align:right}
.titleblock small{display:block;font:600 10px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.titleblock b{font-size:15px}
.titleblock a{color:var(--o);text-decoration:none}

/* trang nhập mã */
.cua-body{justify-content:center}
.cua{width:100%;max-width:520px;margin:0 auto;padding:40px 16px;display:flex;flex-direction:column;gap:16px}
.cua-card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.cua-card img{aspect-ratio:1200/630;width:100%;object-fit:cover;border-bottom:1px solid var(--line)}
.cua-in{padding:22px 22px 24px}
.cua .mark{margin:0 0 14px}
.cua h1{font-size:26px;margin:0 0 8px}
.cua .lead{font-size:15px;margin:0 0 18px}
#cua-form{display:flex;gap:10px}
#cua-form input{flex:1;min-width:0;font:600 20px/1 var(--mono);letter-spacing:.2em;text-align:center;color:var(--ink);
  background:var(--surf);border:1px solid var(--line2);border-radius:999px;padding:13px 16px;outline:none}
#cua-form input:focus{border-color:var(--o)}
#cua-form input::placeholder{font:400 15px var(--font);letter-spacing:0;color:var(--faint)}
#cua-form button{font:700 15px var(--font);color:#fff;background:var(--grad);border:0;border-radius:999px;padding:0 26px;cursor:pointer;box-shadow:var(--glow)}
#cua-form button:hover{filter:brightness(1.08)}
.cua-loi{min-height:1.4em;margin:10px 4px 0;color:#ff8a6a;font-size:14px}
.cua-da-co{margin:6px 4px 0;font-size:14px;color:var(--mut)}
.cua-da-co a{color:var(--o)}
.cua-ve{margin:14px 4px 0;font-size:14px}
.cua-ve a{color:var(--mut);text-decoration:none}
.cua-ve a:hover{color:var(--o)}
.cua-foot{text-align:center;color:var(--faint);font-size:12px;margin:0}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;gap:28px;padding-top:34px}
  .case{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .top nav a{padding:6px 9px;font-size:13px}
  .mark small{display:none}
  .steps{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .titleblock{grid-template-columns:1fr}
  .titleblock>div{border-left:0;border-top:1px solid var(--line)}
  .titleblock>div:first-child{border-top:0}
  .titleblock>div:last-child{text-align:left}
  .viewer .open{bottom:12px;padding:11px 20px}
  .note{flex-direction:column;gap:2px}
  .note span{margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
