/* Layout idea: news-site scroll in ink-wash dress. Desktop = 70/30 (content | sticky sidebar with
   app box + 300x250 ads). Content = short sơn-thủy banner, compact board card, vertical news list
   with in-feed ad slots. Mobile = one column, in-feed 320x100, sticky anchor ad. Single light theme. */
:root{
  --paper:#F8F5EE;
  --paper-2:#F1ECE0;
  --card:#FFFDF8;
  --ink:#1E1E1E;
  --muted:#67625A;
  --line:#E2DACB;
  --jade:#2C5E4F;
  --jade-2:#3E7A67;
  --wood:#8B5E3C;
  --wood-light:#D8B07A;
  --seal:#A8322A;
  --serif:"Noto Serif", Georgia, "Times New Roman", serif;
  --sans:"Be Vietnam Pro", "Segoe UI", system-ui, -apple-system, sans-serif;
  --han:"Noto Serif SC", "Songti SC", "SimSun", "Noto Serif CJK SC", serif;
  color-scheme: light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:var(--jade)}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--wood-light);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:30;background:rgba(248,245,238,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:19px}
.seal{display:grid;place-items:center;width:34px;height:34px;background:var(--seal);color:#FBEFE6;border-radius:4px;font-family:var(--han);font-size:13px;line-height:1.05;writing-mode:vertical-rl;letter-spacing:1px}
.links{display:flex;gap:24px;margin-left:auto}
.links a{text-decoration:none;color:var(--muted);font-weight:600;font-size:15px}
.links a:hover{color:var(--jade)}
.nav .get{display:none;margin-left:auto;text-decoration:none;background:var(--jade);color:#fff;font-weight:700;font-size:14px;border-radius:999px;padding:8px 14px}

/* ---------- Page grid 70/30 ---------- */
.page{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:32px;align-items:start;padding-top:24px;padding-bottom:56px}
.main{display:flex;flex-direction:column;gap:28px;min-width:0}
.side{position:sticky;top:86px;display:flex;flex-direction:column;gap:18px}

/* ---------- Banner (sơn thủy) ---------- */
.banner{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(180deg,#F8F5EE,#EDE6D7);border:1px solid var(--line);min-height:250px;display:flex;align-items:center}
.banner svg.scape{position:absolute;inset:0;width:100%;height:100%}
.mist{animation:drift 38s ease-in-out infinite alternate}
@keyframes drift{from{transform:translateX(-40px)}to{transform:translateX(40px)}}
.banner .copy{position:relative;z-index:1;padding:30px 34px 64px;max-width:540px}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--wood);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.kicker::before{content:"";width:26px;height:1px;background:currentColor}
.banner h1{font-family:var(--serif);font-size:clamp(28px,3.6vw,42px);line-height:1.15;margin:10px 0 10px;text-wrap:balance}
.banner h1 em{font-style:normal;color:var(--jade)}
.banner p{margin:0 0 18px;color:#4A463F;max-width:44ch}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:15px;text-decoration:none;border-radius:12px;padding:11px 18px;border:1px solid transparent;cursor:pointer;transition:background .15s ease}
.btn.jade{background:var(--jade);color:#fff}
.btn.jade:hover{background:var(--jade-2)}
.btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--wood-light)}
.btn.sm{font-size:14px;padding:8px 13px;border-radius:10px}
.gp{display:inline-flex;align-items:center;gap:12px;background:#111;color:#fff;text-decoration:none;border-radius:12px;padding:9px 18px 9px 13px}
.gp svg{width:26px;height:26px;flex:none}
.gp small{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.8;line-height:1.2}
.gp b{display:block;font-size:18px;line-height:1.2}

/* ---------- Section titles ---------- */
.sec-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.sec-title h2{font-family:var(--serif);font-size:26px;line-height:1.2;margin:4px 0 0}
.sec-title p{margin:2px 0 0;color:var(--muted);font-size:15px}

/* ---------- Mini board card ---------- */
.mini{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;grid-template-columns:minmax(0,430px) 1fr;gap:22px;align-items:start}
.mini .tabs{display:inline-flex;background:var(--paper-2);border:1px solid var(--line);border-radius:11px;padding:3px;gap:3px;margin-bottom:12px}
.mini .tabs button{border:0;background:transparent;color:var(--muted);font-weight:700;font-size:14px;padding:7px 12px;border-radius:8px;cursor:pointer}
.mini .tabs button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(30,30,30,.12)}
.mini .meta{font-size:13px;color:var(--wood);font-weight:700;letter-spacing:.03em}
.mini h3{font-family:var(--serif);font-size:22px;line-height:1.25;margin:4px 0 6px}
.mini .task{margin:0 0 12px;color:#3F3B35}
.mini .row{display:flex;flex-wrap:wrap;gap:8px}
.feedback{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:var(--paper-2);font-weight:600;font-size:15px;min-height:46px}
.feedback.ok{background:#E2EFE8;color:var(--jade)}
.feedback.no{background:#F6E3DF;color:var(--seal)}
.upsell{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.upsell p{margin:0 0 10px;font-size:14.5px;color:var(--muted)}
.upsell .btn{width:100%}
.seg2{display:inline-flex;gap:6px;margin-bottom:10px}
.seg2 button{border:1px solid var(--line);background:var(--card);border-radius:999px;font-weight:700;font-size:13px;padding:5px 12px;cursor:pointer;color:var(--ink)}
.seg2 button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Board */
.bd{position:relative;width:100%;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.bd.xq{aspect-ratio:9/10;background:linear-gradient(135deg,#E4C18C,#CFA266);border-radius:6px;box-shadow:inset 0 0 0 3px #6B4A2A}
.bd.ch{aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);border-radius:4px;overflow:hidden;box-shadow:0 0 0 3px #5E4026}
.bd svg.lines{position:absolute;inset:0;width:100%;height:100%}
.sq{position:relative}
.sq.l{background:#EEDFC4}.sq.d{background:#A67C55}
.sq .co{position:absolute;font-size:10px;font-weight:700;opacity:.75;pointer-events:none}
.sq .co.f{right:3px;bottom:1px}.sq .co.r{left:3px;top:1px}
.sq.l .co{color:#8B5E3C}.sq.d .co{color:#F3E6CF}
.pc,.dot,.mk{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:none}
.bd.xq .pc{width:10.4%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 32%,#FFF6E4,#EBD3A6 70%);box-shadow:0 2px 0 #A47A45,0 3px 6px rgba(0,0,0,.25);display:grid;place-items:center;font-family:var(--han);font-weight:700;font-size:clamp(14px,3.6vw,26px);cursor:pointer;line-height:1}
.bd.xq .pc::before{content:"";position:absolute;inset:9%;border-radius:50%;border:2px solid currentColor;opacity:.75}
.bd.xq .pc.r{color:#A8261D}.bd.xq .pc.b{color:#1E1E1E}
.bd.ch .pc{width:12.5%;aspect-ratio:1;display:grid;place-items:center;font-size:clamp(24px,6.4vw,44px);line-height:1;cursor:pointer;font-family:"Segoe UI Symbol","DejaVu Sans","Noto Sans Symbols 2",serif}
.bd.ch .pc.w{color:#FBF8F1;text-shadow:0 0 1px #1E1E1E,0 0 1px #1E1E1E,0 1px 1px #1E1E1E,1px 0 1px #1E1E1E,-1px 0 1px #1E1E1E,0 -1px 1px #1E1E1E}
.bd.ch .pc.b{color:#1E1E1E}
.pc.sel{z-index:3}
.bd.xq .pc.sel{box-shadow:0 0 0 3px var(--jade),0 6px 14px rgba(0,0,0,.3);transform:translate(-50%,-56%)}
.bd.ch .pc.sel{background:rgba(44,94,79,.35)}
.bd.xq .pc.chk{box-shadow:0 0 0 4px #D9483B,0 0 16px #D9483B}
.bd.ch .pc.chk{background:radial-gradient(circle,rgba(217,72,59,.75),rgba(217,72,59,0) 70%)}
.pc.hint{outline:3px dashed var(--seal);outline-offset:2px;border-radius:50%}
.dot{width:6%;aspect-ratio:1;border-radius:50%;background:rgba(44,94,79,.55);cursor:pointer;z-index:4}
.bd.ch .dot{width:5%}
.dot.cap{width:11%;background:none;border:3px solid rgba(44,94,79,.75)}
.bd.ch .dot.cap{width:12%}
.mk{width:4%;aspect-ratio:1;border-radius:50%;background:rgba(139,94,60,.6);pointer-events:none}
.bd.ch .mk{width:12.5%;border-radius:0;background:rgba(216,176,122,.55)}

/* ---------- Ad slots ---------- */
.ad{position:relative;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#F3EEE3 0 10px,#EFE9DC 10px 20px);border:1px dashed #CFC5B2;border-radius:10px;color:#8D8576;text-align:center;font-size:13px;font-weight:600;margin:0 auto;max-width:100%}
.ad::before{content:"Quảng cáo";position:absolute;top:-9px;left:12px;background:var(--paper);padding:0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#9C9484;font-weight:700}
.ad.filled{background:none;border:0;display:block}
.ad.ad-728{width:728px;height:90px}
.ad.ad-300{width:300px;height:250px}
.ad.ad-inart{width:100%;max-width:728px;height:90px;margin:8px auto 24px}
.no-ads .ad:not(.filled){display:none}
.anchor-ad{display:none}

/* ---------- Sidebar ---------- */
.appbox{background:var(--jade);color:#EEF3EF;border-radius:20px;padding:20px;position:relative;overflow:hidden}
.appbox svg.hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:55%;opacity:.22;pointer-events:none}
.appbox .top{position:relative;display:flex;gap:12px;align-items:center;margin-bottom:10px}
.appbox .icon{width:54px;height:54px;border-radius:14px;background:linear-gradient(145deg,#F6E7C9,#D8B07A);display:grid;place-items:center;font-family:var(--han);font-size:30px;font-weight:700;color:#A8261D;flex:none}
.appbox h3{margin:0;font-family:var(--serif);font-size:19px;line-height:1.25}
.appbox .sub{font-size:13px;color:#C9DAD1}
.appbox ul{position:relative;margin:0 0 14px;padding-left:18px;font-size:14px;color:#DDE8E2}
.appbox .gp{position:relative;width:100%;justify-content:center}
.appbox .qr{position:relative;display:flex;gap:12px;align-items:center;margin-top:14px;background:#FFFDF8;color:var(--ink);border-radius:14px;padding:10px}
.appbox .qr .code{width:96px;height:96px;flex:none}
.appbox .qr .code svg{width:100%;height:100%;display:block}
.appbox .qr span{font-size:13px;font-weight:600;color:var(--muted);line-height:1.35}
.side .box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.side .box h4{margin:0 0 8px;font-family:var(--serif);font-size:17px}
.side .box ol{margin:0;padding-left:20px;font-size:14.5px}
.side .box li+li{margin-top:6px}
.side .box a{color:var(--ink);text-decoration:none}
.side .box a:hover{color:var(--jade)}

/* ---------- News list ---------- */
.filters{display:flex;flex-wrap:wrap;gap:6px}
.filters button{border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:700;font-size:14px;border-radius:999px;padding:6px 15px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.list{display:flex;flex-direction:column;gap:18px}
.item{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;transition:border-color .15s ease,box-shadow .15s ease}
.item:hover{border-color:var(--wood-light);box-shadow:0 14px 30px -24px rgba(30,30,30,.55)}
.thumb{position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--paper-2)}
.thumb img,.thumb svg{width:100%;height:100%;object-fit:cover;display:block}
.item .meta{font-size:13px;font-weight:700;color:var(--wood);display:flex;gap:8px;align-items:center}
.item .meta .t{background:var(--paper-2);color:var(--wood);border-radius:999px;padding:2px 9px;font-size:12px}
.item h3{margin:6px 0 6px;font-family:var(--serif);font-size:21px;line-height:1.3;text-wrap:balance}
.item p{margin:0;color:#4A463F;font-size:15.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.item .more{display:inline-block;margin-top:8px;font-weight:700;font-size:14px;color:var(--jade)}
.list .ad{margin:4px auto}

/* ---------- Article page ---------- */
.crumbs{font-size:14px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--jade)}
.art{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.art .cover{aspect-ratio:16/8}
.art .cover img,.art .cover svg{width:100%;height:100%;object-fit:cover;display:block}
.art .text{padding:26px 34px 30px}
.art .meta{font-size:14px;font-weight:700;color:var(--wood)}
.art h1{font-family:var(--serif);font-size:clamp(28px,3.4vw,38px);line-height:1.2;margin:8px 0 18px;text-wrap:balance}
.art .body p{font-size:18px;line-height:1.75;margin:0 0 16px;max-width:68ch}
.art .sign{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.cta-box{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:18px 22px}
.cta-box h3{margin:0 0 2px;font-family:var(--serif);font-size:20px}
.cta-box p{margin:0;color:var(--muted);font-size:14.5px}

/* Footer */
footer{background:var(--ink);color:#BDB7AB;padding:36px 0;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;align-items:center}
footer a{color:#E8E2D4;text-decoration:none}
footer nav{display:flex;flex-wrap:wrap;gap:20px}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .ad.ad-728{width:100%;max-width:728px;height:90px}
  .item{grid-template-columns:200px 1fr}
}
@media (max-width:960px){
  .page{grid-template-columns:1fr}
  .side{position:static}
  .side .ad-300{display:none}
  .links{display:none}
  .nav .get{display:inline-flex}
}
@media (max-width:760px){
  .mini{grid-template-columns:1fr;padding:12px}
  .mini .board-wrap{max-width:min(100%,58vh);margin:0 auto;width:100%}
}
@media (max-width:600px){
  body{font-size:17px}
  .page{padding-top:14px;gap:22px}
  .banner{border-radius:16px;min-height:0}
  .banner .copy{padding:22px 20px 70px}
  .banner p{font-size:16px}
  .item{grid-template-columns:116px 1fr;gap:12px;padding:10px;border-radius:14px}
  .thumb{aspect-ratio:1;border-radius:10px}
  .item h3{font-size:18.5px;margin:4px 0}
  .item p{font-size:15.5px;-webkit-line-clamp:2}
  .item .more{display:none}
  .ad.ad-728,.list .ad{width:320px;height:100px}
  .art .text{padding:18px 18px 24px}
  .art .body p{font-size:19px}
  .ad.ad-inart{width:320px;height:100px}
  .anchor-ad{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;justify-content:center;background:rgba(248,245,238,.96);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
  .anchor-ad .ad{width:320px;height:50px;margin:0}
  .anchor-ad .x{position:absolute;right:6px;top:-14px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:13px;cursor:pointer}
  body.has-anchor{padding-bottom:70px}
  .no-ads .anchor-ad:not(.has-fill){display:none}
}
@media (prefers-reduced-motion: reduce){ .mist{animation:none} .btn,.item{transition:none} }

/* Player profiles */
.profiles{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:0 0 22px}
.profiles h2{font-family:var(--serif);font-size:19px;margin:0 0 12px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.phead{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.phead .flag{width:36px;height:24px;flex:none;border-radius:2px}
.phead b{display:block;font-size:16.5px;line-height:1.25}
.phead .role{display:inline-block;margin-top:3px;font-size:12px;font-weight:700;color:var(--jade);background:#E2EFE8;border-radius:999px;padding:1px 9px}
.pcard dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px;font-size:14.5px}
.pcard dt{color:var(--muted)}
.pcard dd{margin:0;font-weight:600}
.pcard ul{margin:0;padding-left:18px;font-size:14.5px;color:#3F3B35}
.pcard li+li{margin-top:4px}
@media (max-width:600px){ .pgrid{grid-template-columns:1fr} .pcard ul,.pcard dl{font-size:16px} }

/* Static pages */
.art .body h2{font-family:var(--serif);font-size:22px;margin:24px 0 8px}
.art .body ul{margin:0 0 16px;padding-left:22px;font-size:17px;line-height:1.7}
.art .body li+li{margin-top:6px}
footer nav{row-gap:8px}

/* Banner with photo background: text top-left, army and landscape left visible */
.banner{min-height:340px;align-items:flex-start}
.banner .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.banner::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,rgba(248,245,238,.88) 0%,rgba(248,245,238,.62) 30%,rgba(248,245,238,0) 52%),
             linear-gradient(180deg,rgba(248,245,238,.30) 0%,rgba(248,245,238,0) 40%)}
.banner .copy{padding:28px 30px 120px;max-width:430px}
.banner h1{font-size:clamp(26px,3.2vw,38px);margin:8px 0 8px;text-shadow:0 0 14px rgba(248,245,238,.95),0 0 3px rgba(248,245,238,.9)}
.banner p{font-size:15.5px;max-width:34ch;margin:0;color:#2E2B26;font-weight:500;text-shadow:0 0 10px rgba(248,245,238,1),0 0 3px rgba(248,245,238,1)}
.banner .kicker{text-shadow:0 0 8px rgba(248,245,238,1)}
@media (max-width:600px){
  .banner{min-height:330px}
  .banner .bg img{object-position:70% 60%}
  .banner::after{background:linear-gradient(180deg,rgba(248,245,238,.86) 0%,rgba(248,245,238,.6) 38%,rgba(248,245,238,0) 62%)}
  .banner .copy{padding:20px 18px 150px}
  .banner p{font-size:15px}
}

/* v2: army fully visible (overlay only behind text, top-left) + smaller boards */
.banner .bg img{object-position:50% 100%}
.banner::after{background:radial-gradient(ellipse 58% 62% at 0% 0%,rgba(248,245,238,.9) 0%,rgba(248,245,238,.72) 45%,rgba(248,245,238,0) 100%)}
@media (min-width:761px){ .mini{grid-template-columns:minmax(0,320px) 1fr} }
.banner .copy{padding-bottom:150px}
@media (max-width:600px){ .banner .copy{padding-bottom:170px} }
@media (max-width:760px){
  .mini .board-wrap{max-width:min(86vw,340px)}
}
@media (max-width:600px){
  .banner .bg img{object-position:62% 100%}
  .banner::after{background:linear-gradient(180deg,rgba(248,245,238,.88) 0%,rgba(248,245,238,.55) 34%,rgba(248,245,238,0) 52%)}
}
@media (max-width:760px){ .mini .board-wrap{max-width:280px;margin:0 auto} }
/* Medium desktop windows: smaller board so the text column is not cramped */
@media (min-width:961px) and (max-width:1180px){ .mini{grid-template-columns:minmax(0,250px) 1fr} }
.mini .tabs button{white-space:nowrap}
/* Phones: QR code is useless on the same phone, hide it */
@media (max-width:760px){ .appbox .qr{display:none} }
/* Illustration label */
.thumb,.art .cover{position:relative}
.art .cover{margin:0}
.mh{position:absolute;right:8px;bottom:8px;font-size:11px;font-weight:700;color:#fff;background:rgba(30,30,30,.6);border-radius:999px;padding:2px 9px;letter-spacing:.02em}
.art .cap{font-size:13.5px;color:var(--muted);font-style:italic;padding:8px 34px 0}
@media (max-width:600px){ .art .cap{padding:8px 18px 0} }
/* Board diagram inside articles that have a photo cover */
.diagram{margin:0 0 22px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:520px}
.diagram svg{display:block;width:100%;height:auto;aspect-ratio:16/10}
.diagram figcaption{font-size:13.5px;color:var(--muted);font-style:italic;padding:8px 14px}
/* Fix: piece size follows the board size, not the window size */
.bd{container-type:inline-size}
.bd.xq .pc{font-size:6.2cqw}
.bd.ch .pc{font-size:9.5cqw}
.bd.xq .pc::before{border-width:max(1px,0.35cqw)}
.sq .co{font-size:max(8px,2.2cqw)}
@media (min-width:961px) and (max-width:1180px){ .mini{grid-template-columns:minmax(0,280px) 1fr} }
/* Play block with photo instead of mini board */
.mini.photo{grid-template-columns:minmax(0,1.15fr) 1fr;align-items:center}
.mini.photo .ph{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:16/10}
.mini.photo .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.mini.photo .ph:hover img{transform:scale(1.03)}
@media (max-width:760px){ .mini.photo{grid-template-columns:1fr} }
/* Second app (4D Chess) in sidebar */
.app2{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.app2:hover{border-color:var(--wood-light)}
.app2 .ic{width:44px;height:44px;flex:none;border-radius:12px;background:linear-gradient(145deg,#3A3A3A,#111);color:#F3E6CF;display:grid;place-items:center;font-size:26px;font-family:"Segoe UI Symbol","DejaVu Sans",serif}
.app2 b{display:block;font-size:15px;line-height:1.25}
.app2 small{display:block;font-size:12.5px;color:var(--muted)}
.app2 .go{margin-left:auto;background:var(--ink);color:var(--paper);font-weight:700;font-size:13px;border-radius:999px;padding:6px 12px}
