:root{--purple:#4b1d8f;--purple2:#6f35d6;--gold:#ffd45a;--gold2:#ffb800;--ink:#211734;--muted:#6d6380;--bg:#fff8e8;--card:#fff;--danger:#d93025;--ok:#188038}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 0%,rgba(255,212,90,.45),transparent 30%),radial-gradient(circle at 90% 10%,rgba(111,53,214,.22),transparent 35%),var(--bg)}a{color:inherit}.container{max-width:1120px;margin:auto;padding:0 18px}.nav{position:sticky;top:0;z-index:20;background:rgba(255,248,232,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(75,29,143,.08)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.logo{font-weight:950;font-size:22px;color:var(--purple);text-decoration:none}.menu{display:flex;gap:13px;align-items:center}.menu a{text-decoration:none;font-weight:750}.menu .adminlink{background:var(--purple);color:white;padding:8px 12px;border-radius:999px}.hero{min-height:84vh;padding:42px 0 30px;display:flex;align-items:center;background:linear-gradient(160deg,rgba(75,29,143,.98),rgba(111,53,214,.88)),radial-gradient(circle at top right,var(--gold),transparent 35%);color:white;position:relative;overflow:hidden}.hero:before{content:"60s";position:absolute;font-size:190px;font-weight:950;opacity:.08;right:-28px;top:90px;transform:rotate(-12deg)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;position:relative}.badge{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:9px 13px;border-radius:999px;font-weight:800}.hero h1{font-size:76px;line-height:.9;margin:28px 0 14px;letter-spacing:-3px}.gold{color:var(--gold)}.hero p{font-size:22px;line-height:1.38;margin:0;max-width:680px;color:#fff7de}.cta{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.btn{border:0;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;padding:13px 17px;font-weight:900;color:var(--ink);background:var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.12)}.btn.secondary{color:var(--purple);background:#f3edff;border:1px solid rgba(75,29,143,.13);box-shadow:none}.btn.dark{background:var(--purple);color:white}.phone{width:min(320px,90vw);height:590px;border-radius:40px;background:#140823;border:10px solid rgba(255,255,255,.18);margin:auto;box-shadow:0 30px 70px rgba(0,0,0,.35);padding:18px}.phone-card{background:linear-gradient(160deg,var(--purple2),#12041e);border-radius:28px;color:white;padding:18px;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.phone-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(255,212,90,.18),transparent 35%)}.play{width:70px;height:70px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--purple);font-size:30px;font-weight:950;margin:auto;z-index:1}.phone-card>*{z-index:1}.section{padding:42px 0}.title{font-size:34px;margin:0 0 10px;letter-spacing:-.6px}.lead{font-size:17px;line-height:1.55;color:var(--muted);margin:0 0 18px}.card{background:var(--card);border-radius:24px;padding:20px;margin:14px 0;box-shadow:0 14px 32px rgba(75,29,143,.09);border:1px solid rgba(75,29,143,.08)}.idea{background:linear-gradient(135deg,#fff,#fff3bf);border:1px solid rgba(255,184,0,.35)}.quote{font-size:24px;line-height:1.45;font-weight:900;color:var(--purple)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:white;border-radius:22px;padding:17px;box-shadow:0 10px 26px rgba(75,29,143,.08)}.stat b{font-size:30px;color:var(--purple);display:block}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.topic{min-height:136px;background:linear-gradient(145deg,#fff,#f5edff);border-radius:24px;padding:18px;text-decoration:none}.topic .icon{font-size:34px}.topic h3{margin:12px 0 6px;font-size:18px}.topic p{margin:0;color:var(--muted);line-height:1.35;font-size:14px}.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reel{min-height:420px;border-radius:30px;overflow:hidden;background:linear-gradient(160deg,var(--purple),#12041e);color:white;padding:18px;position:relative;box-shadow:0 18px 34px rgba(75,29,143,.22);text-decoration:none}.reel:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(0,0,0,.78))}.reel .pill{position:relative;z-index:1;background:rgba(255,255,255,.16);border-radius:999px;padding:8px 11px;font-size:13px;display:inline-block}.reel .play-small{position:absolute;z-index:1;top:45%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--purple);font-size:28px;font-weight:900}.reel .caption{position:absolute;z-index:1;bottom:18px;left:18px;right:18px}.reel h3{margin:0 0 8px;font-size:22px}.reel p{margin:0;line-height:1.35;color:#f7eaff}.form{display:grid;gap:12px}input,select,textarea{width:100%;border:1px solid #e3d8f9;background:#fff;border-radius:16px;padding:14px;font:inherit}textarea{min-height:120px}.notice{background:#f3edff;color:#3a2460;border-left:5px solid var(--purple2);border-radius:18px;padding:16px;line-height:1.5}.footer{padding:34px 20px 44px;text-align:center;color:white;background:linear-gradient(135deg,var(--purple),#2d0b56)}.alert{padding:14px 16px;border-radius:16px;margin:12px 0;background:#ecfdf3;color:var(--ok);font-weight:700}.error{background:#fff0f0;color:var(--danger)}.table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden}.table th,.table td{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.actions{display:flex;gap:6px;flex-wrap:wrap}.mini{padding:8px 10px;border-radius:10px;font-size:13px}.danger{background:#ffe8e8;color:#8b0000}.ok{background:#e8fff0;color:#075e22}.muted{color:var(--muted)}.embed{position:relative;padding-top:177.77%;background:#111;border-radius:28px;overflow:hidden}.embed iframe,.embed video{position:absolute;inset:0;width:100%;height:100%;border:0}.detail-grid{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start}.share{display:flex;gap:8px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.admin-stat{background:white;padding:16px;border-radius:18px}.admin-stat b{display:block;font-size:28px;color:var(--purple)}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:18px;top:10px;bottom:10px;width:3px;background:#eadcff}.titem{position:relative;padding-left:52px;margin:18px 0}.titem:before{content:"";position:absolute;left:8px;top:4px;width:23px;height:23px;border-radius:50%;background:var(--gold);border:4px solid var(--purple)}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.samplebox{border:2px dashed #dcc8ff;border-radius:24px;padding:18px;background:#fff}.sharebar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:900px){.hero-grid,.detail-grid,.split{grid-template-columns:1fr}.hero h1{font-size:58px}.phone{height:520px}.grid,.reels,.stats,.admin-grid{grid-template-columns:1fr}.menu{display:none}.section{padding:30px 0}}


.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{width:52px;height:52px;object-fit:contain;border-radius:50%;box-shadow:0 6px 18px rgba(75,29,143,.12);background:rgba(255,255,255,.76)}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:22px;color:var(--purple);letter-spacing:-.4px}
.brand-copy span{font-size:12px;color:var(--muted);font-weight:800;margin-top:5px;text-transform:uppercase;letter-spacing:.08em}
.team-badge{display:inline-block;margin-top:14px;padding:10px 14px;border-radius:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);font-weight:700}
.group-wordmark{display:block;width:min(100%,530px);margin:16px 0 8px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.15));border-radius:18px;background:rgba(255,255,255,.06)}
.group-wordmark.small{width:min(100%,420px);margin:0 auto}
.brand-card{text-align:center;padding:16px 18px;background:linear-gradient(135deg,#fff,#fff8ef)}
.footer{padding:26px 0 22px;color:white;background:linear-gradient(135deg,var(--purple),#2d0b56)}
.footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:22px;align-items:start}
.footer h3,.footer h4{margin:0 0 10px}.footer p{margin:0 0 8px;line-height:1.5;color:#f7eaff}.footer a{color:#ffd45a;text-decoration:none}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:180px;max-width:100%;height:auto;border-radius:18px;background:rgba(255,255,255,.04);padding:6px}
.qr-card{text-align:center}.qr-card img{width:200px;max-width:100%;border-radius:16px;background:white;padding:10px;box-shadow:0 12px 24px rgba(75,29,143,.1)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mini-stat{background:#fbf8ff;border:1px solid #eadcff;border-radius:18px;padding:14px;text-align:center}.mini-stat b{display:block;font-size:24px;color:var(--purple);margin-bottom:6px}.mini-stat span{display:block;color:var(--muted);font-size:13px;line-height:1.35}
.fb-like-wrap{margin-top:14px;padding-top:14px;border-top:1px dashed #e6daf7}
@media(max-width:900px){.brand-copy span{display:none}.footer-grid,.metric-grid{grid-template-columns:1fr}.footer{padding:22px 0 18px}.brand-mark{width:44px;height:44px}}


/* Traditional online games */
.games-hero .games-card{background:linear-gradient(135deg,#fff,#fff7df)}
.game-create{display:grid;grid-template-columns:1.1fr auto 1fr auto;gap:10px;align-items:center;margin-top:16px}
.game-board-card:empty{display:none}.game-room-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px dashed #e3d8f9;padding-bottom:14px;margin-bottom:14px}.game-room-head p{margin:4px 0;color:var(--muted)}
.scoreline{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fbf8ff;border:1px solid #eadcff;border-radius:16px;padding:12px;margin:10px 0}.scoreline span{font-weight:900;color:var(--purple)}
.oaq{display:grid;grid-template-columns:100px 1fr 100px;gap:10px;align-items:stretch}.quan,.pit{border:0;border-radius:22px;background:linear-gradient(145deg,#fff,#f3edff);box-shadow:inset 0 0 0 1px #eadcff;padding:14px;text-align:center;min-height:90px}.quan{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px;font-weight:950;color:var(--purple)}.quan small,.pit small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.danrow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.pit b{display:block;font-size:24px;color:var(--ink)}.pit.can{cursor:pointer;background:linear-gradient(145deg,#fff8d8,#fff)}.pit.can:hover{outline:3px solid rgba(255,212,90,.7)}
.coganh{display:grid;grid-template-columns:repeat(5,58px);gap:8px;justify-content:center;margin:18px 0}.cgcell{width:58px;height:58px;border-radius:16px;border:1px solid #e3d8f9;background:#fff;font-size:28px;color:#c8badf;cursor:pointer}.cgcell.p1{background:#fff2bf;color:#8b5400}.cgcell.p2{background:#f0e7ff;color:#4b1d8f}.cgcell:hover{transform:translateY(-1px)}
.wrestle,.swing-game{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px;align-items:center}.fighter,.swing{text-align:center;background:#fbf8ff;border:1px solid #eadcff;border-radius:22px;padding:16px}.person{font-size:76px;line-height:1}.fight-actions{display:grid;gap:10px;text-align:center}.meter{height:12px;border-radius:999px;background:#eee;overflow:hidden;margin:8px 0}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--purple2));border-radius:999px}.swing{height:220px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.swing:before{content:"";position:absolute;top:20px;width:90px;height:6px;border-radius:999px;background:#7b5b2e}.swing-seat{font-size:58px;transform-origin:50% -80px;transition:transform .35s ease}.swing-seat:before{content:"";position:absolute;left:50%;top:-90px;width:2px;height:92px;background:#7b5b2e}.game-log{margin-top:16px;background:#fffaf0;border-radius:18px;padding:12px 16px;border:1px solid #ffe7a3}.game-log p{margin:6px 0;color:#5c4a28;line-height:1.35}
@media(max-width:900px){.game-create{grid-template-columns:1fr}.game-room-head,.scoreline{display:block}.oaq{grid-template-columns:1fr}.danrow{grid-template-columns:repeat(5,1fr)}.coganh{grid-template-columns:repeat(5,1fr)}.cgcell{width:100%;height:52px}.wrestle,.swing-game{grid-template-columns:1fr}.person{font-size:58px}}

/* ===== v7_1 Traditional games refresh ===== */
.games-shell{display:grid;gap:18px}
.games-banner{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;align-items:center;background:
radial-gradient(circle at top right,rgba(255,212,90,.28),transparent 28%),
linear-gradient(135deg,#fffaf0,#f7f0ff 50%,#fff)}
.games-banner .title{margin-bottom:8px}
.games-hero-badges{display:grid;gap:12px}
.hero-pill{background:rgba(255,255,255,.88);border:1px solid #eadcff;border-radius:20px;padding:14px 16px;box-shadow:0 12px 26px rgba(75,29,143,.07)}
.hero-pill b{display:block;color:var(--purple);font-size:18px;margin-bottom:4px}
.hero-pill span{display:block;color:var(--muted);line-height:1.4}
.game-picks{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.game-pick{border:1px solid #eadcff;background:linear-gradient(180deg,#fff,#faf6ff);padding:18px;border-radius:24px;text-align:left;cursor:pointer;transition:.2s ease;box-shadow:0 10px 22px rgba(75,29,143,.05)}
.game-pick:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(75,29,143,.1)}
.game-pick.is-active{border-color:#d8bbff;background:linear-gradient(135deg,#fff8df,#f4ebff);box-shadow:0 18px 32px rgba(75,29,143,.12)}
.game-pick .gicon{display:flex;width:50px;height:50px;border-radius:18px;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-size:24px;margin-bottom:12px;box-shadow:0 10px 18px rgba(75,29,143,.2)}
.game-pick b{display:block;font-size:18px;margin-bottom:6px;color:var(--ink)}
.game-pick small{display:block;line-height:1.45;color:var(--muted)}
.game-lobby-card{background:linear-gradient(135deg,#fff,#fffaf0)}
.game-lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mini-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:900;color:var(--purple2);margin-bottom:6px}
.game-lobby-grid h3{margin:0 0 8px}
.game-create{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:14px}
.game-create.join-layout{grid-template-columns:1fr auto}
.game-board-card{padding:0;overflow:hidden;background:transparent;box-shadow:none}
.game-board-card:empty{display:none}
.game-room-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:24px 26px 14px;background:linear-gradient(135deg,#fff,#faf5ff);border:1px solid #eadcff;border-radius:30px 30px 0 0}
.room-topline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.room-kicker{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f3edff;color:var(--purple);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.status-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900}
.status-chip.waiting{background:#fff6da;color:#815d00}.status-chip.active{background:#ecfdf3;color:#126a38}.status-chip.finished{background:#f1eff5;color:#5d5870}
.game-room-head h2{margin:0 0 10px;font-size:36px}
.room-meta{display:flex;gap:8px;flex-wrap:wrap}.meta-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #eee2ff;color:#58486f;font-size:14px}
.room-actions{align-items:flex-start}
.notice.soft{margin:0;border-left:none;border:1px solid #f1df98;background:#fffaf0;color:#7a5a16;border-radius:0;padding:14px 26px}
.room-msg{padding:12px 26px 0;color:#815d00;font-weight:700}
.alert.big{margin:0;border-radius:0;padding:16px 26px}
.game-stage{background:linear-gradient(180deg,#fff,#fcfbff);border:1px solid #eadcff;border-top:none;padding:24px 26px}
.scoreline.deluxe,.swing-score-head{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;align-items:stretch;margin-bottom:18px}
.scoreline.deluxe.slim{grid-template-columns:1fr 1.35fr 1fr}
.score-player,.turn-core{background:#fff;border:1px solid #eadcff;border-radius:22px;padding:16px;text-align:center;box-shadow:0 10px 18px rgba(75,29,143,.05)}
.score-player span,.turn-core span{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.score-player b,.turn-core b{display:block;font-size:30px;color:var(--purple);margin-bottom:4px;line-height:1}
.score-player small,.turn-core small{display:block;color:var(--muted);line-height:1.35}
.score-player.p1{background:linear-gradient(180deg,#fffef7,#fff7da)}
.score-player.p2{background:linear-gradient(180deg,#fcf8ff,#f2e8ff)}
.oaq-stage{position:relative;background:linear-gradient(180deg,#fffaf0,#fff)}
.oaq-board{display:grid;grid-template-columns:120px 1fr 120px;gap:14px;align-items:stretch}
.oaq-center{display:grid;gap:14px}
.danrow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.lane-label{position:absolute;left:50%;transform:translateX(-50%);padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid #eadcff;font-weight:800;color:#6a5892;font-size:13px}
.lane-label.top{top:12px}.lane-label.bottom{bottom:12px}
.pit,.quan.giant{position:relative;border:1px solid #eadcff;border-radius:28px;background:linear-gradient(180deg,#fff,#faf6ff);padding:14px;min-height:124px;text-align:center;box-shadow:0 12px 24px rgba(75,29,143,.06)}
.pit.can{cursor:pointer;background:linear-gradient(180deg,#fffdf0,#fff8dd);border-color:#f0d178;box-shadow:0 16px 26px rgba(240,209,120,.23)}
.pit.can:hover{transform:translateY(-2px)}
.pit:disabled{opacity:1}
.pit-label,.quan.giant span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.pit b,.quan.giant b{display:block;font-size:34px;color:var(--purple);line-height:1;margin-bottom:10px}
.quan.giant{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff8de,#fff5c8)}
.stone-cluster{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;min-height:28px}
.stone-dot{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#ffd45a 45%,#cf9c00 100%);box-shadow:inset 0 1px 2px rgba(255,255,255,.65),0 2px 3px rgba(0,0,0,.12)}
.stone-empty{font-size:12px;color:#b4a6cb;font-style:italic}
.coganh-stage{background:linear-gradient(180deg,#fffcf4,#fff)}
.cgboard-wrap{position:relative;width:min(100%,460px);margin:0 auto 16px;padding:18px;border-radius:28px;background:linear-gradient(180deg,#f7d18b,#e7aa4f);box-shadow:0 18px 30px rgba(116,67,11,.18)}
.cgboard-lines{position:absolute;inset:34px;background:
linear-gradient(#8b5d20,#8b5d20) 12.5% 0/2px 100%,
linear-gradient(#8b5d20,#8b5d20) 37.5% 0/2px 100%,
linear-gradient(#8b5d20,#8b5d20) 62.5% 0/2px 100%,
linear-gradient(#8b5d20,#8b5d20) 87.5% 0/2px 100%,
linear-gradient(90deg,#8b5d20,#8b5d20) 0 12.5%/100% 2px,
linear-gradient(90deg,#8b5d20,#8b5d20) 0 37.5%/100% 2px,
linear-gradient(90deg,#8b5d20,#8b5d20) 0 62.5%/100% 2px,
linear-gradient(90deg,#8b5d20,#8b5d20) 0 87.5%/100% 2px,
linear-gradient(45deg,transparent calc(50% - 1px),#8b5d20 calc(50% - 1px),#8b5d20 calc(50% + 1px),transparent calc(50% + 1px)),
linear-gradient(-45deg,transparent calc(50% - 1px),#8b5d20 calc(50% - 1px),#8b5d20 calc(50% + 1px),transparent calc(50% + 1px));
background-repeat:no-repeat;border-radius:18px;opacity:.9;pointer-events:none}
.coganh{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;justify-content:center;margin:0}
.cgcell{position:relative;z-index:1;width:100%;aspect-ratio:1/1;border-radius:50%;border:none;background:rgba(255,255,255,.96);box-shadow:0 5px 12px rgba(0,0,0,.12);font-size:26px;color:transparent;cursor:pointer;transition:.15s ease}
.cgcell span{display:block;line-height:1;color:transparent}
.cgcell.p1{background:linear-gradient(180deg,#ffe992,#f0ba2c)}.cgcell.p1 span{color:#7a5400}
.cgcell.p2{background:linear-gradient(180deg,#ddc4ff,#8c58e9)}.cgcell.p2 span{color:#fff}
.cgcell:hover{transform:translateY(-1px) scale(1.03)}
.cgcell.selected{outline:4px solid #fff;border:4px solid #ffef98;box-shadow:0 0 0 5px rgba(124,72,214,.28),0 8px 18px rgba(0,0,0,.15)}
.cglegend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #eadcff;color:#5b4b73}.legend-dot{width:16px;height:16px;border-radius:50%;display:inline-block;background:#ddd}.legend-dot.p1{background:linear-gradient(180deg,#ffe992,#f0ba2c)}.legend-dot.p2{background:linear-gradient(180deg,#ddc4ff,#8c58e9)}.legend-dot.sel{background:#fff;border:3px solid #ffef98;box-shadow:0 0 0 2px rgba(124,72,214,.28)}
.wrestle-stage{background:radial-gradient(circle at top center,rgba(255,212,90,.23),transparent 30%),linear-gradient(180deg,#fffaf0,#fff)}
.wrestle-stage,.swing-game.deluxe{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:16px;align-items:stretch}
.fighter-card,.center-panel{background:#fff;border:1px solid #eadcff;border-radius:24px;padding:18px;box-shadow:0 12px 24px rgba(75,29,143,.06)}
.fighter-card h3{margin:4px 0 10px;text-align:center}.fighter-avatar{width:92px;height:92px;margin:0 auto 8px;border-radius:28px;display:flex;align-items:center;justify-content:center;font-size:52px;background:linear-gradient(135deg,#fff9e5,#fff1b8);box-shadow:inset 0 0 0 1px rgba(255,212,90,.4)}.fighter-card.p2 .fighter-avatar{background:linear-gradient(135deg,#f4ebff,#dec6ff)}
.arena-core{display:grid;gap:12px;align-content:start}.arena-badge{display:inline-flex;justify-content:center;align-items:center;padding:10px 16px;border-radius:999px;background:#f3edff;color:var(--purple);font-weight:900;margin:0 auto}.arena-art{display:flex;align-items:center;justify-content:center;font-size:84px;height:120px;border-radius:28px;background:linear-gradient(180deg,#fff7dd,#fff)}
.fight-actions{text-align:center}.fight-grid{display:grid;gap:10px;margin-top:12px}.fight-btn{position:relative;border:1px solid #eadcff;background:linear-gradient(180deg,#fff,#fbf8ff);padding:14px 52px 14px 14px;border-radius:18px;text-align:left;cursor:pointer;box-shadow:0 10px 18px rgba(75,29,143,.05)}.fight-btn b{display:block;margin-bottom:4px;color:var(--ink)}.fight-btn small{display:block;color:var(--muted);line-height:1.35}.fight-btn span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:900;padding:8px 10px;border-radius:999px;background:#f3edff;color:var(--purple)}.fight-btn.secondary{background:linear-gradient(180deg,#fffdf4,#fff8df)}
.meter{height:12px;border-radius:999px;background:#f0ecf7;overflow:hidden;margin:6px 0 4px}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--purple2));border-radius:999px}
.swing-stage{background:radial-gradient(circle at top center,rgba(255,212,90,.25),transparent 28%),linear-gradient(180deg,#fffaf0,#fff)}
.swing-wrap{position:relative;min-height:280px;background:linear-gradient(180deg,#fef8e8,#fff);border:1px solid #eadcff;border-radius:28px;padding:18px;overflow:hidden}
.swing-frame{position:absolute;inset:20px 26px auto;height:20px;background:#8b5d20;border-radius:999px;box-shadow:0 4px 0 rgba(255,255,255,.35) inset}
.swing-frame:before,.swing-frame:after{content:"";position:absolute;top:18px;width:8px;height:180px;background:#8b5d20;border-radius:999px}.swing-frame:before{left:28px}.swing-frame:after{right:28px}
.swing{height:240px;display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at center 120%,rgba(124,72,214,.08),transparent 50%)}
.swing-seat{position:relative;display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:28px;background:linear-gradient(180deg,#fff7dd,#ffd45a);font-size:42px;transform-origin:50% -105px;transition:transform .4s ease, box-shadow .2s ease;box-shadow:0 18px 22px rgba(0,0,0,.12)}
.swing-seat.p2{background:linear-gradient(180deg,#f3eaff,#c79cff)}
.swing-seat:before,.swing-seat:after{content:"";position:absolute;top:-108px;width:3px;height:108px;background:#8b5d20}.swing-seat:before{left:20px}.swing-seat:after{right:20px}
.power-readout{margin:10px 0 4px;color:#694f14}
.game-log{background:linear-gradient(180deg,#fffdf6,#fff9ea);border:1px solid #f4e2ac;border-top:none;border-radius:0 0 30px 30px;padding:18px 26px 20px}
.game-log h4{margin:0 0 10px;color:#6d5317}.game-log p{margin:7px 0;color:#6b5525;line-height:1.4}
@media(max-width:900px){
  .games-banner,.game-lobby-grid,.scoreline.deluxe,.swing-score-head,.wrestle-stage,.swing-game.deluxe{grid-template-columns:1fr}
  .game-picks{grid-template-columns:1fr 1fr}
  .game-room-head{padding:18px;border-radius:26px 26px 0 0}.game-room-head h2{font-size:28px}
  .notice.soft,.room-msg,.alert.big,.game-stage,.game-log{padding-left:18px;padding-right:18px}
  .oaq-board{grid-template-columns:1fr}.danrow{grid-template-columns:repeat(5,1fr)}
  .lane-label{position:static;transform:none;display:inline-flex;width:max-content;margin:0 auto 10px}
  .cgboard-wrap{width:100%;padding:14px}.coganh{gap:10px}
}
@media(max-width:640px){
  .game-picks{grid-template-columns:1fr}
  .game-create,.game-create.join-layout{grid-template-columns:1fr}
  .meta-chip,.room-topline,.cglegend{justify-content:flex-start}
  .pit,.quan.giant{min-height:108px;border-radius:22px}.pit b,.quan.giant b,.score-player b,.turn-core b{font-size:26px}
}

/* ===== v7_2 Traditional games polish ===== */
.games-banner-v72{background:
radial-gradient(circle at top right,rgba(255,212,90,.35),transparent 28%),
radial-gradient(circle at bottom left,rgba(139,88,233,.12),transparent 28%),
linear-gradient(135deg,#fffaf1,#fff,#f8f1ff)}
.game-lobby-v72{background:linear-gradient(135deg,#fff,#fff8ef 40%,#fcf8ff)}
.mode-picks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.mode-pick{border:1px solid #eadcff;background:linear-gradient(180deg,#fff,#faf6ff);padding:16px;border-radius:22px;text-align:left;cursor:pointer;transition:.2s ease;box-shadow:0 10px 18px rgba(75,29,143,.05)}
.mode-pick:hover{transform:translateY(-2px)}
.mode-pick.is-active{background:linear-gradient(135deg,#fff8df,#f4ebff);border-color:#d8bbff;box-shadow:0 14px 26px rgba(75,29,143,.10)}
.mode-pick b{display:block;font-size:17px;color:var(--ink);margin-bottom:5px}
.mode-pick small{display:block;line-height:1.4;color:var(--muted)}
.bot-level-wrap{margin-top:14px;display:grid;gap:8px;padding:14px 16px;border-radius:18px;background:#fff;border:1px dashed #eadcff}
.bot-level-wrap label{color:var(--purple);font-weight:800}
.festival-stage{position:relative;overflow:hidden}
.festival-stage:before{content:"";position:absolute;inset:0;background:
radial-gradient(circle at 10% 12%,rgba(255,212,90,.12),transparent 12%),
radial-gradient(circle at 88% 14%,rgba(124,72,214,.09),transparent 11%),
linear-gradient(transparent 0,transparent calc(100% - 32px),rgba(245,220,168,.15) calc(100% - 32px),rgba(245,220,168,.15) 100%);
pointer-events:none}
.winner-burst{position:relative;overflow:hidden}
.winner-burst:after{content:"";position:absolute;right:16px;top:10px;letter-spacing:8px;animation:burstFloat 1.8s ease infinite}
@keyframes burstFloat{0%{transform:translateY(0);opacity:.3}50%{transform:translateY(-4px);opacity:1}100%{transform:translateY(0);opacity:.35}}
.active-turn{box-shadow:0 0 0 3px rgba(255,212,90,.34),0 16px 28px rgba(75,29,143,.08)}
.idle-sway{animation:idleSway 2.4s ease-in-out infinite alternate}
@keyframes idleSway{from{filter:drop-shadow(0 10px 10px rgba(0,0,0,.10))}to{filter:drop-shadow(0 14px 18px rgba(0,0,0,.16))}}
.wrestle-stage.impact-left .fighter-card.p1,.wrestle-stage.impact-right .fighter-card.p2{animation:hitShake .42s ease}
@keyframes hitShake{0%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}100%{transform:translateX(0)}}
.swing-stage.rise-left .swing-wrap:first-child .swing-seat,.swing-stage.rise-right .swing-wrap:last-child .swing-seat{animation:liftJoy .55s ease}
@keyframes liftJoy{0%{transform-origin:50% -105px;filter:brightness(1)}40%{filter:brightness(1.15)}100%{filter:brightness(1)}}
.cgcell.selected span{transform:scale(1.1)}
.arena-art{position:relative;overflow:hidden}
.arena-art:before,.arena-art:after{content:"";position:absolute;top:12px;font-size:24px;opacity:.65}.arena-art:before{left:24px}.arena-art:after{right:24px}
.swing-wrap:after{content:"";position:absolute;bottom:10px;right:14px;font-size:30px;opacity:.35}
.oaq-stage:after{content:"";position:absolute;right:22px;bottom:16px;font-size:34px;opacity:.28}
.game-log{background-image:linear-gradient(180deg,#fffdf6,#fff9ea), radial-gradient(circle at top right,rgba(255,212,90,.12),transparent 26%);background-blend-mode:normal}
.room-msg{min-height:20px}
@media(max-width:900px){.mode-picks{grid-template-columns:1fr}.games-banner-v72{grid-template-columns:1fr}}

/* ===== v7_3 Traditional games progression & animation ===== */
.games-dashboard{display:grid;gap:18px}
.stats-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:18px}
.stats-panel{background:linear-gradient(135deg,#fffef9,#fff,#faf5ff)}
.stats-head h3{margin:0 0 6px;font-size:24px;color:var(--ink)}
.stats-head p{margin:0;color:var(--muted);line-height:1.5}
.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.qstat{background:#fff;border:1px solid #eadcff;border-radius:20px;padding:16px;text-align:center;box-shadow:0 10px 18px rgba(75,29,143,.05)}
.qstat b{display:block;font-size:28px;color:var(--purple);margin-bottom:5px}
.qstat span{display:block;color:var(--muted);font-size:13px}
.stats-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stats-subgrid h4{margin:0 0 10px;color:#5e4b79}
.badge-list,.recent-list,.hall-list{display:grid;gap:10px}
.badge-card,.recent-row,.hall-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:18px;background:#fff;border:1px solid #eee2ff}
.badge-card span{font-size:24px;line-height:1}.badge-card b,.recent-row b,.hall-row b{display:block;margin-bottom:3px}
.badge-card small,.recent-row small,.hall-row small{display:block;color:var(--muted);line-height:1.4}
.recent-row{display:grid;grid-template-columns:1fr auto;align-items:center}.recent-row small{grid-column:1/-1}.recent-row span{font-size:13px;font-weight:800;color:#74552a;background:#fff4d5;padding:6px 10px;border-radius:999px}
.hall-row{align-items:center}.hall-rank{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff8df,#efdfff);font-weight:900;color:var(--purple)}
.stats-guest{margin-top:14px;padding:16px 18px;border-radius:18px;background:#fff;border:1px dashed #eadcff;color:#5a4a70;line-height:1.55}
.oaq-board{position:relative}
.oaq-fx{position:fixed;inset:0;pointer-events:none;z-index:55}
.flying-stone{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#ffd45a 45%,#cf9c00 100%);box-shadow:inset 0 1px 2px rgba(255,255,255,.65),0 2px 6px rgba(0,0,0,.18);animation:flyStone .95s cubic-bezier(.2,.8,.2,1) forwards}
.flying-stone.capture{background:radial-gradient(circle at 30% 30%,#fff,#ffe18f 45%,#d49d00 100%)}
@keyframes flyStone{0%{transform:translate(0,0) scale(1);opacity:1}70%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.75);opacity:0}}
.wrestle-stage.move-quay .arena-art{animation:spinThrow .75s ease}
.wrestle-stage.move-day .arena-art{animation:pushHit .45s ease}
.wrestle-stage.move-giu .arena-art{animation:grappleHold .6s ease}
.wrestle-stage.move-thoat .arena-art{animation:stepBack .55s ease}
@keyframes spinThrow{0%{transform:rotate(0) scale(1)}35%{transform:rotate(-18deg) scale(1.05)}100%{transform:rotate(18deg) scale(1)}}
@keyframes pushHit{0%{transform:translateX(0)}45%{transform:translateX(14px) scale(1.04)}100%{transform:translateX(0)}}
@keyframes grappleHold{0%{transform:scale(1)}30%{transform:scale(1.06)}65%{transform:scale(.98)}100%{transform:scale(1)}}
@keyframes stepBack{0%{transform:translateY(0)}50%{transform:translateY(-8px) scale(.96)}100%{transform:translateY(0)}}
.swing-stage.rise-left .swing-wrap:first-child .swing-seat{animation:swingBoostLeft .9s ease}
.swing-stage.rise-right .swing-wrap:last-child .swing-seat{animation:swingBoostRight .9s ease}
@keyframes swingBoostLeft{0%{transform:rotate(0deg)}35%{transform:rotate(22deg)}70%{transform:rotate(-38deg)}100%{transform:rotate(-8deg)}}
@keyframes swingBoostRight{0%{transform:rotate(0deg)}35%{transform:rotate(-22deg)}70%{transform:rotate(38deg)}100%{transform:rotate(8deg)}}
@media(max-width:980px){.stats-grid,.stats-subgrid{grid-template-columns:1fr}.quick-stats{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.quick-stats{grid-template-columns:1fr 1fr}.qstat b{font-size:24px}}

/* ===== v7_4 mobile nav, game flow, full animations ===== */
.menu-toggle{display:none;width:46px;height:46px;border:1px solid #eadcff;background:#fff;border-radius:14px;padding:10px;align-items:center;justify-content:center;gap:4px;flex-direction:column;box-shadow:0 10px 20px rgba(75,29,143,.08)}
.menu-toggle span{display:block;width:20px;height:2px;border-radius:99px;background:var(--purple)}
.mobile-menu{display:none;border-top:1px solid rgba(75,29,143,.08);background:rgba(255,248,232,.98);backdrop-filter:blur(12px)}
.mobile-menu.is-open{display:block}
.mobile-menu-inner{display:grid;gap:8px;padding:12px 18px 16px}.mobile-menu-inner a{text-decoration:none;font-weight:800;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #eee2ff}.mobile-menu-inner .adminlink{background:var(--purple);color:#fff}
body.mobile-menu-open{overflow:hidden}
.game-setup-card{background:linear-gradient(135deg,#fff,#fff8ef 45%,#fcf7ff)}
.setup-head{display:grid;grid-template-columns:1.2fr .9fr;gap:18px;align-items:start;margin-bottom:18px}.setup-head h3{margin:4px 0 8px}
.selection-summary{display:flex;align-items:stretch}.summary-pill{width:100%;padding:16px 18px;border-radius:22px;background:linear-gradient(135deg,#fffdf5,#f7efff);border:1px solid #eadcff;box-shadow:0 10px 18px rgba(75,29,143,.05)}
.summary-pill span{display:block;font-weight:900;color:#6a4c18;margin-bottom:6px}.summary-pill b{display:block;font-size:20px;color:var(--purple);margin-bottom:4px}.summary-pill small{display:block;color:var(--muted);line-height:1.45}
.game-lobby-grid.compact{grid-template-columns:1.15fr .85fr;align-items:start}.compact-create{grid-template-columns:1fr}.start-btn{width:100%;min-height:52px;font-size:16px}
.join-room-panel{border:1px solid #eadcff;background:#fff;border-radius:22px;padding:14px 16px}.join-room-panel summary{cursor:pointer;list-style:none;font-weight:900;color:var(--purple)}.join-room-panel summary::-webkit-details-marker{display:none}.join-room-panel[open] summary{margin-bottom:10px}
.game-board-card{position:relative}
.game-fx-layer{position:fixed;inset:0;pointer-events:none;z-index:80}
.fx-sprite{position:absolute;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:18px;font-weight:900;animation:fxFlight 1s cubic-bezier(.2,.8,.2,1) forwards;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.fx-sprite.stone-flight{color:#d59a00}.fx-sprite.stone-flight.capture{color:#7c48d6}.fx-sprite.piece-flight{color:#f0cc52}.fx-sprite.piece-flight.p2{color:#7d57d8}
@keyframes fxFlight{0%{transform:translate(0,0) scale(.8);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1.05);opacity:0}}
.cgcell.move-target{box-shadow:0 0 0 4px rgba(255,212,90,.35),0 16px 28px rgba(75,29,143,.15);transform:translateY(-2px)}
.cgcell.move-origin{opacity:.45}.cgcell.flip-capture{animation:flipCapture .75s ease}
@keyframes flipCapture{0%{transform:scale(1)}35%{transform:rotateY(90deg) scale(.95)}70%{transform:rotateY(0deg) scale(1.08)}100%{transform:scale(1)}}
.arena-art{display:flex;align-items:center;justify-content:center;min-height:200px}
.wrestle-ring{position:relative;width:min(100%,340px);height:170px;border-radius:50%;background:radial-gradient(circle at center,#fef8dd 0,#f6d27a 70%,#d8a445 100%);box-shadow:inset 0 0 0 8px rgba(255,255,255,.38),0 16px 28px rgba(75,29,143,.12)}
.wrestle-ring:before,.wrestle-ring:after{content:"";position:absolute;top:12px;font-size:24px;opacity:.65}.wrestle-ring:before{left:18px}.wrestle-ring:after{right:18px}
.wrestler{position:absolute;bottom:24px;width:60px;height:96px;transform-origin:50% 90%;transition:transform .24s ease}
.wrestler.p1{left:95px}.wrestler.p2{right:95px;transform:scaleX(-1)}
.wrestler .head,.wrestler .body,.wrestler .arm,.wrestler .leg{position:absolute;display:block;background:#42245f}
.wrestler .head{left:18px;top:0;width:24px;height:24px;border-radius:50%;background:#ffddb3}
.wrestler .body{left:14px;top:20px;width:32px;height:34px;border-radius:14px 14px 12px 12px}
.wrestler.p1 .body{background:linear-gradient(180deg,#ffd45a,#f1b100)}.wrestler.p2 .body{background:linear-gradient(180deg,#d9c4ff,#8c67e8)}
.wrestler .arm{top:26px;width:10px;height:34px;border-radius:999px}.wrestler .arm.left{left:7px;transform:rotate(18deg)}.wrestler .arm.right{right:7px;transform:rotate(-18deg)}
.wrestler .leg{top:50px;width:10px;height:38px;border-radius:999px}.wrestler .leg.left{left:18px;transform:rotate(10deg)}.wrestler .leg.right{right:18px;transform:rotate(-10deg)}
.wrestle-stage.move-day .wrestler.p1,.wrestle-stage.move-day .wrestler.p2{animation:wrestlePush .55s ease}
.wrestle-stage.move-giu .wrestler.p1,.wrestle-stage.move-giu .wrestler.p2{animation:wrestleHold .7s ease}
.wrestle-stage.move-quay .wrestler.p1,.wrestle-stage.move-quay .wrestler.p2{animation:wrestleSpin .8s ease}
.wrestle-stage.move-thoat .wrestler.p1,.wrestle-stage.move-thoat .wrestler.p2{animation:wrestleStep .55s ease}
@keyframes wrestlePush{0%{transform:translateX(0)}40%{transform:translateX(14px)}75%{transform:translateX(-6px)}100%{transform:translateX(0)}}
@keyframes wrestleHold{0%{transform:scale(1)}40%{transform:scale(1.08)}70%{transform:scale(.98)}100%{transform:scale(1)}}
@keyframes wrestleSpin{0%{transform:rotate(0)}35%{transform:rotate(16deg)}70%{transform:rotate(-20deg)}100%{transform:rotate(0)}}
@keyframes wrestleStep{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
.damage-pop,.gain-pop{position:absolute;top:10px;right:14px;padding:6px 10px;border-radius:999px;font-weight:900;font-size:14px;color:#fff;background:linear-gradient(135deg,#ff8a6e,#d93025);animation:popFloat .85s ease forwards;box-shadow:0 8px 16px rgba(0,0,0,.12)}
.gain-pop{right:auto;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#7c48d6,#b086ff)}
@keyframes popFloat{0%{transform:translateY(6px) scale(.85);opacity:0}20%{opacity:1}100%{transform:translateY(-16px) scale(1);opacity:0}}
.swing-wrap{overflow:visible}
.swing-stage.rise-left .swing-wrap:first-child .swing-seat,.swing-stage.rise-right .swing-wrap:last-child .swing-seat{box-shadow:0 18px 22px rgba(0,0,0,.12),0 0 0 8px rgba(255,212,90,.16)}
@media(max-width:980px){.setup-head,.game-lobby-grid.compact{grid-template-columns:1fr}}
@media(max-width:900px){
  .desktop-menu{display:none}.menu-toggle{display:inline-flex}
  .nav-inner{gap:12px}
  .games-banner{padding:18px}.games-banner .title{font-size:28px}
  .game-picks{display:flex;overflow-x:auto;gap:12px;padding-bottom:4px;scroll-snap-type:x proximity}
  .game-pick{min-width:240px;flex:0 0 240px;scroll-snap-align:start}
  .game-room-head{flex-direction:column}.room-actions{width:100%}.room-actions .btn{flex:1}
}
@media(max-width:640px){
  .container{padding:0 14px}.section{padding:24px 0}
  .games-banner-copy .lead{font-size:15px}.hero-pill{padding:12px 14px}
  .game-pick{min-width:220px}.mode-picks.compact-modes{grid-template-columns:1fr}
  .summary-pill b{font-size:18px}
  .swing-game.deluxe,.wrestle-stage{grid-template-columns:1fr!important}
  .wrestle-ring{width:100%;height:150px}.wrestler.p1{left:22%}.wrestler.p2{right:22%}
  .brand-copy strong{font-size:18px}
}

.wrestle-ring.show-hit{box-shadow:inset 0 0 0 8px rgba(255,255,255,.38),0 0 0 10px rgba(255,212,90,.18),0 16px 28px rgba(75,29,143,.12)}

/* ===== v7_5 final polish ===== */
.brand{align-items:center}.brand-mark{display:block;flex:0 0 auto;margin:0}.brand-copy{justify-content:center}
.game-setup-wizard{background:linear-gradient(135deg,#fff,#fffaf1 50%,#fbf6ff);overflow:hidden}
.setup-wizard-head{display:grid;grid-template-columns:1.2fr .9fr;gap:16px;align-items:start;margin-bottom:18px}
.setup-progress{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.step-chip{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #eadcff;color:#6d6380;font-weight:800}
.step-chip.is-active{background:linear-gradient(135deg,#fff8df,#f4ebff);border-color:#d8bbff;color:var(--purple)}
.setup-panel[hidden]{display:none!important}.setup-panel.is-active{display:block}
.setup-head.compact-head{grid-template-columns:1fr 1fr;align-items:center}
.setup-head-copy h4{margin:4px 0 8px;font-size:22px}.setup-head-copy p{margin:0}
.wizard-actions{display:flex;justify-content:flex-end;margin-top:16px}.two-btns{grid-template-columns:1fr 1fr;gap:10px}
.selection-summary{min-height:100%}.game-lobby-grid.tight{gap:16px}
.game-setup-wizard.room-active{border-color:#d9cbff;box-shadow:0 16px 34px rgba(75,29,143,.08)}
.game-guide{margin-top:14px;padding:16px 18px;border-radius:24px;background:linear-gradient(135deg,#fffdf6,#fff7eb);border:1px solid #f2dfae}
.game-guide h4{margin:0 0 12px;color:#6c5315}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.guide-step{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #f5e5bf;border-radius:18px;padding:12px 14px}.guide-step span{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffd45a,#ffb800);color:#4b1d8f;font-weight:900}.guide-step p{margin:0;color:#6b5525;line-height:1.45;font-size:14px}
.winner-modal{position:fixed;inset:0;background:rgba(33,23,52,.38);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:120}.winner-modal-card{max-width:420px;width:100%;padding:24px;border-radius:28px;background:linear-gradient(135deg,#fff,#fff9ee 50%,#f7efff);box-shadow:0 24px 60px rgba(0,0,0,.22);text-align:center;position:relative}.winner-modal-card h3{margin:8px 0 8px;font-size:28px;color:var(--purple)}.winner-modal-card p{margin:0;color:var(--muted);line-height:1.5}.winner-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.winner-icon{font-size:44px}
.oaq-stage{padding-top:18px}.oaq-board{overflow:visible}.oaq-center{display:grid;gap:10px}.lane-inline{display:inline-flex;justify-self:center;align-items:center;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid #eadcff;font-weight:800;color:#6a5892;font-size:13px}.lane-inline.bottom{margin-top:4px}
.fx-sprite.stone-flight{width:18px;height:18px;font-size:14px;animation-duration:1.1s}.fx-sprite.stone-flight.capture{font-size:18px}.fx-sprite.piece-flight{width:24px;height:24px;font-size:18px;background:#fff;border:2px solid #f0cc52}.fx-sprite.piece-flight.p2{border-color:#8a69e4}
.cgcell.move-target{transform:scale(1.08);box-shadow:0 0 0 4px rgba(255,212,90,.35),0 16px 28px rgba(75,29,143,.15)}.cgcell.flip-capture span{animation:cgFlipPulse .78s ease}
@keyframes cgFlipPulse{0%{transform:scale(1)}35%{transform:rotateY(90deg) scale(.8)}70%{transform:rotateY(0deg) scale(1.2)}100%{transform:scale(1)}}
.wrestle-stage .arena-core{position:relative}.wrestle-ring{overflow:visible}
.wrestler{transition:transform .18s ease}.wrestler .arm,.wrestler .leg{transform-origin:center top}
.attacker-left.move-day .wrestler.p1{animation:wrestlePushLeft .7s ease}.attacker-left.move-day .wrestler.p2{animation:wrestleHitRight .7s ease}
.attacker-right.move-day .wrestler.p2{animation:wrestlePushRight .7s ease}.attacker-right.move-day .wrestler.p1{animation:wrestleHitLeft .7s ease}
.attacker-left.move-giu .wrestler.p1,.attacker-right.move-giu .wrestler.p2{animation:wrestleGrab .8s ease}.attacker-left.move-giu .wrestler.p2,.attacker-right.move-giu .wrestler.p1{animation:wrestleLocked .8s ease}
.attacker-left.move-quay .wrestler.p1,.attacker-right.move-quay .wrestler.p2{animation:wrestleThrow .95s ease}.attacker-left.move-quay .wrestler.p2,.attacker-right.move-quay .wrestler.p1{animation:wrestleThrown .95s ease}
.attacker-left.move-thoat .wrestler.p1,.attacker-right.move-thoat .wrestler.p2{animation:wrestleEscape .7s ease}
@keyframes wrestlePushLeft{0%{transform:translateX(0)}35%{transform:translateX(26px) rotate(-8deg)}65%{transform:translateX(12px) rotate(2deg)}100%{transform:translateX(0)}}
@keyframes wrestlePushRight{0%{transform:scaleX(-1) translateX(0)}35%{transform:scaleX(-1) translateX(26px) rotate(-8deg)}65%{transform:scaleX(-1) translateX(12px) rotate(2deg)}100%{transform:scaleX(-1) translateX(0)}}
@keyframes wrestleHitRight{0%{transform:scaleX(-1) translateX(0)}35%{transform:scaleX(-1) translateX(-18px) rotate(10deg)}100%{transform:scaleX(-1) translateX(0)}}
@keyframes wrestleHitLeft{0%{transform:translateX(0)}35%{transform:translateX(-18px) rotate(-10deg)}100%{transform:translateX(0)}}
@keyframes wrestleGrab{0%{transform:translateX(0)}40%{transform:translateX(18px) scale(1.05)}70%{transform:translateX(18px) scale(1.05)}100%{transform:translateX(0)}}
@keyframes wrestleLocked{0%{transform:translateX(0)}35%{transform:translateX(-8px) scale(.98)}70%{transform:translateX(-8px) scale(.98)}100%{transform:translateX(0)}}
@keyframes wrestleThrow{0%{transform:translateX(0) rotate(0)}35%{transform:translateX(12px) rotate(20deg)}60%{transform:translateX(20px) rotate(-12deg)}100%{transform:translateX(0) rotate(0)}}
@keyframes wrestleThrown{0%{transform:scaleX(-1) translateX(0) rotate(0)}35%{transform:scaleX(-1) translateX(-14px) rotate(-16deg)}60%{transform:scaleX(-1) translateX(-26px) rotate(22deg)}100%{transform:scaleX(-1) translateX(0) rotate(0)}}
@keyframes wrestleEscape{0%{transform:translateY(0)}40%{transform:translateY(-12px) scale(.94)}100%{transform:translateY(0)}}
.swing-wrap{position:relative}.swing{overflow:visible}.swing-seat{font-size:46px}.swing-stage.rise-left .swing-wrap:first-child .swing-seat,.swing-stage.rise-right .swing-wrap:last-child .swing-seat{animation-duration:1.2s!important}
@keyframes swingBoostLeft{0%{transform:rotate(0deg)}20%{transform:rotate(28deg)}50%{transform:rotate(-60deg)}75%{transform:rotate(20deg)}100%{transform:rotate(-18deg)}}
@keyframes swingBoostRight{0%{transform:rotate(0deg)}20%{transform:rotate(-28deg)}50%{transform:rotate(60deg)}75%{transform:rotate(-20deg)}100%{transform:rotate(18deg)}}
@media(max-width:980px){.setup-wizard-head,.setup-head.compact-head,.guide-steps{grid-template-columns:1fr}.setup-progress{justify-content:flex-start}}
@media(max-width:900px){.two-btns{grid-template-columns:1fr}.game-picks-step{display:flex;overflow-x:auto;gap:12px;padding-bottom:4px;scroll-snap-type:x proximity}.game-picks-step .game-pick{min-width:230px;flex:0 0 230px;scroll-snap-align:start}.winner-modal-card h3{font-size:24px}}
@media(max-width:640px){.step-chip{font-size:13px;padding:9px 12px}.guide-steps{grid-template-columns:1fr}.guide-step{padding:12px}.setup-head-copy h4{font-size:20px}.oaq-board{grid-template-columns:1fr}.quan.giant{min-height:90px}.lane-inline{font-size:12px;padding:7px 12px}.winner-modal{padding:14px}.winner-modal-card{padding:20px}.brand-mark{width:40px;height:40px}.brand-copy strong{font-size:17px}}

/* ===== v7_6 game hotfix ===== */
.brand{min-height:52px}.brand-mark{object-position:center center;vertical-align:middle}.nav-inner{min-height:68px}
.wrestle-stage.move-quay .arena-art,.wrestle-stage.move-day .arena-art,.wrestle-stage.move-giu .arena-art,.wrestle-stage.move-thoat .arena-art{animation:none!important;transform:none!important}
.wrestle-ring.act-day.by-p1 .wrestler.p1{animation:w76PushP1 .86s cubic-bezier(.2,.8,.2,1)}
.wrestle-ring.act-day.by-p1 .wrestler.p2{animation:w76HitP2 .86s cubic-bezier(.2,.8,.2,1)}
.wrestle-ring.act-day.by-p2 .wrestler.p2{animation:w76PushP2 .86s cubic-bezier(.2,.8,.2,1)}
.wrestle-ring.act-day.by-p2 .wrestler.p1{animation:w76HitP1 .86s cubic-bezier(.2,.8,.2,1)}
.wrestle-ring.act-giu.by-p1 .wrestler.p1{animation:w76GrabP1 1s ease}.wrestle-ring.act-giu.by-p1 .wrestler.p2{animation:w76LockedP2 1s ease}
.wrestle-ring.act-giu.by-p2 .wrestler.p2{animation:w76GrabP2 1s ease}.wrestle-ring.act-giu.by-p2 .wrestler.p1{animation:w76LockedP1 1s ease}
.wrestle-ring.act-quay.by-p1 .wrestler.p1{animation:w76ThrowP1 1.05s ease}.wrestle-ring.act-quay.by-p1 .wrestler.p2{animation:w76ThrownP2 1.05s ease}
.wrestle-ring.act-quay.by-p2 .wrestler.p2{animation:w76ThrowP2 1.05s ease}.wrestle-ring.act-quay.by-p2 .wrestler.p1{animation:w76ThrownP1 1.05s ease}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1{animation:w76EscapeP1 .85s ease}.wrestle-ring.act-thoat.by-p2 .wrestler.p2{animation:w76EscapeP2 .85s ease}
@keyframes w76PushP1{0%{transform:translateX(0)}25%{transform:translateX(38px) rotate(-8deg)}45%{transform:translateX(44px) rotate(-4deg)}100%{transform:translateX(0)}}
@keyframes w76HitP2{0%{transform:scaleX(-1) translateX(0)}30%{transform:scaleX(-1) translateX(-26px) rotate(14deg)}55%{transform:scaleX(-1) translateX(-12px) rotate(6deg)}100%{transform:scaleX(-1) translateX(0)}}
@keyframes w76PushP2{0%{transform:scaleX(-1) translateX(0)}25%{transform:scaleX(-1) translateX(38px) rotate(-8deg)}45%{transform:scaleX(-1) translateX(44px) rotate(-4deg)}100%{transform:scaleX(-1) translateX(0)}}
@keyframes w76HitP1{0%{transform:translateX(0)}30%{transform:translateX(-26px) rotate(-14deg)}55%{transform:translateX(-12px) rotate(-6deg)}100%{transform:translateX(0)}}
@keyframes w76GrabP1{0%{transform:translateX(0)}30%{transform:translateX(32px) scale(1.06)}70%{transform:translateX(32px) scale(1.06)}100%{transform:translateX(0)}}
@keyframes w76GrabP2{0%{transform:scaleX(-1) translateX(0)}30%{transform:scaleX(-1) translateX(32px) scale(1.06)}70%{transform:scaleX(-1) translateX(32px) scale(1.06)}100%{transform:scaleX(-1) translateX(0)}}
@keyframes w76LockedP2{0%{transform:scaleX(-1) translateX(0)}35%{transform:scaleX(-1) translateX(-16px) rotate(7deg)}70%{transform:scaleX(-1) translateX(-16px) rotate(7deg)}100%{transform:scaleX(-1) translateX(0)}}
@keyframes w76LockedP1{0%{transform:translateX(0)}35%{transform:translateX(-16px) rotate(-7deg)}70%{transform:translateX(-16px) rotate(-7deg)}100%{transform:translateX(0)}}
@keyframes w76ThrowP1{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(28px) rotate(20deg)}55%{transform:translateX(44px) rotate(-24deg)}100%{transform:translateX(0) rotate(0)}}
@keyframes w76ThrownP2{0%{transform:scaleX(-1) translate(0,0) rotate(0)}35%{transform:scaleX(-1) translate(-28px,-14px) rotate(-34deg)}65%{transform:scaleX(-1) translate(-48px,14px) rotate(42deg)}100%{transform:scaleX(-1) translate(0,0) rotate(0)}}
@keyframes w76ThrowP2{0%{transform:scaleX(-1) translateX(0) rotate(0)}30%{transform:scaleX(-1) translateX(28px) rotate(20deg)}55%{transform:scaleX(-1) translateX(44px) rotate(-24deg)}100%{transform:scaleX(-1) translateX(0) rotate(0)}}
@keyframes w76ThrownP1{0%{transform:translate(0,0) rotate(0)}35%{transform:translate(-28px,-14px) rotate(34deg)}65%{transform:translate(-48px,14px) rotate(-42deg)}100%{transform:translate(0,0) rotate(0)}}
@keyframes w76EscapeP1{0%{transform:translateX(0)}35%{transform:translate(-28px,-12px) scale(.92)}70%{transform:translate(-10px,-6px) scale(.96)}100%{transform:translateX(0)}}
@keyframes w76EscapeP2{0%{transform:scaleX(-1) translateX(0)}35%{transform:scaleX(-1) translate(-28px,-12px) scale(.92)}70%{transform:scaleX(-1) translate(-10px,-6px) scale(.96)}100%{transform:scaleX(-1) translateX(0)}}
.final-board{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.final-col{padding:14px;border:1px solid #eadcff;border-radius:18px;background:#fff}.final-col span{display:block;color:var(--muted);font-weight:800;font-size:13px}.final-col b{display:block;font-size:24px;color:#6d6380;margin:4px 0}.final-col small{display:block;color:var(--muted)}.final-col.is-win{background:linear-gradient(135deg,#fff8df,#f6efff);border-color:#ffd45a}.final-col.is-win b{color:var(--purple)}
.winner-modal-card{animation:winnerIn .22s ease both}@keyframes winnerIn{from{transform:translateY(10px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:640px){.final-board{grid-template-columns:1fr}.nav-inner{min-height:60px}}


/* ===== v7_7 wrestling turn + UX hotfix ===== */
.fight-btn:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.2);box-shadow:none}
.fight-wait{margin:10px 0;padding:10px 12px;border-radius:14px;background:#fff8df;border:1px solid #f2dfae;color:#6c5315;font-weight:800;line-height:1.35}
.wrestle-stage.move-quay .arena-art,.wrestle-stage.move-day .arena-art,.wrestle-stage.move-giu .arena-art,.wrestle-stage.move-thoat .arena-art{animation:none!important;transform:none!important}
.wrestle-stage.move-quay .wrestle-ring,.wrestle-stage.move-day .wrestle-ring,.wrestle-stage.move-giu .wrestle-ring,.wrestle-stage.move-thoat .wrestle-ring{animation:none!important;transform:none!important}
.wrestle-ring .wrestler{will-change:transform}
.mode-pick[data-mode="bot"].is-active{border-color:#ffd45a;background:linear-gradient(135deg,#fff8df,#f4ebff)}

/* ===== v7_9 video thumbnails + stronger game feel ===== */
.phone-vertical{aspect-ratio:9/16;height:auto;min-height:0}.phone-vertical .phone-card{padding:12px;justify-content:flex-end}.hero-memory-copy{position:relative;z-index:2;background:linear-gradient(transparent,rgba(20,8,35,.88));margin:0 -12px -12px;padding:70px 16px 16px;border-radius:0 0 28px 28px}.hero-thumb{position:absolute;inset:12px;border-radius:24px;overflow:hidden}
.reels{align-items:start}.reel{aspect-ratio:9/16;min-height:0;padding:0;display:block;background:#160b24}.reel:after{z-index:2;background:linear-gradient(transparent 35%,rgba(0,0,0,.86))}.reel .caption{z-index:3}.thumb-media{position:relative;width:100%;height:100%;aspect-ratio:9/16;background-size:cover;background-position:center;border-radius:inherit;overflow:hidden}.thumb-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.thumb-media:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.58));z-index:1}.thumb-pill{position:absolute;top:14px;left:14px;z-index:3;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28);color:white;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:800}.thumb-play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:3;width:66px;height:66px;border-radius:50%;background:var(--gold);color:var(--purple);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:950;box-shadow:0 16px 36px rgba(0,0,0,.22)}.thumb-fallback{background:linear-gradient(160deg,var(--purple),#12041e)}.thumb-title{position:absolute;left:16px;right:16px;bottom:110px;z-index:3;color:white;font-weight:900;font-size:20px;line-height:1.18}.video-frame,.embed{aspect-ratio:9/16!important;padding-top:0!important}.video-frame iframe,.video-frame video,.embed iframe,.embed video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.admin-memory-row{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:start}.admin-thumb{width:78px;height:139px;border-radius:14px;min-height:0}.admin-thumb .thumb-pill,.admin-thumb .thumb-title{display:none}.admin-thumb .thumb-play{width:34px;height:34px;font-size:14px}
.pit-source{box-shadow:0 0 0 4px rgba(124,72,214,.18),0 16px 26px rgba(75,29,143,.10)!important}.pit-drop{animation:pitDropPulse .42s ease}.pit-capture{animation:pitCapturePulse .65s ease}.fx-sprite.stone-hop{animation:stoneHop 1.08s cubic-bezier(.2,.9,.15,1) forwards}.fx-sprite.stone-flight{background:radial-gradient(circle at 30% 30%,#fff,#ffd45a 45%,#c89100 100%);box-shadow:0 8px 16px rgba(0,0,0,.22),inset 0 1px 2px rgba(255,255,255,.7);color:transparent}.fx-sprite.stone-flight.capture{color:#fff;background:radial-gradient(circle at 30% 30%,#fff,#b98cff 45%,#6f35d6 100%)}@keyframes stoneHop{0%{transform:translate(0,0) scale(.85);opacity:0}12%{opacity:1}45%{transform:translate(calc(var(--dx)*.5),calc(var(--dy)*.5 - 34px)) scale(1.12)}100%{transform:translate(var(--dx),var(--dy)) scale(.9);opacity:0}}@keyframes pitDropPulse{0%{transform:scale(1)}45%{transform:scale(1.06);background:linear-gradient(180deg,#fff8df,#fff2bf)}100%{transform:scale(1)}}@keyframes pitCapturePulse{0%{filter:brightness(1)}45%{filter:brightness(1.2) saturate(1.2);transform:scale(.96)}100%{filter:brightness(1);transform:scale(1)}}
.cgcell.piece-land{animation:pieceLand .5s ease}.cgcell.piece-convert{box-shadow:0 0 0 5px rgba(255,212,90,.28),0 14px 24px rgba(75,29,143,.18)}.fx-sprite.piece-flight{animation:pieceFly .72s cubic-bezier(.2,.9,.2,1) forwards;background:linear-gradient(180deg,#ffe992,#f0ba2c);border:0;color:transparent}.fx-sprite.piece-flight.p2{background:linear-gradient(180deg,#ddc4ff,#8c58e9)}@keyframes pieceFly{0%{transform:translate(0,0) scale(.9);opacity:0}20%{opacity:1}55%{transform:translate(calc(var(--dx)*.55),calc(var(--dy)*.55 - 22px)) scale(1.15)}100%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}@keyframes pieceLand{0%{transform:scale(.9)}50%{transform:scale(1.14)}100%{transform:scale(1)}}
.wrestle-stage .arena-art{animation:none!important;transform:none!important}.wrestle-ring{transform:none!important}.ring-action .wrestle-ring{box-shadow:inset 0 0 0 8px rgba(255,255,255,.38),0 0 0 12px rgba(255,212,90,.16),0 18px 34px rgba(75,29,143,.14)}.wrestle-ring .wrestler .arm.right{transition:transform .2s ease}.wrestle-ring.act-day.by-p1 .wrestler.p1 .arm.right,.wrestle-ring.act-day.by-p2 .wrestler.p2 .arm.right{animation:armPush .9s ease}.wrestle-ring.act-giu.by-p1 .wrestler.p1 .arm.right,.wrestle-ring.act-giu.by-p2 .wrestler.p2 .arm.right{animation:armGrab 1.05s ease}.wrestle-ring.act-quay.by-p1 .wrestler.p1 .arm.right,.wrestle-ring.act-quay.by-p2 .wrestler.p2 .arm.right{animation:armThrow 1.15s ease}.wrestle-ring.act-day.by-p1 .wrestler.p1{animation:w79DashP1 1.05s cubic-bezier(.2,.8,.2,1)!important}.wrestle-ring.act-day.by-p1 .wrestler.p2{animation:w79HitP2 1.05s cubic-bezier(.2,.8,.2,1)!important}.wrestle-ring.act-day.by-p2 .wrestler.p2{animation:w79DashP2 1.05s cubic-bezier(.2,.8,.2,1)!important}.wrestle-ring.act-day.by-p2 .wrestler.p1{animation:w79HitP1 1.05s cubic-bezier(.2,.8,.2,1)!important}.wrestle-ring.act-giu.by-p1 .wrestler.p1{animation:w79GrabP1 1.15s ease!important}.wrestle-ring.act-giu.by-p1 .wrestler.p2{animation:w79LockedP2 1.15s ease!important}.wrestle-ring.act-giu.by-p2 .wrestler.p2{animation:w79GrabP2 1.15s ease!important}.wrestle-ring.act-giu.by-p2 .wrestler.p1{animation:w79LockedP1 1.15s ease!important}.wrestle-ring.act-quay.by-p1 .wrestler.p1{animation:w79ThrowP1 1.25s ease!important}.wrestle-ring.act-quay.by-p1 .wrestler.p2{animation:w79ThrownP2 1.25s ease!important}.wrestle-ring.act-quay.by-p2 .wrestler.p2{animation:w79ThrowP2 1.25s ease!important}.wrestle-ring.act-quay.by-p2 .wrestler.p1{animation:w79ThrownP1 1.25s ease!important}.wrestle-ring.act-thoat.by-p1 .wrestler.p1{animation:w79EscapeP1 .95s ease!important}.wrestle-ring.act-thoat.by-p2 .wrestler.p2{animation:w79EscapeP2 .95s ease!important}@keyframes armPush{0%{transform:rotate(-18deg)}28%{transform:rotate(-92deg) translateY(4px)}62%{transform:rotate(-82deg)}100%{transform:rotate(-18deg)}}@keyframes armGrab{0%{transform:rotate(-18deg)}35%{transform:rotate(-120deg) translate(7px,2px)}70%{transform:rotate(-120deg) translate(7px,2px)}100%{transform:rotate(-18deg)}}@keyframes armThrow{0%{transform:rotate(-18deg)}30%{transform:rotate(-125deg)}58%{transform:rotate(38deg)}100%{transform:rotate(-18deg)}}@keyframes w79DashP1{0%{transform:translateX(0)}24%{transform:translateX(52px) rotate(-10deg)}45%{transform:translateX(58px) rotate(-5deg)}100%{transform:translateX(0)}}@keyframes w79DashP2{0%{transform:scaleX(-1) translateX(0)}24%{transform:scaleX(-1) translateX(52px) rotate(-10deg)}45%{transform:scaleX(-1) translateX(58px) rotate(-5deg)}100%{transform:scaleX(-1) translateX(0)}}@keyframes w79HitP2{0%{transform:scaleX(-1) translateX(0)}30%{transform:scaleX(-1) translate(-36px,-3px) rotate(18deg)}62%{transform:scaleX(-1) translate(-18px,0) rotate(8deg)}100%{transform:scaleX(-1) translateX(0)}}@keyframes w79HitP1{0%{transform:translateX(0)}30%{transform:translate(-36px,-3px) rotate(-18deg)}62%{transform:translate(-18px,0) rotate(-8deg)}100%{transform:translateX(0)}}@keyframes w79GrabP1{0%{transform:translateX(0)}28%{transform:translateX(45px) scale(1.08)}70%{transform:translateX(45px) scale(1.08)}100%{transform:translateX(0)}}@keyframes w79GrabP2{0%{transform:scaleX(-1) translateX(0)}28%{transform:scaleX(-1) translateX(45px) scale(1.08)}70%{transform:scaleX(-1) translateX(45px) scale(1.08)}100%{transform:scaleX(-1) translateX(0)}}@keyframes w79LockedP2{0%{transform:scaleX(-1) translateX(0)}35%{transform:scaleX(-1) translate(-26px,4px) rotate(10deg)}70%{transform:scaleX(-1) translate(-26px,4px) rotate(10deg)}100%{transform:scaleX(-1) translateX(0)}}@keyframes w79LockedP1{0%{transform:translateX(0)}35%{transform:translate(-26px,4px) rotate(-10deg)}70%{transform:translate(-26px,4px) rotate(-10deg)}100%{transform:translateX(0)}}@keyframes w79ThrowP1{0%{transform:translateX(0) rotate(0)}28%{transform:translateX(38px) rotate(24deg)}54%{transform:translateX(54px) rotate(-32deg)}100%{transform:translateX(0) rotate(0)}}@keyframes w79ThrowP2{0%{transform:scaleX(-1) translateX(0) rotate(0)}28%{transform:scaleX(-1) translateX(38px) rotate(24deg)}54%{transform:scaleX(-1) translateX(54px) rotate(-32deg)}100%{transform:scaleX(-1) translateX(0) rotate(0)}}@keyframes w79ThrownP2{0%{transform:scaleX(-1) translate(0,0) rotate(0)}35%{transform:scaleX(-1) translate(-38px,-28px) rotate(-48deg)}70%{transform:scaleX(-1) translate(-62px,18px) rotate(56deg)}100%{transform:scaleX(-1) translate(0,0) rotate(0)}}@keyframes w79ThrownP1{0%{transform:translate(0,0) rotate(0)}35%{transform:translate(-38px,-28px) rotate(48deg)}70%{transform:translate(-62px,18px) rotate(-56deg)}100%{transform:translate(0,0) rotate(0)}}@keyframes w79EscapeP1{0%{transform:translateX(0)}35%{transform:translate(-38px,-18px) scale(.9)}70%{transform:translate(-14px,-8px) scale(.95)}100%{transform:translateX(0)}}@keyframes w79EscapeP2{0%{transform:scaleX(-1) translateX(0)}35%{transform:scaleX(-1) translate(-38px,-18px) scale(.9)}70%{transform:scaleX(-1) translate(-14px,-8px) scale(.95)}100%{transform:scaleX(-1) translateX(0)}}
.swing-boost .swing-seat{filter:drop-shadow(0 18px 20px rgba(111,53,214,.22)) brightness(1.1)}.swing-stage.rise-left .swing-wrap:first-child .swing-seat,.swing-stage.rise-right .swing-wrap:last-child .swing-seat{animation-duration:1.55s!important}.swing-stage .swing-frame:after{content:"";position:absolute;right:-18px;top:-22px;font-size:28px;animation:flagWave 1.6s ease-in-out infinite}.swing-stage .swing-frame:before{transform-origin:top center}.gain-pop{font-size:18px;padding:8px 12px}@keyframes flagWave{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}@keyframes swingBoostLeft{0%{transform:rotate(-12deg)}18%{transform:rotate(42deg)}42%{transform:rotate(-78deg)}66%{transform:rotate(50deg)}86%{transform:rotate(-34deg)}100%{transform:rotate(-18deg)}}@keyframes swingBoostRight{0%{transform:rotate(12deg)}18%{transform:rotate(-42deg)}42%{transform:rotate(78deg)}66%{transform:rotate(-50deg)}86%{transform:rotate(34deg)}100%{transform:rotate(18deg)}}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.reels{grid-template-columns:repeat(2,1fr)}.admin-memory-row{grid-template-columns:58px 1fr}.admin-thumb{width:58px;height:103px}.thumb-play{width:52px;height:52px;font-size:21px}}
@media(max-width:520px){.reels{grid-template-columns:1fr 1fr;gap:10px}.reel h3{font-size:17px}.reel .caption{left:12px;right:12px;bottom:12px}.reel p{display:none}.thumb-pill{font-size:11px;top:10px;left:10px;padding:6px 9px}.thumb-play{width:44px;height:44px;font-size:18px}.phone-vertical{width:min(300px,88vw)}}


/* ===== v8_0 hero/video frame fix + mobile polish ===== */
.hero{min-height:auto;padding:34px 0 38px;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(260px,.72fr);gap:34px}.group-wordmark{max-height:128px;object-fit:contain}.hero h1{font-size:clamp(54px,7vw,76px)}
.phone-vertical{width:min(292px,84vw);aspect-ratio:9/16;height:auto!important;min-height:0!important;padding:12px;border-radius:36px;background:#140823;border:9px solid rgba(255,255,255,.14);box-shadow:0 24px 56px rgba(0,0,0,.32);align-self:center;overflow:hidden}.phone-vertical .phone-card{height:100%;min-height:0!important;padding:0!important;border-radius:26px;overflow:hidden;justify-content:flex-end;background:#09020f}.phone-vertical .thumb-media,.phone-vertical .hero-thumb{position:absolute;inset:0!important;border-radius:26px!important;width:100%;height:100%;aspect-ratio:9/16;background-size:cover;background-position:center;overflow:hidden}.phone-vertical .thumb-media video{object-fit:cover}.phone-vertical .thumb-play{top:46%;width:58px;height:58px;font-size:24px}.hero-memory-copy{position:absolute;left:0;right:0;bottom:0;z-index:5;margin:0!important;padding:64px 14px 14px!important;border-radius:0 0 26px 26px;background:linear-gradient(transparent,rgba(9,2,15,.94) 42%,rgba(9,2,15,.98));max-height:46%;overflow:hidden}.hero-memory-copy .badge{font-size:12px;padding:7px 10px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-memory-copy h2{font-size:20px;line-height:1.12;margin:10px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-memory-copy p{font-size:13px;line-height:1.35;color:#fff7de;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-memory-copy .btn{margin-top:10px;padding:9px 12px;border-radius:12px;font-size:13px}.thumb-title{bottom:84px}.reel .caption h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reel .caption p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.video-frame{max-width:min(420px,100%);margin:0 auto}.detail-grid{grid-template-columns:minmax(280px,420px) minmax(0,1fr)}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:24px}.hero{text-align:left}.phone-vertical{width:min(300px,76vw);margin:0 auto}.detail-grid{grid-template-columns:1fr}.video-frame{max-width:min(390px,100%)}}
@media(max-width:640px){.hero{padding:24px 0 30px}.hero-grid{gap:18px}.group-wordmark{max-height:88px;margin:12px 0 6px}.hero h1{font-size:48px;letter-spacing:-2px;margin:18px 0 10px}.hero p{font-size:17px}.cta .btn{flex:1;min-width:140px}.phone-vertical{width:min(260px,82vw);border-width:7px;border-radius:30px;padding:9px}.phone-vertical .phone-card,.phone-vertical .thumb-media,.phone-vertical .hero-thumb{border-radius:22px!important}.hero-memory-copy{border-radius:0 0 22px 22px;padding:54px 12px 12px!important;max-height:48%}.hero-memory-copy h2{font-size:18px}.hero-memory-copy p{display:none}.reels{grid-template-columns:repeat(2,1fr)!important;gap:12px}.thumb-play{width:46px;height:46px;font-size:18px}.thumb-pill{max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-frame{max-width:100%}.admin-memory-row{grid-template-columns:58px 1fr}.admin-thumb{width:58px;height:103px}}
@media(max-width:390px){.reels{grid-template-columns:1fr!important}.phone-vertical{width:min(238px,84vw)}}

/* ============================================================
   v8.1 - Leg & left-arm animations for Đấu vật
   Fixes: wrestlers now fully animate (legs kick, arms swing)
   ============================================================ */

/* --- Leg animations: transform-origin center top, base rotate ±10deg --- */

/* Day (đẩy vai) - attacker legs: stride forward */
.wrestle-ring.act-day.by-p1 .wrestler.p1 .leg.left,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .leg.left{animation:legDayAttL 1.05s cubic-bezier(.2,.8,.2,1)}
.wrestle-ring.act-day.by-p1 .wrestler.p1 .leg.right,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .leg.right{animation:legDayAttR 1.05s cubic-bezier(.2,.8,.2,1)}
/* Day - victim legs: recoil backward */
.wrestle-ring.act-day.by-p1 .wrestler.p2 .leg,
.wrestle-ring.act-day.by-p2 .wrestler.p1 .leg{animation:legDayVic 1.05s ease}

/* Giu (ôm giữ) - attacker legs: wide bracing stance */
.wrestle-ring.act-giu.by-p1 .wrestler.p1 .leg,
.wrestle-ring.act-giu.by-p2 .wrestler.p2 .leg{animation:legGiuAtt 1.15s ease}
/* Giu - victim: legs pressed inward */
.wrestle-ring.act-giu.by-p1 .wrestler.p2 .leg,
.wrestle-ring.act-giu.by-p2 .wrestler.p1 .leg{animation:legGiuVic 1.15s ease}

/* Quay (quật xoay) - attacker: big sweeping step */
.wrestle-ring.act-quay.by-p1 .wrestler.p1 .leg.left,
.wrestle-ring.act-quay.by-p2 .wrestler.p2 .leg.left{animation:legQuayAttL 1.25s ease}
.wrestle-ring.act-quay.by-p1 .wrestler.p1 .leg.right,
.wrestle-ring.act-quay.by-p2 .wrestler.p2 .leg.right{animation:legQuayAttR 1.25s ease}
/* Quay - victim: flail mid-air */
.wrestle-ring.act-quay.by-p1 .wrestler.p2 .leg,
.wrestle-ring.act-quay.by-p2 .wrestler.p1 .leg{animation:legQuayVic 1.25s ease}

/* Thoat (thoát thế) - step backward */
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .leg.left,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .leg.left{animation:legThoatL 0.95s ease}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .leg.right,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .leg.right{animation:legThoatR 0.95s ease}

/* Leg keyframes (start/end match CSS base values: left=10deg, right=-10deg) */
@keyframes legDayAttL{0%{transform:rotate(10deg)}28%{transform:rotate(38deg)}58%{transform:rotate(-6deg)}100%{transform:rotate(10deg)}}
@keyframes legDayAttR{0%{transform:rotate(-10deg)}28%{transform:rotate(8deg)}58%{transform:rotate(-36deg)}100%{transform:rotate(-10deg)}}
@keyframes legDayVic{0%{transform:rotate(-10deg)}35%{transform:rotate(-30deg)}65%{transform:rotate(-6deg)}100%{transform:rotate(-10deg)}}
@keyframes legGiuAtt{0%{transform:rotate(10deg)}35%{transform:rotate(26deg)}70%{transform:rotate(26deg)}100%{transform:rotate(10deg)}}
@keyframes legGiuVic{0%{transform:rotate(-10deg)}40%{transform:rotate(-2deg)}72%{transform:rotate(-2deg)}100%{transform:rotate(-10deg)}}
@keyframes legQuayAttL{0%{transform:rotate(10deg)}30%{transform:rotate(46deg)}58%{transform:rotate(-16deg)}100%{transform:rotate(10deg)}}
@keyframes legQuayAttR{0%{transform:rotate(-10deg)}30%{transform:rotate(-46deg)}58%{transform:rotate(16deg)}100%{transform:rotate(-10deg)}}
@keyframes legQuayVic{0%{transform:rotate(-10deg)}35%{transform:rotate(-44deg)}65%{transform:rotate(32deg)}100%{transform:rotate(-10deg)}}
@keyframes legThoatL{0%{transform:rotate(10deg)}42%{transform:rotate(-26deg)}100%{transform:rotate(10deg)}}
@keyframes legThoatR{0%{transform:rotate(-10deg)}42%{transform:rotate(-38deg)}100%{transform:rotate(-10deg)}}

/* --- Left arm counter-balance animations ---
   arm.left base: rotate(18deg), transform-origin center top */
.wrestle-ring.act-day.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .arm.left{animation:armLDayAtt 1.05s ease}
.wrestle-ring.act-giu.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-giu.by-p2 .wrestler.p2 .arm.left{animation:armLGiuAtt 1.15s ease}
.wrestle-ring.act-quay.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-quay.by-p2 .wrestler.p2 .arm.left{animation:armLQuayAtt 1.25s ease}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .arm.left{animation:armLThoat .95s ease}
/* Victim left arm: brace/flail */
.wrestle-ring.act-day.by-p1 .wrestler.p2 .arm.left,
.wrestle-ring.act-day.by-p2 .wrestler.p1 .arm.left,
.wrestle-ring.act-quay.by-p1 .wrestler.p2 .arm.left,
.wrestle-ring.act-quay.by-p2 .wrestler.p1 .arm.left{animation:armLVicFlail 1.1s ease}

@keyframes armLDayAtt{0%{transform:rotate(18deg)}28%{transform:rotate(82deg)}62%{transform:rotate(64deg)}100%{transform:rotate(18deg)}}
@keyframes armLGiuAtt{0%{transform:rotate(18deg)}35%{transform:rotate(112deg) translate(-5px,2px)}70%{transform:rotate(112deg) translate(-5px,2px)}100%{transform:rotate(18deg)}}
@keyframes armLQuayAtt{0%{transform:rotate(18deg)}30%{transform:rotate(106deg)}56%{transform:rotate(-14deg)}100%{transform:rotate(18deg)}}
@keyframes armLThoat{0%{transform:rotate(18deg)}40%{transform:rotate(-12deg)}100%{transform:rotate(18deg)}}
@keyframes armLVicFlail{0%{transform:rotate(18deg)}30%{transform:rotate(-22deg)}60%{transform:rotate(54deg)}100%{transform:rotate(18deg)}}

/* Head subtle tilt during action — adds life to the tiny figures */
.wrestle-ring.act-day.by-p1 .wrestler.p1 .head,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .head{animation:headNod 1.05s ease}
.wrestle-ring.act-quay.by-p1 .wrestler.p1 .head,
.wrestle-ring.act-quay.by-p2 .wrestler.p2 .head{animation:headSpin .9s ease}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .head,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .head{animation:headBack .85s ease}
@keyframes headNod{0%{transform:translate(0,0)}28%{transform:translate(3px,-2px) rotate(6deg)}100%{transform:translate(0,0)}}
@keyframes headSpin{0%{transform:rotate(0deg)}30%{transform:rotate(12deg)}58%{transform:rotate(-16deg)}100%{transform:rotate(0deg)}}
@keyframes headBack{0%{transform:translate(0,0)}40%{transform:translate(-4px,-3px) rotate(-8deg)}100%{transform:translate(0,0)}}


/* Library pagination */
.lib-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:28px 0 8px}
.lib-page-info{font-weight:800;color:var(--muted);font-size:15px}

/* ==========================================================
/* ==========================================================
   ĐẤUT VẬT v8.3 — 4 chiêu, visual indicator riêng biệt
   ==========================================================

   Chiến lược phân biệt:
   • Day   → lao rất nhanh và rất xa, body nghiêng mạnh. Ring cam.
   • Giu   → hai tay vòng ôm rõ, giữ position. Ring tím.
   • Quay  → oscillate ±rotation trước khi ném, victim bay lên cao. Ring đỏ.
   • Thoat → chạy LÙI, thu người, tay lên guard. Ring xanh.
   + Move indicator tên chiêu nổi giữa sàn.
   ========================================================== */

/* ----- Move indicator overlay ----- */
.move-ind{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-60%) scale(.6);
  display:flex; flex-direction:column; align-items:center; gap:2px;
  z-index:25; pointer-events:none;
  animation:miPop 1.3s cubic-bezier(.18,.9,.22,1) forwards;
}
.mi-e{font-size:34px;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}
.mi-t{font-size:13px;font-weight:900;white-space:nowrap;padding:4px 10px;border-radius:999px;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.mv-day .mi-t  {background:linear-gradient(135deg,#ff6a00,#ee0979)}
.mv-giu .mi-t  {background:linear-gradient(135deg,#6b21d6,#9b5fe3)}
.mv-quay .mi-t {background:linear-gradient(135deg,#c0392b,#e74c3c)}
.mv-thoat .mi-t{background:linear-gradient(135deg,#27ae60,#2ecc71)}
@keyframes miPop{
  0%  {transform:translate(-50%,-60%) scale(.6);opacity:0}
  20% {transform:translate(-50%,-52%) scale(1.1);opacity:1}
  55% {transform:translate(-50%,-56%) scale(1);opacity:1}
  100%{transform:translate(-50%,-80%) scale(.85);opacity:0}
}

/* ----- Ring glow khác màu per chiêu ----- */
.wrestle-ring.act-day.show-hit  {box-shadow:inset 0 0 0 6px rgba(255,255,255,.4),0 0 0 14px rgba(255,106,0,.45),0 18px 34px rgba(75,29,143,.14)!important}
.wrestle-ring.act-giu.show-hit  {box-shadow:inset 0 0 0 6px rgba(255,255,255,.4),0 0 0 14px rgba(107,33,214,.45),0 18px 34px rgba(75,29,143,.14)!important}
.wrestle-ring.act-quay.show-hit {box-shadow:inset 0 0 0 6px rgba(255,255,255,.4),0 0 0 14px rgba(220,38,38,.45),0 18px 34px rgba(75,29,143,.14)!important}
.wrestle-ring.act-thoat.show-hit{box-shadow:inset 0 0 0 6px rgba(255,255,255,.4),0 0 0 14px rgba(39,174,96,.40),0 18px 34px rgba(75,29,143,.14)!important}

/* Body + head transform-origins */
.wrestle-ring .wrestler .body{transform-origin:50% 0%}
.wrestle-ring .wrestler .head{transform-origin:50% 100%}

/* ==========================================================
   ĐẨY VAI (Day) — Đặc trưng: LỨT NHANH, xa nhất, body nghiêng mạnh
   ========================================================== */
.wrestle-ring.act-day.by-p1 .wrestler.p1{animation:mvD1A1 .88s cubic-bezier(.12,.9,.18,1)!important}
.wrestle-ring.act-day.by-p2 .wrestler.p2{animation:mvD1A2 .88s cubic-bezier(.12,.9,.18,1)!important}
.wrestle-ring.act-day.by-p1 .wrestler.p2{animation:mvD1V2 .88s ease!important}
.wrestle-ring.act-day.by-p2 .wrestler.p1{animation:mvD1V1 .88s ease!important}
.wrestle-ring.act-day.by-p1 .wrestler.p1 .arm.right,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .arm.right{animation:mvD1AR .88s ease!important}
.wrestle-ring.act-day.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .arm.left{animation:mvD1AL .88s ease!important}
.wrestle-ring.act-day.by-p1 .wrestler.p1 .body,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .body{animation:mvD1Body .88s ease!important}
.wrestle-ring.act-day.by-p1 .wrestler.p1 .leg.right,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .leg.right{animation:mvD1LR .88s ease!important}
.wrestle-ring.act-day.by-p1 .wrestler.p1 .leg.left,
.wrestle-ring.act-day.by-p2 .wrestler.p2 .leg.left{animation:mvD1LL .88s ease!important}
.wrestle-ring.act-day.by-p1 .wrestler.p2 .arm,
.wrestle-ring.act-day.by-p2 .wrestler.p1 .arm{animation:mvD1VA .88s ease!important}

@keyframes mvD1A1{  /* Lao nhanh, xa, body nghiêng tới */
  0%  {transform:translateX(0) rotate(0)}
  15% {transform:translateX(12px) rotate(-18deg)}   /* khom người chuẩn bị */
  42% {transform:translateX(80px) rotate(-14deg)}   /* LỨT TỚI — xa nhất trong 4 chiêu */
  58% {transform:translateX(84px) rotate(-8deg)}    /* tiếp xúc */
  100%{transform:translateX(0) rotate(0)}}
@keyframes mvD1A2{
  0%  {transform:scaleX(-1) translateX(0) rotate(0)}
  15% {transform:scaleX(-1) translateX(12px) rotate(-18deg)}
  42% {transform:scaleX(-1) translateX(80px) rotate(-14deg)}
  58% {transform:scaleX(-1) translateX(84px) rotate(-8deg)}
  100%{transform:scaleX(-1) translateX(0) rotate(0)}}
@keyframes mvD1V2{  /* Nạn nhân bị bật ra sau mạnh */
  0%  {transform:scaleX(-1) translate(0,0) rotate(0)}
  38% {transform:scaleX(-1) translate(-55px,5px) rotate(28deg)}
  65% {transform:scaleX(-1) translate(-30px,0) rotate(14deg)}
  100%{transform:scaleX(-1) translate(0,0) rotate(0)}}
@keyframes mvD1V1{
  0%  {transform:translate(0,0) rotate(0)}
  38% {transform:translate(-55px,5px) rotate(-28deg)}
  65% {transform:translate(-30px,0) rotate(-14deg)}
  100%{transform:translate(0,0) rotate(0)}}
@keyframes mvD1AR{  /* Tay phải: đâm thẳng ra trước — mũi đòn */
  0%  {transform:rotate(-18deg)}
  12% {transform:rotate(-100deg) translateY(4px)}
  42% {transform:rotate(-175deg) translateY(9px)}   /* đâm thẳng hoàn toàn */
  100%{transform:rotate(-18deg)}}
@keyframes mvD1AL{  /* Tay trái: vung ra sau */
  0%  {transform:rotate(18deg)}
  15% {transform:rotate(78deg)}
  42% {transform:rotate(62deg) translateY(-8px)}
  100%{transform:rotate(18deg)}}
@keyframes mvD1Body{  /* Thân: nghiêng vai húc vào */
  0%  {transform:rotate(0)}
  15% {transform:rotate(14deg)}
  42% {transform:rotate(22deg)}
  100%{transform:rotate(0)}}
@keyframes mvD1LR{0%{transform:rotate(-10deg)}20%{transform:rotate(20deg)}50%{transform:rotate(-38deg)}100%{transform:rotate(-10deg)}}
@keyframes mvD1LL{0%{transform:rotate(10deg)}20%{transform:rotate(44deg)}50%{transform:rotate(-8deg)}100%{transform:rotate(10deg)}}
@keyframes mvD1VA{  /* Tay nạn nhân: hất lên cao */
  0%  {transform:rotate(-18deg)}
  38% {transform:rotate(35deg) translateY(-8px)}
  100%{transform:rotate(-18deg)}}


/* ==========================================================
   ÔM GIỮ (Giu) — Đặc trưng: cả HAI TAY vòng rộng, DỪNG lại giữ
   ========================================================== */
.wrestle-ring.act-giu.by-p1 .wrestler.p1{animation:mvG1A1 1.25s ease!important}
.wrestle-ring.act-giu.by-p2 .wrestler.p2{animation:mvG1A2 1.25s ease!important}
.wrestle-ring.act-giu.by-p1 .wrestler.p2{animation:mvG1V2 1.25s ease!important}
.wrestle-ring.act-giu.by-p2 .wrestler.p1{animation:mvG1V1 1.25s ease!important}
.wrestle-ring.act-giu.by-p1 .wrestler.p1 .arm.right,
.wrestle-ring.act-giu.by-p2 .wrestler.p2 .arm.right{animation:mvG1AR 1.25s ease!important}
.wrestle-ring.act-giu.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-giu.by-p2 .wrestler.p2 .arm.left{animation:mvG1AL 1.25s ease!important}
.wrestle-ring.act-giu.by-p1 .wrestler.p2 .arm,
.wrestle-ring.act-giu.by-p2 .wrestler.p1 .arm{animation:mvG1VA 1.25s ease!important}
.wrestle-ring.act-giu.by-p1 .wrestler.p2 .body,
.wrestle-ring.act-giu.by-p2 .wrestler.p1 .body{animation:mvG1VBody 1.25s ease!important}

@keyframes mvG1A1{  /* Tiến từ từ rồi DỪNG giữ — không nhanh như Day */
  0%  {transform:translateX(0)}
  32% {transform:translateX(34px) scale(1.02)}
  55% {transform:translateX(48px) scale(1.07)}    /* áp sát */
  75% {transform:translateX(48px) scale(1.07)}    /* HOLD 20% thời gian */
  100%{transform:translateX(0)}}
@keyframes mvG1A2{
  0%  {transform:scaleX(-1) translateX(0)}
  32% {transform:scaleX(-1) translateX(34px) scale(1.02)}
  55% {transform:scaleX(-1) translateX(48px) scale(1.07)}
  75% {transform:scaleX(-1) translateX(48px) scale(1.07)}
  100%{transform:scaleX(-1) translateX(0)}}
@keyframes mvG1V2{
  0%  {transform:scaleX(-1) translate(0,0)}
  36% {transform:scaleX(-1) translate(-34px,4px) rotate(12deg)}
  58% {transform:scaleX(-1) translate(-34px,4px) rotate(12deg)}   /* bị ghim */
  75% {transform:scaleX(-1) translate(-32px,6px) rotate(10deg)}   /* vùng vẫy */
  100%{transform:scaleX(-1) translate(0,0)}}
@keyframes mvG1V1{
  0%  {transform:translate(0,0)}
  36% {transform:translate(-34px,4px) rotate(-12deg)}
  58% {transform:translate(-34px,4px) rotate(-12deg)}
  75% {transform:translate(-32px,6px) rotate(-10deg)}
  100%{transform:translate(0,0)}}
@keyframes mvG1AR{  /* Tay phải: vòng ra ôm bên PHẢI — chữ ký của chiêu Giu */
  0%  {transform:rotate(-18deg)}
  32% {transform:rotate(-105deg) translate(6px,2px)}
  57% {transform:rotate(-120deg) translate(9px,4px)}    /* HOLD ôm chặt */
  75% {transform:rotate(-120deg) translate(9px,4px)}
  100%{transform:rotate(-18deg)}}
@keyframes mvG1AL{  /* Tay TRÁI: cũng vòng ra ôm bên TRÁI — khác hoàn toàn Day */
  0%  {transform:rotate(18deg)}
  32% {transform:rotate(105deg) translate(-6px,2px)}
  57% {transform:rotate(124deg) translate(-9px,4px)}    /* HOLD ôm chặt */
  75% {transform:rotate(124deg) translate(-9px,4px)}
  100%{transform:rotate(18deg)}}
@keyframes mvG1VA{  /* Tay nạn nhân: bị ép ghim vào thân */
  0%  {transform:rotate(-18deg)}
  38% {transform:rotate(-2deg)}
  72% {transform:rotate(-2deg)}
  100%{transform:rotate(-18deg)}}
@keyframes mvG1VBody{
  0%  {transform:rotate(0)}
  40% {transform:rotate(-12deg)}
  72% {transform:rotate(-12deg)}
  100%{transform:rotate(0)}}


/* ==========================================================
   QUẬT XOAY (Quay) — Đặc trưng: attacker ĐẢO CHIỀU ROTATE,
   victim BAY LÊN CAO rồi xoay 160deg rơi xuống
   ========================================================== */
.wrestle-ring.act-quay.by-p1 .wrestler.p1{animation:mvQ1A1 1.35s ease!important}
.wrestle-ring.act-quay.by-p2 .wrestler.p2{animation:mvQ1A2 1.35s ease!important}
.wrestle-ring.act-quay.by-p1 .wrestler.p2{animation:mvQ1V2 1.35s ease!important}
.wrestle-ring.act-quay.by-p2 .wrestler.p1{animation:mvQ1V1 1.35s ease!important}
.wrestle-ring.act-quay.by-p1 .wrestler.p1 .arm.right,
.wrestle-ring.act-quay.by-p2 .wrestler.p2 .arm.right{animation:mvQ1AR 1.35s ease!important}
.wrestle-ring.act-quay.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-quay.by-p2 .wrestler.p2 .arm.left{animation:mvQ1AL 1.35s ease!important}
.wrestle-ring.act-quay.by-p1 .wrestler.p2 .arm,
.wrestle-ring.act-quay.by-p2 .wrestler.p1 .arm{animation:mvQ1VA 1.35s ease!important}
.wrestle-ring.act-quay.by-p1 .wrestler.p2 .head,
.wrestle-ring.act-quay.by-p2 .wrestler.p1 .head{animation:mvQ1VHead 1.35s ease!important}
.wrestle-ring.act-quay.by-p1 .wrestler.p2 .leg,
.wrestle-ring.act-quay.by-p2 .wrestler.p1 .leg{animation:mvQ1VLeg 1.35s ease!important}

@keyframes mvQ1A1{  /* Đảo chiều rotate: +25deg → -36deg → +42deg = chữ ký riêng */
  0%  {transform:translateX(0) rotate(0)}
  18% {transform:translateX(24px) rotate(28deg)}    /* xoay chiều 1 */
  40% {transform:translateX(38px) rotate(-36deg)}   /* đảo chiều — TÍ LỰC */
  62% {transform:translateX(56px) rotate(44deg)}    /* QUẬT mạnh */
  100%{transform:translateX(0) rotate(0)}}
@keyframes mvQ1A2{
  0%  {transform:scaleX(-1) translateX(0) rotate(0)}
  18% {transform:scaleX(-1) translateX(24px) rotate(28deg)}
  40% {transform:scaleX(-1) translateX(38px) rotate(-36deg)}
  62% {transform:scaleX(-1) translateX(56px) rotate(44deg)}
  100%{transform:scaleX(-1) translateX(0) rotate(0)}}
@keyframes mvQ1V2{  /* Victim: BAY LÊN CAO (-48px) rồi xoay 160deg rơi xuống */
  0%  {transform:scaleX(-1) translate(0,0) rotate(0)}
  22% {transform:scaleX(-1) translate(-16px,-22px) rotate(-42deg)}   /* bị bốc lên */
  48% {transform:scaleX(-1) translate(-52px,-48px) rotate(-100deg)}  /* đỉnh cao */
  70% {transform:scaleX(-1) translate(-72px,22px) rotate(-160deg)}   /* rơi xuống */
  100%{transform:scaleX(-1) translate(0,0) rotate(0)}}
@keyframes mvQ1V1{
  0%  {transform:translate(0,0) rotate(0)}
  22% {transform:translate(-16px,-22px) rotate(42deg)}
  48% {transform:translate(-52px,-48px) rotate(100deg)}
  70% {transform:translate(-72px,22px) rotate(160deg)}
  100%{transform:translate(0,0) rotate(0)}}
@keyframes mvQ1AR{  /* Nắm → xoay ngược → ném tung */
  0%  {transform:rotate(-18deg)}
  18% {transform:rotate(-115deg) translate(8px,2px)}
  40% {transform:rotate(-85deg) translate(6px,0)}
  62% {transform:rotate(-158deg) translate(14px,8px)}
  100%{transform:rotate(-18deg)}}
@keyframes mvQ1AL{
  0%  {transform:rotate(18deg)}
  18% {transform:rotate(112deg) translate(-6px,2px)}
  40% {transform:rotate(78deg) translate(-4px,0)}
  62% {transform:rotate(34deg) translate(0,-10px)}
  100%{transform:rotate(18deg)}}
@keyframes mvQ1VA{
  0%  {transform:rotate(-18deg)}
  24% {transform:rotate(-65deg) translateY(-6px)}
  50% {transform:rotate(-110deg) translateY(-14px)}
  70% {transform:rotate(-152deg) translateY(-8px)}
  100%{transform:rotate(-18deg)}}
@keyframes mvQ1VHead{
  0%  {transform:translate(0,0) rotate(0)}
  26% {transform:translate(-6px,-10px) rotate(-25deg)}
  52% {transform:translate(-12px,-18px) rotate(-50deg)}
  72% {transform:translate(-8px,8px) rotate(20deg)}
  100%{transform:translate(0,0) rotate(0)}}
@keyframes mvQ1VLeg{
  0%  {transform:rotate(-10deg)}
  25% {transform:rotate(-52deg)}
  50% {transform:rotate(45deg)}
  72% {transform:rotate(-35deg)}
  100%{transform:rotate(-10deg)}}


/* ==========================================================
   THOÁT THẾ (Thoat) — Đặc trưng: LÙI RA SAU (translateX ÂM),
   cả hai tay đưa lên GUARD, thu người lại
   ========================================================== */
.wrestle-ring.act-thoat.by-p1 .wrestler.p1{animation:mvT1A1 1.0s ease!important}
.wrestle-ring.act-thoat.by-p2 .wrestler.p2{animation:mvT1A2 1.0s ease!important}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .arm.right,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .arm.right{animation:mvT1AR 1.0s ease!important}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .arm.left,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .arm.left{animation:mvT1AL 1.0s ease!important}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .head,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .head{animation:mvT1Head 1.0s ease!important}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .leg.right,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .leg.right{animation:mvT1LR 1.0s ease!important}
.wrestle-ring.act-thoat.by-p1 .wrestler.p1 .leg.left,
.wrestle-ring.act-thoat.by-p2 .wrestler.p2 .leg.left{animation:mvT1LL 1.0s ease!important}

@keyframes mvT1A1{  /* LÙI RA SAU — ngược hướng 3 chiêu kia */
  0%  {transform:translateX(0) scale(1) rotate(0)}
  28% {transform:translateX(-44px) scale(.88) rotate(-6deg)}
  52% {transform:translateX(-52px) scale(.85) rotate(-5deg)}
  74% {transform:translateX(-46px) scale(.88) rotate(-4deg)}
  100%{transform:translateX(0) scale(1) rotate(0)}}
@keyframes mvT1A2{
  0%  {transform:scaleX(-1) translateX(0) scale(1) rotate(0)}
  28% {transform:scaleX(-1) translateX(-44px) scale(.88) rotate(-6deg)}
  52% {transform:scaleX(-1) translateX(-52px) scale(.85) rotate(-5deg)}
  74% {transform:scaleX(-1) translateX(-46px) scale(.88) rotate(-4deg)}
  100%{transform:scaleX(-1) translateX(0) scale(1) rotate(0)}}
@keyframes mvT1AR{  /* Tay phải: lên GUARD cao — cả hai tay đây là chữ ký */
  0%  {transform:rotate(-18deg)}
  28% {transform:rotate(-95deg) translateY(-7px)}
  60% {transform:rotate(-105deg) translateY(-7px)}
  100%{transform:rotate(-18deg)}}
@keyframes mvT1AL{  /* Tay trái: lên GUARD cao — cả hai tay lên, khác hẳn Day */
  0%  {transform:rotate(18deg)}
  28% {transform:rotate(95deg) translateY(-7px)}
  60% {transform:rotate(105deg) translateY(-7px)}
  100%{transform:rotate(18deg)}}
@keyframes mvT1Head{  /* Đầu: nhìn lại đối thủ */
  0%  {transform:translate(0,0) rotate(0)}
  30% {transform:translate(-4px,3px) rotate(-12deg)}
  60% {transform:translate(-4px,4px) rotate(-10deg)}
  100%{transform:translate(0,0) rotate(0)}}
@keyframes mvT1LR{
  0%  {transform:rotate(-10deg)}
  30% {transform:rotate(-48deg)}
  60% {transform:rotate(-30deg)}
  100%{transform:rotate(-10deg)}}
@keyframes mvT1LL{
  0%  {transform:rotate(10deg)}
  30% {transform:rotate(-20deg)}
  100%{transform:rotate(10deg)}}

/* Winner modal */
.winner-modal{cursor:pointer}
.winner-modal-card{cursor:default}
.modal-close-hint{font-size:12px;color:var(--muted);opacity:.6;margin:10px 0 0!important}

/* ============================================================
   V9 — Chiến lược: mỗi trang có 1 mục tiêu, 1 CTA rõ
   ============================================================ */

/* How it works — 3 bước */
.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}
.how-step{background:#fff;border-radius:26px;padding:22px 20px;border:1px solid #eadcff;box-shadow:0 12px 28px rgba(75,29,143,.06);position:relative}
.how-step::before{content:attr(data-n);position:absolute;top:18px;right:20px;font-size:60px;font-weight:950;color:rgba(75,29,143,.05);line-height:1}
.step-num{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-size:18px;font-weight:950;display:flex;align-items:center;justify-content:center;margin-bottom:14px;box-shadow:0 8px 18px rgba(75,29,143,.22)}
.step-icon{font-size:30px;margin-bottom:8px}
.how-step h3{margin:0 0 8px;font-size:18px}
.how-step p{margin:0;color:var(--muted);line-height:1.48;font-size:14px}
.how-step .step-tag{display:inline-block;margin-top:10px;background:#f3edff;color:var(--purple);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}

/* Urgency strip — nhẹ nhàng, không gây sợ */
.urgency-strip{background:linear-gradient(135deg,rgba(255,212,90,.12),rgba(75,29,143,.06));border:1px solid rgba(255,184,0,.35);border-radius:20px;padding:16px 20px;margin:18px 0;display:flex;align-items:flex-start;gap:14px}
.urgency-strip .u-icon{font-size:28px;flex-shrink:0;margin-top:2px}
.urgency-strip p{margin:0;font-size:15px;line-height:1.5;color:var(--ink)}
.urgency-strip b{color:var(--purple)}

/* Submit layout — form + interview guide */
.submit-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}

/* Interview guide panel */
.interview-guide{background:linear-gradient(145deg,#fff,#f8f3ff);border:1px solid #e3d8f9;border-radius:24px;padding:20px;position:sticky;top:76px}
.interview-guide h3{margin:0 0 4px;font-size:18px;color:var(--purple)}
.interview-guide > p{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.45}
.guide-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.guide-tab{background:#f3edff;color:var(--purple);border:none;border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.15s}
.guide-tab:hover{background:#e6d8ff}
.guide-tab.is-active{background:var(--purple);color:#fff}
.q-panel{display:none;flex-direction:column;gap:7px}
.q-panel.is-active{display:flex}
.q-chip{background:#fff;border:1px solid #e3d8f9;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.4;cursor:pointer;color:var(--ink);text-align:left;transition:.15s;width:100%}
.q-chip:hover{border-color:var(--purple2);background:#f8f4ff}
.q-chip.copied{background:#ecfdf3;border-color:#a7f3d0;color:#126a38}
.guide-hint{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.4}

/* Games — memory bridge */
.memory-bridge{background:linear-gradient(135deg,#fffbef,#f5edff);border:1px solid rgba(255,184,0,.4);border-radius:26px;padding:24px 26px;margin-top:28px;display:flex;gap:22px;align-items:center}
.memory-bridge .mb-icon{font-size:44px;flex-shrink:0}
.memory-bridge .mb-body h3{margin:0 0 6px;font-size:20px}
.memory-bridge .mb-body p{margin:0 0 14px;color:var(--muted);line-height:1.45;font-size:15px}

/* Games intro badge */
.games-intro-strip{background:linear-gradient(135deg,#fffaf0,#f8f2ff);border:1px solid #f0e2a0;border-radius:24px;padding:18px 22px;margin-bottom:22px;display:flex;align-items:center;gap:16px}
.games-intro-strip .gi-icon{font-size:36px;flex-shrink:0}
.games-intro-strip h2{margin:0 0 4px;font-size:22px}
.games-intro-strip p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}

/* Question bank on guide.php */
.qbank{margin-top:22px}
.qbank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.qbank-section{background:#fff;border-radius:22px;padding:18px;border:1px solid #eadcff;box-shadow:0 8px 20px rgba(75,29,143,.05)}
.qbank-section h3{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:17px;color:var(--purple)}
.qbank-section h3 .qh-icon{font-size:22px}
.qbank-section ol{margin:0;padding-left:20px}
.qbank-section li{margin:8px 0;color:var(--ink);line-height:1.48;font-size:14px}

/* Hero V9 — hero đã có, chỉ cần override copy layout */
.hero-v9-sub{font-size:18px;color:rgba(255,255,255,.78);margin:0 0 20px;line-height:1.5;max-width:500px}
.hero-cta-primary{font-size:16px;padding:14px 22px}
.hero-v9-urgency{display:inline-flex;align-items:center;gap:8px;background:rgba(255,212,90,.18);border:1px solid rgba(255,212,90,.35);border-radius:14px;padding:10px 14px;margin-bottom:24px;font-size:14px;color:#fff8c5;font-weight:700}

/* Index sections */
.section-connector{text-align:center;padding:8px 0}
.section-connector::after{content:"↓";font-size:22px;color:#e3d8f9}
.index-games-teaser{background:linear-gradient(135deg,#fff8e0,#f5edff);border:1px solid rgba(255,184,0,.28);border-radius:28px;padding:28px 26px;display:flex;align-items:center;gap:24px}
.igt-icon{font-size:52px;flex-shrink:0}
.igt-body h2{margin:0 0 8px;font-size:22px}
.igt-body p{margin:0 0 14px;color:var(--muted);line-height:1.5}
.igt-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.igt-pill{background:rgba(75,29,143,.08);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--purple)}

@media(max-width:900px){
  .how-it-works{grid-template-columns:1fr}
  .submit-layout{grid-template-columns:1fr}
  .interview-guide{position:static}
  .qbank-grid{grid-template-columns:1fr}
  .memory-bridge{flex-direction:column;text-align:center}
  .index-games-teaser{flex-direction:column;text-align:center}
  .games-intro-strip{flex-direction:column;text-align:center}
}

/* ===== v11 dossier + article content ===== */
.soft-section{background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(243,237,255,.38))}
.dossier-hero{background:linear-gradient(135deg,#fff9e6,#f7efff);border-bottom:1px solid rgba(75,29,143,.08)}
.dossier-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}
.dossier-note{background:#fff;border:1px solid #eadcff;border-radius:28px;padding:24px;box-shadow:0 14px 32px rgba(75,29,143,.08);line-height:1.55}
.dossier-note b{display:block;color:var(--purple);font-size:20px;margin-bottom:8px}.dossier-note p{margin:0;color:var(--muted)}
.core-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.core-video-card{background:#fff;border:1px solid #eadcff;border-radius:28px;padding:22px;box-shadow:0 14px 30px rgba(75,29,143,.07);position:relative;overflow:hidden;min-height:280px}
.core-video-card:after{content:"";position:absolute;right:-40px;top:-40px;width:130px;height:130px;border-radius:50%;background:rgba(255,212,90,.22)}
.core-video-icon{width:58px;height:58px;border-radius:22px;background:linear-gradient(135deg,#fff7d8,#f1e8ff);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:14px}
.core-video-kicker{font-size:12px;font-weight:900;color:#7b5b15;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.core-video-card h3{margin:0 0 10px;font-size:20px;color:var(--purple)}
.core-video-card p{margin:8px 0;color:var(--muted);line-height:1.5;font-size:14px}.core-video-card span{display:inline-flex;margin-top:10px;background:#f3edff;color:var(--purple);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}
.letter-group-card{min-height:280px}.letter-icon{width:52px;height:52px;border-radius:20px;background:linear-gradient(135deg,#fff7d8,#f1e8ff);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:12px}
.letter-group-card h3{margin:0 0 8px;font-size:22px;color:var(--purple)}.letter-group-card p{color:var(--muted);line-height:1.5}.letter-group-card ul{margin:14px 0 0;padding-left:18px}.letter-group-card li{margin:8px 0;line-height:1.45}.letter-group-card a{color:var(--purple);font-weight:800;text-decoration:none}.letter-group-card a:hover{text-decoration:underline}
.article-group-section{margin:32px 0}.article-group-head{display:flex;gap:16px;align-items:center;margin:0 0 16px}.article-group-head h2{margin:0;font-size:28px;color:var(--purple)}.article-group-head p{margin:4px 0 0;color:var(--muted);line-height:1.45}
.article-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-card{display:block;text-decoration:none;background:#fff;border:1px solid #eadcff;border-radius:26px;padding:20px;min-height:250px;box-shadow:0 12px 28px rgba(75,29,143,.06);transition:.16s}.article-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(75,29,143,.1)}
.article-card span,.article-group{display:inline-flex;background:#f3edff;color:var(--purple);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;margin-bottom:12px}.article-card h3{margin:0 0 10px;font-size:20px;color:var(--ink)}.article-card p{margin:0;color:var(--muted);line-height:1.5}.article-card b{display:inline-flex;margin-top:14px;color:var(--purple)}
.article-wrap{max-width:820px}.soft-link{display:inline-flex;margin-bottom:14px;text-decoration:none;color:var(--purple);font-weight:900}.article-detail{padding:30px}.article-detail hr{border:0;border-top:1px solid #eadcff;margin:22px 0}.article-detail p{font-size:17px;line-height:1.75;color:#433653}.article-detail .lead{font-size:19px;color:var(--muted)}
.fids-grid{grid-template-columns:repeat(4,1fr)}.fids-grid .card h2{color:var(--purple);margin-top:0}.fids-grid .card p{line-height:1.55;color:var(--muted)}
@media(max-width:980px){.dossier-hero-grid,.core-video-grid,.article-card-grid,.fids-grid{grid-template-columns:1fr}.article-group-head{align-items:flex-start}.article-detail{padding:22px}.article-detail p{font-size:16px}.desktop-menu{gap:8px}.menu a{font-size:14px}}

/* ===== v11.1 public wording + home optimization ===== */
.home-hero-v12{min-height:auto;padding:42px 0 46px}
.hero-memory-image-card{position:relative;max-width:420px;margin:auto;border-radius:34px;padding:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);box-shadow:0 28px 70px rgba(0,0,0,.26);overflow:hidden}
.hero-memory-image-card img{display:block;width:100%;border-radius:26px;aspect-ratio:4/5;object-fit:cover;background:#fff8e8}
.hero-image-caption{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(45,11,86,.78);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);border-radius:20px;padding:14px;color:#fff}
.hero-image-caption span{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#ffe695;margin-bottom:4px}
.hero-image-caption b{display:block;font-size:18px;line-height:1.22}
.home-focus-section{padding:34px 0}.home-focus-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}.home-focus-copy .lead{max-width:680px}.compact-stats{grid-template-columns:1fr 1fr}.compact-stats .stat{min-height:106px}.compact-core-grid .core-video-card{min-height:250px}.home-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.article-mini-list{display:grid;gap:10px;margin:14px 0}.article-mini-list a{display:grid;grid-template-columns:34px 1fr;gap:10px;text-decoration:none;background:#fff;border:1px solid #eadcff;border-radius:18px;padding:12px 14px;box-shadow:0 8px 20px rgba(75,29,143,.05)}.article-mini-list span{font-size:24px;grid-row:span 2}.article-mini-list b{color:var(--ink);line-height:1.25}.article-mini-list em{font-style:normal;color:var(--muted);font-size:13px}.compact-games-teaser{margin:0;height:100%;align-items:flex-start}.topic-grid-compact .topic{min-height:126px}.article-card small{display:block;color:var(--muted);font-weight:800;margin-top:12px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-article-editor label{font-weight:800;display:block;margin-bottom:6px}.article-body-input{min-height:260px}.table .actions form{margin:0}
@media(max-width:980px){.home-focus-grid,.home-two-col{grid-template-columns:1fr}.compact-stats{grid-template-columns:repeat(4,1fr)}.hero-memory-image-card{max-width:360px}}
@media(max-width:640px){.home-hero-v12{padding:28px 0 34px}.hero-memory-image-card{max-width:min(330px,92vw)}.hero-image-caption{left:18px;right:18px;bottom:18px}.hero-image-caption b{font-size:16px}.compact-stats{grid-template-columns:1fr 1fr}.home-focus-section{padding:26px 0}.admin-form-grid{grid-template-columns:1fr}}


/* ===== v12 admin content manager ===== */
.core-video-who{font-size:13px;color:#6d6380;font-weight:800;margin:-4px 0 8px}.home-video-link{display:inline-flex;margin-top:10px;text-decoration:none;font-weight:900;color:var(--purple);background:#fff7d8;border:1px solid rgba(255,184,0,.28);border-radius:999px;padding:8px 12px;position:relative;z-index:2}.admin-main-actions{align-items:stretch}.admin-content-card h2,.admin-video-editor h2,.admin-memory-editor h2{margin-top:0;color:var(--purple)}.admin-content-card label,.admin-video-editor label,.admin-memory-editor label{font-weight:800;display:block;margin-bottom:6px}.admin-field-wide{grid-column:1/-1}.admin-field-wide textarea{min-height:105px}.admin-hero-preview{margin-top:10px;max-width:260px;border-radius:18px;overflow:hidden;border:1px solid #eadcff;background:#fff}.admin-hero-preview img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.checkline{display:flex!important;align-items:center;gap:10px;font-weight:800}.checkline input{width:auto}.sticky-save{position:sticky;bottom:12px;background:rgba(255,248,232,.88);backdrop-filter:blur(10px);padding:12px;border-radius:18px;border:1px solid rgba(75,29,143,.08);z-index:10}.muted{color:var(--muted)}
@media(max-width:640px){.admin-main-actions .btn{width:100%}.sticky-save{position:static}.core-video-card{min-height:0}.home-video-link{width:100%;justify-content:center}}

.footer-brand-text{display:block}.footer-brand-text h3{margin-bottom:8px}


/* ===== v18 public project page ===== */
.photo-slot{margin-top:18px;border:1.5px dashed rgba(75,29,143,.28);border-radius:20px;min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;color:#7b6f8b;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,244,205,.68));font-weight:700;padding:18px}
.photo-slot.small{min-height:110px;font-size:14px;margin-top:14px}
.journey-public-grid{align-items:stretch}.journey-card h2{font-size:22px;margin-bottom:10px;color:var(--purple)}.journey-card p{line-height:1.62;color:var(--muted)}

/* ===== v19: video mở đầu dùng chung thư viện ký ức ===== */
.core-video-card.has-embed{padding:14px;min-height:0;display:flex;flex-direction:column;gap:12px}.core-video-card.has-embed:after{display:none}.core-video-body{position:relative;z-index:2}.core-video-card.has-embed .core-video-body{padding:2px 4px 4px}.intro-video-media{position:relative;display:block;width:100%;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#160b24;background-size:cover;background-position:center;box-shadow:0 14px 34px rgba(35,16,58,.14)}.intro-video-media iframe,.intro-video-media video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.intro-video-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.62));z-index:1}.intro-video-thumb .thumb-play{z-index:3}.core-video-card.has-embed h3{font-size:19px}.core-video-card.has-embed p{font-size:14px}.core-video-card.has-embed .home-video-link{margin-top:12px}
@media(max-width:980px){.core-video-card.has-embed{max-width:430px;margin:0 auto;width:100%}.intro-video-media{border-radius:20px}}
@media(max-width:640px){.core-video-grid,.compact-core-grid{grid-template-columns:1fr!important}.core-video-card.has-embed{max-width:340px}.intro-video-media{border-radius:18px}.core-video-card.has-embed h3{font-size:18px}}

/* ===== v20: admin toolbar + ép video mở đầu đúng khung dọc 9:16 ===== */
.admin-toolbar{position:sticky;top:70px;z-index:19;background:rgba(75,29,143,.96);color:#fff;box-shadow:0 10px 24px rgba(35,16,58,.12)}
.admin-toolbar-inner{display:flex;gap:8px;align-items:center;overflow:auto;padding-top:9px;padding-bottom:9px;white-space:nowrap}
.admin-toolbar-inner b{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 11px;color:#fff}
.admin-toolbar-inner a{color:#fff;text-decoration:none;font-weight:850;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}
.admin-toolbar-inner a:hover{background:rgba(255,212,90,.22)}
.core-video-card.has-embed{align-self:start}
.intro-video-media{position:relative!important;display:block!important;width:100%!important;height:0!important;padding-top:177.777777%!important;aspect-ratio:auto!important;border-radius:22px;overflow:hidden;background:#160b24;background-size:cover;background-position:center;box-shadow:0 14px 34px rgba(35,16,58,.14)}
.intro-video-media iframe,.intro-video-media video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;object-fit:cover!important;background:#160b24}
.core-video-grid .core-video-card.has-embed{max-width:380px;margin-left:auto;margin-right:auto;width:100%}
.compact-core-grid .core-video-card.has-embed{max-width:350px}
@media(max-width:980px){.admin-toolbar{top:64px}.admin-toolbar-inner{padding-top:8px;padding-bottom:8px}.core-video-grid .core-video-card.has-embed{max-width:390px}}
@media(max-width:640px){.admin-toolbar{top:58px}.admin-toolbar-inner a,.admin-toolbar-inner b{font-size:13px;padding:7px 9px}.core-video-grid .core-video-card.has-embed{max-width:340px}}

/* ===== v21: ảnh minh họa quản trị bằng link ===== */
.photo-slot.has-image{padding:0;border-style:solid;overflow:hidden;min-height:0;aspect-ratio:4/3;background:#fff;display:block}
.photo-slot.small.has-image{aspect-ratio:4/3;min-height:0}
.photo-slot.has-image img,.slot-image{display:block;width:100%;height:100%;object-fit:cover}
.section-intro-with-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:22px;align-items:center;margin-bottom:22px}
.section-image-card{border-radius:26px;overflow:hidden;border:1px solid #eadcff;background:#fff;box-shadow:0 14px 32px rgba(75,29,143,.08);align-self:start}
.section-image-card .section-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff8e8}
.home-writing-image{max-width:100%;margin:14px 0}.home-writing-image .section-image{aspect-ratio:16/9}
.home-games-image{width:180px;flex:0 0 180px}.home-games-image .section-image{aspect-ratio:1/1}
.games-intro-image{width:150px;flex:0 0 150px}.games-intro-image .section-image{aspect-ratio:4/3}
.dossier-writing-image .section-image,.articles-page-image .section-image{aspect-ratio:4/3}
.article-card{overflow:hidden}.article-card-image{margin:-20px -20px 16px;border-radius:26px 26px 18px 18px;overflow:hidden;background:#fff8e8}.article-card-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.article-detail-image{margin:18px 0 8px;border-radius:24px;overflow:hidden;border:1px solid #eadcff;background:#fff8e8}.article-detail-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.admin-image-preview{margin-top:10px;max-width:240px;border:1px solid #eadcff;border-radius:16px;overflow:hidden;background:#fff}.admin-image-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.table-thumb{width:96px;border-radius:12px;overflow:hidden;border:1px solid #eadcff;background:#fff8e8;margin-bottom:8px}.table-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
@media(max-width:980px){.section-intro-with-image{grid-template-columns:1fr}.section-image-card{max-width:420px}.home-games-image,.games-intro-image{width:100%;max-width:320px;flex:auto}.home-games-image .section-image{aspect-ratio:16/10}.index-games-teaser .section-image-card{margin:0 auto}}
@media(max-width:640px){.section-image-card{max-width:100%}.photo-slot.has-image{aspect-ratio:16/10}.photo-slot.small.has-image{aspect-ratio:16/10}.article-card-image img,.article-detail-image img{aspect-ratio:16/10}}

/* V23 - Chung kết DFC, SMTP và dossier mở rộng */
.settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:start}
.admin-page-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}
.check-row{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border:1px solid rgba(93,42,130,.14);border-radius:14px;background:#fff;cursor:pointer;line-height:1.45}
.check-row input{width:auto!important;min-width:18px;margin:3px 0 0!important}
.check-row span{display:flex;flex-direction:column;gap:2px}.check-row small{color:var(--muted)}
.check-row.compact{padding:7px 0;border:0;background:transparent}
.mail-status-card p{margin:7px 0}
.finals-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.finals-summary-grid .card{padding:18px}.finals-summary-grid p{margin:7px 0 0;color:var(--muted);line-height:1.55}
.finals-progress-card{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#3d145c,#7b2e92);color:#fff}
.finals-progress-card p{color:rgba(255,255,255,.8)}
.finals-progress-number{font-size:36px;font-weight:900;letter-spacing:-1px}
.finals-settings-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}
.finals-checklist{display:grid;gap:9px}.finals-checklist .check-row:has(input:checked){border-color:#7b2e92;background:#faf5ff}
.finals-presentation-grid,.finals-booth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.finals-presentation-grid>div,.finals-booth-grid>div{padding:16px;border-radius:16px;background:#faf7fd;border:1px solid rgba(93,42,130,.12)}
.finals-presentation-grid p,.finals-booth-grid p{margin:7px 0 0;color:var(--muted);line-height:1.55}
.progress-story-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}
.progress-story-card{position:relative;overflow:hidden;padding-top:58px}
.progress-story-number{position:absolute;top:14px;right:18px;font-size:42px;font-weight:900;line-height:1;color:rgba(112,42,139,.14)}
.progress-story-card h3{margin-top:0;color:#4b1d65}.progress-story-card p{line-height:1.65;color:var(--muted)}
.evidence-section{background:linear-gradient(180deg,#fbf7ff 0%,#fff 100%)}
.project-evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.project-evidence-item{padding:22px;border-radius:20px;background:#3c1457;color:#fff;text-align:center;box-shadow:0 12px 28px rgba(55,19,84,.16)}
.project-evidence-item b{display:block;font-size:38px;line-height:1.1;color:#ffd66b}.project-evidence-item span{display:block;margin-top:7px;font-weight:700}
.reflection-scale-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.reflection-card h3,.scale-card h3{font-size:25px;margin:8px 0 14px}.reflection-list{display:grid;gap:10px}
.reflection-list p{margin:0;padding:13px 15px;border-left:4px solid #7b2e92;background:#faf6ff;border-radius:0 12px 12px 0;line-height:1.6}
.scale-card{background:linear-gradient(145deg,#4b1765,#7e2b8f);color:#fff}.scale-card .mini-kicker{color:#ffd66b}.scale-card p{color:rgba(255,255,255,.9);line-height:1.7}
.scale-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.scale-pills span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:700}
@media(max-width:980px){.settings-grid,.finals-settings-grid,.reflection-scale-grid{grid-template-columns:1fr}.finals-summary-grid,.progress-story-grid,.project-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finals-presentation-grid,.finals-booth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.admin-page-heading{display:block}.admin-page-heading .cta{margin-top:14px}.finals-summary-grid,.progress-story-grid,.project-evidence-grid,.finals-presentation-grid,.finals-booth-grid{grid-template-columns:1fr}.settings-grid{display:block}.settings-grid>*,.settings-grid>div>*{margin-bottom:16px}.project-evidence-item b{font-size:32px}}
.demo-hero{background:radial-gradient(circle at 82% 18%,rgba(194,89,224,.35),transparent 28%),linear-gradient(135deg,#1e082d 0%,#4c1566 58%,#6f2384 100%);color:#fff;padding:72px 0}
.demo-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}.demo-hero h1{font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-4px;margin:18px 0}.demo-hero h1 span{color:#ffd66b}.demo-hero p{font-size:20px;line-height:1.7;color:rgba(255,255,255,.86);max-width:760px}.demo-hero .badge{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18)}
.demo-hero-card{padding:30px;border-radius:28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);box-shadow:0 24px 60px rgba(0,0,0,.22)}.demo-question{font-size:32px;font-weight:900;color:#ffd66b;line-height:1.25}.demo-live-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.demo-live-stats span{padding:12px;text-align:center;border-radius:14px;background:rgba(255,255,255,.08);font-size:12px}.demo-live-stats b{display:block;font-size:26px;color:#fff}
.demo-fids-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}.demo-fids-card{position:relative;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(93,42,130,.12);box-shadow:0 14px 34px rgba(65,20,92,.1)}.demo-fids-card .photo-slot{border:0;border-radius:0;aspect-ratio:16/10;margin:0}.demo-fids-card .slot-image{width:100%;height:100%;object-fit:cover}.demo-fids-letter{position:absolute;z-index:2;top:12px;left:12px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#ffd66b;color:#3b134f;font-weight:950;font-size:24px;box-shadow:0 8px 18px rgba(0,0,0,.18)}.demo-fids-copy{padding:18px}.demo-fids-copy h3{margin:0 0 9px;color:#4b1d65}.demo-fids-copy p{margin:0;color:var(--muted);line-height:1.6}
.demo-product-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.demo-product-links a{display:flex;gap:12px;align-items:center;padding:17px;border-radius:16px;background:#fff;border:1px solid rgba(93,42,130,.14);text-decoration:none;color:inherit}.demo-product-links b{color:#7b2e92;font-size:23px}.demo-product-links span{font-weight:850}.demo-product-links small{display:block;margin-top:3px;color:var(--muted);font-weight:500}
.demo-improvement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.demo-improvement-grid>div{padding:22px;border-radius:20px;background:#faf7fd;border:1px solid rgba(93,42,130,.12)}.demo-improvement-grid b{font-size:36px;color:rgba(103,35,132,.25)}.demo-improvement-grid h3{margin:5px 0 8px;color:#4b1d65}.demo-improvement-grid p{margin:0;color:var(--muted);line-height:1.65}
.demo-ending{padding-top:10px}.demo-ending-card{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:36px;border-radius:28px;background:linear-gradient(135deg,#4b1765,#7f2f92);color:#fff}.demo-ending-card h2{font-size:38px;margin:8px 0}.demo-ending-card p{max-width:760px;color:rgba(255,255,255,.86);line-height:1.65}
@media(max-width:980px){.demo-hero-grid{grid-template-columns:1fr}.demo-fids-grid,.demo-product-links{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-ending-card{display:block}.demo-ending-card .cta{margin-top:20px}}
@media(max-width:640px){.demo-hero{padding:45px 0}.demo-hero h1{letter-spacing:-2px}.demo-hero p{font-size:17px}.demo-fids-grid,.demo-product-links,.demo-improvement-grid{grid-template-columns:1fr}.demo-live-stats{grid-template-columns:1fr 1fr 1fr}.demo-ending-card{padding:24px}.demo-ending-card h2{font-size:29px}}

/* ===== V24: Góc viết theo chủ đề, thư viện lớn và trang ký ức an toàn ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.menu a{position:relative;padding:9px 2px;border-radius:10px;transition:color .16s ease,background .16s ease}
.menu a.is-active{color:var(--purple)}
.menu a.is-active:after{content:"";position:absolute;left:2px;right:2px;bottom:1px;height:3px;border-radius:999px;background:var(--gold2)}
.menu .menu-submit{padding:10px 15px;border-radius:999px;background:var(--gold);color:var(--purple);box-shadow:0 8px 20px rgba(255,184,0,.2)}
.menu .menu-submit:after{display:none}
.mobile-menu-inner a.is-active{background:#f4edff;border-color:#cdb9ef;color:var(--purple)}
.mobile-menu-inner .mobile-submit{background:var(--gold);border-color:#efc23f;color:var(--purple)}
.thumb-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px}
.section-heading-row h2{margin:4px 0 0;font-size:29px;color:var(--ink);letter-spacing:-.35px}
.mini-kicker{font-size:12px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:#7b5b15}
.number-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:30px 0 4px}
.number-pagination a,.number-pagination span{min-width:42px;height:42px;padding:0 12px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;background:#fff;border:1px solid #e7dcf8;color:var(--purple)}
.number-pagination a:hover,.number-pagination a.is-current{background:var(--purple);border-color:var(--purple);color:#fff}
.number-pagination span{background:transparent;border-color:transparent;color:var(--muted)}
.article-breadcrumbs,.memory-breadcrumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 16px;color:var(--muted);font-size:14px;font-weight:800}
.article-breadcrumbs a,.memory-breadcrumbs a{text-decoration:none;color:var(--purple)}
.article-byline{margin:-7px 0 20px;color:var(--muted);font-size:14px}
.article-body-copy{margin-top:22px}.article-body-copy p{font-size:17px;line-height:1.78;color:#433653}
.article-sharebar{margin:18px 0 0}
.article-related{margin-top:42px}
.article-card-image{margin:-20px -20px 17px;border-radius:25px 25px 15px 15px;overflow:hidden;background:#f4edff}
.article-card-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.article-detail-image{margin:22px 0;border-radius:22px;overflow:hidden;background:#f4edff}
.article-detail-image img{display:block;width:100%;max-height:560px;object-fit:cover}
.article-topic-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 28px}
.article-topic-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:15px 16px;border-radius:21px;background:rgba(255,255,255,.86);border:1px solid rgba(75,29,143,.11);box-shadow:0 9px 22px rgba(75,29,143,.055);text-decoration:none;transition:.16s ease}
.article-topic-card:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(75,29,143,.09);border-color:#cebaf0}
.article-topic-card.is-active{background:#f2eaff;border-color:#bda1e8}
.article-topic-icon{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;font-size:25px;background:linear-gradient(135deg,#fff7d8,#efe3ff)}
.article-topic-copy{min-width:0}.article-topic-copy b,.article-topic-copy small{display:block}.article-topic-copy b{font-size:16px;line-height:1.25;color:var(--ink)}.article-topic-copy small{margin-top:4px;color:var(--muted);font-weight:750}
.article-topic-arrow{font-size:22px;color:var(--purple);font-weight:950}
.articles-overview-note{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:4px 0 28px;padding:14px 17px;border-radius:18px;background:#fff6d6;border:1px solid rgba(255,184,0,.26);color:#72531a}.articles-overview-note span{color:#776b57}
.topic-preview-section{scroll-margin-top:100px;margin:36px 0 54px}
.article-preview-heading{align-items:center;padding-bottom:14px;border-bottom:1px solid #e9def8}
.article-group-head{min-width:0}.article-group-head>div:last-child{min-width:0}.article-group-head span{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:#f3edff;color:var(--purple);font-size:12px;font-weight:900}
.article-group-head.large{padding:22px;border-radius:24px;background:linear-gradient(135deg,#fff,#f6efff);border:1px solid #e9ddf8}
.topic-view-all{flex:0 0 auto;text-decoration:none;font-weight:900;color:var(--purple);background:#fff;border:1px solid #ded0f5;border-radius:999px;padding:10px 14px}
.article-filtered-head{margin:28px 0 20px}
.article-all-grid{margin-top:18px}
.article-card-grid-compact .article-card{min-height:220px}
.article-card{overflow:hidden}
.article-card small{display:block;color:var(--muted);font-weight:750;margin-top:13px}

.library-page-section{padding-top:34px}
.library-hero-row{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;align-items:center;padding:25px 27px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,239,255,.9));border:1px solid rgba(75,29,143,.1);box-shadow:0 14px 32px rgba(75,29,143,.07)}
.library-hero-row .lead{margin-bottom:0;max-width:760px}
.library-total-card{min-height:150px;border-radius:25px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,var(--purple),#7133bd);color:#fff;box-shadow:0 15px 35px rgba(75,29,143,.2)}
.library-total-card b{font-size:48px;line-height:1;color:var(--gold)}.library-total-card span{margin-top:9px;font-weight:850;line-height:1.3}
.library-topic-strip{display:flex;gap:10px;overflow-x:auto;padding:22px 2px 12px;scrollbar-width:thin;scroll-snap-type:x proximity}
.library-topic-chip{flex:0 0 176px;min-height:96px;padding:13px 14px;border-radius:19px;background:#fff;border:1px solid #e8ddf7;text-decoration:none;display:grid;grid-template-columns:35px 1fr;align-content:center;column-gap:9px;scroll-snap-align:start;box-shadow:0 8px 20px rgba(75,29,143,.05);transition:.16s ease}
.library-topic-chip>span{grid-row:1/3;font-size:25px;align-self:center}.library-topic-chip b,.library-topic-chip small{display:block}.library-topic-chip b{font-size:14px;line-height:1.25}.library-topic-chip small{margin-top:4px;color:var(--muted);font-size:12px;font-weight:750}
.library-topic-chip:hover,.library-topic-chip.is-active{background:#f1e9ff;border-color:#bca0e7;transform:translateY(-2px)}
.library-topic-chip.is-empty{opacity:.62}
.library-filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) 220px 155px auto auto;gap:10px;align-items:center;margin:16px 0 28px;padding:14px;border-radius:22px;background:rgba(255,255,255,.9);border:1px solid rgba(75,29,143,.1);box-shadow:0 10px 25px rgba(75,29,143,.055)}
.library-filter-bar input,.library-filter-bar select{height:48px;padding-top:0;padding-bottom:0}
.library-filter-bar .btn{height:48px;white-space:nowrap;padding-left:15px;padding-right:15px}
.library-search-field{position:relative}.library-search-field>span{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:21px;color:var(--purple);z-index:1}.library-search-field input{padding-left:43px}
.library-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 16px}.library-results-head h2{margin:0;font-size:28px}.library-results-head p{margin:6px 0 0;color:var(--muted)}
.library-reels{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.library-reel-card{border-radius:24px;transition:transform .16s ease,box-shadow .16s ease}
.library-reel-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(75,29,143,.26)}
.library-reel-card .caption{bottom:15px;left:15px;right:15px}
.library-reel-card h3{font-size:18px;line-height:1.2;margin-bottom:6px}.library-reel-card p{font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-reel-card small{display:block;margin-top:7px;color:#f6eaff;font-size:12px;font-weight:700}
.library-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 7px}.library-card-meta span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.15);font-size:11px;font-weight:850;color:#fff}
.library-empty-state{display:grid;grid-template-columns:86px 1fr;gap:20px;align-items:center;padding:30px;margin:24px 0}.library-empty-icon{width:76px;height:76px;border-radius:25px;background:linear-gradient(135deg,#fff1bb,#eaddff);display:grid;place-items:center;font-size:38px;color:var(--purple)}
.library-empty-state .lead{margin:8px 0 0}.library-empty-state .cta{margin-top:16px}

.memory-detail-section{padding-top:30px}.memory-detail-grid{grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:28px}
.memory-summary{font-size:18px;line-height:1.7}
.memory-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
.memory-facts p{margin:0;padding:14px;border-radius:17px;background:#faf6ff;border:1px solid #eee4fa}.memory-facts span,.memory-facts b{display:block}.memory-facts span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.memory-facts b{margin-top:5px;line-height:1.35;color:var(--ink)}
.memory-share-card{margin-top:16px}.memory-share-card h2{font-size:25px}.memory-share-total{text-align:center;min-width:75px;padding:8px 11px;border-radius:16px;background:#f3edff}.memory-share-total b,.memory-share-total span{display:block}.memory-share-total b{font-size:23px;color:var(--purple)}.memory-share-total span{font-size:11px;color:var(--muted);font-weight:800}
.memory-qr-card{margin-top:16px}.memory-qr-card h3{margin-top:0}.memory-qr-card p{margin-bottom:0;color:var(--muted);font-size:14px}
.external-video-card{min-height:560px;padding:18px;border-radius:28px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;position:relative;overflow:hidden;background:linear-gradient(160deg,#1a0b27,#4b1d8f);color:#fff;box-shadow:0 18px 38px rgba(75,29,143,.22)}
.external-video-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}.external-video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(22,8,35,.95))}.external-video-card>div:last-child{position:relative;z-index:2}.external-video-card b{font-size:21px}.external-video-card p{color:#eee3fa;line-height:1.5}.external-video-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:64px;color:var(--gold);opacity:.75}
.related-memories-section{margin-top:48px;padding-top:28px;border-top:1px solid #e7dcf6}.related-memory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:1080px){
  .desktop-menu{gap:8px}.desktop-menu a{font-size:13px}
  .library-filter-bar{grid-template-columns:minmax(220px,1fr) 190px 145px auto}.library-filter-bar>a{grid-column:4}
  .library-reels,.related-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .menu-toggle{display:flex}.desktop-menu{display:none}
  .article-topic-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-heading-row,.library-results-head{align-items:flex-start}
  .library-hero-row{grid-template-columns:1fr}.library-total-card{min-height:112px;flex-direction:row;gap:12px}.library-total-card b{font-size:40px}.library-total-card span{margin-top:0;text-align:left}
  .library-filter-bar{grid-template-columns:1fr 1fr}.library-search-field{grid-column:1/-1}.library-filter-bar .btn{width:100%}.library-filter-bar>a{grid-column:auto}
  .library-reels,.related-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .memory-detail-grid{grid-template-columns:1fr}.memory-detail-grid>div:first-child{max-width:440px;width:100%;margin:0 auto}.external-video-card{min-height:620px}
}
@media(max-width:640px){
  .nav-inner{padding:9px 0}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:18px}
  .section-heading-row,.article-preview-heading,.library-results-head{display:block}.section-heading-row .soft-link,.article-preview-heading .topic-view-all,.library-results-head .soft-link{display:inline-flex;margin-top:12px}
  .article-topic-index{grid-template-columns:1fr}.article-topic-card{padding:13px}.article-topic-icon{width:44px;height:44px}
  .article-group-head{align-items:flex-start}.article-group-head h2{font-size:24px}.article-group-head.large{padding:17px}
  .topic-preview-section{margin:28px 0 44px}.article-card-grid,.article-all-grid,.article-card-grid-compact{grid-template-columns:1fr}.article-card{min-height:0}.article-detail{padding:20px}.article-detail .title{font-size:31px}.article-body-copy p{font-size:16px}
  .library-hero-row{padding:20px;border-radius:24px}.library-total-card{padding:17px}.library-total-card b{font-size:34px}
  .library-topic-chip{flex-basis:158px}.library-filter-bar{grid-template-columns:1fr;padding:12px}.library-search-field{grid-column:auto}.library-filter-bar>a{grid-column:auto}
  .library-reels,.related-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.library-reel-card{border-radius:19px}.library-reel-card .caption{left:11px;right:11px;bottom:11px}.library-reel-card h3{font-size:15px}.library-reel-card p{display:none}.library-reel-card small{font-size:10px}.library-card-meta span{font-size:9px;padding:4px 6px}.thumb-pill{font-size:10px;padding:6px 8px;top:10px;left:10px}.thumb-play{width:50px;height:50px;font-size:20px}
  .library-empty-state{grid-template-columns:1fr;text-align:center;padding:22px}.library-empty-icon{margin:auto}.library-empty-state .cta{justify-content:center}
  .memory-facts{grid-template-columns:1fr}.memory-share-card .section-heading-row{display:flex}.memory-share-card .section-heading-row h2{font-size:21px}.memory-share-total{min-width:68px}.external-video-card{min-height:520px}.memory-detail-grid>div:first-child{max-width:350px}
}
@media(max-width:1080px) and (min-width:901px){.library-filter-bar>a{grid-column:1/-1;justify-self:start}}

/* ===== V25: Trang chủ gọn hơn, lời mời tham gia tự nhiên hơn ===== */
.home-hero-v25{padding:38px 0 42px}
.home-hero-v25 .hero-grid{grid-template-columns:1.08fr .72fr;gap:46px}
.home-hero-v25 h1{font-size:72px;margin:24px 0 12px}
.home-hero-v25 .hero-v9-sub b{color:#fff}
.home-hero-v25 .hero-v9-urgency{margin-bottom:18px}
.home-hero-actions .btn.secondary{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.25)}
.home-hero-v25 .hero-memory-image-card{max-width:360px}
.home-hero-v25 .hero-memory-image-card img{aspect-ratio:4/5}

.home-invite-section{padding:34px 0}
.home-invite-card{display:grid;grid-template-columns:1.28fr .72fr;gap:26px;align-items:center;background:linear-gradient(135deg,#fffdf7,#fff3c9 55%,#f5edff);border:1px solid rgba(75,29,143,.09);border-radius:30px;padding:30px;box-shadow:0 16px 38px rgba(75,29,143,.07)}
.home-invite-copy .lead{max-width:720px;margin-bottom:10px}
.home-simple-stats{display:grid;grid-template-columns:1fr;gap:10px}
.home-simple-stats>div{display:flex;align-items:center;gap:15px;background:rgba(255,255,255,.86);border:1px solid rgba(75,29,143,.10);border-radius:20px;padding:15px 17px;box-shadow:0 8px 18px rgba(75,29,143,.04)}
.home-simple-stats b{font-size:30px;line-height:1;color:var(--purple);min-width:46px}
.home-simple-stats span{font-size:14px;font-weight:800;color:#514463;line-height:1.3}

.home-topics-section{padding-top:30px;padding-bottom:36px}
.home-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px}
.home-section-head .lead{margin-bottom:0;max-width:760px}
.home-inline-link{flex:0 0 auto;text-decoration:none;color:var(--purple);font-weight:900;padding-bottom:4px}
.home-topic-grid{grid-template-columns:repeat(3,1fr);gap:12px}
.home-topic-grid .topic{display:flex;gap:14px;align-items:flex-start;min-height:118px;padding:17px 18px;background:linear-gradient(145deg,#fff,#f8f3ff);border:1px solid rgba(75,29,143,.08);box-shadow:0 9px 22px rgba(75,29,143,.05);transition:transform .16s,box-shadow .16s}
.home-topic-grid .topic:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(75,29,143,.09)}
.home-topic-grid .topic .icon{font-size:29px;line-height:1.1;flex:0 0 36px}
.home-topic-grid .topic h3{margin:0 0 6px;font-size:17px}
.home-topic-grid .topic p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.42}

.home-stories-section{padding-top:36px;padding-bottom:40px}
.home-section-lead{max-width:780px}
.home-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.home-story-card{background:#fff;border:1px solid #eadcff;border-radius:24px;padding:12px;box-shadow:0 12px 28px rgba(75,29,143,.06);overflow:hidden;min-width:0}
.home-story-preview{display:block;position:relative;aspect-ratio:4/5;border-radius:18px;background-size:cover;background-position:center;background-color:#2a0d4d;overflow:hidden;text-decoration:none}
.home-story-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,8,35,.02),rgba(20,8,35,.08) 45%,rgba(20,8,35,.55))}
.home-story-preview.no-thumb{background:radial-gradient(circle at 50% 30%,rgba(255,212,90,.34),transparent 32%),linear-gradient(155deg,var(--purple2),#19062c)}
.home-story-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:4px;background:var(--gold);color:var(--purple);font-weight:950;font-size:22px;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.home-story-body{padding:14px 7px 8px}
.home-story-body h3{margin:0 0 7px;font-size:19px;line-height:1.25;color:var(--ink)}
.home-story-body p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.46;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-story-body .core-video-kicker{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-centered-cta{justify-content:center;margin-top:20px}

.home-how-section{padding-top:38px;padding-bottom:36px}
.home-how-grid{gap:14px}
.home-how-grid .how-step{padding:20px;min-height:220px}
.home-how-grid .how-step p{font-size:14px}
.home-how-grid .step-tag a{color:inherit;text-decoration:none}
.home-question-callout{display:flex;align-items:center;gap:14px;margin-top:16px;padding:15px 18px;border-radius:18px;background:linear-gradient(135deg,#fff8d9,#f4edff);border:1px solid rgba(255,184,0,.25)}
.home-question-callout span{font-weight:900;color:var(--purple);white-space:nowrap}
.home-question-callout b{font-size:14px;line-height:1.4;flex:1}
.home-question-callout a{font-weight:900;color:var(--purple);text-decoration:none;white-space:nowrap}

.home-more-section{padding-top:38px;padding-bottom:40px}
.home-more-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:18px;align-items:stretch}
.home-writing-panel,.home-games-panel{border-radius:28px;padding:24px;background:#fff;border:1px solid #eadcff;box-shadow:0 12px 28px rgba(75,29,143,.06)}
.home-writing-panel .lead{max-width:720px}
.home-article-list{grid-template-columns:1fr;gap:9px}
.home-article-list a{padding:11px 13px}
.home-games-panel{background:linear-gradient(145deg,#fff8dd,#f4edff);display:flex;flex-direction:column;align-items:flex-start}
.home-games-icon{font-size:42px;margin-bottom:8px}
.home-games-panel h2{margin:0 0 8px;font-size:24px;color:var(--ink)}
.home-games-panel p{margin:0 0 14px;color:var(--muted);line-height:1.52}
.home-games-panel .igt-pills{margin-bottom:18px}
.home-games-panel .btn{margin-top:auto}

@media(max-width:980px){
  .home-hero-v25 .hero-grid{grid-template-columns:1fr 360px;gap:28px}
  .home-hero-v25 h1{font-size:62px}
  .home-invite-card{grid-template-columns:1fr}
  .home-simple-stats{grid-template-columns:repeat(3,1fr)}
  .home-simple-stats>div{display:block;text-align:center}
  .home-simple-stats b{display:block;margin-bottom:7px}
  .home-topic-grid{grid-template-columns:repeat(2,1fr)}
  .home-more-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .home-hero-v25 .hero-grid{grid-template-columns:1fr}
  .home-hero-v25 .hero-memory-image-card{max-width:330px}
  .home-story-grid{grid-template-columns:1fr}
  .home-story-card{display:grid;grid-template-columns:150px 1fr;gap:12px;max-width:none}
  .home-story-preview{aspect-ratio:4/5}
  .home-story-body{padding:8px 5px 5px}
  .home-section-head{align-items:flex-start;flex-direction:column;gap:8px}
  .home-question-callout{align-items:flex-start;flex-direction:column;gap:7px}
}
@media(max-width:640px){
  .home-hero-v25{padding:26px 0 32px}
  .home-hero-v25 h1{font-size:54px;letter-spacing:-2px}
  .home-hero-actions .btn{width:100%}
  .home-invite-section{padding:24px 0}
  .home-invite-card{padding:22px 18px;border-radius:24px}
  .home-simple-stats{grid-template-columns:1fr 1fr}
  .home-simple-stats>div:last-child{grid-column:1/-1}
  .home-topic-grid{grid-template-columns:1fr}
  .home-topic-grid .topic{min-height:0}
  .home-story-card{grid-template-columns:118px 1fr;padding:10px}
  .home-story-play{width:46px;height:46px;font-size:18px}
  .home-story-body h3{font-size:17px}
  .home-story-body p{display:none}
  .home-story-body .core-video-who{font-size:12px}
  .home-centered-cta .btn{width:100%}
  .home-more-grid{gap:14px}
  .home-writing-panel,.home-games-panel{padding:20px 17px;border-radius:24px}
}

/* V25 - Gui ky uc: video + bai viet */
.submission-type-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:22px 0 22px}
.submission-type-btn{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center;text-align:left;background:#fff;border:2px solid #e8def7;border-radius:18px;padding:15px 17px;cursor:pointer;color:var(--ink);font:inherit;transition:.18s ease;box-shadow:0 8px 24px rgba(83,48,117,.05)}
.submission-type-btn>span{grid-row:1/3;font-size:27px}.submission-type-btn b{font-size:16px}.submission-type-btn small{color:var(--muted);font-size:12px;line-height:1.35}
.submission-type-btn:hover{transform:translateY(-1px);border-color:#c9afe9}.submission-type-btn.is-active{border-color:var(--purple);background:linear-gradient(145deg,#fbf8ff,#f2e9ff);box-shadow:0 10px 28px rgba(93,42,130,.12)}
.submission-fields{display:none;gap:16px}.submission-fields.is-active{display:grid}
.field-label{font-weight:800;display:block;margin-bottom:6px}.field-label>span{color:var(--danger)}.field-label em{color:var(--muted);font-weight:600;font-style:normal}
.two-col-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.short-textarea{min-height:100px}.article-submit-body{min-height:310px;line-height:1.65}.field-help{font-size:12px;color:var(--muted);margin-top:6px}
.article-form-intro{display:flex;gap:10px;align-items:flex-start;background:#f7f2ff;border:1px solid #e4d7f5;border-radius:15px;padding:13px 15px;line-height:1.45}.article-form-intro b{white-space:nowrap;color:var(--purple)}.article-form-intro span{color:var(--muted);font-size:13px}
.consent-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer;line-height:1.45}.consent-row input{width:auto;margin-top:3px;flex:0 0 auto}
@media(max-width:700px){.submission-type-switch{grid-template-columns:1fr}.two-col-fields{grid-template-columns:1fr}.article-form-intro{display:block}.article-form-intro b{display:block;margin-bottom:4px}.article-submit-body{min-height:260px}}
.row-pending td{background:#fffaf0}.row-pending td:first-child{box-shadow:inset 4px 0 0 #e4a11b}

/* V26 video embeds + upload setting */
.video-frame iframe,.video-frame video,.intro-video-media iframe,.intro-video-media video{border:0;background:#09020f}
.setting-readonly{min-height:48px;padding:10px 12px;border:1px solid #e5dcf1;border-radius:12px;background:#faf8fd;line-height:1.55}

/* V27 share hotfix */
.memory-share-actions{align-items:center}.memory-share-actions .btn,.article-sharebar .btn{cursor:pointer}
@media(max-width:560px){.memory-share-actions,.article-sharebar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.memory-share-actions .btn,.article-sharebar .btn{width:100%;text-align:center;justify-content:center}}

/* V29 Google Drive native mobile player */
.drive-video-frame{background:#09020f;isolation:isolate}
.drive-video-frame video{object-fit:contain!important;background:#09020f}
.drive-custom-controls,.drive-center-play{display:none}
.drive-video-frame.drive-custom-ready .drive-custom-controls{position:absolute;left:0;right:0;bottom:0;z-index:13;display:flex;align-items:center;gap:9px;padding:34px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.76));color:#fff}
.drive-video-frame.drive-custom-ready .drive-center-play{position:absolute;left:50%;top:50%;z-index:12;transform:translate(-50%,-50%);display:flex;width:64px;height:64px;border:1px solid rgba(255,255,255,.25);border-radius:50%;align-items:center;justify-content:center;padding-left:4px;background:rgba(0,0,0,.58);color:#fff;font-size:27px;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.drive-video-frame.drive-custom-ready.is-playing .drive-center-play{opacity:0;pointer-events:none}
.drive-play-btn,.drive-fullscreen-btn{flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(0,0,0,.45);color:#fff;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.drive-play-btn{font-size:17px}.drive-fullscreen-btn{font-size:23px}
.drive-play-btn:active,.drive-fullscreen-btn:active,.drive-center-play:active{transform:scale(.96)}
.drive-video-frame.drive-custom-ready .drive-center-play:active{transform:translate(-50%,-50%) scale(.96)}
.drive-seek{-webkit-appearance:none;appearance:none;flex:1;min-width:70px;height:5px!important;padding:0!important;margin:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.56)!important;box-shadow:none!important;accent-color:#fff;cursor:pointer}
.drive-seek::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 7px rgba(0,0,0,.35)}
.drive-seek::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 7px rgba(0,0,0,.35)}
.drive-time{flex:0 0 auto;min-width:84px;text-align:center;color:#fff;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.75)}
.drive-player-error{position:absolute;inset:auto 14px 70px;z-index:14;display:grid;gap:7px;padding:13px;border-radius:16px;background:rgba(20,8,35,.94);color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.3)}
.drive-player-error b{font-size:14px}.drive-player-error span{font-size:12px;line-height:1.35;color:#f4eaff}.drive-player-error .btn{justify-self:start}
@media(max-width:640px){.drive-video-frame.drive-custom-ready .drive-custom-controls{gap:7px;padding:32px 9px 9px}.drive-play-btn,.drive-fullscreen-btn{width:38px;height:38px;border-radius:10px}.drive-time{min-width:78px;font-size:11px}.drive-video-frame.drive-custom-ready .drive-center-play{width:58px;height:58px;font-size:25px}.drive-player-error{inset:auto 10px 62px}}


/* V30 - Public Memory Archive relaunch */
.brand-copy small{display:block;margin-top:2px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800}
.public-memory-hero{position:relative;overflow:hidden}.public-memory-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-130px;top:-180px;background:radial-gradient(circle,rgba(230,190,74,.18),transparent 68%);pointer-events:none}
.public-memory-promise{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.public-memory-promise span{padding:7px 10px;border:1px solid rgba(89,52,128,.15);border-radius:999px;background:rgba(255,255,255,.6);font-size:11px;font-weight:800;color:#6b5c77}
.public-memory-intro{align-items:stretch}.public-memory-intro .home-invite-copy{align-self:center}
.public-memory-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.public-memory-steps>div{position:relative;padding:22px 18px;border:1px solid #eadff3;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(70,35,102,.05)}.public-memory-steps>div>span{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;background:#f3eaff;color:var(--purple);font-size:12px;font-weight:900}.public-memory-steps h3{margin:14px 0 7px;font-size:18px}.public-memory-steps p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}
.public-memory-principles{border-radius:28px;padding:24px;background:linear-gradient(155deg,#241430,#3a2150);color:#fff;box-shadow:0 18px 40px rgba(45,24,63,.16)}.public-memory-principles .mini-kicker{color:#dec6ff}.public-memory-principles h2{font-size:26px;margin:4px 0 18px}.public-memory-principles .soft-link{color:#f2d98c}.principle-row{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}.principle-row>b{color:#d7b7ff}.principle-row h3{margin:0 0 4px;font-size:16px}.principle-row p{margin:0;color:#ddd2e6;line-height:1.45;font-size:13px}
.public-memory-final{padding-top:28px}.public-memory-final-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px;border-radius:30px;background:linear-gradient(135deg,#fff9e6,#f6efff);border:1px solid #eadff3}.public-memory-final-card .title{margin-bottom:8px}
.public-about-hero{padding-top:64px}.public-about-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:42px;align-items:center}.public-about-quote{padding:30px;border-radius:28px;background:#25152f;color:#fff;box-shadow:0 18px 46px rgba(52,28,70,.16)}.public-about-quote span{display:block;font-size:62px;line-height:1;font-weight:1000;color:#f0cf70}.public-about-quote p{margin:16px 0 0;font-size:17px;line-height:1.65;color:#eee4f4}.public-about-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.public-about-columns article{padding:24px;background:#fff;border:1px solid #eadff3;border-radius:24px}.public-about-columns article>span{font-weight:900;color:var(--purple);font-size:12px}.public-about-columns h2{font-size:21px;margin:14px 0 8px}.public-about-columns p{color:var(--muted);line-height:1.6}.public-about-principles{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}.public-about-rules{display:grid;gap:12px}.public-about-rules>div{padding:18px 20px;border-radius:20px;background:#fff;border:1px solid #eadff3}.public-about-rules b{font-size:16px}.public-about-rules p{margin:6px 0 0;color:var(--muted);line-height:1.5}.public-about-end{display:flex;justify-content:space-between;gap:30px;align-items:center}
.public-submit-gate{padding-top:70px}.public-submit-gate-card{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;max-width:980px;margin:auto;padding:34px;border-radius:30px;background:#fff;border:1px solid #eadff3;box-shadow:0 18px 50px rgba(74,38,106,.08)}.public-submit-gate-notes{padding:24px;border-radius:24px;background:#f7f1fb}.public-submit-gate-notes>b{font-size:18px}.public-submit-gate-notes ul{padding-left:20px;margin:14px 0 0;color:var(--muted);line-height:1.65}.public-footer small{color:var(--muted);line-height:1.5}
@media(max-width:900px){.public-memory-steps{grid-template-columns:1fr 1fr}.public-about-grid,.public-about-principles{grid-template-columns:1fr}.public-about-columns{grid-template-columns:1fr}.public-about-quote{max-width:520px}.public-submit-gate-card{grid-template-columns:1fr}.public-memory-final-card,.public-about-end{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.brand-copy small{display:none}.public-memory-steps{grid-template-columns:1fr}.public-memory-final-card{padding:24px 20px}.public-about-hero{padding-top:36px}.public-about-quote{padding:24px}.public-about-quote span{font-size:50px}.public-submit-gate{padding-top:36px}.public-submit-gate-card{padding:24px 18px;border-radius:24px}}


/* ===== V31 — THE LIVING MEMORY ===== */
:root{--living-deep:#1c1028;--living-purple:#4b1d8f;--living-lilac:#8f65c7;--living-paper:#fffaf0;--living-gold:#ffd45a;--living-line:#e6d7ef}
body{background:radial-gradient(circle at 10% 0%,rgba(255,212,90,.28),transparent 27%),radial-gradient(circle at 94% 6%,rgba(111,53,214,.16),transparent 30%),#fffaf0}
.living-home{overflow:hidden}.living-hero{position:relative;min-height:calc(100svh - 76px);display:flex;align-items:center;padding:72px 0 68px;background:radial-gradient(circle at 70% 30%,rgba(110,65,150,.38),transparent 34%),linear-gradient(135deg,#1b1026 0%,#321746 52%,#4b1d68 100%);color:#fff;overflow:hidden}.living-hero:after{content:"";position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.3) 0 1px,transparent 1px 5px);mix-blend-mode:soft-light}.living-hero-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:70px;align-items:center;position:relative;z-index:2}.living-hero-glow{position:absolute;border-radius:50%;filter:blur(8px);opacity:.32}.glow-a{width:320px;height:320px;background:#ffd45a;left:-180px;bottom:-110px}.glow-b{width:420px;height:420px;background:#9167cb;right:-150px;top:-160px}.living-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;font-weight:800;letter-spacing:.025em;color:#e8dff1}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#ffd45a;box-shadow:0 0 0 0 rgba(255,212,90,.5);animation:livingPulse 2.4s infinite}@keyframes livingPulse{70%{box-shadow:0 0 0 9px rgba(255,212,90,0)}100%{box-shadow:0 0 0 0 rgba(255,212,90,0)}}.living-hero h1{font-family:"Times New Roman",Times,serif;font-size:clamp(48px,6vw,82px);line-height:.99;letter-spacing:-2.5px;margin:24px 0 20px;max-width:800px}.living-hero h1 em{font-weight:400;color:#ffd978}.living-hero-copy>p{max-width:690px;font-size:18px;line-height:1.65;color:#dfd3e7}.living-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.living-choice{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;text-decoration:none;padding:17px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);transition:.2s ease}.living-choice:hover{transform:translateY(-2px);background:rgba(255,255,255,.13)}.living-choice.primary{background:#ffd45a;color:#281638;border-color:#ffd45a}.choice-icon{display:flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.13);font-size:16px}.primary .choice-icon{background:#fff3bb}.living-choice b{display:block;font-size:16px}.living-choice small{display:block;margin-top:4px;color:inherit;opacity:.72;line-height:1.3}.living-choice i{font-style:normal;font-size:20px}.living-hero-stats{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px;font-size:12px;color:#cbbfd4}.living-hero-stats b{color:#fff}.living-hero-stats a{color:#ffd45a;text-decoration:none}.living-hero-portal{position:relative}.memory-portal-card{position:relative;display:block;min-height:530px;border-radius:220px 220px 28px 28px;overflow:hidden;text-decoration:none;color:white;background-image:linear-gradient(180deg,rgba(23,12,32,.08),rgba(23,12,32,.1) 45%,rgba(18,8,26,.88) 100%),var(--portal-image);background-size:cover;background-position:center;box-shadow:0 35px 80px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.15);transition:.3s ease}.memory-portal-card:hover{transform:translateY(-5px) rotate(.35deg)}.portal-film-mark{position:absolute;top:28px;left:50%;transform:translateX(-50%);font-weight:950;letter-spacing:.18em;font-size:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(16,8,23,.26);backdrop-filter:blur(8px)}.portal-play{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffd45a;color:#3d1b55;font-size:22px;box-shadow:0 12px 30px rgba(0,0,0,.25)}.portal-caption{position:absolute;left:28px;right:28px;bottom:30px}.portal-caption span{display:block;color:#f2d67d;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.portal-caption b{display:block;font-family:"Times New Roman",Times,serif;font-size:24px;line-height:1.15;margin-top:7px}.portal-caption small{display:block;margin-top:9px;color:#e4dce8}.portal-note{text-align:center;margin-top:12px;font-size:11px;color:#bbaec4}.empty-portal .portal-play{display:none}
.living-random-strip{background:#ffd45a;padding:0}.random-strip-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding-top:28px;padding-bottom:28px}.random-strip-inner h2{font-family:"Times New Roman",Times,serif;font-size:34px;margin:3px 0 6px;color:#2a1738}.random-strip-inner p{margin:0;max-width:650px;color:#5d476b;line-height:1.5}.random-orb{width:172px;height:172px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#281638;color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(54,27,71,.22);transition:.25s ease}.random-orb:hover{transform:rotate(-4deg) scale(1.04)}.random-orb span{font-size:30px}.random-orb b{font-size:17px;line-height:1.05;margin:6px 0}.random-orb i{font-style:normal;font-size:11px;color:#f3d575}
.living-question-section{padding:84px 0}.question-stage{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center}.question-card-live{position:relative;background:#fff;border:1px solid #eadff3;border-radius:34px;padding:44px 42px 34px;box-shadow:0 24px 60px rgba(62,34,85,.09)}.question-quote-mark{position:absolute;left:25px;top:8px;font:80px/1 "Times New Roman",Times,serif;color:#efe5f5}.question-card-live>p{position:relative;font-family:"Times New Roman",Times,serif;font-size:clamp(28px,3.3vw,44px);line-height:1.16;margin:0;color:#341747}.question-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:28px}.question-actions button,.question-actions a{border:0;background:#f4edfa;color:#4b1d8f;padding:10px 13px;border-radius:999px;text-decoration:none;font-weight:800;cursor:pointer;font:inherit;font-size:12px}.question-actions a{margin-left:auto;background:#281638;color:#fff}.question-pop{animation:questionPop .35s ease}@keyframes questionPop{0%{opacity:.25;transform:translateY(5px)}100%{opacity:1;transform:none}}
.living-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.living-section-head .lead{max-width:720px}.living-section-head>a{text-decoration:none;color:#4b1d8f;font-weight:900;white-space:nowrap}.living-timeline-section{padding:78px 0;background:linear-gradient(180deg,#fffaf0,#f8f0ff)}.memory-time-rail{position:relative;min-height:490px;overflow-x:auto;overflow-y:hidden;padding:32px 36px 40px;scrollbar-width:thin}.time-rail-line{position:absolute;left:40px;right:40px;top:245px;height:2px;background:linear-gradient(90deg,transparent,#b99aca 7%,#b99aca 93%,transparent)}.time-memory{position:relative;display:inline-flex;vertical-align:top;width:185px;height:420px;margin-right:16px;color:inherit;text-decoration:none}.time-memory.above{align-items:flex-start}.time-memory.below{align-items:flex-end}.time-dot{position:absolute;top:205px;left:50%;width:16px;height:16px;border-radius:50%;transform:translate(-50%,-50%);background:#ffd45a;border:4px solid #4b1d8f;z-index:3}.time-year{position:absolute;top:224px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:950;color:#4b1d8f;white-space:nowrap}.below .time-year{top:178px}.time-memory-card{width:100%;background:#fff;border:1px solid #eadff3;border-radius:20px;padding:10px;box-shadow:0 12px 30px rgba(64,36,84,.08);transition:.2s ease}.time-memory:hover .time-memory-card{transform:translateY(-4px)}.time-memory-thumb{height:122px;border-radius:14px;background-size:cover;background-position:center;margin-bottom:10px}.time-memory-thumb.no-image{display:flex;align-items:center;justify-content:center;background:#f4edfa;color:#5d3376;font-size:30px}.time-memory-card b{display:block;font-size:14px;line-height:1.25}.time-memory-card small{display:block;margin-top:6px;color:#806f8e;font-size:11px}.timeline-empty{position:absolute;inset:100px 20px auto;display:grid;text-align:center;color:#6d6380}.timeline-empty b{font-size:20px;color:#3c234b}
.living-feelings-section{padding:76px 0}.feeling-lenses{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.feeling-lenses a{display:flex;min-height:150px;flex-direction:column;justify-content:center;align-items:center;text-align:center;text-decoration:none;border-radius:24px;background:#fff;border:1px solid #eadff3;box-shadow:0 8px 22px rgba(71,40,91,.05);transition:.2s ease}.feeling-lenses a:hover{transform:translateY(-5px);background:#faf6ff}.feeling-lenses span{font-size:30px}.feeling-lenses b{margin:8px 0 4px}.feeling-lenses small{font-size:10px;color:#8a7b94;padding:0 8px}
.living-stories-section{padding:82px 0;background:#21122d;color:#fff}.living-stories-section .title{color:#fff}.living-stories-section .mini-kicker{color:#e0c979}.living-stories-section .living-section-head>a{color:#ffd45a}.living-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.living-story-card{display:block;text-decoration:none;color:#fff;border-radius:26px;overflow:hidden;background:#301a3e;border:1px solid rgba(255,255,255,.08);transition:.2s ease}.living-story-card:hover{transform:translateY(-4px)}.living-story-card.featured-story{grid-column:span 2}.living-story-visual{position:relative;height:260px;background-size:cover;background-position:center}.featured-story .living-story-visual{height:330px}.living-story-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(20,9,27,.45))}.living-story-visual.no-image{background:linear-gradient(135deg,#6f35d6,#2e173d)}.story-play{position:absolute;left:18px;bottom:18px;z-index:2;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffd45a;color:#351846}.living-story-visual em{position:absolute;right:14px;top:14px;z-index:2;font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase;padding:7px 9px;border-radius:999px;background:rgba(32,15,41,.72);backdrop-filter:blur(8px)}.living-story-copy{padding:18px 18px 20px}.living-story-copy small{color:#cfb7dc}.living-story-copy h3{font-family:"Times New Roman",Times,serif;font-size:22px;margin:7px 0 8px}.living-story-copy p{color:#dfd3e6;line-height:1.45;margin:0 0 10px}.living-story-copy b{font-size:11px;color:#f2d46f}
.living-writing-section{padding:86px 0}.living-writing-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:54px}.living-article-stack{display:grid;gap:10px}.living-article-stack>a{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px 20px;background:#fff;border:1px solid #eadff3;border-radius:22px;text-decoration:none;transition:.2s ease}.living-article-stack>a:hover{transform:translateX(5px)}.living-article-stack>a>span{font-size:28px}.living-article-stack small{color:#876d94;font-size:10px;text-transform:uppercase}.living-article-stack b{display:block;font-family:"Times New Roman",Times,serif;font-size:19px;margin:3px 0}.living-article-stack p{margin:0;color:#75667f;font-size:12px;line-height:1.4}.living-article-stack i{font-style:normal;color:#4b1d8f;font-size:20px}
.living-final-invite{padding:34px 0 72px}.living-final-card{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg,#fff0ad,#fff9df 48%,#f4eaff);border:1px solid #ead89a;border-radius:34px;padding:30px 32px}.final-mark{display:flex;width:86px;height:86px;border-radius:50%;align-items:center;justify-content:center;background:#281638;color:#ffd45a;font-weight:950;font-size:22px}.living-final-card h2{font-family:"Times New Roman",Times,serif;margin:4px 0 8px;font-size:30px}.living-final-card p{margin:0;color:#6d5a75}.living-final-actions{display:flex;gap:8px;flex-wrap:wrap}
.living-footer{padding:40px 0;background:#1d1027;text-align:left}.living-footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:42px}.living-footer h3,.living-footer h4{margin:0 0 10px}.living-footer p{line-height:1.7;color:#d9cce0;margin:0}.living-footer small{display:block;margin-top:8px;color:#9f91a8;line-height:1.5}.living-footer a{color:#f3d572;text-decoration:none}.living-about-hero{padding:82px 0}.living-about-hero-grid{display:grid;grid-template-columns:1fr .72fr;gap:60px;align-items:center}.living-about-hero .title{font-family:"Times New Roman",Times,serif;font-size:56px}.living-about-hero blockquote{position:relative;margin:0;padding:34px;border-radius:30px;background:#2a1637;color:#fff;font:32px/1.3 "Times New Roman",Times,serif;box-shadow:0 25px 60px rgba(42,22,55,.15)}.living-about-hero blockquote span{display:block;color:#ffd45a;font-size:74px;line-height:.55}.living-about-three{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.living-about-three article{background:#fff;border:1px solid #eadff3;border-radius:25px;padding:24px}.living-about-three span{font-weight:950;color:#7d4ca2}.living-about-three h2{font-family:"Times New Roman",Times,serif}.living-about-three p{color:#6d6380;line-height:1.55}.living-about-principles{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.living-rule-list{display:grid;gap:12px}.living-rule-list>div{padding:18px 20px;border-left:3px solid #ffd45a;background:#fff;border-radius:0 18px 18px 0}.living-rule-list p{margin:5px 0 0;color:#6d6380;line-height:1.5}
.memory-story-starter{margin:22px 0;border:1px solid #e7d9ef;background:linear-gradient(135deg,#fffaf0,#faf5ff);border-radius:28px;padding:22px}.starter-step{display:flex;gap:12px;align-items:flex-start}.starter-step>span{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#4b1d8f;color:#fff;font-weight:900}.starter-step b{font-size:17px}.starter-step p{margin:4px 0 0;color:#786782}.starter-step.second{margin-top:22px;padding-top:18px;border-top:1px dashed #dcc9e7}.starter-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 0 44px}.starter-prompts button{border:1px solid #dfcfea;border-radius:999px;background:#fff;padding:9px 11px;color:#5f3e74;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.starter-prompts button:hover,.starter-prompts button.is-picked{background:#4b1d8f;color:#fff;border-color:#4b1d8f}.memory-meta-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.library-mood-strip{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:18px 0}.library-mood-strip>span{font-size:12px;font-weight:900;color:#6c5d75}.library-mood-strip a{padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #eadff3;text-decoration:none;font-size:11px;font-weight:800;color:#654377}.library-mood-strip a.is-active{background:#4b1d8f;color:#fff}.next-random-memory{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:14px;padding:15px 17px;border-radius:20px;text-decoration:none;background:#281638;color:#fff}.next-random-memory>span{font-size:26px}.next-random-memory small{display:block;color:#cdbfd5}.next-random-memory b{display:block;margin-top:2px}.next-random-memory i{font-style:normal;color:#ffd45a}
@media(max-width:980px){.living-hero-grid{grid-template-columns:1fr 360px;gap:34px}.living-choice-grid{grid-template-columns:1fr}.feeling-lenses{grid-template-columns:repeat(3,1fr)}.living-story-grid{grid-template-columns:repeat(2,1fr)}.living-story-card.featured-story{grid-column:span 2}.question-stage,.living-writing-grid,.living-about-hero-grid,.living-about-principles{grid-template-columns:1fr}.living-footer-grid{grid-template-columns:1fr 1fr}.living-footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:720px){.living-hero{padding:40px 0 46px;min-height:auto}.living-hero-grid{grid-template-columns:1fr}.living-hero-copy{text-align:left}.living-hero h1{font-size:48px;letter-spacing:-1.8px}.memory-portal-card{min-height:430px;max-width:340px;margin:0 auto}.living-choice-grid{grid-template-columns:1fr}.random-strip-inner{grid-template-columns:1fr;justify-items:start}.random-orb{width:132px;height:132px}.question-card-live{padding:38px 24px 26px}.question-actions a{margin-left:0}.living-section-head{align-items:flex-start;flex-direction:column}.memory-time-rail{padding-left:10px;padding-right:10px}.feeling-lenses{grid-template-columns:repeat(2,1fr)}.living-story-grid{grid-template-columns:1fr}.living-story-card.featured-story{grid-column:auto}.featured-story .living-story-visual,.living-story-visual{height:260px}.living-final-card{grid-template-columns:1fr;text-align:left}.final-mark{width:68px;height:68px}.living-footer-grid,.living-about-three{grid-template-columns:1fr}.living-footer-grid>div:first-child{grid-column:auto}.living-about-hero .title{font-size:44px}.living-about-hero blockquote{font-size:26px}.memory-meta-fields{grid-template-columns:1fr}.starter-prompts{margin-left:0}.living-random-strip{padding:8px 0}}

.date-memory-pair{display:grid;grid-template-columns:.7fr 1.3fr;gap:8px}.living-anniversary-section{padding:0 0 70px}.anniversary-shell{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:22px;border-radius:30px;background:#fff;border:1px solid #eadff3;box-shadow:0 18px 45px rgba(66,37,86,.07)}.anniversary-date{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;border-radius:22px;background:#281638;color:#fff;text-align:center}.anniversary-date>span{font:60px/1 "Times New Roman",Times,serif;color:#ffd45a}.anniversary-date>b{font-size:16px}.anniversary-date>small{margin-top:12px;color:#cdbed6;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.anniversary-stories{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.anniversary-stories a{display:flex;flex-direction:column;justify-content:center;padding:17px;border-radius:18px;background:#faf6ff;text-decoration:none}.anniversary-stories small{color:#8b62a4;font-weight:900}.anniversary-stories b{font-family:"Times New Roman",Times,serif;font-size:18px;margin:5px 0}.anniversary-stories span{font-size:12px;color:#77667f;line-height:1.4}@media(max-width:720px){.date-memory-pair{grid-template-columns:1fr 1fr}.anniversary-shell{grid-template-columns:1fr}.anniversary-date{min-height:150px}.anniversary-stories{grid-template-columns:1fr}}


/* V31.1 - Homepage rebalance + Vietnamese typography fix */
:root{--memory-serif:"Times New Roman",Times,serif}
html,body{font-kerning:normal;text-rendering:optimizeLegibility}
/* Do not mix a serif without full Vietnamese glyph coverage with fallback glyphs. */
.living-hero h1,.portal-caption b,.question-card-live>p,.random-strip-inner h2,
.living-story-copy h3,.living-article-stack b,.living-final-card h2,
.living-about-hero .title,.living-about-hero blockquote,.living-about-three h2,
.anniversary-date>span,.anniversary-stories b,.v311-time-year,.v311-time-card h3{font-family:var(--memory-serif)!important}

/* Homepage V31.1 */
.living-hero{min-height:auto;padding:64px 0 58px}
.living-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:62px}
.living-eyebrow{color:#fff1bd;background:rgba(255,212,90,.09);border-color:rgba(255,212,90,.24)}
.living-hero h1{font-size:clamp(50px,5.8vw,78px);line-height:1.01;letter-spacing:-1.2px}
.living-choice-grid.v311-choice-grid{grid-template-columns:1fr 1fr}
.living-choice.v311-explore{background:#ffd45a;color:#281638;border-color:#ffd45a}
.living-choice.v311-tell{background:rgba(255,255,255,.09);color:#fff}
.living-choice.v311-explore .choice-icon{background:#fff3bb}
.memory-portal-card{min-height:500px}
.portal-note.v311-portal-note{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:#cbbfd4}
.portal-note.v311-portal-note a{color:#ffd45a;font-weight:900;text-decoration:none}
.portal-note.v311-portal-note a:hover{text-decoration:underline}

/* Question gets to the point faster after the hero. */
.living-question-section.v311-question{padding:64px 0;background:#fffaf0}
.v311-question .question-card-live{box-shadow:0 16px 42px rgba(62,34,85,.075)}

/* Feelings are a discovery filter, not another random mechanism. */
.living-feelings-section.v311-feelings{padding:60px 0 68px;background:#f8f2fb}
.v311-feelings .living-section-head{margin-bottom:20px}
.v311-feelings .feeling-lenses a{min-height:118px;border-radius:20px}
.v311-feelings .feeling-lenses span{font-size:26px}

/* Recent memories: simpler 2x2 rhythm and never repeats the hero memory. */
.living-stories-section.v311-stories{padding:72px 0 78px}
.v311-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v311-story-grid .living-story-card.featured-story{grid-column:auto}
.v311-story-grid .living-story-visual,.v311-story-grid .featured-story .living-story-visual{height:285px}
.v311-story-grid .living-story-copy h3{font-size:23px}

/* Timeline only appears when there are real dated memories, and uses compact unique cards. */
.v311-timeline-section{padding:66px 0;background:#fffaf3}
.v311-timeline-track{position:relative;display:flex;gap:14px;overflow-x:auto;padding:24px 3px 12px;scrollbar-width:thin}
.v311-timeline-track:before{content:"";position:absolute;left:4px;right:4px;top:11px;height:2px;background:#dac8e4}
.v311-time-card{position:relative;flex:0 0 205px;min-height:150px;padding:22px 17px 17px;border-radius:20px;background:#fff;border:1px solid #eadff3;text-decoration:none;box-shadow:0 10px 24px rgba(65,37,83,.06);transition:.2s ease}
.v311-time-card:before{content:"";position:absolute;top:-18px;left:21px;width:13px;height:13px;border-radius:50%;background:#ffd45a;border:3px solid #4b1d8f;box-sizing:content-box}
.v311-time-card:hover{transform:translateY(-3px)}
.v311-time-year{display:block;font-size:24px;font-weight:700;color:#4b1d8f;line-height:1}
.v311-time-card h3{font-size:18px;line-height:1.25;margin:10px 0 8px;color:#2b1837}
.v311-time-card p{font-size:12px;color:#786a81;line-height:1.4;margin:0}
.v311-time-card small{display:block;margin-top:9px;color:#9b789f;font-size:10px;font-weight:800;text-transform:uppercase}

/* Writing has more separation from video discovery. */
.living-writing-section.v311-writing{padding:76px 0 82px;background:#fff}

/* One clear closing action: tell a memory. No second random/listen CTA. */
.living-final-invite.v311-final{padding:38px 0 74px;background:#fff}
.v311-final .living-final-card{grid-template-columns:auto 1fr auto;box-shadow:0 16px 42px rgba(80,51,52,.06)}
.v311-final .living-final-card h2{font-size:32px}
.v311-final .living-final-actions{justify-content:flex-end}

@media(max-width:980px){
  .living-hero-grid{grid-template-columns:1fr 350px;gap:38px}
  .v311-story-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .living-hero{padding:38px 0 42px}
  .living-hero-grid{grid-template-columns:1fr}
  .living-hero h1{font-size:47px;letter-spacing:-.6px}
  .living-choice-grid.v311-choice-grid{grid-template-columns:1fr}
  .memory-portal-card{min-height:420px}
  .living-question-section.v311-question{padding:48px 0}
  .living-feelings-section.v311-feelings{padding:46px 0 52px}
  .v311-story-grid{grid-template-columns:1fr}
  .v311-story-grid .living-story-visual,.v311-story-grid .featured-story .living-story-visual{height:260px}
  .v311-timeline-section{padding:48px 0}
  .v311-time-card{flex-basis:185px}
  .living-writing-section.v311-writing{padding:54px 0 60px}
  .living-final-invite.v311-final{padding:28px 0 54px}
  .v311-final .living-final-card{grid-template-columns:1fr}
  .v311-final .living-final-actions{justify-content:flex-start}
}

/* =========================================================
   V31.2 — Unified Explore + Local SVG icon system
   ========================================================= */
.ky-icon{width:1em;height:1em;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;overflow:visible;flex:0 0 auto}
.menu-icon-link{display:inline-flex!important;align-items:center;gap:6px}.menu-icon-link .ky-icon{width:15px;height:15px}
.question-actions button{display:inline-flex;align-items:center;gap:7px}.question-actions .ky-icon{width:15px;height:15px}
.portal-note .ky-icon,.portal-caption small .ky-icon,.library-card-meta .ky-icon,.library-reel-card small .ky-icon{width:13px;height:13px}
.choice-icon .ky-icon{width:20px;height:20px}
.inline-soft-link{color:var(--purple);font-weight:850;text-decoration:none;border-bottom:1px solid rgba(75,29,143,.22)}
.inline-soft-link:hover{border-color:currentColor}

/* Never depend on OS emoji for decorative UI. */
.winner-burst:after,.oaq-stage:after{content:""!important}

/* Consistent play marks drawn in CSS. */
.thumb-play,.portal-play,.story-play,.ui-play-mark{font-size:0!important}
.thumb-play:before,.portal-play:before,.story-play:before,.ui-play-mark:before{content:"";display:block;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor;margin-left:3px}
.portal-play:before{border-top-width:11px;border-bottom-width:11px;border-left-width:17px;margin-left:5px}
.story-play:before{border-top-width:6px;border-bottom-width:6px;border-left-width:10px}
.ui-play-toggle{font-size:0!important}
.ui-play-toggle:before{content:"";display:block;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor;margin-left:2px}
.ui-play-toggle.is-pause:before{width:12px;height:14px;border:0;margin:0;background:linear-gradient(90deg,currentColor 0 4px,transparent 4px 8px,currentColor 8px 12px)}
.drive-fullscreen-btn .ky-icon{width:19px;height:19px}
.external-video-placeholder.ui-play-mark:before{border-top-width:15px;border-bottom-width:15px;border-left-width:24px}

/* Home: replace emotion filter with memory seeds. */
.memory-seeds-section.v312-seeds{padding:66px 0 72px;background:linear-gradient(180deg,#fbf7ff 0%,#fffaf2 100%)}
.v312-seeds .living-section-head{margin-bottom:22px}
.memory-seed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.memory-seed-card{display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:start;min-height:126px;padding:19px 18px;border:1px solid #eadff3;border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 10px 28px rgba(69,40,87,.045)}
.seed-icon{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#fff0b9,#eee2ff);color:#4b1d8f}
.seed-icon .ky-icon{width:23px;height:23px}
.memory-seed-card b{display:block;color:#321846;font-size:16px;margin:2px 0 5px}.memory-seed-card p{margin:0;color:#7b6a83;font-size:12px;line-height:1.5}

/* Home article icons. */
.living-article-stack>a>span.article-mini-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#fff2bf,#efe5ff);color:#4b1d8f;font-size:inherit}
.article-mini-icon .ky-icon{width:21px;height:21px}

/* Article icon language. */
.article-topic-icon,.letter-icon{color:#4b1d8f;font-size:inherit!important}.article-topic-icon .ky-icon{width:22px;height:22px}.letter-icon .ky-icon{width:24px;height:24px}
.article-group-pill{display:inline-flex;align-items:center;gap:7px}.article-group-pill .ky-icon{width:16px;height:16px}
.articles-page-intro .btn,.article-form-intro b,.guide-tip-title,.icon-heading{display:inline-flex;align-items:center;gap:8px}.articles-page-intro .btn .ky-icon,.article-form-intro .ky-icon{width:17px;height:17px}
.icon-heading .ky-icon{width:22px;height:22px;color:var(--purple)}

/* Library icons. */
.library-topic-chip>span{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#f4edff;color:#4b1d8f;font-size:inherit!important}
.library-topic-chip>span .ky-icon{width:20px;height:20px}
.library-topic-chip.is-active>span{background:#4b1d8f;color:#fff}
.library-search-field>.ky-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:var(--purple);z-index:1}
.library-empty-icon .ky-icon{width:32px;height:32px}
.library-card-meta span{display:inline-flex;align-items:center;gap:4px}

/* Submission + guide icons. */
.submission-type-btn>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#f4edff;color:#4b1d8f;font-size:inherit!important}
.submission-type-btn>span .ky-icon{width:22px;height:22px}.submission-type-btn.is-active>span{background:#4b1d8f;color:#fff}
.interview-guide h3,.guide-tab,.guide-hint{display:flex;align-items:center;gap:7px}.interview-guide h3 .ky-icon{width:20px;height:20px}.guide-tab .ky-icon{width:15px;height:15px}.guide-hint .ky-icon{width:16px;height:16px;flex:0 0 auto}
.qbank-section h3{display:flex;align-items:center;gap:9px}.qbank-section h3 .qh-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#f4edff;color:#4b1d8f;font-size:inherit}.qh-icon .ky-icon{width:19px;height:19px}
.alert-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf7ef;color:#267d4f;vertical-align:middle;margin-right:6px}.alert-icon .ky-icon{width:16px;height:16px}
.next-random-memory>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#3b2050;color:#ffd45a;font-size:inherit}.next-random-memory>span .ky-icon{width:22px;height:22px}

/* Unified Explore page */
.explore-page{background:#fffaf4}.explore-hero{padding:62px 0 32px;background:linear-gradient(180deg,#f8f1ff 0%,#fffaf4 100%)}
.explore-hero-grid{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:end}.explore-hero .title{font-size:clamp(45px,6vw,72px);margin:7px 0 12px}.explore-hero .lead{max-width:760px}
.explore-count-card{min-width:230px;padding:20px 22px;border-radius:24px;background:#281638;color:#fff;box-shadow:0 16px 38px rgba(40,22,56,.16)}.explore-count-card b{display:block;font:700 42px/1 var(--memory-serif);color:#ffd45a}.explore-count-card span{display:block;margin-top:7px;font-weight:850}.explore-count-card small{display:block;margin-top:6px;color:#cdbfd5}
.explore-search{display:flex;gap:9px;align-items:center;margin-top:28px}.explore-search-field{position:relative;flex:1}.explore-search-field .ky-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#4b1d8f}.explore-search-field input{width:100%;min-height:52px;padding-left:48px;background:#fff;border:1px solid #e4d8ef;border-radius:15px}
.explore-type-tabs{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}.explore-type-tabs a{display:inline-grid;grid-template-columns:auto auto auto;gap:7px;align-items:center;padding:10px 13px;border-radius:999px;background:#fff;border:1px solid #e6daef;text-decoration:none;color:#60436f;font-size:12px;font-weight:850}.explore-type-tabs a.is-active{background:#4b1d8f;color:#fff;border-color:#4b1d8f}.explore-type-tabs .ky-icon{width:15px;height:15px}.explore-type-tabs small{opacity:.65}
.explore-results-section,.explore-writing-results{padding:58px 0 68px}.explore-writing-results{background:#f7f1fa}.explore-writing-results.is-after-video{padding-top:62px}.explore-section-head{margin-bottom:20px}
.explore-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.explore-memory-card{display:grid;grid-template-columns:132px 1fr;min-height:210px;overflow:hidden;border-radius:22px;background:#fff;border:1px solid #e8ddef;text-decoration:none;box-shadow:0 10px 28px rgba(73,45,86,.05);transition:.18s ease}.explore-memory-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(73,45,86,.09)}.explore-memory-media{min-width:0;background:#24122f}.explore-memory-media .thumb-media{height:100%;aspect-ratio:auto;border-radius:0}.explore-memory-media .thumb-pill{display:none}.explore-memory-media .thumb-play{width:46px;height:46px}.explore-memory-copy{padding:17px 17px 15px;min-width:0}.explore-type-label{display:inline-flex;align-items:center;gap:6px;color:#79558c;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.explore-type-label .ky-icon{width:13px;height:13px}.explore-memory-copy h3,.explore-article-copy h3{font:700 21px/1.18 var(--memory-serif);color:#2f183e;margin:8px 0}.explore-memory-copy p,.explore-article-copy p{color:#786a80;font-size:12px;line-height:1.5;margin:0}.explore-memory-copy small{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;color:#8a718f;font-size:10px}.explore-memory-copy small .ky-icon{width:12px;height:12px}
.explore-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.explore-article-card{display:block;border-radius:22px;overflow:hidden;background:#fff;border:1px solid #e5d9ed;text-decoration:none;box-shadow:0 10px 28px rgba(73,45,86,.04);transition:.18s ease}.explore-article-card:hover{transform:translateY(-3px)}.explore-article-image{height:150px;overflow:hidden}.explore-article-image img{width:100%;height:100%;object-fit:cover}.explore-article-icon{height:118px;display:grid;place-items:center;background:linear-gradient(145deg,#fff1b8,#eee3ff);color:#4b1d8f}.explore-article-icon .ky-icon{width:42px;height:42px}.explore-article-copy{padding:17px 18px 19px}.explore-article-copy small{display:block;margin-top:12px;color:#9a7f9f;font-size:10px}
.explore-empty{display:flex;align-items:center;gap:14px;padding:20px;border-radius:20px;background:#fff;border:1px solid #e7ddee}.explore-empty .icon-disc{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#f1e8fb;color:#4b1d8f}.explore-empty .ky-icon{width:22px;height:22px}.explore-empty p{margin:3px 0 0;color:#7f7087}
.explore-end{padding:26px 0 72px;background:#f7f1fa}.explore-end-card{display:grid;grid-template-columns:58px 1fr auto;gap:18px;align-items:center;padding:24px 26px;border-radius:26px;background:#281638;color:#fff}.explore-end-card>div{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#3b2050;color:#ffd45a}.explore-end-card>div .ky-icon{width:27px;height:27px}.explore-end-card h2{font:700 27px/1.12 var(--memory-serif);margin:3px 0 5px;color:#fff}.explore-end-card p{margin:0;color:#d6cadc}.explore-end-card .btn{white-space:nowrap}

/* Shared icon sizing inside controls */
.btn .ky-icon{width:16px;height:16px}.btn{align-items:center}.portal-caption small{display:flex!important;align-items:center;gap:5px}.portal-note a{display:inline-flex;align-items:center;gap:5px}

@media(max-width:980px){.memory-seed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-card-grid{grid-template-columns:1fr}.explore-hero-grid{grid-template-columns:1fr}.explore-count-card{max-width:310px}}
@media(max-width:680px){.memory-seed-grid{grid-template-columns:1fr}.memory-seed-card{min-height:0}.explore-hero{padding:42px 0 24px}.explore-search{display:grid;grid-template-columns:1fr 1fr}.explore-search-field{grid-column:1/-1}.explore-search .btn{width:100%;justify-content:center}.explore-article-grid{grid-template-columns:1fr}.explore-memory-card{grid-template-columns:105px 1fr;min-height:180px}.explore-memory-copy{padding:14px}.explore-memory-copy h3{font-size:18px}.explore-memory-copy p{display:none}.explore-end-card{grid-template-columns:1fr;align-items:start}.explore-end-card .btn{width:100%;justify-content:center}.submission-type-btn>span{width:42px;height:42px}.guide-tab{gap:5px}}
/* Disable legacy OS-emoji decorations from retired game UI. */
.arena-art:before,.arena-art:after,.swing-wrap:after,.wrestle-ring:before,.wrestle-ring:after,.swing-stage .swing-frame:after{content:""!important}
.admin-topic-name,.admin-status-icon{display:inline-flex;align-items:center;gap:6px}.admin-topic-name .ky-icon,.admin-status-icon .ky-icon{width:15px;height:15px;color:var(--purple)}


/* V31.3 · video preview polish */
.memory-preview{position:relative;overflow:hidden;background:linear-gradient(145deg,#5d2cab,#291637)}
.memory-preview-image,.memory-preview-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.memory-preview-video{opacity:0;transition:opacity .25s ease;background:#160d1f}
.memory-preview-video.is-ready{opacity:1}
.memory-preview-image.is-broken{display:none}
.memory-preview-fallback-title{position:absolute;left:18px;right:18px;bottom:18px;color:rgba(255,255,255,.82);font-family:"Noto Serif",Cambria,"Times New Roman",serif;font-size:18px;line-height:1.2}
.living-story-visual{background:none!important}
.living-story-media{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.living-story-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,8,24,.02) 52%,rgba(17,8,24,.42) 100%);pointer-events:none}
.living-story-visual:after{display:none}
.living-story-card:hover .living-story-media .memory-preview-image,.living-story-card:hover .living-story-media .memory-preview-video{transform:scale(1.018)}
.living-story-media .memory-preview-image,.living-story-media .memory-preview-video{transition:transform .35s ease,opacity .25s ease}
.menu-icon-link .ky-icon{opacity:.82}

.memory-portal-card{background-image:linear-gradient(180deg,rgba(23,12,32,.08),rgba(23,12,32,.1) 45%,rgba(18,8,26,.88) 100%)!important;background-color:#281437}
.portal-memory-media{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit}
.portal-memory-media .memory-preview-image,.portal-memory-media .memory-preview-video{z-index:0}
.portal-memory-media:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(23,12,32,.08),rgba(23,12,32,.1) 45%,rgba(18,8,26,.88) 100%);pointer-events:none}
.portal-film-mark,.portal-play,.portal-caption{z-index:3}

/* =========================================================
   V32 · Editorial Memory
   Fewer product cards, more story-first editorial rhythm.
   ========================================================= */
.v32-home{background:#fffaf4}.v32-hero{min-height:auto;padding:78px 0 66px}.v32-hero-grid{align-items:stretch}.v32-hero .living-hero-copy{align-self:center}.v32-hero-image{position:relative;min-height:520px;border-radius:34px;overflow:hidden;box-shadow:0 26px 70px rgba(12,4,20,.3);background:#2b1737}.v32-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.v32-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,8,28,.78) 100%)}.v32-hero-image-note{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;color:#fff}.v32-hero-image-note small{display:block;color:#ffd45a;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;margin-bottom:8px}.v32-hero-image-note b{font:700 30px/1.08 var(--memory-serif)}

.v32-featured-memory{padding:72px 0 78px;background:#fffaf4}.v32-featured-label{display:flex;align-items:center;gap:10px;margin-bottom:18px;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:950;color:#7c5a86}.v32-featured-label span{width:28px;height:2px;background:#f2b924}.v32-featured-card{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);min-height:520px;text-decoration:none;background:#271535;color:#fff;border-radius:32px;overflow:hidden;box-shadow:0 24px 55px rgba(52,24,67,.17)}.v32-featured-media{position:relative;min-height:520px;background:#1c1025;overflow:hidden}.v32-featured-preview{position:absolute;inset:0;width:100%;height:100%}.v32-featured-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,15,40,.04) 52%,rgba(30,15,40,.28) 100%)}.v32-featured-play,.v32-mini-play{position:absolute;display:block;border-radius:50%;background:#ffd45a;box-shadow:0 12px 28px rgba(0,0,0,.22)}.v32-featured-play{width:68px;height:68px;left:36px;bottom:34px}.v32-featured-play:after,.v32-mini-play:after{content:"";position:absolute;left:52%;top:50%;transform:translate(-42%,-50%);border-left:11px solid #442060;border-top:7px solid transparent;border-bottom:7px solid transparent}.v32-featured-copy{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}.v32-featured-copy>small{color:#e2bc54;text-transform:uppercase;letter-spacing:.09em;font-weight:900;font-size:10px}.v32-featured-copy h2{font:700 clamp(38px,4.5vw,62px)/.98 var(--memory-serif);letter-spacing:-1.2px;margin:15px 0 20px}.v32-featured-copy>p{font-size:16px;line-height:1.7;color:#d9cedd;margin:0}.v32-featured-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#cbbbd0}.v32-featured-meta span{display:inline-flex;align-items:center;gap:5px}.v32-featured-meta .ky-icon{width:14px;height:14px}.v32-featured-action{margin-top:28px;color:#ffd45a;font-size:13px}.v32-featured-action i{font-style:normal;margin-left:7px}

.v32-latest-section{padding:70px 0 82px;background:#f7f1fa}.v32-section-head{margin-bottom:25px}.v32-section-head .lead{max-width:670px}.v32-editorial-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;grid-auto-flow:dense}.v32-story-tile{position:relative;display:flex;flex-direction:column;grid-column:span 4;min-height:390px;border-radius:24px;overflow:hidden;text-decoration:none;background:#fff;border:1px solid #e8ddeb;box-shadow:0 11px 30px rgba(60,36,70,.045);transition:transform .2s ease,box-shadow .2s ease}.v32-story-tile:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(60,36,70,.09)}.v32-story-tile.is-lead{grid-column:span 8;grid-row:span 2;min-height:610px}.v32-story-tile.is-tall{min-height:500px}.v32-story-media{position:relative;min-height:210px;background:#271535;overflow:hidden}.v32-story-tile.is-lead .v32-story-media{min-height:390px}.v32-story-tile.is-article .v32-story-media{background:linear-gradient(135deg,#fffaf0 0%,#f6eefb 56%,#efe5f9 100%)}.v32-story-tile.is-article.is-tall .v32-story-media{min-height:230px}.v32-story-media>.memory-preview,.v32-story-media>.v32-article-image,.v32-story-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v32-story-media.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(25,12,34,.22));pointer-events:none}.v32-mini-play{width:45px;height:45px;left:18px;bottom:17px;z-index:2}.v32-mini-play:after{border-left-width:8px;border-top-width:5px;border-bottom-width:5px}.v32-story-body{padding:21px 21px 23px;display:flex;flex-direction:column;flex:1}.v32-format{display:inline-flex;align-items:center;gap:6px;color:#79558c;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:950}.v32-format .ky-icon{width:13px;height:13px}.v32-story-body h3{font:700 25px/1.08 var(--memory-serif);color:#2f183e;margin:10px 0 10px}.v32-story-tile.is-lead .v32-story-body h3{font-size:34px}.v32-story-body p{color:#786b80;line-height:1.55;font-size:12px;margin:0 0 16px}.v32-story-body small{margin-top:auto;color:#9a829d;font-size:10px}.v32-article-cover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 22px 21px;color:#4b2d57;background:radial-gradient(circle at top right,rgba(255,210,228,.9),transparent 34%),radial-gradient(circle at left bottom,rgba(255,245,195,.92),transparent 28%),linear-gradient(135deg,#fff9ef 0%,#f7eefb 55%,#efe6f9 100%)}.v32-article-cover:before{content:"❝";position:absolute;top:18px;left:22px;font-size:42px;line-height:1;color:rgba(108,65,133,.22)}.v32-article-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(63,29,75,.08));pointer-events:none}.v32-article-cover>*{position:relative;z-index:1}.v32-article-cover-kicker{display:inline-flex;align-items:center;align-self:flex-start;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(121,85,140,.16);font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#7a588b;margin-bottom:14px}.v32-article-cover p{margin:0;max-width:90%;font-size:14px;line-height:1.65;color:#6f5e77}

.v32-question{padding:72px 0 86px;background:#fffaf4}.v32-timeline-section{background:#fffaf4}.v32-final{padding-top:24px}.v32-final .living-final-card{box-shadow:0 18px 48px rgba(57,29,76,.08)}

/* Explore: one mixed story field + meaningful metadata traces. */
.v32-explore-hero{padding-bottom:28px}.v32-traces-section{padding:30px 0 46px;background:#fffaf4}.v32-traces-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.v32-traces-head h2{font:700 29px/1.1 var(--memory-serif);margin:5px 0 0}.v32-traces-head>a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#67427b;font-size:12px;font-weight:850}.v32-traces-head>a .ky-icon{width:16px;height:16px}.v32-trace-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v32-trace-group{padding:17px 18px;border:1px solid #eadfec;border-radius:18px;background:rgba(255,255,255,.72)}.v32-trace-group>b{display:flex;align-items:center;gap:7px;color:#432251;font-size:12px}.v32-trace-group>b .ky-icon{width:16px;height:16px}.v32-trace-group>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.v32-trace-group a{padding:7px 10px;border-radius:999px;background:#f5eff7;color:#73547c;text-decoration:none;font-size:10px;font-weight:850}.v32-trace-group a.is-active{background:#4b1d8f;color:#fff}.v32-explore-results{padding:58px 0 80px;background:#f7f1fa}.v32-explore-grid .v32-story-tile{grid-column:span 4}.v32-explore-grid .v32-story-tile.is-lead{grid-column:span 8;grid-row:span 1;min-height:490px}.v32-explore-grid .v32-story-tile.is-lead .v32-story-media{min-height:290px}

/* Submit: essentials first, metadata tucked away. */
.v32-submit-page{background:#fffaf4}.v32-submit-container{max-width:930px}.v32-submit-intro{max-width:780px;margin-bottom:28px}.v32-submit-intro .title{font:700 clamp(40px,5.5vw,62px)/1 var(--memory-serif);letter-spacing:-1px}.v32-success{padding:18px 20px}.v32-submit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 13px}.v32-submit-steps>div{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:14px;background:#f4edf7;color:#6d5274;font-size:11px}.v32-submit-steps span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#4b1d8f;font-weight:950}.v32-type-switch{margin:0 0 18px}.v32-simple-form{padding:24px;border-radius:26px;background:#fff;border:1px solid #e9deeb;box-shadow:0 18px 45px rgba(68,37,79,.06)}.v32-core-fields{display:grid;gap:15px}.v32-core-fields .field-label{font-size:12px}.v32-core-fields input,.v32-core-fields textarea{font-size:15px}.v32-story-body-input{min-height:300px!important;line-height:1.65}.v32-video-source{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:end}.v32-video-source>span{padding-bottom:17px;color:#a58da9;font-size:10px;font-weight:850;text-transform:uppercase}.v32-video-source small{display:block;color:#9a849f;margin-top:6px}.v32-advanced{margin-top:18px;border-top:1px solid #eee3ef;padding-top:15px}.v32-advanced summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;color:#613875;font-weight:900;font-size:12px}.v32-advanced summary::-webkit-details-marker{display:none}.v32-advanced summary .ky-icon{width:16px;height:16px}.v32-advanced[open] summary{margin-bottom:15px}.v32-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:17px;border-radius:18px;background:#faf7fb}.v32-advanced-grid .v32-wide{grid-column:1/-1}.v32-consent{margin-top:21px}.v32-submit-button{margin-top:4px;min-height:52px;font-size:15px}.v32-story-prompts{padding:64px 0 78px;background:#f7f1fa}.v32-story-prompts .memory-seed-grid button{appearance:none;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1px solid #e8ddec;background:#fff;border-radius:18px;padding:14px;display:flex;gap:11px;min-height:108px}.v32-story-prompts .memory-seed-grid button:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(75,29,143,.07)}.v32-story-prompts .memory-seed-grid b{display:block;font-size:12px;margin-bottom:4px}.v32-story-prompts .memory-seed-grid p{margin:0;color:#87778d;font-size:10px;line-height:1.45}

@media(max-width:900px){.v32-featured-card{grid-template-columns:1fr}.v32-featured-media{min-height:430px}.v32-featured-copy{padding:32px}.v32-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v32-story-tile,.v32-story-tile.is-lead,.v32-explore-grid .v32-story-tile,.v32-explore-grid .v32-story-tile.is-lead{grid-column:span 1;grid-row:span 1;min-height:390px}.v32-story-tile.is-lead .v32-story-media,.v32-explore-grid .v32-story-tile.is-lead .v32-story-media{min-height:240px}.v32-trace-groups{grid-template-columns:1fr}.v32-video-source{grid-template-columns:1fr}.v32-video-source>span{padding:0;text-align:center}.v32-hero-image{min-height:430px}}
@media(max-width:640px){.v32-hero{padding:50px 0 40px}.v32-hero-image{min-height:380px}.v32-featured-memory{padding:48px 0}.v32-featured-media{min-height:360px}.v32-featured-copy{padding:25px 22px}.v32-featured-copy h2{font-size:38px}.v32-editorial-grid{grid-template-columns:1fr}.v32-story-tile,.v32-story-tile.is-lead{min-height:0}.v32-story-media,.v32-story-tile.is-lead .v32-story-media{min-height:235px}.v32-traces-head{align-items:flex-start;flex-direction:column}.v32-submit-steps{grid-template-columns:1fr}.v32-simple-form{padding:17px}.v32-advanced-grid{grid-template-columns:1fr}.v32-advanced-grid .v32-wide{grid-column:auto}.v32-story-body-input{min-height:240px!important}}

/* ===== V32.3: mixed-feed alignment + distinct article quote ===== */
.v32-latest-section .v32-editorial-grid{align-items:stretch;grid-auto-rows:1fr}
.v32-latest-section .v32-story-tile{height:470px;min-height:470px;grid-column:span 4;grid-row:auto}
.v32-latest-section .v32-story-tile.is-lead,.v32-latest-section .v32-story-tile.is-tall{grid-column:span 4;grid-row:auto;height:470px;min-height:470px}
.v32-latest-section .v32-story-media,.v32-latest-section .v32-story-tile.is-lead .v32-story-media,.v32-latest-section .v32-story-tile.is-article.is-tall .v32-story-media{height:205px;min-height:205px;flex:0 0 205px}
.v32-latest-section .v32-story-body{padding:20px 21px 21px;display:grid;grid-template-rows:18px 58px 1fr 16px;align-content:start;gap:0;min-height:0}
.v32-latest-section .v32-story-body h3,.v32-latest-section .v32-story-tile.is-lead .v32-story-body h3{font-size:25px;line-height:1.08;margin:9px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;align-self:start}
.v32-latest-section .v32-story-body>p{margin:4px 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;align-self:start}
.v32-latest-section .v32-story-body>small{margin:0;align-self:end}
.v32-latest-section .v32-article-cover{justify-content:flex-end;padding:22px 22px 20px}
.v32-latest-section .v32-article-cover-kicker{margin-bottom:11px}
.v32-latest-section .v32-article-cover p{margin:0;max-width:94%;font-size:13px;line-height:1.58;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.v32-article-cover-line{font:700 21px/1.18 var(--memory-serif);max-width:82%;color:#4b2d57}
.v32-article-cover.is-quiet:before{opacity:.45}
@media(max-width:900px){.v32-latest-section .v32-story-tile,.v32-latest-section .v32-story-tile.is-lead,.v32-latest-section .v32-story-tile.is-tall{height:455px;min-height:455px}.v32-latest-section .v32-story-media,.v32-latest-section .v32-story-tile.is-lead .v32-story-media{height:205px;min-height:205px;flex-basis:205px}}
@media(max-width:640px){.v32-latest-section .v32-story-tile,.v32-latest-section .v32-story-tile.is-lead,.v32-latest-section .v32-story-tile.is-tall{height:auto;min-height:0}.v32-latest-section .v32-story-media,.v32-latest-section .v32-story-tile.is-lead .v32-story-media{height:225px;min-height:225px;flex-basis:225px}.v32-latest-section .v32-story-body{display:flex;min-height:220px}.v32-latest-section .v32-story-body h3{display:block;overflow:visible}.v32-latest-section .v32-story-body>p{display:block;overflow:visible}}


/* ===== V32.4: paper story cards — articles stay articles, videos stay videos ===== */
.v32-story-tile.is-paper-story{position:relative;overflow:hidden;background:linear-gradient(145deg,#fffaf0 0%,#fffdf8 45%,#f7eef9 100%);border-color:#e8dce8;isolation:isolate}
.v32-story-tile.is-paper-story:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 8%,rgba(238,190,219,.48),transparent 28%),radial-gradient(circle at 4% 96%,rgba(247,218,142,.32),transparent 27%),linear-gradient(90deg,rgba(111,70,127,.025) 1px,transparent 1px),linear-gradient(rgba(111,70,127,.018) 1px,transparent 1px);background-size:auto,auto,28px 28px,28px 28px;z-index:-2}
.v32-story-tile.is-paper-story:after{content:"";position:absolute;right:0;top:0;width:82px;height:82px;background:linear-gradient(225deg,rgba(214,186,225,.34) 0 49%,transparent 50%);border-bottom-left-radius:34px;z-index:-1}
.v32-paper-story-inner{height:100%;display:flex;flex-direction:column;padding:30px 28px 25px}
.v32-paper-story-inner .v32-format{align-self:flex-start;padding-bottom:16px;border-bottom:1px solid rgba(105,70,116,.14);width:100%}
.v32-paper-story-inner h3{font:700 30px/1.05 var(--memory-serif);letter-spacing:-.025em;color:#321b40;margin:28px 0 16px;max-width:92%}
.v32-paper-summary{margin:0;color:#776b7d;font-size:13px;line-height:1.68;max-width:92%}
.v32-paper-story-footer{margin-top:auto;padding-top:20px;border-top:1px solid rgba(105,70,116,.12);display:flex;align-items:center;justify-content:space-between;gap:16px}
.v32-paper-story-footer small{color:#9b879f;font-size:10px}
.v32-paper-story-footer>span{color:#6f477e;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.v32-paper-story-footer i{font-style:normal;margin-left:4px;transition:transform .18s ease;display:inline-block}
.v32-story-tile.is-paper-story:hover .v32-paper-story-footer i{transform:translateX(3px)}

/* Homepage: one calm, equal-height row without forcing articles to imitate video thumbnails. */
.v32-latest-section .v32-story-tile.is-paper-story{height:470px;min-height:470px}
.v32-latest-section .v32-story-tile.is-paper-story .v32-paper-story-inner{padding:30px 28px 25px}
.v32-latest-section .v32-story-tile.is-paper-story h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v32-latest-section .v32-story-tile.is-paper-story .v32-paper-summary{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}

/* Explore uses the same article language, slightly denser than homepage. */
.v32-explore-grid .v32-story-tile.is-paper-story{min-height:390px}
.v32-explore-grid .v32-story-tile.is-paper-story .v32-paper-story-inner{padding:27px 24px 23px}
.v32-explore-grid .v32-story-tile.is-paper-story h3{font-size:27px;margin-top:24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.v32-explore-grid .v32-story-tile.is-paper-story .v32-paper-summary{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}

@media(max-width:900px){.v32-paper-story-inner h3{font-size:28px}.v32-latest-section .v32-story-tile.is-paper-story{height:455px;min-height:455px}}
@media(max-width:640px){.v32-latest-section .v32-story-tile.is-paper-story,.v32-explore-grid .v32-story-tile.is-paper-story{height:auto;min-height:330px}.v32-paper-story-inner{padding:26px 23px 22px}.v32-paper-story-inner h3,.v32-explore-grid .v32-story-tile.is-paper-story h3{font-size:27px;margin-top:23px}.v32-paper-summary{font-size:13px}.v32-paper-story-footer{padding-top:18px}}

/* ===== V32.5 — Writing becomes part of Explore ===== */
.v325-writing-page{background:#f7f1fa}
.v325-writing-hero{padding:72px 0 68px;background:#fffaf4;border-bottom:1px solid rgba(84,48,96,.08)}
.v325-writing-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:56px;align-items:center}
.v325-writing-hero .title{font:700 clamp(46px,6vw,74px)/.96 var(--memory-serif);letter-spacing:-1.8px;margin:10px 0 18px;color:#2f183e}
.v325-writing-hero .lead{max-width:690px;font-size:17px;line-height:1.72}
.v325-writing-note{position:relative;min-height:330px;border-radius:34px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(255,198,221,.86),transparent 30%),radial-gradient(circle at 10% 92%,rgba(255,240,178,.88),transparent 27%),linear-gradient(135deg,#fffaf0 0%,#f7eefb 58%,#eee2f6 100%);border:1px solid rgba(102,66,116,.12);box-shadow:0 18px 48px rgba(63,37,73,.07)}
.v325-writing-note:before{content:"";position:absolute;inset:18px;border:1px solid rgba(91,54,107,.08);border-radius:24px;pointer-events:none}
.v325-writing-note>span{position:absolute;left:36px;top:26px;font:700 70px/1 var(--memory-serif);letter-spacing:-5px;color:rgba(74,40,89,.16)}
.v325-writing-note p{position:relative;z-index:1;max-width:380px;margin:0 0 12px;font:700 30px/1.12 var(--memory-serif);color:#3b2048}
.v325-writing-note small{position:relative;z-index:1;color:#806d86;font-size:12px}
.v325-writing-library{padding:66px 0 88px;background:#f7f1fa}
.v325-writing-toolbar{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:22px}
.v325-writing-toolbar h2{font:700 34px/1.05 var(--memory-serif);color:#311b3e;margin:7px 0 8px}
.v325-writing-toolbar p{margin:0;color:#88798d;font-size:13px}
.v325-topic-strip{display:flex;gap:8px;overflow:auto;padding:2px 0 18px;margin-bottom:16px;scrollbar-width:none}
.v325-topic-strip::-webkit-scrollbar{display:none}
.v325-topic-strip a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;text-decoration:none;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(92,56,105,.12);color:#674974;font-size:11px;font-weight:850}
.v325-topic-strip a small{font-size:9px;color:#9d8aa2}
.v325-topic-strip a.is-active{background:#4b1d8f;border-color:#4b1d8f;color:#fff}
.v325-topic-strip a.is-active small{color:#e4d9ef}
.v325-writing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v325-writing-card{height:430px;min-height:430px}
.v325-writing-card .v32-paper-story-inner{padding:30px 27px 25px}
.v325-paper-topline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid rgba(105,70,116,.14)}
.v325-paper-topline .v32-format{width:auto!important;padding:0!important;border:0!important}
.v325-paper-topline>small{max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9b879f;font-size:9px;font-weight:750}
.v325-writing-card h3{font-size:30px!important;margin:28px 0 16px!important;max-width:94%!important}
.v325-writing-card .v32-paper-summary{font-size:13px;line-height:1.62}
.v325-pagination{margin-top:34px}
.v325-article-detail-section{padding:52px 0 88px;background:#f7f1fa}
.v325-article-wrap{max-width:900px}
.v325-breadcrumbs{margin-bottom:18px;color:#917c97}
.v325-breadcrumbs a{color:#765782;text-decoration:none;font-weight:800}
.v325-article-sheet{position:relative;overflow:hidden;border-radius:36px;background:#fffdf8;border:1px solid rgba(93,59,105,.12);box-shadow:0 26px 70px rgba(60,35,70,.08)}
.v325-article-sheet:before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background:linear-gradient(90deg,#f1c95b,#e7c8dd 42%,#bfa4df)}
.v325-article-header{padding:58px 68px 38px;text-align:left;background:radial-gradient(circle at 95% 8%,rgba(255,213,229,.52),transparent 28%),linear-gradient(180deg,#fffaf0 0%,#fffdf9 100%)}
.v325-article-label{display:inline-flex;align-items:center;gap:7px;color:#79558c;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:950}
.v325-article-label .ky-icon{width:14px;height:14px}
.v325-article-header h1{max-width:760px;margin:18px 0 20px;font:700 clamp(42px,6vw,68px)/1 var(--memory-serif);letter-spacing:-1.6px;color:#30193e}
.v325-article-deck{max-width:720px;margin:0;font-size:18px;line-height:1.7;color:#756879}
.v325-article-byline{margin-top:24px;color:#947f99;font-size:12px}
.v325-article-byline b{color:#5b3969}
.v325-article-image{margin:0 68px 14px;border-radius:24px;overflow:hidden;background:#eee7f2}
.v325-article-image img{display:block;width:100%;max-height:620px;object-fit:cover}
.v325-article-body{max-width:690px;margin:0 auto;padding:42px 24px 64px}
.v325-article-body p{margin:0 0 26px;font-size:18px;line-height:1.88;color:#46394b}
.v325-article-body p:first-child:first-letter{float:left;font:700 64px/.83 var(--memory-serif);padding:8px 9px 0 0;color:#5d3470}
.v325-sharebar{margin:22px 0 0;justify-content:center}
.v325-related{margin-top:66px}
.v325-related .v325-writing-card{height:390px;min-height:390px}
@media(max-width:900px){
  .v325-writing-hero-grid{grid-template-columns:1fr;gap:28px}.v325-writing-note{min-height:260px}.v325-writing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v325-writing-card{height:410px;min-height:410px}.v325-article-header{padding:48px 44px 32px}.v325-article-image{margin-left:44px;margin-right:44px}
}
@media(max-width:640px){
  .v325-writing-hero{padding:50px 0 44px}.v325-writing-hero .title{font-size:48px}.v325-writing-note{min-height:230px;padding:28px}.v325-writing-note>span{left:27px;top:20px;font-size:56px}.v325-writing-note p{font-size:25px}.v325-writing-library{padding:48px 0 64px}.v325-writing-toolbar{align-items:flex-start;flex-direction:column}.v325-writing-grid{grid-template-columns:1fr}.v325-writing-card,.v325-related .v325-writing-card{height:auto;min-height:330px}.v325-writing-card h3{font-size:28px!important}.v325-article-detail-section{padding:30px 0 64px}.v325-article-sheet{border-radius:26px}.v325-article-header{padding:42px 24px 28px}.v325-article-header h1{font-size:42px}.v325-article-deck{font-size:16px}.v325-article-image{margin:0 18px 4px;border-radius:18px}.v325-article-body{padding:32px 23px 46px}.v325-article-body p{font-size:16px;line-height:1.8}.v325-article-body p:first-child:first-letter{font-size:54px}.v325-sharebar{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.v325-sharebar>*{flex:0 0 auto}
}

/* ===== V32.6 — safer public filter + finite Explore pagination ===== */
.v326-page-note{margin:8px 0 0;color:#927f99;font-size:11px}.v326-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:34px;padding-top:24px;border-top:1px solid #e6dbe9}.v326-page-arrow{display:inline-flex;align-items:center;gap:8px;color:#563268;text-decoration:none;font-size:12px;font-weight:900}.v326-page-arrow:last-child{justify-self:end}.v326-page-arrow.is-disabled{opacity:.28;pointer-events:none}.v326-page-numbers{display:flex;align-items:center;justify-content:center;gap:6px}.v326-page-numbers a,.v326-page-numbers span{min-width:34px;height:34px;padding:0 8px;border-radius:999px;display:grid;place-items:center;text-decoration:none;color:#72517e;font-size:11px;font-weight:900}.v326-page-numbers a{background:#fff;border:1px solid #e6dbe9}.v326-page-numbers a:hover{border-color:#cbb8d2;background:#fffaf4}.v326-page-numbers a.is-current{background:#3b194a;border-color:#3b194a;color:#fff}.v326-page-numbers span{min-width:auto;padding:0 2px;color:#aa98af}@media(max-width:640px){.v326-pagination{grid-template-columns:1fr 1fr}.v326-page-numbers{grid-column:1/-1;grid-row:1}.v326-page-arrow{grid-row:2}.v326-page-arrow span{display:none}}

/* ===== V32.7 — Typography Tuning: larger, calmer reading inside story cards ===== */
.v32-featured-copy>p{font-size:17px;line-height:1.76;color:#e1d7e4}
.v32-featured-meta{font-size:13px;line-height:1.5}
.v32-featured-action{font-size:14px}

.v32-story-body{padding:22px 23px 24px}
.v32-format{font-size:10.5px;line-height:1.2}
.v32-format .ky-icon{width:14px;height:14px}
.v32-story-body h3{font-size:26px;line-height:1.1;margin:11px 0 11px}
.v32-story-body p{font-size:15.5px;line-height:1.68;color:#6f6275;margin:0 0 16px}
.v32-story-body small{font-size:12.5px;line-height:1.35;color:#907b95}

.v32-latest-section .v32-story-tile,
.v32-latest-section .v32-story-tile.is-lead,
.v32-latest-section .v32-story-tile.is-tall,
.v32-latest-section .v32-story-tile.is-paper-story{height:500px;min-height:500px}
.v32-latest-section .v32-story-body{padding:21px 23px 23px;grid-template-rows:20px 62px 1fr 18px}
.v32-latest-section .v32-story-body h3,
.v32-latest-section .v32-story-tile.is-lead .v32-story-body h3{font-size:26px;line-height:1.1;margin:10px 0 9px}
.v32-latest-section .v32-story-body>p{font-size:15.5px;line-height:1.68;margin:5px 0 11px;-webkit-line-clamp:4}
.v32-latest-section .v32-story-body>small{font-size:12.5px}

.v32-paper-story-inner{padding:31px 29px 26px}
.v32-paper-story-inner h3{font-size:31px;line-height:1.07;margin:28px 0 17px}
.v32-paper-summary{font-size:15.5px;line-height:1.72;color:#6f6375}
.v32-paper-story-footer{padding-top:21px}
.v32-paper-story-footer small{font-size:12.5px;line-height:1.35;color:#907b95}
.v32-paper-story-footer>span{font-size:11.5px}
.v32-latest-section .v32-story-tile.is-paper-story .v32-paper-summary{-webkit-line-clamp:6}

.v32-explore-grid .v32-story-tile{min-height:430px}
.v32-explore-grid .v32-story-tile.is-paper-story{min-height:430px}
.v32-explore-grid .v32-story-tile.is-paper-story .v32-paper-story-inner{padding:29px 26px 25px}
.v32-explore-grid .v32-story-tile.is-paper-story h3{font-size:29px;line-height:1.08}
.v32-explore-grid .v32-story-tile.is-paper-story .v32-paper-summary{font-size:15.5px;line-height:1.7;-webkit-line-clamp:6}

.v325-writing-toolbar p{font-size:14.5px;line-height:1.6}
.v325-writing-card{height:455px;min-height:455px}
.v325-writing-card .v32-paper-summary{font-size:15.5px;line-height:1.7}
.v325-paper-topline>small{font-size:11px}

@media(max-width:900px){
  .v32-latest-section .v32-story-tile,
  .v32-latest-section .v32-story-tile.is-lead,
  .v32-latest-section .v32-story-tile.is-tall,
  .v32-latest-section .v32-story-tile.is-paper-story{height:485px;min-height:485px}
}
@media(max-width:640px){
  .v32-featured-copy>p{font-size:16px;line-height:1.72}
  .v32-story-body p,.v32-paper-summary,.v32-explore-grid .v32-story-tile.is-paper-story .v32-paper-summary,.v325-writing-card .v32-paper-summary{font-size:15.5px}
  .v32-story-body small,.v32-paper-story-footer small{font-size:12.5px}
  .v32-latest-section .v32-story-tile,
  .v32-latest-section .v32-story-tile.is-lead,
  .v32-latest-section .v32-story-tile.is-tall,
  .v32-latest-section .v32-story-tile.is-paper-story{height:auto;min-height:0}
  .v32-explore-grid .v32-story-tile,.v32-explore-grid .v32-story-tile.is-paper-story{min-height:0}
  .v325-writing-card{height:auto;min-height:350px}
}

/* ===== V32.8 Human Time Memory ===== */
.v328-human-time{padding:16px 17px;border-radius:18px;background:linear-gradient(135deg,#fffaf0,#f7f0fb);border:1px solid #eadfec}.v328-human-time input{font-size:15px!important}.v328-human-time small{display:block;margin-top:7px;color:#8a778f;line-height:1.5}.v328-year-hint{padding:14px 16px;border-radius:16px;background:#faf7fb;border:1px dashed #dfd0e5}.v328-year-hint>span{display:block;color:#705c78;font-size:11px;line-height:1.5;margin-bottom:10px}.v328-year-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v328-year-pair label{font-size:10px;color:#7b697f;font-weight:850}.v328-year-pair input{margin-top:6px}.v328-timeline-format{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;background:#f3edf7;color:#7b5c88;text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:950}.memory-facts p small{display:block;margin-top:5px;color:#9a879e;font-size:11px;font-weight:500;line-height:1.45}.v325-article-byline span{color:#8e7c92;font-weight:500}.v311-time-year{max-width:100%;white-space:normal;line-height:1.2}
@media(max-width:640px){.v328-year-pair{grid-template-columns:1fr}.v328-human-time,.v328-year-hint{padding:14px}}

/* ===== V32.10 — article reading/share stats + named people traces ===== */
.v32-trace-group a small{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;background:rgba(91,55,105,.08);color:#8b7492;font-size:9px;font-weight:900;line-height:1}.v32-trace-group a.is-active small{background:rgba(255,255,255,.18);color:#fff}
.v3210-paper-meta{min-width:0;display:flex;flex-direction:column;gap:7px}.v3210-paper-meta>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.v3210-paper-stats{display:flex;align-items:center;gap:11px;color:#9a879e;font-size:10.5px;font-weight:800}.v3210-paper-stats>span{display:inline-flex;align-items:center;gap:4px}.v3210-paper-stats .ky-icon{width:13px;height:13px;opacity:.82}.v32-paper-story-footer{align-items:flex-end}
.v3210-article-stats{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:17px;color:#846f89;font-size:12.5px}.v3210-article-stats span{display:inline-flex;align-items:center;gap:6px}.v3210-article-stats .ky-icon{width:16px;height:16px;color:#765183}.v3210-article-stats b{color:#543260;font-size:14px}
.v3210-article-sharebar{display:flex;align-items:center;justify-content:flex-start!important;gap:9px;flex-wrap:wrap;padding:15px 16px;border-radius:20px;background:#fff;border:1px solid #eadfec;box-shadow:0 10px 28px rgba(67,37,77,.05)}.v3210-share-label{margin-right:auto;color:#725a79;font-size:11.5px;font-weight:850}.v3210-article-sharebar .btn{min-height:38px;padding:9px 13px;font-size:11.5px}.v3210-article-sharebar .btn .ky-icon{width:15px;height:15px}
@media(max-width:640px){.v3210-paper-meta>small{max-width:150px}.v3210-paper-stats{font-size:10px}.v3210-article-stats{gap:13px;font-size:12px}.v3210-share-label{width:100%;margin:0 0 2px}.v3210-article-sharebar{padding:13px;gap:7px}.v3210-article-sharebar .btn{padding:8px 10px}.v32-trace-group a small{height:17px;min-width:17px;font-size:8px}}


/* ===== V32.11 — simpler public traces + clickable article authors ===== */
.v3211-linkable-card{position:relative}.v3211-card-main-link{position:absolute;inset:0;z-index:1;border-radius:inherit}.v3211-linkable-card .v32-paper-story-inner{position:relative;z-index:2;pointer-events:none}.v3211-author-link{position:relative;z-index:4;pointer-events:auto;color:#6d477d;text-decoration:none;font-weight:900;border-bottom:1px solid rgba(109,71,125,.22)}.v3211-author-link:hover{color:#4b1d8f;border-bottom-color:#4b1d8f}.v3211-author-link.is-byline{display:inline;color:#654574}.v3211-linkable-card:focus-within{outline:2px solid rgba(75,29,143,.34);outline-offset:3px}


/* ===== V32.12 production cleanup: mixed feature, mixed related stories, trust pages ===== */
.v32-featured-card.is-article{background:linear-gradient(145deg,#2c1735,#3b2144)}
.v3212-featured-writing{display:grid;place-items:center;background:linear-gradient(135deg,#fff9ee,#f1e5f8)}
.v3212-featured-article-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3212-featured-paper{width:min(74%,430px);min-height:300px;border-radius:26px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;background:rgba(255,255,255,.82);border:1px solid rgba(89,52,103,.12);box-shadow:0 24px 55px rgba(68,38,80,.12);color:#4d3157;transform:rotate(-1.5deg)}
.v3212-featured-paper>span{font:700 74px/1 var(--memory-serif);color:#6b3e7b;opacity:.82;margin-bottom:auto}.v3212-featured-paper small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#8b6a94}.v3212-featured-paper b{font:700 26px/1.18 var(--memory-serif);margin-top:12px}
.v3212-related-section{margin-top:58px}.v3212-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v3212-related-grid .v32-story-tile{grid-column:auto;min-height:430px;height:100%}.v3212-related-grid .v32-story-media{min-height:190px}
.v3212-writing-random{margin-top:18px}.v3212-trust-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px!important;font-size:12px}.v3212-trust-links a{color:inherit}.v3212-trust-links span{opacity:.45}
.v3212-policy-page{background:#fffaf4;min-height:68vh}.v3212-policy-wrap{max-width:960px}.v3212-policy-wrap>.lead{max-width:760px}.v3212-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:30px 0}.v3212-policy-grid article{background:#fff;border:1px solid #eadfec;border-radius:22px;padding:22px}.v3212-policy-grid h2{font:700 25px/1.15 var(--memory-serif);color:#3f234d;margin:0 0 10px}.v3212-policy-grid p{margin:0;color:#75687b;line-height:1.7}.v3212-rights-form{max-width:720px;margin-top:28px;padding:24px}.v3212-rights-form label{display:grid;gap:7px;font-weight:800;color:#4d3b56}.v3212-rights-form input,.v3212-rights-form select,.v3212-rights-form textarea{font-weight:400}.v3212-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.v3212-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3212-featured-paper{min-height:250px}.v3212-policy-grid{grid-template-columns:1fr}}
@media(max-width:640px){.v3212-related-grid{grid-template-columns:1fr}.v3212-related-grid .v32-story-tile{min-height:0}.v3212-featured-paper{width:86%;min-height:230px;padding:26px}.v3212-featured-paper>span{font-size:58px}.v3212-featured-paper b{font-size:22px}}

/* ===== V32.13: rotate + rediscover ===== */
.v3213-writing-shelf{margin-top:24px}.v3213-writing-shelf+.v3213-writing-shelf{margin-top:42px;padding-top:34px;border-top:1px solid #e7ddeb}.v3213-shelf-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.v3213-shelf-head h3{margin:5px 0 0;font:700 28px/1.08 var(--memory-serif);color:#34203f}.v3213-shelf-head p{margin:8px 0 0;color:#817487;font-size:14px;line-height:1.55;max-width:620px}.v3213-writing-shelf.is-rediscovered .v325-writing-grid{position:relative}.v3213-writing-shelf.is-rediscovered .v32-story-tile{background:linear-gradient(145deg,#fffdf8,#f8f1fa)}
@media(max-width:640px){.v3213-writing-shelf+.v3213-writing-shelf{margin-top:30px;padding-top:26px}.v3213-shelf-head h3{font-size:24px}.v3213-shelf-head p{font-size:13px}}


/* ===== V32.14 — compact editorial feature + quieter library copy ===== */
.v32-featured-memory{padding:52px 0 60px}
.v32-featured-label{margin-bottom:14px}
.v32-featured-card{max-width:1120px;margin:0 auto;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:410px;border-radius:28px;box-shadow:0 18px 44px rgba(52,24,67,.13)}
.v32-featured-media{min-height:410px}
.v32-featured-copy{padding:34px 36px}
.v32-featured-copy h2{font-size:clamp(34px,3.5vw,48px);line-height:1.01;letter-spacing:-.8px;margin:12px 0 16px}
.v32-featured-copy>p{font-size:15.5px;line-height:1.68;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.v32-featured-meta{margin-top:18px;padding-top:16px}
.v32-featured-action{margin-top:20px}
.v32-featured-play{width:58px;height:58px;left:28px;bottom:26px}
.v3212-featured-writing{background:linear-gradient(135deg,#fffaf2 0%,#f8eff8 52%,#efe5f5 100%)}
.v3214-featured-paper{width:min(58%,300px);aspect-ratio:.82;border-radius:22px;padding:28px;background:rgba(255,255,255,.84);border:1px solid rgba(91,56,104,.12);box-shadow:0 18px 42px rgba(68,38,80,.10);display:flex;flex-direction:column;color:#5b3a67;transform:rotate(-1deg)}
.v3214-paper-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f3e9f6;color:#744985}.v3214-paper-icon .ky-icon{width:17px;height:17px}
.v3214-featured-paper small{margin-top:auto;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#876b90}
.v3214-paper-lines{display:grid;gap:10px;margin-top:16px}.v3214-paper-lines i{display:block;height:2px;border-radius:999px;background:rgba(91,58,103,.16)}.v3214-paper-lines i:nth-child(2){width:82%}.v3214-paper-lines i:nth-child(3){width:92%}.v3214-paper-lines i:nth-child(4){width:64%}
.v32-section-head .lead{max-width:720px}
.v3213-writing-shelf.is-rediscovered .v3213-shelf-head p{display:none}
@media(max-width:900px){.v32-featured-card{grid-template-columns:1fr;max-width:720px}.v32-featured-media{min-height:320px}.v32-featured-copy{padding:30px}.v3214-featured-paper{width:min(52%,280px)}}
@media(max-width:640px){.v32-featured-memory{padding:42px 0 48px}.v32-featured-media{min-height:260px}.v32-featured-copy{padding:24px 22px}.v32-featured-copy h2{font-size:34px}.v32-featured-copy>p{font-size:15px;-webkit-line-clamp:5}.v3214-featured-paper{width:58%;max-width:230px;padding:22px}.v32-featured-play{width:52px;height:52px;left:22px;bottom:20px}}
