/* Ký Ức Maple - Clean R2 consolidated stylesheet
   Source order preserved to keep existing cascade behavior. */

/* ===== style.css ===== */
:root{
  --ink:#29291f;
  --muted:#6f746b;
  --green:#214f39;
  --green2:#2f7550;
  --green3:#80a64a;
  --lime:#b6d95e;
  --gold:#f6b532;
  --gold2:#ffd76d;
  --cream:#fbf7ec;
  --paper:#fffdf8;
  --line:#e8dfcc;
  --brown:#4b321f;
  --shadow:0 20px 60px rgba(57,65,47,.13);
  --shadow-soft:0 12px 36px rgba(49,58,42,.09);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Be Vietnam Pro","Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);background:#f8f5ec;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.container-wide{width:min(1360px,calc(100% - 36px));margin:0 auto}
.icon-svg{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex:none}
.icon-svg svg{width:1em;height:1em;display:block;fill:currentColor}

/* Header */
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;padding:18px 0;transition:padding .28s ease,background .28s ease,box-shadow .28s ease}
.site-header.scrolled{padding:7px 0;background:rgba(23,45,34,.94);backdrop-filter:blur(14px);box-shadow:0 10px 36px rgba(14,26,20,.22)}
.nav-shell{height:68px;padding:7px 8px 7px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.24);background:rgba(25,50,37,.78);backdrop-filter:blur(12px);box-shadow:0 16px 40px rgba(13,31,23,.18);display:flex;align-items:center;color:#fff}
.scrolled .nav-shell{background:transparent;border-color:transparent;box-shadow:none}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,216,105,.8);box-shadow:0 5px 16px rgba(0,0,0,.24)}
.brand div{display:flex;flex-direction:column;line-height:1.08}
.brand strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:22px;color:#ffe07c;letter-spacing:-.02em}
.brand small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:700}
.main-nav{display:flex;align-items:center;gap:2px;margin:auto}
.main-nav a{position:relative;padding:12px 13px;color:rgba(255,255,255,.82);font-size:13px;font-weight:800;transition:.2s}
.main-nav a:after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:3px;background:#ffd865;transform:scaleX(0);transition:.2s}
.main-nav a:hover,.main-nav a.active{color:#fff}
.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}
.nav-cta{height:48px;padding:0 17px;border-radius:13px;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,#ffdf70,#f2ad2c);color:#3d2a0e;font-size:13px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 20px rgba(234,162,38,.26)}
.nav-cta .icon-svg{font-size:18px}
.nav-toggle{display:none;border:0;background:transparent;padding:8px;margin-left:auto;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px;border-radius:3px}

/* Hero */
.hero{height:clamp(650px,42vw,800px);min-height:650px;position:relative;background-image:url('../images/hero-banner.png');background-size:cover;background-position:center center;overflow:hidden}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:96px;background:linear-gradient(to bottom,transparent,rgba(29,68,45,.22) 35%,#f8f5ec 100%);pointer-events:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,25,18,.38) 0%,rgba(7,25,18,.04) 24%,rgba(10,30,19,0) 62%,rgba(24,53,35,.30) 100%)}
.hero-badge{position:absolute;z-index:3;top:118px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:999px;background:rgba(22,55,39,.72);border:1px solid rgba(255,255,255,.30);backdrop-filter:blur(10px);color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em;box-shadow:0 10px 28px rgba(16,47,31,.15)}
.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.status-dot.online{background:#75e58d;box-shadow:0 0 0 5px rgba(117,229,141,.15)}
.status-dot.building{background:#ffd15d;box-shadow:0 0 0 5px rgba(255,209,93,.15)}
.hero-bottom-copy{position:absolute;z-index:4;left:50%;bottom:82px;transform:translateX(-50%);text-align:center;color:#fff;display:flex;align-items:center;flex-direction:column;gap:12px}
.hero-bottom-copy p{margin:0;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-start{height:50px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.94);color:#24452f;font-weight:900;font-size:12px;box-shadow:0 14px 35px rgba(12,38,23,.2);transition:.2s}
.hero-start:hover{transform:translateY(-2px);background:#fff}
.hero-start .icon-svg{font-size:18px}

/* Quick rail */
.quick-rail{position:fixed;z-index:60;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;border-radius:18px;overflow:hidden;box-shadow:0 14px 35px rgba(21,43,31,.22);border:1px solid rgba(255,255,255,.55)}
.quick-rail a{width:68px;min-height:67px;padding:10px 4px;background:rgba(255,253,247,.96);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#31533c;border-bottom:1px solid #ece4d2;transition:.2s}
.quick-rail a:last-child{border-bottom:0;background:#5865f2;color:#fff}
.quick-rail a:hover{background:#eff7df;transform:translateX(-3px)}
.quick-rail a:last-child:hover{background:#6572f5}
.quick-rail .icon-svg{font-size:23px}
.quick-rail em{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.03em}

/* Shortcut band */
.portal-shortcuts{position:relative;z-index:8;margin-top:-46px;padding-bottom:28px}
.shortcut-grid{display:grid;grid-template-columns:repeat(4,1fr);border-radius:24px;overflow:hidden;box-shadow:0 22px 54px rgba(34,50,37,.18);background:#fff;border:1px solid rgba(72,89,63,.09)}
.shortcut-card{min-height:116px;padding:20px 22px;display:grid;grid-template-columns:54px 1fr 22px;gap:14px;align-items:center;border-right:1px solid rgba(35,60,45,.09);position:relative;overflow:hidden;transition:.25s;background:#fff}
.shortcut-card:last-child{border-right:0}
.shortcut-card:before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;transform:scaleX(0);transform-origin:left;transition:.25s;background:var(--green2)}
.shortcut-card:hover{transform:translateY(-4px);z-index:2;box-shadow:0 14px 34px rgba(42,60,46,.12)}
.shortcut-card:hover:before{transform:scaleX(1)}
.shortcut-card>span:nth-child(2){display:flex;flex-direction:column;line-height:1.3;min-width:0}
.shortcut-card b{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:19px;color:#2c402f}
.shortcut-card small{font-size:11px;color:#879084}
.shortcut-icon{width:54px;height:54px;border-radius:16px;background:#edf5de;color:#548042;font-size:26px}
.shortcut-card>i{font-style:normal;color:#a7aea3;font-size:20px;transition:.2s}
.shortcut-card:hover>i{transform:translateX(4px);color:#4e7954}
.shortcut-download .shortcut-icon{background:#fff0c7;color:#c18418}
.shortcut-rank .shortcut-icon{background:#e8f1ff;color:#4876b9}
.shortcut-community .shortcut-icon{background:#eaecff;color:#5965da}
.shortcut-download:before{background:#e2a12b}.shortcut-rank:before{background:#5d86c7}.shortcut-community:before{background:#5965da}

/* Sections */
.section{padding:94px 0;position:relative}
.section-kicker{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8c9e5b;font-weight:900;margin-bottom:6px}
.section-kicker.light{color:#d8ed8d}
.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px}
.section-title-row h2,.world-heading h2,.panel-heading h2,.download-mini-panel h2,.community-copy h2{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;letter-spacing:-.025em;line-height:1.05}
.section-title-row h2{font-size:clamp(34px,4vw,50px);margin:0}
.section-title-row>p{max-width:490px;margin:0;color:var(--muted);font-size:14px}
.text-link,.inline-arrow{display:inline-flex;align-items:center;gap:7px;color:#567548;font-size:12px;font-weight:900;white-space:nowrap}
.text-link .icon-svg,.inline-arrow .icon-svg{font-size:18px;transition:.2s}.text-link:hover .icon-svg,.inline-arrow:hover .icon-svg{transform:translateX(4px)}

/* News */
.news-section{background:radial-gradient(circle at 10% 12%,rgba(179,210,119,.17),transparent 20%),#fffdf8}
.news-portal{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:20px}
.news-portal.empty{min-height:380px;background:#f6f1e4;border:1px solid #e5dac3;border-radius:28px;overflow:hidden;grid-template-columns:1.05fr .95fr;box-shadow:var(--shadow-soft)}
.news-visual-placeholder{min-height:380px;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#183f2e,#315f3a);overflow:hidden}
.news-visual-placeholder:before,.news-visual-placeholder:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}
.news-visual-placeholder:before{width:420px;height:420px;left:-110px;top:-210px}.news-visual-placeholder:after{width:300px;height:300px;right:-80px;bottom:-150px}
.placeholder-logo{width:150px;height:150px;border-radius:50%;overflow:hidden;border:6px solid rgba(255,255,255,.10);box-shadow:0 22px 50px rgba(0,0,0,.25)}
.news-visual-placeholder>span{position:absolute;right:26px;bottom:16px;color:rgba(255,255,255,.10);font-family:"Baloo 2",sans-serif;font-size:70px;font-weight:800;letter-spacing:.08em}
.news-empty-copy{padding:52px 48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.pill{padding:6px 10px;border-radius:999px;background:#eef4dd;color:#5b7d44;font-size:10px;font-weight:900;letter-spacing:.08em}
.news-empty-copy h3{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:34px;line-height:1.1;margin:14px 0 10px;color:#334334}
.news-empty-copy p{color:var(--muted);font-size:14px;margin:0 0 24px;max-width:430px}
.news-featured{border:1px solid #e5ddce;border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}
.news-featured-cover{display:block;height:310px;background:#244c35;overflow:hidden}
.news-featured-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.news-featured:hover .news-featured-cover img{transform:scale(1.025)}
.cover-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#183f2e,#3f7345)}
.cover-fallback img{width:150px;height:150px;border-radius:50%}
.news-featured-body{padding:24px 26px 27px}
.news-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#9a9c95}.news-meta span{font-weight:900;color:#62814e;text-transform:uppercase;letter-spacing:.09em}
.news-featured h3{font-size:24px;line-height:1.35;margin:12px 0 8px}.news-featured p{font-size:13px;color:var(--muted);margin:0}
.news-side-list{display:flex;flex-direction:column;gap:12px}
.news-side-item,.side-empty,.news-community-card{min-height:126px;border-radius:22px;border:1px solid #e5ddcf;background:#fff;padding:20px 20px;box-shadow:0 9px 26px rgba(50,61,44,.05)}
.news-side-item{position:relative;display:flex;flex-direction:column;justify-content:center;padding-right:52px;transition:.2s}.news-side-item:hover{transform:translateY(-2px);border-color:#cddbb3;box-shadow:0 14px 32px rgba(50,61,44,.10)}
.news-side-item>div{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#9a9e96;margin-bottom:7px;text-transform:uppercase}.news-side-item>div span{color:#6c8b54;font-weight:900;letter-spacing:.08em}
.news-side-item strong{font-size:15px;line-height:1.4}.news-side-item>i{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-style:normal;color:#78915f;font-size:20px}
.side-empty{display:flex;flex-direction:column;justify-content:center;color:#7b8178}.side-empty strong{font-size:16px}.side-empty span{font-size:12px}
.news-community-card{display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:14px;background:linear-gradient(135deg,#eaf2ff,#f8fbff);color:#345a8e;border-color:#dae7fa}.news-community-card>.icon-svg{width:44px;height:44px;border-radius:14px;background:#1877f2;color:#fff;font-size:26px}.news-community-card div{display:flex;flex-direction:column;line-height:1.25}.news-community-card small{font-size:9px;font-weight:900;letter-spacing:.08em}.news-community-card strong{font-size:14px}.news-community-card>i{font-style:normal;font-size:18px}

/* World */
.world-section{background:#f4f5e9;border-top:1px solid #e7e8d7;border-bottom:1px solid #e7e8d7;overflow:hidden}
.world-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(66,103,57,.08) 1px,transparent 1px);background-size:20px 20px;mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);pointer-events:none}
.world-deco{position:absolute;width:310px;height:310px;border-radius:50%;filter:blur(2px);opacity:.20;background:radial-gradient(circle,#95b859,transparent 65%)}
.world-deco-left{left:-170px;top:40px}.world-deco-right{right:-150px;bottom:-60px}
.world-heading{text-align:center;max-width:760px;margin:0 auto 44px;position:relative;z-index:2}.world-heading h2{font-size:clamp(40px,5vw,60px);margin:4px 0 13px;color:#304636}.world-heading p{margin:0 auto;color:#6d776d;font-size:15px}
.feature-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{position:relative;background:rgba(255,255,255,.88);border:1px solid rgba(100,123,84,.16);border-radius:26px;padding:30px 27px 28px;box-shadow:0 16px 42px rgba(55,72,47,.07);overflow:hidden;transition:.25s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(55,72,47,.11)}
.feature-icon{width:66px;height:66px;border-radius:20px;background:linear-gradient(145deg,#e8f2d2,#f4f8e8);color:#62804c;font-size:31px;margin-bottom:25px}.feature-number{position:absolute;top:18px;right:22px;font-family:"Baloo 2",sans-serif;font-size:48px;font-weight:800;color:rgba(64,87,58,.06)}
.feature-card h3{font-size:18px;margin:0 0 8px}.feature-card p{margin:0;color:var(--muted);font-size:13px}
.server-strip{position:relative;z-index:2;margin-top:28px;padding:19px 28px;border-radius:22px;background:#1d4632;color:#fff;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr;align-items:center;gap:24px;box-shadow:0 18px 44px rgba(25,59,42,.18)}
.server-strip>div{text-align:center;display:flex;flex-direction:column;line-height:1.3}.server-strip>span{width:1px;height:34px;background:rgba(255,255,255,.13)}.server-strip small{font-size:9px;letter-spacing:.12em;color:#b7c9bd;font-weight:800}.server-strip strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:20px;color:#ffdc72}.server-strip .status-build{color:#ffca58}.server-strip .status-open{color:#89eb99}

/* Ranking + download hub */
.game-hub-section{background:linear-gradient(180deg,#fffdf8,#f7f1e5)}
.game-hub-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:24px;align-items:stretch}
.ranking-panel{background:#fff;border:1px solid #e6ddce;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.panel-heading{padding:28px 30px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-heading h2{font-size:38px;margin:0}.panel-badge{padding:7px 10px;border-radius:999px;background:#f2f0e9;color:#8b8a83;font-size:10px;font-weight:900}
.class-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0 20px 16px}
.class-tab{border:1px solid #e5dfd3;background:#faf8f2;border-radius:11px;min-height:42px;padding:8px 5px;color:#7c8079;font-size:10px;font-weight:800;cursor:pointer;transition:.2s}.class-tab:hover{background:#f2f5e9;color:#496845}.class-tab.active{background:#264e38;color:#fff;border-color:#264e38;box-shadow:0 7px 16px rgba(38,78,56,.18)}
.rank-current{padding:12px 24px;background:#f7f7f1;color:#7a7f76;font-size:11px;border-top:1px solid #eee9dd;border-bottom:1px solid #eee9dd}.rank-current strong{color:#3c5d43}
.ranking-table-wrap{overflow:auto}.ranking-table{width:100%;border-collapse:collapse;min-width:540px}.ranking-table th{padding:12px 22px;text-align:left;font-size:9px;letter-spacing:.10em;text-transform:uppercase;color:#9b9e96;background:#fcfbf7;border-bottom:1px solid #eee7db}.ranking-table td{padding:13px 22px;border-bottom:1px solid #f0ebdf;font-size:12px}.ranking-table tbody tr:last-child td{border-bottom:0}.rank-number{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#f0f0ea;color:#6d726b;font-family:"Baloo 2",sans-serif;font-size:14px;font-weight:800}.rank-number.r1{background:#fff1b8;color:#9a7114}.rank-number.r2{background:#edf0f1;color:#6a757b}.rank-number.r3{background:#f3dfcf;color:#9e6646}
.skeleton{display:block;height:9px;border-radius:8px;background:linear-gradient(90deg,#eef0ec,#f8f8f5,#eef0ec);background-size:200% 100%;animation:skeleton 1.6s linear infinite}.skeleton.name{width:92px}.skeleton.level{width:34px}.skeleton.exp{width:110px}@keyframes skeleton{to{background-position:-200% 0}}
.download-mini-panel{position:relative;border-radius:28px;overflow:hidden;padding:38px 34px;background:linear-gradient(145deg,#153e2c,#2f6540);color:#fff;box-shadow:0 24px 56px rgba(21,59,42,.23)}
.download-mini-panel:before{content:"";position:absolute;width:350px;height:350px;border-radius:50%;right:-180px;top:-170px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.02)}
.download-art{position:absolute;right:25px;top:26px;width:88px;height:88px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,220,114,.35);opacity:.94}.download-mini-panel h2{font-size:41px;margin:4px 90px 10px 0}.download-mini-panel>p{font-size:13px;color:#d7e3da;margin:0 0 23px;max-width:390px}
.download-mini-list{display:flex;flex-direction:column;gap:10px;position:relative;z-index:2}.download-mini-card{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;gap:14px;align-items:center;padding:14px 18px;border-radius:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);transition:.2s;overflow:hidden}.download-mini-card:hover{background:rgba(255,255,255,.14);transform:translateX(3px)}.download-mini-card.primary{background:linear-gradient(135deg,#f5c84f,#f0a524);border-color:#ffd96f;color:#3a2a10}.download-mini-card>.icon-svg{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.10);font-size:23px}.download-mini-card>.icon-svg:last-child{justify-self:end}.download-mini-card.primary>.icon-svg{background:rgba(255,255,255,.26)}.download-mini-card div{display:flex;flex-direction:column;line-height:1.35;min-width:0}.download-mini-card strong{font-size:13px}.download-mini-card small{font-size:9px;opacity:.78}.download-mini-card>i{font-style:normal;font-size:18px}.download-state{margin-top:17px;display:flex;gap:8px;align-items:center;color:#cbd9ce;font-size:9px;position:relative;z-index:2}

/* Guide */
.guide-section{background:#eef4ed;border-top:1px solid #dfe9dd;border-bottom:1px solid #dfe9dd;overflow:hidden}.guide-section:before{content:"";position:absolute;left:-80px;bottom:-180px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(145,180,99,.18),transparent 68%)}
.guide-timeline{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:center;position:relative;z-index:2}.guide-step{position:relative;min-height:250px;padding:34px 28px 28px;background:rgba(255,255,255,.88);border:1px solid #dce7d8;border-radius:25px;text-align:center;box-shadow:0 14px 34px rgba(51,75,50,.06)}.guide-no{position:absolute;top:14px;left:18px;font-family:"Baloo 2",sans-serif;font-size:13px;font-weight:800;color:#a4b19f}.guide-icon{width:68px;height:68px;margin:12px auto 19px;border-radius:20px;background:#284f39;color:#fff;font-size:31px;box-shadow:0 12px 24px rgba(40,79,57,.17)}.guide-step h3{font-size:18px;margin:0 0 8px}.guide-step p{font-size:12px;color:var(--muted);margin:0}.guide-arrow{text-align:center;color:#9cab93;font-size:24px}.guide-note{margin-top:22px;padding:14px 18px;border-radius:14px;border:1px dashed #bdcab7;background:rgba(255,255,255,.55);font-size:11px;color:#657361;text-align:center}

/* Community/footer */
.community-section{padding:72px 0 90px;background:#f8f5ec}
.community-box{position:relative;min-height:220px;border-radius:32px;padding:34px 38px;display:grid;grid-template-columns:126px 1fr auto;gap:30px;align-items:center;background:linear-gradient(120deg,#17412f,#2e6940);color:#fff;overflow:hidden;box-shadow:0 25px 60px rgba(24,63,43,.20)}
.community-box:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-120px;top:-210px;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 86px rgba(255,255,255,.02)}
.community-logo{width:126px;height:126px;border-radius:50%;overflow:hidden;border:5px solid rgba(255,224,119,.30);box-shadow:0 14px 30px rgba(0,0,0,.25);position:relative;z-index:2}.community-copy{position:relative;z-index:2}.community-copy h2{font-size:36px;margin:2px 0 7px}.community-copy p{margin:0;max-width:620px;color:#d7e3da;font-size:12px}.community-actions{display:flex;gap:10px;position:relative;z-index:2}.social-btn{height:47px;padding:0 17px;border-radius:13px;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:900;transition:.2s}.social-btn:hover{transform:translateY(-2px)}.social-btn .icon-svg{font-size:19px}.social-btn.discord{background:#5865f2;box-shadow:0 10px 24px rgba(88,101,242,.25)}.social-btn.facebook{background:#1877f2;box-shadow:0 10px 24px rgba(24,119,242,.20)}
.site-footer{background:#20251f;color:#aeb5ad;padding:26px 0}.footer-inner{display:flex;align-items:center;gap:28px}.footer-brand{display:flex;align-items:center;gap:10px;min-width:max-content}.footer-brand img{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,214,103,.3)}.footer-brand div{display:flex;flex-direction:column;line-height:1.15}.footer-brand strong{font-family:"Baloo 2",sans-serif;color:#f3cf68;font-size:20px}.footer-brand small{font-size:8px}.site-footer p{font-size:9px;margin:0;line-height:1.55;max-width:720px}.back-top{position:fixed;right:20px;bottom:20px;z-index:95;width:48px;height:48px;border-radius:16px;background:rgba(27,47,36,.88);border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 34px rgba(0,0,0,.24);display:grid;place-items:center;color:#fff;opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease,background .2s ease}.back-top:hover{background:rgba(38,66,50,.95)}.back-top.visible{opacity:1;pointer-events:auto;transform:none}
.toast{position:fixed;left:50%;bottom:28px;z-index:120;transform:translate(-50%,18px);opacity:0;pointer-events:none;padding:12px 16px;border-radius:12px;background:#1d2f23;color:#fff;font-size:11px;box-shadow:0 14px 38px rgba(0,0,0,.28);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.hero-badge.reveal.visible{transform:translateX(-50%)}.hero-bottom-copy.reveal.visible{transform:translateX(-50%)}

/* Subpages */
.subpage-body{background:#f8f5ec}.subpage-nav{position:fixed}.subpage-main{padding-top:0}.page-hero{padding:160px 0 76px;background:linear-gradient(135deg,#183f2e,#315f3a);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-100px;top:-190px;border:1px solid rgba(255,255,255,.10);box-shadow:0 0 0 42px rgba(255,255,255,.02),0 0 0 88px rgba(255,255,255,.015)}.page-hero .container{position:relative;z-index:2}.page-hero .section-kicker{color:#d3e994}.page-hero h1{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:52px;line-height:1.06;margin:4px 0 10px}.page-hero p{margin:0;max-width:600px;color:#d7e3da}.public-news-list{min-height:500px}.public-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card{border:1px solid #e4ddcf;border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft)}.news-cover{height:190px;display:block;background:#244c35;overflow:hidden}.news-cover img{width:100%;height:100%;object-fit:cover}.news-card>.news-top{padding:18px 20px 0}.news-card h3{font-size:17px;line-height:1.4;margin:10px 20px 7px}.news-card p{font-size:12px;color:var(--muted);margin:0 20px 18px}.news-card>a:last-child{display:inline-flex;margin:0 20px 20px;color:#5a7a4b;font-size:11px;font-weight:900}.news-empty{min-height:260px;border:1px dashed #d7d8ca;border-radius:26px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.news-empty-mark{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#eef2e7;color:#638050;font-family:"Baloo 2",sans-serif;font-size:26px;font-weight:800;margin-bottom:12px}.news-empty strong{font-size:17px}.news-empty span{font-size:11px;color:var(--muted);margin-top:3px}
.article-page{padding-bottom:90px}.article-header{padding:160px 0 56px;background:linear-gradient(135deg,#183f2e,#315f3a);color:#fff}.article-narrow{width:min(850px,calc(100% - 40px));margin:0 auto}.article-back{display:inline-flex;margin-bottom:24px;color:#d8e8da;font-size:11px;font-weight:800}.article-meta{display:flex;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#bcd0c0}.article-meta span{color:#d5ea8d;font-weight:900}.article-header h1{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:clamp(38px,5vw,58px);line-height:1.1;margin:12px 0}.article-lead{font-size:15px;color:#d8e4db;margin:0}.article-cover{margin-top:34px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.article-cover img{width:100%;max-height:480px;object-fit:cover}.article-content{padding-top:44px;font-size:14px;color:#485147}.article-content h2,.article-content h3{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;color:#2c4331;margin-top:32px}.article-content h2{font-size:29px}.article-content h3{font-size:22px}.article-content p{margin:0 0 18px}.article-content li{margin:6px 0}.article-end{padding-top:28px;border-top:1px solid #e4dfd4;margin-top:40px}.btn{height:48px;padding:0 17px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:11px}.btn-secondary{background:#fff;border:1px solid #d8ddd1;color:#4d6a45}

@media(max-width:1280px){.quick-rail{display:none}}
@media(max-width:1060px){
  .nav-cta{display:none}.main-nav a{padding:12px 9px;font-size:12px}
  .shortcut-grid{grid-template-columns:repeat(2,1fr)}.shortcut-card:nth-child(2){border-right:0}.shortcut-card:nth-child(-n+2){border-bottom:1px solid rgba(35,60,45,.09)}
  .game-hub-grid{grid-template-columns:1fr}.download-mini-panel h2{margin-right:100px}
  .community-box{grid-template-columns:100px 1fr}.community-logo{width:100px;height:100px}.community-actions{grid-column:2/3}
}
@media(max-width:820px){
  .site-header{padding:9px 0}.nav-shell{height:62px}.brand strong{font-size:19px}.brand img{width:42px;height:42px}.brand small{display:none}.nav-toggle{display:block}
  .main-nav{position:absolute;top:76px;left:18px;right:18px;display:none;flex-direction:column;align-items:stretch;padding:10px;border-radius:16px;background:#1b3e2c;box-shadow:0 18px 45px rgba(0,0,0,.28)}.main-nav.open{display:flex}.main-nav a{padding:12px 14px}.main-nav a:after{display:none}.main-nav a.active,.main-nav a:hover{background:rgba(255,255,255,.07);border-radius:10px}
  .hero{height:650px;background-position:center center}.hero-badge{top:95px}.hero-bottom-copy{bottom:72px}
  .news-portal,.news-portal.empty{grid-template-columns:1fr}.news-visual-placeholder{min-height:300px}.news-empty-copy{padding:34px}
  .feature-grid{grid-template-columns:1fr}.server-strip{grid-template-columns:1fr 1fr;gap:10px}.server-strip>span{display:none}.server-strip>div{padding:9px}
  .guide-timeline{grid-template-columns:1fr;gap:14px}.guide-arrow{transform:rotate(90deg)}
  .section-title-row{align-items:flex-start;flex-direction:column}.section-title-row>p{max-width:none}
  .public-news-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .container{width:min(100% - 26px,1180px)}.container-wide{width:calc(100% - 20px)}
  .brand div{display:none}.nav-shell{justify-content:space-between}.nav-toggle{margin-left:auto}
  .hero{min-height:0;height:520px;background-position:center center}.hero-shade{background:linear-gradient(to bottom,rgba(7,25,18,.38),transparent 24%,transparent 60%,rgba(24,53,35,.38))}.hero-badge{top:88px;width:max-content;max-width:calc(100% - 28px);font-size:9px;padding:8px 10px}.hero-bottom-copy{bottom:58px}.hero-bottom-copy p{font-size:9px}.hero-start{height:44px;padding:0 18px;font-size:10px}
  .portal-shortcuts{margin-top:-28px}.shortcut-grid{grid-template-columns:1fr 1fr;border-radius:18px}.shortcut-card{min-height:96px;padding:15px 12px;grid-template-columns:42px 1fr;gap:10px}.shortcut-card>i{display:none}.shortcut-icon{width:42px;height:42px;border-radius:13px;font-size:21px}.shortcut-card b{font-size:15px}.shortcut-card small{font-size:8px}
  .section{padding:72px 0}.section-title-row{margin-bottom:26px}.section-title-row h2{font-size:34px}.text-link{font-size:10px}
  .news-portal.empty{min-height:0}.news-visual-placeholder{min-height:240px}.placeholder-logo{width:112px;height:112px}.news-empty-copy{padding:28px 24px}.news-empty-copy h3{font-size:27px}.news-featured-cover{height:220px}.news-featured h3{font-size:20px}
  .world-heading h2{font-size:39px}.world-heading p{font-size:13px}.feature-card{padding:24px}.server-strip{padding:14px;gap:3px}.server-strip strong{font-size:17px}
  .panel-heading{padding:24px 20px 15px}.panel-heading h2{font-size:32px}.panel-badge{display:none}.class-tabs{grid-template-columns:repeat(3,1fr);padding:0 14px 14px}.download-mini-panel{padding:30px 22px}.download-art{width:70px;height:70px;right:20px;top:22px}.download-mini-panel h2{font-size:34px;margin-right:65px}.download-mini-card{grid-template-columns:40px minmax(0,1fr) 40px;padding:11px 12px;gap:10px}.download-mini-card>.icon-svg{width:40px;height:40px}
  .guide-step{min-height:220px}.guide-arrow{font-size:18px}.community-section{padding:56px 0 70px}.community-box{grid-template-columns:1fr;padding:28px 22px;text-align:center}.community-logo{width:92px;height:92px;margin:auto}.community-copy h2{font-size:30px}.community-actions{grid-column:auto;justify-content:center;flex-wrap:wrap}
  .footer-inner{align-items:flex-start;flex-direction:column;gap:14px}.site-footer{position:relative}
  .page-hero{padding:130px 0 58px}.page-hero h1{font-size:39px}.public-news-grid{grid-template-columns:1fr}.article-header{padding:130px 0 48px}
}


/* ===== kyucmaple-theme.css ===== */
:root{--kc-bg:#0d0a06;--kc-shell:#17120c;--kc-panel:#211a11;--kc-panel2:#2b2216;--kc-line:#493b28;--kc-line2:#6a5432;--kc-gold:#efc15b;--kc-gold2:#b88524;--kc-cream:#f2e5c3;--kc-red:#c83224;--kc-red2:#8f1f17;--kc-muted:#a99d85;--kc-green:#7ab54b}
*{box-sizing:border-box}.kyucmaple-page{margin:0;background:#090704;color:#e8dfcc;font-family:Georgia,"Times New Roman",serif;font-size:14px;min-height:100vh}.kyucmaple-page a{color:inherit;text-decoration:none}.kyucmaple-page button{font:inherit}.kyucmaple-page .icon-svg{display:inline-flex;align-items:center;justify-content:center;line-height:0}.kyucmaple-page .icon-svg svg{width:1em;height:1em;display:block}.classic-shell{width:min(1260px,calc(100% - 28px));margin:0 auto;background:var(--kc-shell);min-height:100vh;border-left:1px solid #2c2418;border-right:1px solid #2c2418;box-shadow:0 0 70px rgba(0,0,0,.55)}
.classic-header{height:80px;padding:0;left:auto;right:auto;display:grid;grid-template-columns:290px minmax(0,1fr) auto;align-items:stretch;position:sticky;top:0;z-index:100;background:#1b150e;border-bottom:3px solid #3a2d1c;box-shadow:0 6px 22px rgba(0,0,0,.25)}.classic-brand{display:flex;align-items:center;gap:13px;padding:9px 20px;background:linear-gradient(135deg,#ac3325,#7f211a);border-right:1px solid #7a2a1f}.classic-brand img{width:58px;height:58px;object-fit:contain;border-radius:50%}.classic-brand div{display:flex;flex-direction:column;line-height:1}.classic-brand strong{font-size:25px;letter-spacing:.12em;color:#fff}.classic-brand small{margin-top:7px;font-size:9px;letter-spacing:.28em;color:#ffe1ad;font-weight:700}.classic-header.scrolled{padding:0;background:#1b150e;backdrop-filter:none;box-shadow:0 6px 22px rgba(0,0,0,.25)}.classic-nav{display:flex;align-items:stretch;padding-left:18px}.classic-nav a:after{display:none!important}.classic-nav a{display:flex;align-items:center;padding:0 12px;font-size:12px;font-weight:800;letter-spacing:.06em;color:#f0e6cf;border-top:5px solid transparent}.classic-nav a:hover,.classic-nav a.active{background:#30261a;border-top-color:#c53225;color:#fff}.classic-mode{display:flex;align-items:center;gap:8px;padding:0 12px}.classic-mode span{border:1px solid #685538;background:#241d13;border-radius:3px;padding:8px 10px;font-size:10px;font-weight:800;letter-spacing:.07em}.nav-toggle{display:none}
.classic-layout{display:grid;grid-template-columns:264px minmax(0,1fr) 224px;gap:14px;padding:14px 12px 0}.classic-left,.classic-right{display:flex;flex-direction:column;gap:14px}.classic-card,.classic-side-promo,.classic-side-link,.classic-block{border:1px solid var(--kc-line);background:linear-gradient(180deg,#251e14,#1a150e)}.classic-card{overflow:hidden}.card-tabs{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#3a3024;color:#fff;border-bottom:1px solid #4d3d27;font-size:11px;letter-spacing:.14em}.card-tabs span{font-size:9px;color:#b8aa8c}.account-actions{padding:14px 12px 10px;display:grid;gap:10px}.gold-button,.red-button{height:48px;border:0;border-radius:4px;color:#fff;font-size:18px;font-weight:800;letter-spacing:.08em;cursor:pointer;text-shadow:0 2px 0 rgba(0,0,0,.25)}.gold-button{background:linear-gradient(#e9c86f,#a9741f);box-shadow:inset 0 0 0 1px #f6dc93}.red-button{background:linear-gradient(#d84a37,#9a2219);box-shadow:inset 0 0 0 1px #ee6854}.mini-logo{width:25px;height:25px;display:inline-grid;place-items:center;vertical-align:middle;margin-right:8px}.mini-logo img{width:25px;height:25px;object-fit:contain;border-radius:50%}.account-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #403424;color:#b9ac92;font-size:10px}.account-links span{text-align:center;padding:10px 6px}.account-links span+span{border-left:1px solid #403424}
.classic-side-promo{min-height:118px;padding:16px;display:grid;grid-template-columns:74px 1fr;align-items:center;gap:12px}.classic-side-promo .promo-icon{width:68px;height:68px;border-radius:50%;font-size:36px;color:#e6a531;background:#382817}.classic-side-promo span:last-child{display:flex;flex-direction:column}.classic-side-promo em{align-self:flex-start;background:#e5b64f;color:#23180d;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:900;font-style:normal}.classic-side-promo b{font-size:19px;line-height:1.25;color:#f0c865;letter-spacing:.06em;margin-top:6px}.classic-side-promo small{font-size:10px;color:#a79a82;margin-top:5px}.guide-promo{box-shadow:inset 0 0 0 2px #b78c34;background:#1b160f}.guide-promo .promo-icon{background:#ece0ba;color:#37270f}.guide-promo b{font-size:15px}.classic-side-link{min-height:64px;padding:10px 12px;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:10px}.classic-side-link>.icon-svg{font-size:26px;color:#e6ad37}.classic-side-link span:last-child{display:flex;flex-direction:column}.classic-side-link b{color:#f1c764;font-size:13px;letter-spacing:.05em}.classic-side-link small{color:#9e927d;font-size:9px;margin-top:4px;line-height:1.4}.classic-side-link.red-stripe{background:repeating-linear-gradient(-45deg,#a5291f,#a5291f 14px,#922118 14px,#922118 28px)}.classic-side-link.red-stripe b,.classic-side-link.red-stripe small,.classic-side-link.red-stripe>.icon-svg{color:#fff}.classic-side-link.light-link{background:#f1e5bd;color:#332513}.classic-side-link.light-link b{color:#8c6118}.classic-side-link.light-link small{color:#8d7b5e}
.classic-center{min-width:0}.classic-hero{height:248px;position:relative;border:1px solid var(--kc-line);overflow:hidden;background:#d7aa4e}.classic-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:saturate(.93) contrast(.98)}.classic-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,196,101,.88) 0%,rgba(239,196,101,.7) 34%,rgba(239,196,101,.12) 65%,rgba(0,0,0,.18) 100%);pointer-events:none}.hero-copy{position:absolute;left:34px;top:47px;z-index:2;width:52%;color:#22170e}.hero-copy small{font-size:12px;letter-spacing:.22em;color:#8b1f18;font-weight:900}.hero-copy h1{font-size:36px;line-height:1.02;letter-spacing:.03em;margin:9px 0 8px;color:#fff;text-shadow:3px 3px 0 #15100b,-1px -1px 0 #15100b,1px -1px 0 #15100b,-1px 1px 0 #15100b}.hero-copy p{display:inline-block;background:#fff5dd;padding:5px 9px;color:#49351d;margin:0;font-size:11px}.hero-dots{position:absolute;right:14px;top:42px;z-index:3;display:grid;gap:10px}.hero-dots span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:2px solid #69563c;background:#1a1711;color:#d2c6ac;font-weight:900}.hero-dots span.active{border-color:#b64231;box-shadow:0 0 0 2px rgba(255,255,255,.12);color:#fff}
.news-ticker{height:34px;margin-top:14px;border:1px solid var(--kc-line);display:grid;grid-template-columns:90px minmax(0,1fr) 74px;align-items:center;background:#20190f;font-size:11px;overflow:hidden}.news-ticker b{height:100%;display:flex;align-items:center;padding:0 12px;background:#b92e22;color:#fff;letter-spacing:.14em}.news-ticker span{padding:0 12px;color:#aca087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-ticker time{text-align:right;padding-right:10px;color:#9e927d}.classic-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:20px}.classic-block{background:transparent;border:0}.classic-title{height:34px;border-bottom:2px solid #d4c5a3;display:flex;align-items:center;justify-content:space-between;padding:0 2px 7px}.classic-title h2{font-size:17px;letter-spacing:.12em;margin:0;color:#fff}.classic-title h2:before{content:"";display:inline-block;width:11px;height:11px;background:#d7372a;margin-right:10px}.classic-title span{font-size:10px;color:#b9ab90}.classic-title span b,.classic-title a{color:#ef634f}.compact-list{padding-top:9px}.compact-list>a,.empty-line{min-height:36px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px dashed #443825;font-size:11px}.compact-list a span,.empty-line span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f0e5ce}.compact-list time,.empty-line time{color:#8e816c;font-size:9px}.tag{font-style:normal;font-size:8px;font-weight:900;letter-spacing:.07em;background:#77705e;color:#18130d;padding:4px 7px;border-radius:3px}.tag.latest{background:#e1b24c}.tag.muted{background:#746a5e;color:#fff}.discussions>a{grid-template-columns:auto minmax(0,1fr)}
.classic-wide-banner{margin-top:20px;min-height:108px;border:1px solid #574525;background:linear-gradient(135deg,#352611,#251b0e);display:grid;grid-template-columns:1fr auto;align-content:center;padding:16px 30px;position:relative;overflow:hidden}.classic-wide-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(236,175,47,.07),transparent 60%)}.classic-wide-banner small,.classic-wide-banner strong{position:relative;z-index:2;grid-column:1}.classic-wide-banner small{color:#daa43c;font-size:11px;letter-spacing:.05em}.classic-wide-banner strong{font-size:22px;line-height:1.4;color:#eec05c;max-width:540px}.classic-wide-banner>span{position:relative;z-index:2;grid-column:2;grid-row:1/3;background:#f1e7cf;color:#24180d;border-radius:50%;width:74px;height:44px;display:grid;place-items:center;font-weight:900;transform:rotate(-5deg)}
.main-info-grid{gap:28px}.ranking-list{padding-top:4px}.rank-row{display:grid;grid-template-columns:25px 60px minmax(80px,1fr) 60px 100px;align-items:center;gap:8px;min-height:72px;border-bottom:1px solid #3c3121}.rank-row>em{width:23px;height:23px;display:grid;place-items:center;background:#635b4d;border-radius:3px;font-style:normal;color:#fff;font-weight:800}.rank-avatar{width:60px;height:60px;display:grid;place-items:center;background:#c9dce0;color:#36596a;border:1px solid #aebfc3;font-size:28px;font-weight:800}.rank-row strong{color:#fff;font-size:14px}.rank-row small{color:#e9b84d;font-size:10px}.rank-row>span:last-child{color:#c4b492;font-size:10px}.server-live{color:#ad9d7f}.server-live.online{color:var(--kc-green)}.support-card{margin-top:10px;min-height:105px;padding:14px 15px;display:grid;grid-template-columns:68px 1fr;gap:12px;align-items:center;background:linear-gradient(#e1bd67,#bb8e37);color:#3b290f;border-radius:6px}.support-icon{width:62px;height:62px;border-radius:50%;overflow:hidden;background:#302114}.support-icon img{width:100%;height:100%;object-fit:contain}.support-card span:last-child{display:flex;flex-direction:column}.support-card strong{font-size:18px;letter-spacing:.06em}.support-card small{font-size:9px;color:#7c5d28;margin-top:8px}.server-stats{border:1px solid #4c3b24;margin-top:14px;padding:10px 12px}.server-stats>div{display:flex;align-items:center;justify-content:space-between;min-height:27px;font-size:10px}.server-stats span{color:#a79980}.server-stats b{color:#fff}.latest-posts{margin-top:24px}.latest-list{padding-top:8px}.latest-list a{display:flex;gap:8px;padding:8px 4px;border-bottom:1px dotted #443725}.latest-list>a>span{color:#e34734}.latest-list div{display:flex;flex-direction:column}.latest-list strong{font-size:11px;color:#fff;line-height:1.45}.latest-list small{font-size:9px;color:#a49680;margin-top:2px}.latest-placeholder{padding:18px 5px;color:#ad9e85;font-size:11px}
.classic-right .classic-card{background:#201810}.play-card{min-height:490px;padding:22px 12px 0;text-align:center;position:relative}.play-card>strong{display:block;font-size:28px;line-height:1;color:#ef6d55;text-shadow:2px 2px 0 #080603}.play-card>span{display:block;font-size:26px;line-height:1;color:#f0c45d;font-weight:900;margin-top:4px}.play-card>a{display:inline-grid;place-items:center;margin-top:14px;padding:12px 20px;background:#fff3db;color:#1d1309;font-size:15px;font-weight:900;letter-spacing:.12em}.play-art{position:absolute;left:0;right:0;bottom:0;height:235px;background:linear-gradient(transparent 0%,rgba(76,105,29,.18) 45%,#627b2b 46%,#536821 100%);display:flex;align-items:flex-end;justify-content:center}.play-art img{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 10px 6px rgba(0,0,0,.4));margin-bottom:20px}.right-card-title{height:42px;border-bottom:2px solid #d8c9a5;display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:10px;letter-spacing:.07em}.right-card-title b{color:#fff}.right-card-title b:first-letter{color:#d83b2d}.right-card-title span{color:#a99a80}.right-card-title span.online{color:var(--kc-green)}.online-count{margin:12px;border:1px solid #50402b;min-height:92px;display:grid;place-items:center;align-content:center}.online-count strong{font-size:42px;color:#edb74f;line-height:1}.online-count small{font-size:9px;letter-spacing:.17em;color:#b5a589;margin-top:7px}.right-download{display:block;margin:0 12px 12px;padding:15px;background:linear-gradient(#ebc76e,#ad751b);color:#2b1c0a;font-weight:900;letter-spacing:.12em;text-align:center}.media-card{padding-bottom:10px}.media-card>a{display:block;margin:8px 10px 0;border:1px solid #4c3b26;padding:8px;text-align:center;font-size:10px;font-weight:900;letter-spacing:.12em}.media-thumb{margin:10px;border:2px solid #eadfc6;height:90px;background:linear-gradient(180deg,#4a7a98,#c7d79d);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.media-thumb .icon-svg{font-size:35px}.media-thumb small{margin-top:6px;background:#1b120b;padding:2px 6px}.download-list-card{padding-bottom:10px}.mini-download{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:9px;margin:9px 10px 0;padding:10px;border:1px solid #4f402a;background:#2a2116}.mini-download.primary{background:linear-gradient(#cda44d,#8d621b);color:#211508}.mini-download>.icon-svg{font-size:22px}.mini-download span:last-child{display:flex;flex-direction:column}.mini-download b{font-size:10px}.mini-download small{font-size:8px;opacity:.75;margin-top:3px}
.classic-community{margin:26px 12px 0;border-top:2px solid #d1c3a1;border-bottom:1px solid #453726;min-height:80px;display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.classic-community>div:first-child{display:flex;flex-direction:column}.classic-community strong{font-size:18px;color:#efbd55}.classic-community span{font-size:10px;color:#a99a83;margin-top:5px}.community-links{display:flex;gap:8px}.community-links a{border:1px solid #4d3c28;padding:9px 13px;font-size:10px;font-weight:900;display:flex;gap:6px;align-items:center}.classic-footer{min-height:78px;padding:18px 16px 26px;display:flex;justify-content:space-between;color:#827764;font-size:9px}.back-top{position:fixed!important;right:20px!important;bottom:20px!important;z-index:150!important;width:48px!important;height:48px!important;border-radius:12px!important;background:#2b2319!important;border:1px solid #735a31!important;box-shadow:0 12px 32px rgba(0,0,0,.4)!important;color:#fff!important;display:grid!important;place-items:center!important;opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s}.back-top.visible{opacity:1;pointer-events:auto;transform:none}.toast{position:fixed;left:50%;bottom:28px;z-index:180;transform:translate(-50%,18px);opacity:0;pointer-events:none;padding:12px 16px;border-radius:4px;background:#21170e;color:#fff;border:1px solid #6a5230;font-size:11px;box-shadow:0 14px 38px rgba(0,0,0,.5);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.classic-shell{width:100%;border:0}.classic-header{grid-template-columns:250px minmax(0,1fr)}.classic-mode{display:none}.classic-layout{grid-template-columns:220px minmax(0,1fr)}.classic-right{display:none}.classic-brand{padding-left:14px}.classic-nav a{padding:0 8px;font-size:10px}.rank-row{grid-template-columns:22px 50px minmax(70px,1fr) 45px}.rank-row>span:last-child{display:none}.rank-avatar{width:50px;height:50px}.classic-side-promo{grid-template-columns:55px 1fr;padding:12px}.classic-side-promo .promo-icon{width:52px;height:52px;font-size:26px}.classic-side-promo b{font-size:15px}}
@media(max-width:780px){.classic-header{height:66px;grid-template-columns:1fr auto;position:sticky}.classic-brand{min-width:0}.classic-brand img{width:46px;height:46px}.classic-brand strong{font-size:19px}.classic-brand small{font-size:7px}.nav-toggle{display:block;width:48px;background:transparent;border:0;margin-right:10px;position:relative}.nav-toggle span{display:block;width:24px;height:2px;background:#f3d28a;margin:5px auto}.classic-nav{display:none;position:absolute;top:66px;left:0;right:0;background:#1c150e;padding:7px;border-bottom:2px solid #6a4b24;flex-direction:column}.classic-nav.open{display:flex}.classic-nav a{min-height:42px;border-top:0;border-left:4px solid transparent;padding:0 14px}.classic-nav a.active,.classic-nav a:hover{border-left-color:#c83224}.classic-layout{grid-template-columns:1fr;padding:10px}.classic-left{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-card{grid-column:1/-1}.classic-side-promo{min-height:92px}.classic-side-link{display:none}.classic-hero{height:240px}.hero-copy{left:20px;top:45px;width:62%}.hero-copy h1{font-size:29px}.hero-copy p{font-size:9px}.classic-two-cols{grid-template-columns:1fr;gap:18px}.classic-wide-banner{padding:16px 18px}.classic-wide-banner strong{font-size:17px;max-width:80%}.classic-community{flex-direction:column;align-items:flex-start;gap:12px}.classic-footer{flex-direction:column;gap:8px}.news-ticker{grid-template-columns:78px minmax(0,1fr)}.news-ticker time{display:none}}
@media(max-width:520px){.classic-shell{width:100%}.classic-layout{padding:7px}.classic-left{grid-template-columns:1fr}.classic-side-promo{min-height:78px}.classic-hero{height:210px}.classic-hero>img{object-position:center}.classic-hero:after{background:linear-gradient(90deg,rgba(233,187,87,.88),rgba(233,187,87,.52) 55%,rgba(0,0,0,.08))}.hero-copy{top:38px;left:16px;width:70%}.hero-copy small{font-size:8px}.hero-copy h1{font-size:24px;margin:6px 0}.hero-copy p{display:none}.hero-dots{right:8px;top:34px;gap:6px}.hero-dots span{width:27px;height:27px;font-size:10px}.news-ticker{margin-top:8px;height:32px}.classic-two-cols{margin-top:16px}.classic-title h2{font-size:15px}.classic-title span{font-size:8px}.compact-list>a,.empty-line{grid-template-columns:auto minmax(0,1fr);min-height:38px}.compact-list time,.empty-line time{display:none}.classic-wide-banner{min-height:92px;margin-top:15px;padding:13px}.classic-wide-banner strong{font-size:14px;line-height:1.4}.classic-wide-banner>span{width:54px;height:36px;font-size:10px}.rank-row{grid-template-columns:22px 46px 1fr 42px}.rank-avatar{width:46px;height:46px}.classic-community{margin:20px 7px 0}.community-links{flex-wrap:wrap}.back-top{right:12px!important;bottom:12px!important;width:44px!important;height:44px!important}}

/* ===== V2 VISUAL THEME OVERRIDE — layout intentionally unchanged ===== */
:root{
  --kc-bg:#f8f5ec;
  --kc-shell:#fbf7ec;
  --kc-panel:#fffdf8;
  --kc-panel2:#f3efe3;
  --kc-line:#e8dfcc;
  --kc-line2:#d8cfbc;
  --kc-gold:#f6b532;
  --kc-gold2:#d9951f;
  --kc-cream:#fffdf8;
  --kc-red:#2f7550;
  --kc-red2:#214f39;
  --kc-muted:#6f746b;
  --kc-green:#75c77d;
}
.kyucmaple-page{
  background:#f8f5ec;
  color:#29291f;
  font-family:"Be Vietnam Pro","Segoe UI",Tahoma,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.classic-shell{
  background:#fbf7ec;
  border-left-color:#e8dfcc;
  border-right-color:#e8dfcc;
  box-shadow:0 0 70px rgba(57,65,47,.13);
}
.classic-header,
.classic-header.scrolled{
  background:#214f39;
  border-bottom-color:#183d2b;
  box-shadow:0 8px 28px rgba(22,55,39,.20);
}
.classic-brand{
  background:linear-gradient(135deg,#2f7550,#214f39);
  border-right-color:rgba(255,255,255,.12);
}
.classic-brand strong{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#ffe07c;
  letter-spacing:-.01em;
}
.classic-brand small{color:rgba(255,255,255,.72)}
.classic-nav a{
  color:rgba(255,255,255,.82);
  font-family:"Be Vietnam Pro",sans-serif;
  letter-spacing:.02em;
}
.classic-nav a:hover,.classic-nav a.active{
  background:rgba(255,255,255,.08);
  border-top-color:#ffd865;
  color:#fff;
}
.classic-mode span{
  border-color:rgba(255,255,255,.20);
  background:rgba(255,255,255,.08);
  color:#fff;
}

.classic-card,.classic-side-promo,.classic-side-link,.classic-block{
  border-color:#e8dfcc;
  background:#fffdf8;
  box-shadow:0 8px 24px rgba(49,58,42,.055);
}
.card-tabs{
  background:#eef4e6;
  color:#2c402f;
  border-bottom-color:#dfe8d5;
}
.card-tabs span{color:#7a8477}
.gold-button{
  background:linear-gradient(180deg,#ffdf70,#f2ad2c);
  color:#3d2a0e;
  text-shadow:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 20px rgba(234,162,38,.18);
}
.red-button{
  background:linear-gradient(180deg,#3f8a61,#286545);
  color:#fff;
  text-shadow:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(33,79,57,.12);
}
.account-links{
  border-top-color:#e8dfcc;
  color:#747c71;
}
.account-links span+span{border-left-color:#e8dfcc}
.classic-side-promo .promo-icon{
  color:#567548;
  background:#edf5de;
}
.classic-side-promo em{
  background:#fff0c7;
  color:#8d6218;
}
.classic-side-promo b{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#31533c;
  letter-spacing:0;
}
.classic-side-promo small{color:#879084}
.guide-promo{
  box-shadow:inset 0 0 0 2px #d7e5c9;
  background:#fff;
}
.guide-promo .promo-icon{background:#fff0c7;color:#b77918}
.classic-side-link>.icon-svg{color:#5c844a}
.classic-side-link b{
  color:#31533c;
  font-family:"Be Vietnam Pro",sans-serif;
  letter-spacing:0;
}
.classic-side-link small{color:#879084}
.classic-side-link.red-stripe{
  background:linear-gradient(135deg,#2f7550,#214f39);
}
.classic-side-link.red-stripe b,.classic-side-link.red-stripe small,.classic-side-link.red-stripe>.icon-svg{color:#fff}
.classic-side-link.light-link{
  background:#eef4dd;
  color:#31533c;
}
.classic-side-link.light-link b{color:#567548}
.classic-side-link.light-link small{color:#7f8c78}

.classic-hero{
  border-color:#dfe3d4;
  background:#315f3a;
  box-shadow:0 12px 30px rgba(49,58,42,.08);
}
.classic-hero>img{filter:saturate(.98) contrast(1.01)}
.classic-hero:after{
  background:linear-gradient(90deg,rgba(28,78,53,.82) 0%,rgba(35,86,58,.58) 34%,rgba(25,65,43,.12) 66%,rgba(0,0,0,.10) 100%);
}
.hero-copy small{color:#d8ed8d}
.hero-copy h1{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#fff;
  letter-spacing:-.02em;
  text-shadow:0 4px 18px rgba(13,42,26,.30);
}
.hero-copy p{
  background:rgba(255,255,255,.94);
  color:#31533c;
  border-radius:6px;
}
.hero-dots span{
  border-color:rgba(255,255,255,.38);
  background:rgba(28,64,44,.76);
  color:rgba(255,255,255,.80);
}
.hero-dots span.active{
  border-color:#ffd865;
  color:#fff;
  box-shadow:0 0 0 2px rgba(255,216,101,.16);
}
.news-ticker{
  border-color:#e8dfcc;
  background:#fffdf8;
  box-shadow:0 6px 18px rgba(49,58,42,.05);
}
.news-ticker b{background:#2f7550;color:#fff}
.news-ticker span{color:#626b60}
.news-ticker time{color:#929a90}

.classic-title{border-bottom-color:#d8dfcf}
.classic-title h2{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#2c402f;
  letter-spacing:.04em;
}
.classic-title h2:before{background:#7fa34b}
.classic-title span{color:#7b8478}
.classic-title span b,.classic-title a{color:#567548}
.compact-list>a,.empty-line{border-bottom-color:#e8dfcc}
.compact-list a span,.empty-line span{color:#40483f}
.compact-list time,.empty-line time{color:#939a90}
.tag{background:#e8e9df;color:#50574d}
.tag.latest{background:#ffd76d;color:#5d4513}
.tag.muted{background:#dfe9d8;color:#49623f}

.classic-wide-banner{
  border-color:#d6e1cd;
  background:linear-gradient(135deg,#214f39,#315f3a);
  box-shadow:0 12px 30px rgba(33,79,57,.12);
}
.classic-wide-banner:before{background:linear-gradient(90deg,rgba(182,217,94,.10),transparent 60%)}
.classic-wide-banner small{color:#d8ed8d}
.classic-wide-banner strong{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#ffe07c;
}
.classic-wide-banner>span{background:#fffdf8;color:#31533c}

.rank-row{border-bottom-color:#e8dfcc}
.rank-row>em{background:#769368;color:#fff}
.rank-avatar{background:#edf5de;color:#567548;border-color:#d8e4ca}
.rank-row strong{color:#2c402f}
.rank-row small{color:#b77e18}
.rank-row>span:last-child{color:#7a8176}
.server-live{color:#7a8176}.server-live.online{color:#4da965}
.support-card{
  background:linear-gradient(135deg,#ffdc6c,#f3b132);
  color:#3b2b0d;
  box-shadow:0 10px 24px rgba(230,166,43,.14);
}
.support-icon{background:#fff3c9}
.support-card strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif}
.support-card small{color:#785f27}
.server-stats{border-color:#e8dfcc;background:#fff}
.server-stats span{color:#727a70}
.server-stats b{color:#31533c}
.latest-list a{border-bottom-color:#e8dfcc}
.latest-list>a>span{color:#6f9a50}
.latest-list strong{color:#39433a}
.latest-list small,.latest-placeholder{color:#858d82}

.classic-right .classic-card{background:#fffdf8}
.play-card{
  background:radial-gradient(circle at 50% 18%,#f8f2df,#fffdf8 45%,#f1f5e8 100%)!important;
}
.play-card>strong{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#2f7550;
  text-shadow:none;
}
.play-card>span{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#d7961d;
}
.play-card>a{
  background:linear-gradient(180deg,#ffdf70,#f2ad2c);
  color:#3d2a0e;
  border-radius:8px;
  box-shadow:0 8px 20px rgba(234,162,38,.20);
}
.play-art{
  background:linear-gradient(transparent 0%,rgba(182,217,94,.10) 45%,#dfe9c9 46%,#c8dca5 100%);
}
.right-card-title{border-bottom-color:#d8dfcf}
.right-card-title b{color:#2c402f}
.right-card-title b:first-letter{color:#567548}
.right-card-title span{color:#858d82}.right-card-title span.online{color:#4da965}
.online-count{border-color:#e8dfcc;background:#fff}
.online-count strong{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#d7961d;
}
.online-count small{color:#7f877c}
.right-download{
  background:linear-gradient(180deg,#ffdf70,#f2ad2c);
  color:#3d2a0e;
  border-radius:8px;
  box-shadow:0 8px 20px rgba(234,162,38,.16);
}
.media-card>a{border-color:#e8dfcc;color:#31533c;background:#fff}
.media-thumb{border-color:#fff;background:linear-gradient(180deg,#9bc6de,#dcebb8)}
.media-thumb small{background:#214f39;color:#fff}
.mini-download{border-color:#e8dfcc;background:#f7f4ea;color:#31533c}
.mini-download.primary{background:linear-gradient(135deg,#fff0c7,#f7d675);color:#5e4310}

.classic-community{border-top-color:#d8dfcf;border-bottom-color:#e8dfcc}
.classic-community strong{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  color:#31533c;
}
.classic-community span{color:#7e877c}
.community-links a{border-color:#d9e1d2;background:#fff;color:#31533c;border-radius:8px}
.classic-footer{color:#8a9187}
.back-top{
  background:#214f39!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 12px 32px rgba(33,79,57,.20)!important;
  border-radius:14px!important;
}
.toast{
  background:#214f39;
  border-color:rgba(255,255,255,.16);
  border-radius:12px;
  box-shadow:0 14px 38px rgba(33,79,57,.22);
}

@media(max-width:780px){
  .classic-nav{background:#214f39;border-bottom-color:#183d2b}
  .classic-nav a.active,.classic-nav a:hover{border-left-color:#ffd865}
  .nav-toggle span{background:#fff}
}
@media(max-width:520px){
  .classic-hero:after{background:linear-gradient(90deg,rgba(28,78,53,.84),rgba(35,86,58,.52) 55%,rgba(0,0,0,.06))}
}


/* ===== V6 POLISH UPGRADE — same layout, smoother visuals ===== */
.kyucmaple-page{
  background:
    radial-gradient(circle at 8% 0%, rgba(216,237,141,.18), transparent 22%),
    radial-gradient(circle at 100% 8%, rgba(47,117,80,.10), transparent 26%),
    linear-gradient(180deg,#fbf8ef 0%,#f3efe4 100%);
}
.classic-shell{
  border-radius:22px 22px 0 0;
  overflow:hidden;
  box-shadow:0 22px 56px rgba(54,62,48,.14);
}
.classic-header,.classic-header.scrolled{
  height:94px;
  background:linear-gradient(180deg,#256244 0%,#214f39 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.classic-brand{
  padding:14px 22px;
  position:relative;
}
.classic-brand:after{
  content:"";
  position:absolute;
  top:14px; bottom:14px; right:0;
  width:1px;
  background:rgba(255,255,255,.14);
}
.classic-brand img{
  width:64px; height:64px;
  box-shadow:0 8px 16px rgba(9,34,23,.18);
}
.classic-brand strong{font-size:26px;line-height:1}
.classic-brand small{margin-top:8px;font-size:10px;letter-spacing:.26em}
.classic-nav{padding-left:28px;gap:4px}
.classic-nav a{
  position:relative;
  padding:0 16px;
  font-size:12px;
  border-top:0;
  border-radius:12px 12px 0 0;
}
.classic-nav a:hover,.classic-nav a.active{
  background:rgba(255,255,255,.10);
}
.classic-nav a.active:after,.classic-nav a:hover:after{
  content:"";
  position:absolute;
  left:14px; right:14px; bottom:14px;
  height:4px;
  border-radius:999px;
  background:#ffd865;
}
.classic-mode{padding:0 16px;gap:10px}
.classic-mode span{
  border-radius:12px;
  padding:11px 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.classic-layout{gap:18px;padding:18px 16px 0}
.classic-left,.classic-right{gap:16px}
.classic-card,.classic-side-promo,.classic-side-link,.classic-block{
  border:1px solid #e6dfcb;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(45,57,43,.06), inset 0 1px 0 rgba(255,255,255,.66);
}
.classic-card{overflow:hidden}
.classic-side-promo,.classic-side-link,.mini-download,.media-card>a,.community-links a,.right-download,.play-card>a,.gold-button,.red-button{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.classic-side-promo:hover,.classic-side-link:hover,.mini-download:hover,.media-card>a:hover,.community-links a:hover,.right-download:hover,.play-card>a:hover,.gold-button:hover,.red-button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(43,57,43,.10);
}
.card-tabs,.right-card-title{
  background:linear-gradient(180deg,#f8fbf4 0%,#eef4e6 100%);
}
.card-tabs{height:50px;padding:0 16px;font-weight:800}
.card-tabs b{font-size:14px;letter-spacing:.10em}
.account-actions{padding:16px 16px 12px;gap:12px}
.gold-button,.red-button{
  height:60px;
  border-radius:14px;
  font-size:17px;
  letter-spacing:.03em;
}
.gold-button:hover{background:linear-gradient(180deg,#ffe48c,#f5b73f)}
.red-button:hover{background:linear-gradient(180deg,#49986b,#2f7550)}
.account-links{font-size:11px}
.account-links span{padding:13px 8px}
.classic-side-promo{min-height:148px;padding:18px 18px;gap:14px}
.classic-side-promo .promo-icon{
  width:74px;height:74px;
  border-radius:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.classic-side-promo em{font-size:11px;padding:5px 10px;border-radius:999px}
.classic-side-promo b{font-size:18px;line-height:1.18}
.classic-side-promo small{font-size:11px}
.guide-promo{border-color:#dce7cd}
.classic-side-link{
  min-height:82px;
  padding:14px 14px;
  grid-template-columns:58px 1fr;
  border-radius:16px;
}
.classic-side-link>.icon-svg{
  width:46px;height:46px;border-radius:14px;
  background:#eef4e6;
  justify-self:center;
  font-size:23px;
}
.classic-side-link.red-stripe>.icon-svg{background:rgba(255,255,255,.12)}
.classic-side-link b{font-size:15px}
.classic-side-link small{font-size:10px}
.classic-center{display:flex;flex-direction:column;gap:16px}
.classic-hero{
  height:306px;
  border-radius:22px;
  border-color:#dfe7d8;
  box-shadow:0 14px 32px rgba(33,79,57,.12);
}
.classic-hero>img{object-position:center 50%}
.classic-hero:before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%, rgba(255,255,255,.22), transparent 22%);
  pointer-events:none;z-index:1;
}
.classic-hero:after{
  background:linear-gradient(90deg,rgba(28,78,53,.88) 0%,rgba(35,86,58,.62) 36%,rgba(25,65,43,.16) 68%,rgba(0,0,0,.08) 100%);
}
.hero-copy{
  left:40px;top:54px;width:48%;
}
.hero-copy small{font-size:13px}
.hero-copy h1{font-size:38px;line-height:.98;margin:12px 0 14px}
.hero-copy p{
  padding:12px 16px;
  border-radius:14px;
  font-size:12px;
  line-height:1.55;
  box-shadow:0 10px 24px rgba(23,55,38,.12);
}
.hero-dots{right:18px;top:58px;gap:12px}
.hero-dots span{
  width:46px;height:46px;
  border-width:3px;
  font-size:22px;
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  box-shadow:0 8px 22px rgba(16,46,31,.18);
}
.news-ticker{
  margin-top:0;height:42px;
  border-radius:14px;
  overflow:hidden;
}
.news-ticker b{padding:0 14px;font-size:12px}
.news-ticker span{font-size:13px}
.news-ticker time{font-size:11px}
.classic-two-cols,.main-info-grid{margin-top:0;gap:18px}
.classic-block{
  background:#fffdf8;
  border:1px solid #e8dfcc;
  border-radius:18px;
  padding:14px 16px 12px;
}
.classic-title{
  height:auto;
  min-height:38px;
  padding:0 2px 12px;
}
.classic-title h2{font-size:19px}
.classic-title span{font-size:11px}
.compact-list{padding-top:2px}
.compact-list>a,.empty-line{
  min-height:48px;
  padding:0 4px;
  border-bottom:1px solid #ece6d8;
}
.compact-list>a:last-child,.empty-line:last-child{border-bottom:0}
.compact-list>a:hover{background:#fbfbf4;border-radius:12px}
.compact-list a span,.empty-line span{font-size:14px}
.compact-list time,.empty-line time{font-size:11px}
.tag{min-width:44px;text-align:center;padding:5px 8px;border-radius:8px;font-size:9px}
.classic-wide-banner{
  margin-top:0;
  min-height:132px;
  border-radius:22px;
  padding:20px 28px;
}
.classic-wide-banner strong{font-size:24px;max-width:620px;line-height:1.32}
.classic-wide-banner>span{
  width:96px;height:58px;
  border-radius:999px;
  font-size:15px;
  box-shadow:0 10px 22px rgba(22,50,35,.12);
}
.ranking-list{padding-top:4px;display:grid;gap:10px}
.rank-row{
  min-height:84px;
  padding:10px 12px;
  border:1px solid #e8dfcc;
  border-radius:16px;
  background:linear-gradient(180deg,#fffdf9 0%,#fbf8ef 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.rank-row>em{width:28px;height:32px;border-radius:8px;font-size:18px}
.rank-avatar{width:74px;height:74px;border-radius:16px;font-size:30px}
.rank-row strong{font-size:28px;line-height:1;font-family:"Baloo 2","Be Vietnam Pro",sans-serif;letter-spacing:-.03em}
.rank-row small{font-size:14px}
.rank-row>span:last-child{font-size:13px}
.support-card{
  margin-top:8px;
  min-height:132px;
  padding:16px 18px;
  border-radius:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58);
}
.support-icon{width:74px;height:74px;box-shadow:0 10px 18px rgba(0,0,0,.12)}
.support-card strong{font-size:20px;letter-spacing:.02em;font-family:"Baloo 2","Be Vietnam Pro",sans-serif}
.support-card small{font-size:11px;margin-top:6px;color:#6b5220}
.server-stats{
  border:1px solid #ebe4d6;
  border-radius:16px;
  background:#fff;
  margin-top:16px;
  padding:12px 14px;
}
.server-stats>div{min-height:38px;font-size:14px}
.server-stats>div+div{border-top:1px solid #f0eadc}
.server-stats span{color:#6d7668}
.server-stats b{color:#244a35}
.latest-posts{margin-top:0}
.latest-list{padding-top:4px;display:grid;gap:8px}
.latest-list a{
  padding:12px 10px;
  border:1px solid #ece6d8;
  border-radius:14px;
  background:#fff;
}
.latest-list a:hover{background:#fbfbf4}
.latest-list>a>span{font-size:18px;color:#5e8a48;font-weight:900}
.latest-list strong{font-size:14px;color:#2f4331}
.latest-list small{font-size:11px;color:#7b8477}
.latest-placeholder{
  margin-top:4px;
  min-height:118px;
  display:flex;align-items:center;
  padding:20px 22px;
  border:1px dashed #d6e2cb;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fbfbf4 100%);
  color:#7b8477;
  font-size:14px;
  line-height:1.65;
}
.classic-right .classic-card{background:#fffdf8;border-radius:18px}
.play-card{
  min-height:610px;
  padding:26px 18px 0;
  background:linear-gradient(180deg,#fffdf8 0%,#fbf7ea 62%,#eef4dd 100%)!important;
}
.play-card>strong{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  font-size:26px;
  color:#2f7550;
  text-shadow:none;
  letter-spacing:-.01em;
}
.play-card>span{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  font-size:24px;
  color:#d4971e;
}
.play-card>a{
  margin-top:18px;
  padding:16px 24px;
  border-radius:14px;
  background:linear-gradient(180deg,#ffdf70,#f2ad2c);
  color:#36260d;
  letter-spacing:.04em;
  box-shadow:0 12px 24px rgba(236,173,47,.18);
}
.play-art{
  height:255px;
  background:linear-gradient(transparent 0%,rgba(167,200,106,.18) 42%,#dceac4 43%,#cfe1af 100%);
}
.play-art img{width:200px;height:200px;margin-bottom:26px;filter:drop-shadow(0 16px 18px rgba(35,75,50,.22))}
.right-card-title{height:52px;padding:0 14px;border-bottom:1px solid #e9e2d4;font-size:13px;letter-spacing:.04em}
.right-card-title b{color:#2c402f}
.right-card-title b:first-letter{color:#5f8c49}
.right-card-title span{color:#889184}
.online-count{
  margin:14px;
  min-height:118px;
  border:1px solid #e8dfcc;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fbfaf5 100%);
}
.online-count strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:58px;color:#d7981b}
.online-count small{font-size:11px;color:#8e9488}
.right-download{
  margin:0 14px 14px;
  padding:18px;
  border-radius:16px;
  background:linear-gradient(180deg,#ffdd6a,#f1b02d);
  color:#30220d;
  letter-spacing:.04em;
  box-shadow:0 10px 22px rgba(236,173,47,.16);
}
.media-card{padding-bottom:14px}
.media-card>a{
  margin:10px 14px 0;
  border:1px solid #e8dfcc;
  border-radius:14px;
  padding:14px 12px;
  background:#fff;
  font-size:12px;
  color:#2f4331;
}
.media-thumb{
  margin:14px;
  height:110px;
  border:1px solid #d7e2cc;
  border-radius:16px;
  background:linear-gradient(180deg,#9bc3d8,#d7e8bb);
  color:#fff;
  overflow:hidden;
}
.media-thumb .icon-svg{font-size:38px;opacity:.94}
.media-thumb small{margin-top:8px;background:#1e4a33;padding:6px 10px;border-radius:10px;font-size:12px}
.download-list-card{padding-bottom:14px}
.mini-download{
  grid-template-columns:40px 1fr;
  gap:12px;
  margin:10px 14px 0;
  padding:14px 14px;
  border:1px solid #e8dfcc;
  border-radius:16px;
  background:#fff;
}
.mini-download.primary{
  background:linear-gradient(180deg,#ffe39a,#f1cf72);
  color:#2d220f;
  border-color:#f0d278;
}
.mini-download>.icon-svg{font-size:24px;color:#695c2d}
.mini-download b{font-size:14px;color:#2c402f}
.mini-download small{font-size:11px;color:#7d857a;opacity:1}
.classic-community{
  margin:28px 16px 0;
  min-height:108px;
  border:1px solid #e7dfcc;
  border-radius:18px;
  background:linear-gradient(180deg,#fffdf8 0%,#fbf8ef 100%);
  padding:20px 22px;
  box-shadow:0 10px 24px rgba(45,57,43,.05);
}
.classic-community strong{
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  font-size:20px;
  color:#244a35;
}
.classic-community span{font-size:12px;color:#7e8579}
.community-links a{
  border:1px solid #e4dcc9;
  border-radius:14px;
  padding:12px 18px;
  background:#fff;
  font-size:12px;
  color:#244a35;
}
.classic-footer{
  min-height:88px;
  padding:20px 16px 26px;
  border-top:1px solid #ebe3d1;
  color:#8a9084;
  font-size:11px;
}
.back-top{
  border-radius:16px!important;
  background:linear-gradient(180deg,#2f7550,#214f39)!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:0 16px 34px rgba(33,79,57,.25)!important;
}
.toast{
  border-radius:14px;
  border-color:#e6dfcc;
  background:#214f39;
  color:#fff;
  box-shadow:0 14px 34px rgba(33,79,57,.22);
}

@media(max-width:1100px){
  .classic-header{height:86px}
  .classic-layout{padding:14px 12px 0;gap:14px}
  .play-card{min-height:0}
}
@media(max-width:780px){
  .classic-header{height:72px}
  .classic-brand strong{font-size:22px}
  .classic-nav{top:72px;background:#214f39;padding:10px;gap:6px}
  .classic-nav a{border-radius:12px;padding:0 14px}
  .classic-nav a.active:after,.classic-nav a:hover:after{left:14px;right:14px;bottom:8px}
  .classic-layout{padding:12px}
  .classic-left{gap:12px}
  .classic-hero{height:260px}
  .hero-copy{left:20px;top:40px;width:64%}
  .hero-copy h1{font-size:31px}
  .hero-dots span{width:34px;height:34px;font-size:16px}
  .classic-block{padding:12px 14px}
  .rank-row strong{font-size:22px}
}
@media(max-width:520px){
  .classic-shell{border-radius:0}
  .classic-header{height:68px}
  .classic-layout{padding:8px}
  .classic-side-promo,.classic-side-link,.classic-block,.classic-card,.classic-community{border-radius:16px}
  .classic-hero{height:226px;border-radius:18px}
  .hero-copy{top:34px;left:16px;width:72%}
  .hero-copy h1{font-size:25px}
  .hero-copy p{display:block;font-size:10px;padding:10px 12px;line-height:1.45}
  .news-ticker{height:38px}
  .compact-list>a,.empty-line{min-height:44px}
  .compact-list a span,.empty-line span{font-size:13px}
  .rank-row{grid-template-columns:24px 50px 1fr 54px;gap:10px;padding:10px}
  .rank-avatar{width:50px;height:50px;border-radius:12px;font-size:24px}
  .rank-row strong{font-size:18px}
  .rank-row small{font-size:12px}
  .latest-placeholder{font-size:13px;padding:16px}
  .classic-community{margin:20px 8px 0;padding:18px}
  .classic-footer{padding:18px 10px 24px;font-size:10px}
}


/* ===== V7 CONTENT DEDUPLICATION — layout preserved, repeated CTAs reduced ===== */
.classic-left .discord-link{
  background:linear-gradient(135deg,#f7f8ff 0%,#eef0ff 100%);
  border-color:#dfe2f2;
}
.classic-left .discord-link>.icon-svg{
  color:#5865f2;
  background:#e9ebff;
}
.classic-left .discord-link b{color:#34405e}
.classic-left .discord-link small{color:#7a8293}
.classic-right{align-content:start}
.right-status{min-height:auto}
.right-status .online-count{margin-bottom:14px}
.media-card{padding-bottom:0}
.media-card .media-thumb{
  height:168px;
  margin:14px;
}
.media-card .media-thumb small{
  max-width:160px;
  text-align:center;
  line-height:1.35;
}
.download-list-card{margin-top:0}
.download-list-card .mini-download{min-height:72px}
.classic-community{
  /* Footer community presence stays intentionally lightweight; primary community CTA is the center banner. */
}
@media(max-width:780px){
  .classic-left .discord-link{display:grid}
}

/* ===== V8 INFORMATION HIERARCHY — less repetition, clearer roles ===== */
.classic-header,.classic-header.scrolled{grid-template-columns:290px minmax(0,1fr)}
.classic-nav{justify-content:center;padding-right:22px}
.download-promo{display:none}
.support-link{
  background:linear-gradient(135deg,#f7fbf5 0%,#eef6ea 100%);
  border-color:#dbe8d5;
}
.support-link>.icon-svg{color:#2f7550;background:#e4f0de}
.support-link b{color:#31533c}
.support-link small{color:#7d8879}

.dev-progress-list{display:grid;gap:10px;padding-top:6px}
.dev-progress-item{
  min-height:67px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #e8dfcc;
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#fbf9f2 100%);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.dev-progress-item:hover{transform:translateY(-1px);border-color:#d6e2cb;box-shadow:0 8px 18px rgba(47,75,49,.06)}
.dev-mark{
  width:36px;height:36px;border-radius:11px;
  display:grid;place-items:center;
  background:#e9f2df;color:#567548;
  font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  font-size:14px;font-weight:800;
}
.dev-progress-item>div{min-width:0;display:flex;flex-direction:column}
.dev-progress-item strong{font-size:12px;color:#2d4332;line-height:1.25}
.dev-progress-item small{font-size:9px;color:#7f887c;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dev-progress-item em{
  font-style:normal;font-size:8px;font-weight:900;letter-spacing:.05em;
  color:#7a651c;background:#fff2bf;border:1px solid #f0df9a;
  padding:5px 7px;border-radius:999px;white-space:nowrap;
}
.server-highlight{background:linear-gradient(135deg,#ffe481,#f6bd43)}

.quick-guide{margin-top:0}
.quick-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:6px}
.quick-guide-step{
  min-height:148px;
  position:relative;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:18px 16px 16px;
  border:1px solid #e6dfcf;
  border-radius:16px;
  background:linear-gradient(160deg,#fff 0%,#f8f5ea 100%);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.quick-guide-step:hover{transform:translateY(-2px);border-color:#d8e4cd;box-shadow:0 12px 24px rgba(45,63,43,.07)}
.quick-guide-step>em{
  position:absolute;right:12px;top:8px;
  font-style:normal;font-family:"Baloo 2","Be Vietnam Pro",sans-serif;
  font-size:38px;font-weight:800;line-height:1;color:rgba(86,117,72,.10);
}
.quick-guide-step>.icon-svg{
  width:44px;height:44px;border-radius:13px;
  background:#e9f2df;color:#567548;font-size:22px;
  margin-bottom:14px;
}
.quick-guide-step div{display:flex;flex-direction:column}
.quick-guide-step strong{font-size:12px;color:#2d4332}
.quick-guide-step small{font-size:9px;color:#7e887a;line-height:1.5;margin-top:5px}

.highlights-card{padding-bottom:12px}
.highlight-list{display:grid;gap:8px;padding:12px}
.highlight-list>div{
  min-height:72px;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;
  padding:10px;border:1px solid #e8dfcc;border-radius:14px;background:#fff;
}
.highlight-list>div>.icon-svg{
  width:40px;height:40px;border-radius:12px;background:#edf5e5;color:#5f854c;font-size:20px;
}
.highlight-list p{margin:0;display:flex;flex-direction:column;min-width:0}
.highlight-list strong{font-size:11px;color:#2f4331}
.highlight-list small{font-size:8px;color:#80887c;line-height:1.4;margin-top:3px}

/* The right-side download is the single primary desktop download area. */
.download-list-card{scroll-margin-top:110px}
#news,#ranking,#server,#guide,#community{scroll-margin-top:110px}

@media(max-width:1100px){
  .classic-header,.classic-header.scrolled{grid-template-columns:250px minmax(0,1fr)}
  .download-promo{display:grid}
  .classic-right{display:contents}
  .classic-right .right-status,.classic-right .highlights-card{display:none}
  .classic-right .download-list-card{
    display:block;
    grid-column:1/-1;
    margin:0 0 10px;
    border-radius:18px;
  }
  .download-list-card .mini-download{min-height:68px}
}
@media(max-width:780px){
  .classic-header,.classic-header.scrolled{grid-template-columns:1fr auto}
  .classic-nav{justify-content:flex-start;padding-right:10px}
  .download-promo{display:grid}
  .quick-guide-grid{grid-template-columns:1fr}
  .quick-guide-step{min-height:116px;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:12px}
  .quick-guide-step>.icon-svg{margin:0}
  .quick-guide-step>em{right:14px;top:10px;font-size:34px}
  .dev-progress-item{grid-template-columns:38px minmax(0,1fr)}
  .dev-progress-item em{grid-column:2;justify-self:start;margin-top:-3px}
}
@media(max-width:520px){
  .dev-progress-item small{white-space:normal}
  .classic-wide-banner{order:initial}
}
.account-note{
  border-top:1px solid #e8dfcc;
  padding:12px 14px;
  text-align:center;
  font-size:9px;
  color:#7d867a;
  background:#fbfaf5;
}


/* ===== V9 USER REQUESTED REFINEMENTS ===== */
/* Download is now a primary left-sidebar action. */
.download-promo{display:none!important}
.left-download-card{display:block!important;scroll-margin-top:110px;padding-bottom:12px}
.left-download-card .right-card-title{height:50px}
.left-download-card .mini-download{margin:10px 12px 0;min-height:74px;padding:13px 12px;border-radius:14px}
.left-download-card .mini-download.primary{background:linear-gradient(180deg,#ffe39a,#f2cf70)}
.left-download-card .mini-download b{font-size:12px;line-height:1.35}
.left-download-card .mini-download small{font-size:10px;margin-top:4px}
.left-download-card .mini-download>.icon-svg{font-size:23px}

/* Keep the ticker label on one clean horizontal line. */
.news-ticker{grid-template-columns:118px minmax(0,1fr) 74px}
.news-ticker b{white-space:nowrap;justify-content:center;gap:6px;line-height:1}

/* Community CTA button should be straight, not tilted. */
.classic-wide-banner>span{transform:none;border-radius:16px;width:104px;height:54px}

/* Longer placeholder values need a smaller, cleaner treatment. */
.online-count .updating-value{
  font-size:18px;
  line-height:1.25;
  letter-spacing:.04em;
  text-align:center;
  color:#d7981b;
  max-width:180px;
}
.server-stats b{font-size:11px;letter-spacing:.02em;white-space:nowrap}

@media(max-width:1100px){
  .classic-right{display:none}
  .left-download-card{display:block!important}
  .news-ticker{grid-template-columns:110px minmax(0,1fr) 64px}
}
@media(max-width:780px){
  .news-ticker{grid-template-columns:104px minmax(0,1fr)}
  .news-ticker b{font-size:11px}
  .left-download-card{grid-column:1/-1}
}
@media(max-width:520px){
  .news-ticker{grid-template-columns:100px minmax(0,1fr)}
  .classic-wide-banner>span{width:82px;height:44px;border-radius:13px}
  .server-stats b{font-size:10px}
}

/* ===== V10 TRUE MOBILE RESPONSIVE ===== */
@media (max-width:780px){
  html,body{overflow-x:hidden}
  .kyucmaple-page{font-size:13px;background:#f7f4ea}
  .classic-shell{width:100%;max-width:100%;border:0;border-radius:0;box-shadow:none;overflow:visible}

  /* Compact sticky mobile header */
  .classic-header,.classic-header.scrolled{
    height:64px;
    min-height:64px;
    grid-template-columns:minmax(0,1fr) 58px;
    position:sticky;
    top:0;
    padding:0;
    border-radius:0;
  }
  .classic-brand{padding:7px 12px;gap:9px;min-width:0}
  .classic-brand:after{display:none}
  .classic-brand img{width:48px;height:48px;flex:0 0 48px}
  .classic-brand div{min-width:0}
  .classic-brand strong{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .classic-brand small{font-size:7px;letter-spacing:.22em;margin-top:5px;white-space:nowrap}
  .nav-toggle{
    width:58px;height:64px;margin:0;padding:0;border:0;border-left:1px solid rgba(255,255,255,.12);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    background:rgba(255,255,255,.04);border-radius:0;
  }
  .nav-toggle span{width:25px;height:2px;margin:0;border-radius:99px;background:#fff7d5}
  .classic-nav{
    top:64px;left:8px;right:8px;
    padding:8px;
    gap:4px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:0 0 16px 16px;
    background:rgba(28,76,53,.98);
    box-shadow:0 18px 36px rgba(21,55,39,.24);
    max-height:calc(100vh - 76px);overflow:auto;
  }
  .classic-nav a{min-height:44px;padding:0 14px;border:0;border-radius:10px;font-size:12px}
  .classic-nav a.active,.classic-nav a:hover{background:rgba(255,255,255,.10);border:0}
  .classic-nav a.active:after,.classic-nav a:hover:after{display:none!important}

  /* One clean column */
  .classic-layout{display:flex;flex-direction:column;gap:12px;padding:12px 10px 0}
  .classic-left{display:flex;flex-direction:column;gap:12px;width:100%}
  .classic-center{width:100%;gap:12px}
  .classic-right{display:none!important}

  /* Account */
  .account-card{width:100%;border-radius:16px}
  .card-tabs{height:42px;padding:0 14px}
  .card-tabs b{font-size:13px}
  .card-tabs span{font-size:8px}
  .account-actions{padding:12px;gap:10px}
  .gold-button,.red-button{height:52px;border-radius:13px;font-size:15px}
  .mini-logo,.mini-logo img{width:23px;height:23px}
  .account-note{padding:10px 12px;font-size:8px}

  /* Download becomes compact but prominent */
  .left-download-card{width:100%;border-radius:16px!important;padding-bottom:10px}
  .left-download-card .right-card-title{height:44px;padding:0 12px}
  .left-download-card .right-card-title b{font-size:12px}
  .left-download-card .mini-download{
    min-height:64px;margin:9px 10px 0;padding:10px 12px;
    grid-template-columns:34px minmax(0,1fr);gap:10px;border-radius:13px;
  }
  .left-download-card .mini-download>.icon-svg{font-size:20px}
  .left-download-card .mini-download b{font-size:13px;line-height:1.25}
  .left-download-card .mini-download small{font-size:9px;margin-top:3px}

  /* Support shortcut visible and compact */
  .classic-side-link.support-link{display:grid!important;min-height:66px;padding:10px 12px;grid-template-columns:44px 1fr;border-radius:14px}
  .classic-side-link.support-link>.icon-svg{width:38px;height:38px;font-size:19px;border-radius:11px}
  .classic-side-link.support-link b{font-size:13px}
  .classic-side-link.support-link small{font-size:9px}

  /* Hero */
  .classic-hero{height:220px;border-radius:17px;box-shadow:0 10px 24px rgba(33,79,57,.10)}
  .classic-hero>img{object-position:58% center}
  .classic-hero:after{background:linear-gradient(90deg,rgba(25,75,51,.88) 0%,rgba(31,82,56,.64) 43%,rgba(25,65,43,.13) 78%,rgba(0,0,0,.04) 100%)}
  .hero-copy{left:18px;top:32px;width:68%}
  .hero-copy small{font-size:9px;letter-spacing:.16em}
  .hero-copy h1{font-size:27px;line-height:1;margin:7px 0 9px}
  .hero-copy p{font-size:10px;line-height:1.45;padding:9px 11px;border-radius:11px;margin:0;max-width:260px}

  /* Ticker: star + TIN MỚI always one line */
  .news-ticker{
    height:38px;margin:0;
    grid-template-columns:92px minmax(0,1fr);
    border-radius:12px;
  }
  .news-ticker b{font-size:10px;letter-spacing:.04em;padding:0 9px;white-space:nowrap;line-height:1;justify-content:flex-start}
  .news-ticker span{font-size:10px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .news-ticker time{display:none}

  /* All center blocks */
  .classic-two-cols{grid-template-columns:1fr;gap:12px;margin:0}
  .classic-block{padding:12px;border-radius:16px}
  .classic-title{min-height:34px;padding:0 2px 9px;gap:8px}
  .classic-title h2{font-size:16px;line-height:1.15;letter-spacing:.02em;min-width:0}
  .classic-title h2:before{width:9px;height:9px;margin-right:7px}
  .classic-title span{font-size:9px;text-align:right;line-height:1.3;flex:0 0 auto}
  .compact-list>a,.empty-line{min-height:42px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:0 2px}
  .compact-list a span,.empty-line span{font-size:11px}
  .compact-list time,.empty-line time{display:none}
  .tag{min-width:42px;font-size:8px;padding:5px 6px}

  /* Development progress */
  .dev-progress-list{gap:8px;padding-top:5px}
  .dev-progress-item{
    min-height:72px;padding:9px;
    grid-template-columns:36px minmax(0,1fr);gap:9px;
    border-radius:13px;
  }
  .dev-mark{width:34px;height:34px;font-size:12px;border-radius:10px}
  .dev-progress-item strong{font-size:11px}
  .dev-progress-item small{font-size:8px;line-height:1.35;white-space:normal}
  .dev-progress-item em{grid-column:2;justify-self:start;font-size:7px;padding:4px 6px;margin-top:-1px}

  /* Server card */
  .support-card{min-height:96px;margin-top:7px;padding:12px;border-radius:14px;grid-template-columns:58px 1fr;gap:10px}
  .support-icon{width:54px;height:54px}
  .support-card strong{font-size:16px;line-height:1.15}
  .support-card small{font-size:9px;line-height:1.4;margin-top:4px}
  .server-stats{margin-top:10px;padding:8px 10px;border-radius:13px}
  .server-stats>div{min-height:36px;font-size:11px;gap:10px}
  .server-stats b{font-size:9px;white-space:normal;text-align:right;line-height:1.25}

  /* Community CTA: stack instead of squeezing text beside button */
  .classic-wide-banner{
    min-height:0;margin:0;padding:16px;
    display:flex;flex-direction:column;align-items:flex-start;gap:7px;
    border-radius:17px;
  }
  .classic-wide-banner small{font-size:9px;line-height:1.3}
  .classic-wide-banner strong{font-size:17px;line-height:1.3;max-width:none;width:100%}
  .classic-wide-banner>span{
    width:auto;height:40px;margin-top:4px;padding:0 17px;
    border-radius:12px;font-size:11px;align-self:flex-start;
  }

  /* Quick guide: short horizontal rows, not giant cards */
  .quick-guide-grid{grid-template-columns:1fr;gap:9px;padding-top:4px}
  .quick-guide-step{
    min-height:86px;padding:11px 12px;
    display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;
    border-radius:14px;
  }
  .quick-guide-step>.icon-svg{width:38px;height:38px;margin:0;border-radius:11px;font-size:18px}
  .quick-guide-step>em{right:10px;top:5px;font-size:28px}
  .quick-guide-step strong{font-size:11px}
  .quick-guide-step small{font-size:8px;line-height:1.4;margin-top:3px;padding-right:20px}

  /* Footer */
  .classic-community{margin:16px 10px 0;padding:14px;min-height:0;border-radius:15px;gap:10px}
  .classic-community strong{font-size:17px}
  .classic-community span{font-size:9px}
  .community-links{gap:7px}
  .community-links a{padding:9px 12px;border-radius:11px;font-size:10px}
  .classic-footer{padding:14px 10px 22px;gap:5px;font-size:8px;line-height:1.5}
  .back-top{right:12px!important;bottom:14px!important;width:44px!important;height:44px!important;border-radius:14px!important}
}

@media (max-width:420px){
  .classic-layout{padding-left:8px;padding-right:8px}
  .classic-brand{padding-left:9px}
  .classic-brand img{width:44px;height:44px;flex-basis:44px}
  .classic-brand strong{font-size:18px}
  .classic-brand small{font-size:6.5px}
  .hero-copy{width:72%;left:15px}
  .hero-copy h1{font-size:24px}
  .hero-copy p{font-size:9px;max-width:235px}
  .news-ticker{grid-template-columns:86px minmax(0,1fr)}
  .news-ticker b{font-size:9px;padding:0 7px}
  .classic-title h2{font-size:15px}
  .classic-title span{font-size:8px}
  .classic-wide-banner strong{font-size:16px}
}


/* ===== Feedback card + public feedback form ===== */
.feedback-home-card{
  padding:18px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:12px 14px;
  align-items:center;
  background:linear-gradient(180deg,#fffdf8 0%,#f6f8ef 100%)!important;
  border-color:#dce7d2!important;
}
.feedback-home-icon{
  width:52px;height:52px;border-radius:16px;
  background:#e7f1df;color:#567b49;font-size:24px;
}
.feedback-home-copy{display:flex;flex-direction:column;min-width:0}
.feedback-home-copy strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:17px;line-height:1.05;color:#2d533c}
.feedback-home-copy small{margin-top:6px;font-size:9px;line-height:1.45;color:#7d877a}
.feedback-home-card>a{
  grid-column:1/-1;
  min-height:44px;
  display:flex;align-items:center;justify-content:center;
  border-radius:13px;
  background:linear-gradient(180deg,#3f8a61,#286545);
  color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em;
  box-shadow:0 8px 18px rgba(33,79,57,.12);
  transition:.18s ease;
}
.feedback-home-card>a:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(33,79,57,.18)}

.feedback-shell{min-height:100vh}
.feedback-header{grid-template-columns:290px minmax(0,1fr)}
.feedback-nav{display:flex;align-items:center;justify-content:flex-end;padding:0 24px}
.feedback-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;font-size:11px;font-weight:900}
.feedback-main{width:min(860px,calc(100% - 28px));margin:0 auto;padding:54px 0 70px}
.feedback-intro{text-align:center;margin-bottom:26px}
.feedback-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;color:#6c8b4f}
.feedback-intro h1{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:46px;line-height:1;margin:8px 0 10px;color:#244a35}
.feedback-intro p{max-width:650px;margin:0 auto;color:#747d71;font-size:13px;line-height:1.65}
.feedback-success,.feedback-errors{border-radius:16px;padding:16px 18px;margin-bottom:16px;font-size:12px;line-height:1.55}
.feedback-success{background:#eaf5e5;border:1px solid #cfe4c5;color:#315d3e;display:flex;flex-direction:column;gap:3px}
.feedback-errors{background:#fff1ed;border:1px solid #f0d2c9;color:#8a4031}.feedback-errors ul{margin:6px 0 0;padding-left:18px}
.feedback-form{display:grid;gap:16px}
.feedback-panel{background:#fffdf8;border:1px solid #e6dfcc;border-radius:20px;padding:20px;box-shadow:0 12px 26px rgba(45,57,43,.055)}
.feedback-panel-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.feedback-panel-title>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf4e5;color:#60824d;font-size:11px;font-weight:900}
.feedback-panel-title>div{display:flex;flex-direction:column}.feedback-panel-title strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:19px;color:#2d4b37;line-height:1.15}.feedback-panel-title small{margin-top:3px;font-size:9px;color:#8a9187}
.feedback-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.feedback-choice{cursor:pointer}.feedback-choice input{position:absolute;opacity:0;pointer-events:none}.feedback-choice span{min-height:52px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 10px;border:1px solid #e3ddcf;border-radius:14px;background:#fff;color:#4b574b;font-size:11px;font-weight:800;transition:.18s ease}.feedback-choice input:checked+span{background:#2f7550;color:#fff;border-color:#2f7550;box-shadow:0 8px 18px rgba(47,117,80,.15)}
.feedback-rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feedback-rate-grid label,.feedback-field{display:flex;flex-direction:column;gap:7px;color:#516052;font-size:10px;font-weight:900}.feedback-rate-grid select,.feedback-field select,.feedback-field input{width:100%;height:48px;border:1px solid #ded8ca;border-radius:13px;background:#fff;color:#314233;padding:0 12px;font-family:inherit;font-size:12px;outline:none}.feedback-rate-grid select:focus,.feedback-field select:focus,.feedback-field input:focus,.feedback-panel textarea:focus{border-color:#77a060;box-shadow:0 0 0 3px rgba(119,160,96,.12)}
.feedback-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feedback-field span{font-size:10px}.feedback-field em{font-style:normal;font-weight:500;color:#92988f}.feedback-panel textarea{width:100%;min-height:160px;resize:vertical;border:1px solid #ded8ca;border-radius:16px;background:#fff;color:#314233;padding:14px 15px;font-family:inherit;font-size:12px;line-height:1.65;outline:none}.feedback-form-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px}.feedback-form-footer small{font-size:9px;color:#8b9288}.feedback-form-footer button{border:0;border-radius:14px;min-height:48px;padding:0 22px;background:linear-gradient(180deg,#ffdd70,#f2ad2c);color:#3a2a10;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 10px 20px rgba(230,164,43,.15)}
.feedback-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.feedback-footer{border-top:1px solid #e8e1d1}

@media(max-width:780px){
  .feedback-home-card{padding:14px;grid-template-columns:46px minmax(0,1fr);gap:10px 12px}
  .feedback-home-icon{width:44px;height:44px;border-radius:13px;font-size:20px}
  .feedback-home-copy strong{font-size:15px}.feedback-home-copy small{font-size:8px}.feedback-home-card>a{min-height:42px}
  .feedback-header{grid-template-columns:1fr auto}
  .feedback-nav{padding:0 10px}.feedback-nav a{min-height:38px;padding:0 10px;font-size:9px}
  .feedback-main{width:min(100% - 18px,860px);padding:30px 0 46px}
  .feedback-intro h1{font-size:34px}.feedback-intro p{font-size:11px}
  .feedback-panel{padding:15px;border-radius:17px}
  .feedback-category-grid{grid-template-columns:1fr 1fr;gap:8px}.feedback-choice span{min-height:48px;font-size:10px}
  .feedback-rate-grid{grid-template-columns:1fr 1fr 1fr;gap:8px}.feedback-rate-grid select{padding:0 8px}
  .feedback-field-row{grid-template-columns:1fr}
  .feedback-panel textarea{min-height:140px}
  .feedback-form-footer{align-items:stretch;flex-direction:column}.feedback-form-footer button{width:100%}
}
@media(max-width:420px){
  .feedback-category-grid{grid-template-columns:1fr 1fr}
  .feedback-rate-grid{grid-template-columns:1fr}.feedback-rate-grid label{display:grid;grid-template-columns:72px 1fr;align-items:center}.feedback-rate-grid select{height:44px}
}

/* ===== V12 FEEDBACK ADMIN ===== */
.feedback-admin-page{background:linear-gradient(180deg,#edf3e8 0%,#f8f5ec 28%,#f3efe4 100%)}
.feedback-admin-login-page{min-height:100vh;display:grid;place-items:center;padding:22px}
.feedback-admin-login-shell{width:min(440px,100%);display:grid;gap:18px}
.feedback-admin-login-brand{display:flex;align-items:center;justify-content:center;gap:12px;color:#244a35}.feedback-admin-login-brand img{width:58px;height:58px;border-radius:50%;filter:drop-shadow(0 8px 12px rgba(33,79,57,.15))}.feedback-admin-login-brand span{display:flex;flex-direction:column}.feedback-admin-login-brand strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:23px;line-height:1}.feedback-admin-login-brand small{margin-top:5px;font-size:8px;letter-spacing:.22em;color:#7d887a;font-weight:900}
.feedback-admin-login{background:#fffdf8;border:1px solid #e4ddce;border-radius:24px;padding:30px;box-shadow:0 22px 50px rgba(45,57,43,.12);text-align:center}.feedback-admin-login-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;margin:0 auto 12px;background:#edf4e5;color:#62844f;font-size:22px}.feedback-admin-login h1{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:32px;line-height:1;margin:0;color:#244a35}.feedback-admin-login>p{font-size:11px;line-height:1.65;color:#7c8479;margin:10px auto 18px;max-width:330px}.feedback-admin-login label{display:flex;flex-direction:column;gap:7px;text-align:left;color:#4b5b4d;font-size:10px;font-weight:900}.feedback-admin-login input{height:50px;border:1px solid #ddd7ca;border-radius:14px;background:#fff;padding:0 14px;font-family:inherit;font-size:13px;color:#2f4331;outline:none}.feedback-admin-login input:focus{border-color:#75a05e;box-shadow:0 0 0 3px rgba(117,160,94,.12)}.feedback-admin-login button{width:100%;height:50px;margin-top:12px;border:0;border-radius:14px;background:linear-gradient(180deg,#3f8a61,#286545);color:#fff;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 10px 20px rgba(33,79,57,.16)}.feedback-admin-login-back{display:inline-flex;margin-top:16px;font-size:10px;font-weight:800;color:#6e7b6d}.feedback-admin-login-error{margin-bottom:14px;padding:11px 12px;border-radius:12px;border:1px solid #f0d2c9;background:#fff1ed;color:#8a4031;font-size:10px;line-height:1.5;text-align:left}
.feedback-admin-shell{min-height:100vh}.feedback-admin-header{grid-template-columns:290px minmax(0,1fr)}.feedback-admin-head-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:0 16px}.feedback-admin-head-actions>a,.feedback-admin-head-actions button{height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.06);color:#fff;font-family:inherit;font-size:9px;font-weight:900;cursor:pointer}.feedback-admin-head-actions form{margin:0}.feedback-admin-head-actions button{background:rgba(255,218,101,.12);border-color:rgba(255,218,101,.25)}
.feedback-admin-main{width:min(1120px,calc(100% - 34px));margin:0 auto;padding:38px 0 60px}.feedback-admin-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.feedback-admin-intro h1{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:40px;line-height:1;margin:5px 0 7px;color:#244a35}.feedback-admin-intro p{margin:0;color:#778076;font-size:11px}.feedback-admin-export{height:44px;padding:0 16px;border-radius:13px;background:#fff;border:1px solid #ddd7c8;color:#315d3e;display:inline-flex;align-items:center;font-size:10px;font-weight:900;box-shadow:0 8px 18px rgba(45,57,43,.05)}
.feedback-admin-stats{display:grid;grid-template-columns:repeat(3,1fr) 1.5fr;gap:10px;margin-bottom:14px}.feedback-admin-stats>div{min-height:88px;padding:16px 18px;border:1px solid #e4ddcf;border-radius:18px;background:#fffdf8;box-shadow:0 8px 20px rgba(45,57,43,.045);display:flex;flex-direction:column;justify-content:center}.feedback-admin-stats small{font-size:8px;font-weight:900;letter-spacing:.10em;color:#879083}.feedback-admin-stats strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;margin-top:4px;font-size:28px;line-height:1;color:#2b533c}.feedback-admin-stat-wide strong{font-size:20px}
.feedback-admin-filters{display:grid;grid-template-columns:2fr 1.3fr repeat(3,.72fr) 1.3fr .9fr;gap:9px;padding:14px;border:1px solid #e3dccd;border-radius:20px;background:#fffdf8;box-shadow:0 10px 24px rgba(45,57,43,.045);margin-bottom:18px}.feedback-admin-filters label{display:flex;flex-direction:column;gap:6px;color:#657064;font-size:8px;font-weight:900}.feedback-admin-filters input,.feedback-admin-filters select{height:42px;border:1px solid #dfd8ca;border-radius:11px;background:#fff;color:#324333;padding:0 10px;font-family:inherit;font-size:10px;outline:none}.feedback-admin-filters input:focus,.feedback-admin-filters select:focus{border-color:#77a060;box-shadow:0 0 0 3px rgba(119,160,96,.10)}.feedback-admin-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:2px}.feedback-admin-filter-actions button{height:40px;border:0;border-radius:11px;padding:0 16px;background:#2f7550;color:#fff;font-family:inherit;font-size:9px;font-weight:900;cursor:pointer}.feedback-admin-filter-actions a{font-size:9px;font-weight:800;color:#71806e}
.feedback-admin-results{border:1px solid #e4ddcf;border-radius:20px;background:#fffdf8;padding:16px;box-shadow:0 10px 24px rgba(45,57,43,.045)}.feedback-admin-results-head{display:flex;justify-content:space-between;align-items:center;padding:0 2px 12px;border-bottom:1px solid #ebe4d6;color:#738071;font-size:9px}.feedback-admin-results-head strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;color:#2e513b;font-size:17px}.feedback-admin-list{display:grid;gap:10px;padding-top:12px}.feedback-admin-item{display:grid;grid-template-columns:190px minmax(0,1fr);border:1px solid #e8e1d4;border-radius:16px;background:#fff;overflow:hidden}.feedback-admin-item-meta{padding:15px;background:linear-gradient(180deg,#f6f9f1,#eef4e7);display:flex;flex-direction:column}.feedback-admin-category{align-self:flex-start;max-width:100%;padding:5px 8px;border-radius:8px;background:#dfead8;color:#496a40;font-size:8px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feedback-admin-item-meta strong{margin-top:10px;font-size:13px;color:#2e4936}.feedback-admin-item-meta time{margin-top:4px;font-size:9px;color:#778176}.feedback-admin-item-meta small{margin-top:auto;padding-top:14px;font-size:7px;color:#a0a69e;word-break:break-all}.feedback-admin-item-body{padding:14px 16px}.feedback-admin-rate-row{display:flex;gap:7px;flex-wrap:wrap}.feedback-admin-rate-row span{padding:6px 8px;border-radius:8px;background:#f5f2e8;color:#7b8177;font-size:7px;font-weight:900}.feedback-admin-rate-row b{color:#31533c;margin-left:3px;font-size:8px}.feedback-admin-item-body p{margin:13px 0 0;color:#3f493f;font-size:11px;line-height:1.75;white-space:normal}.feedback-admin-empty{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7f897d}.feedback-admin-empty>span{width:52px;height:52px;border-radius:17px;background:#edf4e5;display:grid;place-items:center;color:#64864f;font-size:20px}.feedback-admin-empty strong{margin-top:10px;color:#36513c;font-size:14px}.feedback-admin-empty small{margin-top:4px;font-size:9px}.feedback-admin-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:14px}.feedback-admin-pagination a,.feedback-admin-pagination span{min-height:34px;padding:0 12px;border-radius:10px;display:inline-flex;align-items:center;border:1px solid #e2dacb;background:#fff;color:#3f5f47;font-size:9px;font-weight:900}.feedback-admin-pagination span{background:#f3f6ed;color:#7a8578}
@media(max-width:960px){.feedback-admin-stats{grid-template-columns:1fr 1fr}.feedback-admin-filters{grid-template-columns:1fr 1fr 1fr}.feedback-admin-search{grid-column:1/-1}.feedback-admin-filter-actions{grid-column:1/-1}.feedback-admin-item{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:700px){.feedback-admin-header{height:auto;min-height:70px;grid-template-columns:1fr}.feedback-admin-header .classic-brand{min-height:70px}.feedback-admin-head-actions{padding:9px 10px;border-top:1px solid rgba(255,255,255,.08);justify-content:flex-start;flex-wrap:wrap}.feedback-admin-head-actions>a,.feedback-admin-head-actions button{height:34px}.feedback-admin-main{width:min(100% - 16px,1120px);padding:24px 0 38px}.feedback-admin-intro{align-items:flex-start;flex-direction:column}.feedback-admin-intro h1{font-size:32px}.feedback-admin-stats{grid-template-columns:1fr 1fr}.feedback-admin-stats>div{min-height:76px;padding:13px}.feedback-admin-stats strong{font-size:23px}.feedback-admin-stat-wide strong{font-size:15px}.feedback-admin-filters{grid-template-columns:1fr 1fr;padding:11px}.feedback-admin-search{grid-column:1/-1}.feedback-admin-filter-actions{justify-content:stretch}.feedback-admin-filter-actions button{flex:1}.feedback-admin-results{padding:10px}.feedback-admin-item{grid-template-columns:1fr}.feedback-admin-item-meta{display:grid;grid-template-columns:auto 1fr auto;gap:7px 10px;align-items:center}.feedback-admin-item-meta strong{margin:0}.feedback-admin-item-meta time{margin:0;text-align:right}.feedback-admin-item-meta small{display:none}.feedback-admin-category{grid-row:1/3}.feedback-admin-item-body{padding:13px}.feedback-admin-rate-row span{font-size:7px}.feedback-admin-item-body p{font-size:10px}.feedback-admin-login{padding:24px 18px}}
@media(max-width:430px){.feedback-admin-stats{grid-template-columns:1fr 1fr}.feedback-admin-filters{grid-template-columns:1fr}.feedback-admin-search,.feedback-admin-filter-actions{grid-column:auto}.feedback-admin-filter-actions{flex-direction:column;align-items:stretch}.feedback-admin-filter-actions a{text-align:center;padding:7px}.feedback-admin-item-meta{grid-template-columns:auto 1fr}.feedback-admin-item-meta time{grid-column:2;text-align:left}.feedback-admin-rate-row{gap:5px}.feedback-admin-rate-row span{width:calc(50% - 3px)}}


/* ===== Unified Ký Ức Maple site system ===== */
.unified-site-header{grid-template-columns:290px minmax(0,1fr)}
.unified-site-header .classic-nav{justify-content:center;padding-left:14px;padding-right:14px}
.unified-site-header .classic-nav a{white-space:nowrap}
.site-community-footer{margin-top:34px}
.site-footer-unified{border-top:0}
.site-footer-unified .footer-legal{display:flex;gap:18px;justify-content:space-between;width:100%}

.unified-subpage .classic-shell,.feedback-page .classic-shell{background:#fbf7ec}
.unified-main{min-height:620px}
.unified-page-hero{margin:18px 16px 0;border-radius:22px;padding:54px 44px;background:linear-gradient(135deg,#214f39,#315f3a);color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 36px rgba(33,79,57,.13)}
.unified-page-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-120px;top:-210px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}
.unified-page-hero>*{position:relative;z-index:2}
.unified-page-hero .section-kicker{color:#d8ed8d;font-size:10px;font-weight:900;letter-spacing:.16em}
.unified-page-hero h1{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:46px;line-height:1.04;margin:7px 0 9px;letter-spacing:-.025em}
.unified-page-hero p{max-width:650px;margin:0;color:#dbe8dd;font-size:13px;line-height:1.7}
.unified-content{padding:28px 16px 56px}
.unified-content-inner{width:min(1120px,100%);margin:0 auto}
.unified-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.unified-news-card{border:1px solid #e5dece;border-radius:20px;background:#fffdf8;overflow:hidden;box-shadow:0 10px 26px rgba(45,57,43,.055);transition:transform .18s ease,box-shadow .18s ease}
.unified-news-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(45,57,43,.09)}
.unified-news-cover{height:185px;display:block;background:#244f38;overflow:hidden}
.unified-news-cover img{width:100%;height:100%;object-fit:cover}
.unified-news-fallback{height:185px;display:grid;place-items:center;background:linear-gradient(135deg,#214f39,#315f3a)}
.unified-news-fallback img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}
.unified-news-meta{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 0;color:#899087;font-size:9px}
.unified-news-meta span{color:#5f824e;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.unified-news-card h2{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:20px;line-height:1.28;margin:10px 18px 7px;color:#2d4936}
.unified-news-card p{font-size:11px;line-height:1.7;color:#737d72;margin:0 18px 16px}
.unified-news-read{display:inline-flex;margin:0 18px 18px;color:#527647;font-size:10px;font-weight:900}
.unified-empty{min-height:260px;border:1px dashed #d7e1cc;border-radius:22px;background:#fffdf8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#7d857a}
.unified-empty span{width:54px;height:54px;border-radius:17px;background:#edf4e5;color:#62844f;display:grid;place-items:center;font-size:22px;margin-bottom:10px}
.unified-empty strong{font-size:15px;color:#35513c}.unified-empty small{font-size:10px;margin-top:4px}

.unified-article{padding-bottom:60px}
.unified-article-header{margin:18px 16px 0;border-radius:22px;padding:48px 0;background:linear-gradient(135deg,#214f39,#315f3a);color:#fff;box-shadow:0 16px 36px rgba(33,79,57,.13)}
.unified-article-narrow{width:min(850px,calc(100% - 40px));margin:0 auto}
.unified-article-back{display:inline-flex;margin-bottom:20px;color:#d8e8da;font-size:10px;font-weight:900}
.unified-article-meta{display:flex;gap:12px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#c3d5c7}
.unified-article-meta span{color:#d8ed8d;font-weight:900}
.unified-article-header h1{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:clamp(34px,5vw,54px);line-height:1.08;margin:10px 0 8px;letter-spacing:-.025em}
.unified-article-header p{font-size:13px;line-height:1.7;color:#dbe8dd;margin:0}
.unified-article-cover{margin-top:24px;border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(45,57,43,.10)}
.unified-article-cover img{width:100%;max-height:470px;object-fit:cover;display:block}
.unified-article-body{padding:34px 0 0;color:#465047;font-size:13px;line-height:1.85}
.unified-article-body h2,.unified-article-body h3{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;color:#2d4c38;margin-top:28px}
.unified-article-body h2{font-size:28px}.unified-article-body h3{font-size:21px}
.unified-article-body p{margin:0 0 17px}.unified-article-body li{margin:6px 0}
.unified-article-end{padding-top:24px;margin-top:30px;border-top:1px solid #e6dfd0}
.unified-btn{height:44px;padding:0 15px;border:1px solid #dfe3d8;border-radius:12px;background:#fff;color:#426249;display:inline-flex;align-items:center;font-size:10px;font-weight:900}

/* Feedback uses the same public header/footer */
.feedback-main{padding-top:46px}
.feedback-shell .feedback-header,.feedback-nav{display:none!important}
.feedback-page .site-community-footer{margin-top:10px}

/* Unified admin identity */
.feedback-admin-header{background:linear-gradient(180deg,#256244,#214f39)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 28px rgba(22,55,39,.20)!important}
.feedback-admin-header .classic-brand{background:linear-gradient(135deg,#2f7550,#214f39)!important}
.feedback-admin-login-brand strong,.feedback-admin-header .classic-brand strong{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;color:#ffe07c!important;letter-spacing:-.01em!important}
.feedback-admin-footer{width:min(1120px,calc(100% - 34px));margin:0 auto;border-top:1px solid #e6dfd0}

@media(max-width:1100px){
  .unified-site-header{grid-template-columns:250px minmax(0,1fr)}
  .unified-site-header .classic-nav a{padding:0 9px;font-size:10px}
  .unified-news-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  .unified-site-header{grid-template-columns:1fr auto}
  .unified-site-header .classic-nav{padding:10px;justify-content:stretch}
  .unified-page-hero{margin:12px 10px 0;padding:38px 24px;border-radius:18px}
  .unified-page-hero h1{font-size:36px}
  .unified-content{padding:20px 10px 42px}
  .unified-news-grid{grid-template-columns:1fr}
  .unified-article-header{margin:12px 10px 0;padding:36px 0;border-radius:18px}
  .unified-article-narrow{width:min(100% - 28px,850px)}
  .site-footer-unified .footer-legal{flex-direction:column;gap:6px}
}
@media(max-width:520px){
  .unified-page-hero{padding:30px 18px}.unified-page-hero h1{font-size:31px}.unified-page-hero p{font-size:11px}
  .unified-news-card h2{font-size:18px}
  .unified-article-header h1{font-size:31px}
  .unified-article-body{font-size:12px}
}
.feedback-admin-footer{width:min(1120px,calc(100% - 34px));margin:0 auto;border-top:1px solid #e6dfd0;color:#8a9187}
@media(max-width:700px){.feedback-admin-footer{width:min(100% - 20px,1120px);flex-direction:column;gap:5px}}


/* ===== portal-bundle.css ===== */
/* Ký Ức Maple · Classic game portal R1.
 * Design inspired by the structure of early-2000s game portals.
 * Only uses assets already owned/provided by this website.
 * CSS is additive: existing news, feedback and PHP handlers stay intact.
 */
:root{--portal-blue:#3769bf;--portal-deep:#1a498f;--portal-line:#d3d9e2;--portal-cream:#f2f0e9;--portal-ink:#364151;--portal-shadow:rgba(38,69,120,.12)}
html{scroll-padding-top:90px}
.portal-theme{background:#efede6!important;color:#344358;font-family:"Be Vietnam Pro",Arial,sans-serif;font-size:13px;line-height:1.55}
.portal-theme a:focus-visible,.portal-theme button:focus-visible,.portal-theme input:focus-visible{outline:3px solid #efab27;outline-offset:2px}
.portal-theme .classic-shell{width:min(1196px,calc(100% - 28px));max-width:1196px;margin:0 auto;background:#fff!important;box-shadow:0 3px 24px rgba(56,72,93,.12)!important;border:1px solid #d4d6d3;border-top:0;border-radius:0!important;overflow:visible!important}
.portal-theme .portal-site-header,.portal-theme .portal-site-header.scrolled{height:auto!important;min-height:0!important;position:relative!important;display:block!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;z-index:100}
.portal-masthead{height:84px;display:flex;align-items:center;justify-content:space-between;padding:8px 18px 8px 24px;background:#f6f4ee}
.portal-brand{display:flex;align-items:center;gap:11px;min-width:0}
.portal-brand img{width:59px;height:59px;object-fit:cover;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px rgba(10,44,44,.20);flex:none}
.portal-brand-text{display:grid;gap:0;line-height:1.15}
.portal-brand-text strong{font-size:23px;letter-spacing:-.035em;line-height:1.18;font-weight:900;color:#286445;text-shadow:0 1px #fff}
.portal-brand-text small{font-size:9px;letter-spacing:.12em;font-weight:900;color:#ac8b47;margin-top:6px}
.portal-account-nav{display:flex;gap:9px;align-items:center}
.portal-account-nav a{min-width:96px;border-radius:5px;border:1px solid #dbd4b5;font-size:11px;font-weight:900;text-align:center;padding:8px 11px;line-height:1.2;color:#62491a;background:linear-gradient(#ffefb2,#f5be56);box-shadow:inset 0 1px rgba(255,255,255,.95),0 2px 0 #c99c38;text-shadow:0 1px #fff5c9}
.portal-account-nav .portal-top-signup{color:#fff;border-color:#48732d;background:linear-gradient(#8ed76b,#4ca93d);box-shadow:inset 0 1px rgba(255,255,255,.5),0 2px 0 #388432;text-shadow:0 1px 1px #386d29}
.portal-account-nav .portal-top-user{background:#e4f2da;border-color:#8bb280;color:#39774b;text-shadow:none}
.portal-menu-toggle{display:none!important}
.portal-theme .portal-nav-bar{height:54px;width:calc(100% - 14px);margin:0 auto;display:flex!important;justify-content:stretch;align-items:stretch;gap:0;padding:0!important;border:1px solid #1d4d9d;border-bottom:3px solid #255ab6;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#a8c4e9 0%,#668fd2 11%,#3e71c9 62%,#2459b6 100%);box-shadow:inset 0 2px 1px rgba(255,255,255,.66),0 3px 7px rgba(33,83,159,.13)}
.portal-theme .portal-nav-bar a{flex:1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px;border:0;border-right:1px solid rgba(10,46,116,.26);border-radius:0;background:transparent!important;color:#fafdff!important;font-size:11px;font-weight:850;white-space:nowrap;letter-spacing:.035em;text-shadow:0 1px 2px rgba(6,30,83,.85);transition:background .15s}
.portal-theme .portal-nav-bar a:last-child{border-right:0}
.portal-theme .portal-nav-bar a:after{display:none!important}
.portal-theme .portal-nav-bar a:hover,.portal-theme .portal-nav-bar a.active{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(19,49,120,.27))!important;color:#fff}
.portal-theme .portal-nav-bar .portal-nav-account{display:none}
.portal-breaking{margin:11px 15px 0;display:flex;min-height:35px;align-items:center;gap:10px;border:1px solid #d7e3f0;background:linear-gradient(180deg,#fbfdff,#f1f6ff);font-size:10px;color:#4b5968;border-radius:3px;padding:0 10px;overflow:hidden}
.portal-breaking-badge{font-weight:950;white-space:nowrap;color:#1b61bd;border-right:1px solid #c8d9ec;padding-right:10px}
.portal-breaking-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}
.portal-breaking>a{font-size:9px;font-weight:900;color:#4b82c0;white-space:nowrap}
.portal-columns{display:grid;grid-template-columns:200px minmax(0,1fr) 212px;align-items:start;gap:12px;padding:13px 15px 28px}
.portal-left,.portal-center,.portal-right{min-width:0;display:flex;flex-direction:column;gap:13px}
.portal-login-panel{border:1px solid #5a86c4;border-radius:5px;background:linear-gradient(165deg,#8fbded,#4782d2 48%,#3069c4);padding:9px 10px 10px;box-shadow:inset 1px 1px rgba(255,255,255,.6)}
.portal-login-label{text-align:center;font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 3px #18549a;padding:2px 0 7px}
.portal-login-label span{color:#ffe86d}
.portal-login-body{background:linear-gradient(180deg,#c5dcf5,#79a7dc);padding:12px 9px 11px;border:1px solid rgba(255,255,255,.5);border-radius:5px;text-align:center}
.portal-login-body>img{border-radius:50%;width:60px;height:60px;border:3px solid #e5f1fc;margin:0 auto 8px;box-shadow:0 3px 9px rgba(31,75,124,.25)}
.portal-login-body p{font-size:10px;line-height:1.55;color:#31538c;margin:0 0 11px}
.portal-login-body p strong{font-size:12px;color:#173e82}
.portal-side-button{display:flex;align-items:center;justify-content:center;min-height:40px;margin:7px 0;border:2px solid rgba(255,255,255,.84);border-radius:5px;color:#fff!important;font-size:12px;font-weight:950;letter-spacing:.03em;text-shadow:0 1px 1px rgba(10,49,101,.5);box-shadow:0 2px 0 rgba(31,65,116,.4),inset 0 1px 0 rgba(255,255,255,.55)}
.portal-side-button.blue{background:linear-gradient(#42cbff,#1682d3)}
.portal-side-button.green{background:linear-gradient(#8ce765,#4aaa3f)}
.portal-side-button:hover{filter:brightness(1.06)}
.portal-login-foot{font-size:8px;font-weight:750;color:#2f5889;display:block;padding-top:6px}
.portal-side-download{display:grid;gap:7px}
.portal-download-head{border-radius:4px;color:#3d597e;border:1px solid #c4d4e9;background:#e7f0ff;padding:7px 10px;font-size:11px;display:flex;justify-content:space-between;font-weight:900;letter-spacing:.07em}
.portal-download-head small{color:#6992be;font-size:9px}
.portal-download-tile{display:grid;grid-template-columns:37px minmax(0,1fr);gap:7px;align-items:center;min-height:69px;padding:9px 8px;border:2px solid #fff;outline:1px solid #c2a947;border-radius:5px;color:#fff!important;background:linear-gradient(180deg,#ffcf47,#fcae14);box-shadow:0 2px 2px rgba(49,61,81,.15);text-shadow:0 1px 1px rgba(105,69,22,.3)}
.portal-download-tile.secondary{background:linear-gradient(180deg,#36cfff,#039edb);outline-color:#6fb1cd;text-shadow:0 1px 1px #217895}
.portal-download-tile.is-disabled{cursor:not-allowed}
.portal-download-tile .portal-download-icon{height:37px;width:37px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.82);background:rgba(0,0,0,.09);font-size:24px;line-height:1;font-weight:900}
.portal-download-tile strong{font-size:11px;line-height:1.35;display:block;overflow-wrap:anywhere}
.portal-download-tile small{font-size:8px;font-weight:700;display:block;margin-top:3px;opacity:.9;line-height:1.4}
.portal-download-tile:not(.is-disabled):hover{filter:brightness(1.09)}
.portal-left-cards{display:grid;gap:7px}
.portal-mini-promo{display:grid;grid-template-columns:37px minmax(0,1fr) 12px;gap:8px;align-items:center;padding:8px 10px;color:#fff!important;min-height:56px;border:2px solid #fff;outline:1px solid #a4b1c4;border-radius:4px;box-shadow:0 2px 4px rgba(26,73,138,.10)}
.portal-mini-promo.purple{background:linear-gradient(#8893fa,#6260d6)}
.portal-mini-promo.sky{background:linear-gradient(#63cafa,#2993d7)}
.portal-mini-promo.orange{background:linear-gradient(#fac069,#e99229)}
.portal-mini-promo>span{font-family:Arial,sans-serif;font-size:25px;font-weight:bold;text-align:center;line-height:1}
.portal-mini-promo b{font-size:11px;line-height:1.28}
.portal-mini-promo small{display:block;font-size:8px;font-weight:550;margin-top:4px}
.portal-mini-promo i{font-size:21px;font-style:normal}
.portal-side-note{background:#f7f7f4;border:1px solid #e4e4da;border-radius:4px;padding:13px 12px;color:#8a8f98;display:grid;gap:5px}
.portal-side-note strong{color:#537dab;font-size:10px}.portal-side-note span{font-size:10px;line-height:1.6}
.portal-hero-card{border:4px solid #3a69bf;border-radius:7px;overflow:hidden;position:relative;box-shadow:0 1px 0 #173e8a;background:#82baf0}
.portal-hero-card>img{width:100%;height:auto;aspect-ratio:1710/651;object-fit:cover}
.portal-hero-footer{background:linear-gradient(180deg,#3767b0,#1d4c96);min-height:39px;padding:4px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.4);color:#fff}
.portal-hero-footer>span{font-size:9px;font-weight:850;text-shadow:0 1px 1px #173d88;letter-spacing:.045em}
.portal-hero-footer i{font-style:normal;color:#ffe17b}
.portal-hero-footer>a{font-size:9px;font-weight:950;letter-spacing:.02em;border:1px solid #ffdf82;color:#4b3615;background:linear-gradient(#fff4bd,#f8c846);padding:5px 10px;border-radius:4px;white-space:nowrap;box-shadow:inset 0 1px white}
.portal-hero-footer>a b{font-size:14px}
.portal-notice-strip{display:flex;align-items:center;gap:10px;min-height:38px;padding:7px 11px;border:1px solid #e3e7e9;background:linear-gradient(#f8fbfd,#f5f6f8);border-radius:4px;color:#64717e}
.portal-notice-strip span{color:#d07439;white-space:nowrap;font-size:10px;font-weight:950}
.portal-notice-strip p{margin:0;font-size:10px;line-height:1.6}
.portal-notice-strip strong{color:#3672ad}
.portal-section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}
.portal-box{min-width:0;background:#fff;border:1px solid #e0e3e4;border-radius:4px;padding:13px 13px 15px;box-shadow:0 1px 2px rgba(32,64,100,.035)}
.portal-box-heading{min-height:28px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:7px;border-bottom:2px solid #e8edf3;padding-bottom:8px}
.portal-box-heading h2{margin:0;font-weight:900;font-size:14px;letter-spacing:-.035em;color:#606266;line-height:1.2}
.portal-box-heading h2 em{font-style:normal;color:#2c79b5}
.portal-box-heading>a{font-size:8px;font-weight:900;color:#b46f32;white-space:nowrap}
.portal-list{display:grid;gap:0}
.portal-list>a,.portal-empty-line{min-height:33px;display:flex;align-items:center;gap:6px;border-bottom:1px solid #e8e8e8;font-size:9px;color:#67727e;min-width:0}
.portal-list>a:hover{background:#f2f7ff;color:#2a63a4}
.portal-list-title,.portal-empty-line>span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1}
.portal-list time{flex:none;color:#a9adb3;font-size:8px}
.portal-tag{flex:none;display:inline-flex;justify-content:center;align-items:center;min-width:31px;min-height:17px;padding:1px 4px;font-size:8px;font-weight:900;background:#8ba7c6;color:#fff;border-radius:2px;letter-spacing:0}
.portal-tag.new{background:#e28a49}.portal-tag.event{background:#a893c7;min-width:47px}
.portal-bottom-grid{margin-top:0}
.portal-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.portal-icon-grid>a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 5px;border:1px solid #ececef;border-radius:4px;background:#f9fafc;text-align:center;min-width:0;transition:background .15s}
.portal-icon-grid>a:hover{background:#eff4fc}
.portal-square-icon{width:47px;height:42px;border-radius:4px;display:grid;place-items:center;margin-bottom:4px;font-family:Arial,sans-serif;font-size:24px;font-weight:900;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.10)}
.portal-square-icon.peach{background:#f8a265}.portal-square-icon.yellow{background:#f9bd54}.portal-square-icon.mint{background:#74c5a4}.portal-square-icon.pale-blue{background:#6aace7}.portal-square-icon.lilac{background:#9a92e0}.portal-square-icon.pink{background:#db90b5}
.portal-icon-grid strong{font-size:10px;color:#496a91;white-space:nowrap}.portal-icon-grid small{font-size:8px;color:#9ca0a6;line-height:1.35}
.portal-community-band{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid #bddcb9;border-radius:4px;background:linear-gradient(90deg,#eaf8e7,#f7fef2);color:#4b7d54}
.portal-community-band span{font-size:8px;font-weight:900;white-space:nowrap}.portal-community-band strong{font-size:10px;flex:1}.portal-community-band a{font-size:9px;font-weight:900;color:#27654c;white-space:nowrap}
.portal-server-card{overflow:hidden;border:1px solid #5c87c3;border-radius:5px;background:#fff;box-shadow:0 2px 3px rgba(22,78,155,.08)}
.portal-side-title{background:linear-gradient(180deg,#a9c7ef,#5183cf);color:#fff;font-size:12px;font-weight:900;min-height:37px;padding:9px 10px;text-shadow:0 1px 2px #3563aa;display:flex;justify-content:space-between;align-items:center}
.portal-side-title small{color:#f8e7ab;font-size:10px}
.portal-server-scene{height:124px;position:relative;background-image:linear-gradient(180deg,rgba(18,103,166,.05),rgba(43,104,17,.08)),url('../images/portal-hero.webp');background-position:9% 45%;background-size:auto 215px;overflow:hidden}
.portal-server-chip{position:absolute;top:9px;left:8px;background:#fffce3;border:1px solid #a9ab71;color:#3d7447;box-shadow:0 2px 4px rgba(30,78,31,.14);font-size:9px;font-weight:900;padding:3px 7px;border-radius:3px}
.portal-server-state{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;background:#eff5fe;color:#446c9b;font-size:10px;font-weight:900;border-top:1px solid #d8e4f3;border-bottom:1px solid #dbe6f1}
.portal-server-indicator{height:9px;width:9px;border-radius:50%;background:#d3a74e;box-shadow:0 0 0 3px #fff4d7}
.portal-server-indicator.is-online{background:#55c878;box-shadow:0 0 0 3px #d9f6e1}
.portal-server-stats{margin:0;padding:8px 12px 11px}
.portal-server-stats>div{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px dashed #e5e8ef;padding:7px 0;line-height:1.2}
.portal-server-stats>div:last-child{border-bottom:0}
.portal-server-stats dt{font-size:9px;font-weight:700;color:#8994a4}
.portal-server-stats dd{font-size:9px;font-weight:900;color:#3973ad;text-align:right;margin:0}
.portal-promo-card{height:145px;position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;border:1px solid #6795a4;overflow:hidden;border-radius:5px;padding:14px;background-image:linear-gradient(90deg,rgba(20,75,130,.92),rgba(27,105,157,.38)),url('../images/portal-hero.webp');background-position:56% center;background-size:auto 207px;color:white!important;text-shadow:0 2px 5px rgba(14,43,88,.7)}
.portal-promo-card.promo-party{background-image:linear-gradient(90deg,rgba(41,112,58,.90),rgba(74,148,64,.25)),url('../images/portal-hero.webp');background-position:95% 44%;border-color:#8db08b}
.portal-promo-card span{font-size:8px;letter-spacing:.08em;font-weight:850;color:#ffebb6}.portal-promo-card strong{font-size:19px;font-weight:950;line-height:1.25;letter-spacing:-.03em}.portal-promo-card small{font-size:9px;font-weight:850}
.portal-promo-card:hover{filter:brightness(1.06)}
.portal-right-help{background:#f2f8ff;border:1px solid #d6e3f1;border-radius:4px;padding:13px}
.portal-right-help strong{font-size:11px;color:#396caa}.portal-right-help p{font-size:10px;line-height:1.7;color:#798fa6}.portal-right-help a{font-size:9px;color:#2863ae;font-weight:900}

/* Shared footer, news and other non-home pages */
.portal-theme .site-community-footer{margin:0 15px!important;padding:16px 18px!important;min-height:70px;border-radius:4px;background:linear-gradient(90deg,#3679bf,#20509a)!important;color:#fff!important;border:1px solid #b1c5df!important;gap:10px}
.portal-theme .site-community-footer strong{color:#fff!important;font-size:15px!important}
.portal-theme .site-community-footer span{color:#d7e9ff!important}
.portal-theme .site-community-footer .community-links a{color:#fff!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:4px!important;font-size:10px!important}
.portal-theme .site-footer-unified{padding:18px 18px 23px!important;background:#fff!important;color:#9a9a9a!important;min-height:0!important;border:0!important;text-align:center!important}
.portal-theme .site-footer-unified .footer-legal{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:9px}
.portal-theme .back-top{background:#3d77bd!important;border:1px solid white!important;color:white!important;z-index:90}
.portal-theme.unified-subpage .classic-shell,.portal-theme.feedback-page .classic-shell{background:#fff!important}
.portal-theme .unified-page-hero{background:linear-gradient(125deg,#3976be,#215398)!important;border-radius:5px!important}
.portal-theme .unified-page-hero h1{color:#fff!important}
.portal-theme .unified-content{min-height:450px}

/* Player forms: layout changes only, no logic changes. */
.portal-theme .player-account-main{padding:27px 23px 54px!important;min-height:580px;background:#f7f9fc}
.portal-auth-layout{display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1fr);gap:0;max-width:990px;margin:8px auto 8px;min-height:560px;border:1px solid #d6dfed;border-radius:7px;overflow:hidden;background:#fff;box-shadow:0 9px 26px rgba(35,77,119,.08)}
.portal-auth-visual{position:relative;min-height:560px;overflow:hidden;background:#76b5e7}
.portal-auth-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:34% center;filter:saturate(1.08)}
.portal-auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,44,89,.04) 0%,rgba(17,54,107,.32) 35%,rgba(8,45,94,.93) 100%)}
.portal-auth-visual-copy{position:absolute;left:28px;right:23px;bottom:70px;z-index:2;color:#fff;text-shadow:0 2px 4px rgba(9,38,85,.5)}
.portal-auth-visual-copy>span{font-size:10px;color:#ffe17c;letter-spacing:.14em;font-weight:950}
.portal-auth-visual-copy h2{font-family:"Baloo 2","Be Vietnam Pro",sans-serif;font-size:39px;line-height:1.1;margin:10px 0 8px;color:#fff;letter-spacing:-.02em}
.portal-auth-visual-copy p{font-size:11px;line-height:1.7;margin:0;color:#f1f6ff}
.portal-auth-visual-bottom{position:absolute;bottom:21px;left:28px;right:20px;color:#d4eaff;font-size:9px;font-weight:900;letter-spacing:.04em;z-index:2;border-top:1px solid rgba(255,255,255,.28);padding-top:13px}
.portal-theme .portal-auth-form-card.player-auth-card{width:100%!important;margin:0!important;padding:39px 41px 34px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#2e4364!important;align-self:stretch}
.portal-form-overline{font-size:9px;color:#4276bd;letter-spacing:.12em;font-weight:950;margin-bottom:8px}
.portal-auth-form-card h1{font-size:26px;line-height:1.25;letter-spacing:-.04em;margin:0 0 8px;color:#275caa;font-weight:900}
.portal-auth-lead{color:#8490a0;font-size:11px;margin:0 0 27px}
.portal-theme .player-form{gap:15px!important}
.portal-theme .player-form>label{font-size:11px!important;color:#3d5b80!important;font-weight:900!important;gap:7px!important}
.portal-theme .player-form>label>small{font-size:9px;color:#9aa4b0;font-weight:500;margin-left:4px}
.portal-theme .player-form input:not([type=checkbox]){border:1px solid #d6e1ef!important;border-radius:5px!important;background:#fbfdff!important;color:#233e5a!important;height:44px!important;padding:0 13px!important;font-size:12px!important;box-shadow:inset 0 1px 2px rgba(23,62,105,.02)}
.portal-theme .player-form input:not([type=checkbox]):focus-visible{outline:2px solid #81b1ec!important;border-color:#4e8ccd!important}
.portal-theme .portal-password-wrap{display:block;position:relative}
.portal-theme .portal-password-wrap input{padding-right:64px!important}
.portal-theme .portal-show-password{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:#e9f1fb;color:#537fb4;border-radius:3px;padding:5px 9px;cursor:pointer;font-size:10px;font-weight:800}
.portal-theme .player-submit{height:48px!important;margin-top:3px;border-radius:5px!important;border:1px solid #255da2!important;box-shadow:inset 0 1px 0 #80b9ff,0 2px 0 #164886!important;background:linear-gradient(#4f9bdd,#216cc0)!important;color:#fff!important;font-size:12px!important;font-weight:950!important;letter-spacing:.03em}
.portal-theme .player-submit span{font-size:19px;line-height:0;vertical-align:-1px}
.portal-theme .player-check{font-size:10px!important;font-weight:600!important;color:#6a778a!important;line-height:1.65}
.portal-theme .player-check input{margin-top:4px;accent-color:#2776bf}
.portal-theme .player-check a{color:#2774be;text-decoration:underline}
.portal-auth-switch{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;font-size:11px;color:#8290a0;margin:21px 0}
.portal-auth-switch a{color:#2476bb;font-weight:950}
.portal-auth-support{border-top:1px solid #e7edf3;padding-top:15px;display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;color:#8f9aa8;font-size:9px}
.portal-auth-support a{color:#4d85c0;font-weight:900}
.portal-theme .player-hint{font-size:10px!important;color:#909aa6!important;line-height:1.7!important;margin-top:17px}
.portal-theme .player-alert{border-radius:4px!important}
.portal-password-match{display:block;font-size:9px!important;color:#d2784e!important;min-height:0}
.portal-password-match:empty{display:none}.portal-password-match.matches{color:#349a61!important}
.portal-profile-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 auto 21px;max-width:1040px;background:linear-gradient(120deg,#498dcc,#2459a7);border:1px solid #25579b;border-radius:6px;padding:27px 28px;color:#fff}
.portal-profile-head span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#ffe5a1}.portal-profile-head h1{font-size:25px;margin:4px 0;color:#fff}.portal-profile-head p{font-size:11px;color:#e7f0ff;margin:0}
.portal-profile-head>a{padding:10px 16px;border-radius:4px;border:1px solid #d2ad53;background:linear-gradient(#ffe99c,#edb849);font-size:10px;color:#71521e;font-weight:950;white-space:nowrap}
.portal-theme .portal-profile-grid{max-width:1040px;width:100%;margin:auto;gap:17px}
.portal-theme .portal-profile-card{background:#fff!important;border:1px solid #dde5ed!important;border-radius:6px!important;margin:0!important;padding:24px!important;box-shadow:0 6px 15px rgba(33,76,125,.055)!important}
.portal-theme .portal-profile-card h2{font-family:"Be Vietnam Pro",Arial,sans-serif!important;font-size:14px!important;color:#3974ae!important;letter-spacing:.01em!important;border-bottom:1px solid #e6ecf3;padding-bottom:13px!important}
.portal-theme .portal-profile-card h3{font-size:12px!important;color:#5076a4!important}
.portal-theme .portal-profile-card .player-details{font-size:11px!important}
.portal-theme .portal-profile-card .player-character{font-size:11px!important}
.portal-theme .portal-profile-card .player-logout button{background:#ebf2fa;border-radius:5px;color:#3876bd;border:1px solid #c6d7ed}

@media(max-width:1100px){
 .portal-theme .classic-shell{width:100%!important;border:0!important}
 .portal-columns{grid-template-columns:186px minmax(0,1fr) 186px;padding:12px 11px 26px;gap:10px}
 .portal-theme .portal-nav-bar a{font-size:10px;padding:0 8px}
 .portal-box{padding:11px 9px 12px}.portal-box-heading h2{font-size:12px}
 .portal-list time{display:none}
 .portal-promo-card strong{font-size:17px}
}
@media(max-width:880px){
 .portal-columns{grid-template-columns:188px minmax(0,1fr);gap:11px}
 .portal-right{grid-column:1 / -1;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:stretch;gap:10px}
 .portal-right-help{display:none}
 .portal-server-card{grid-row:span 1}.portal-promo-card{height:auto;min-height:210px}
 .portal-server-scene{height:90px}.portal-server-stats{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
 .portal-masthead{padding:8px 15px}
 .portal-account-nav a{min-width:80px}
 .portal-auth-layout{grid-template-columns:.8fr 1fr}
 .portal-theme .portal-auth-form-card.player-auth-card{padding:32px 24px!important}
}
@media(max-width:680px){
 html{scroll-padding-top:75px}
 .portal-theme .classic-shell{border-radius:0!important;width:100%!important;overflow:visible!important}
 .portal-theme .portal-site-header,.portal-theme .portal-site-header.scrolled{position:sticky!important;top:0!important;z-index:100!important;background:#f6f4ee!important;box-shadow:0 2px 10px rgba(30,63,108,.18)!important}
 .portal-masthead{height:66px;padding:5px 10px 5px 11px}
 .portal-brand{gap:7px}.portal-brand img{width:45px;height:45px;flex:none}.portal-brand-text strong{font-size:16px}.portal-brand-text small{font-size:7px;letter-spacing:.025em;margin-top:3px}
 .portal-account-nav{margin-left:auto;margin-right:6px}.portal-account-nav a{min-width:0;font-size:9px;padding:7px 8px}.portal-account-nav .portal-top-login{display:none}
 .portal-theme .portal-menu-toggle{width:42px;height:46px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0!important;border:1px solid #d1dceb;border-radius:5px;margin:0!important;background:#ecf2fa}
 .portal-menu-toggle span{height:2px;width:19px;background:#346eb7!important;margin:0!important}
 .portal-theme .portal-nav-bar{display:none!important;position:absolute!important;top:66px!important;left:0!important;right:0!important;bottom:auto!important;width:100%!important;height:auto!important;max-height:calc(100vh - 68px)!important;overflow-y:auto;flex-direction:column;justify-content:initial;background:#376ec0!important;border:0!important;border-radius:0!important;box-shadow:0 10px 24px rgba(26,68,130,.24)!important;padding:6px!important}
 .portal-theme .portal-nav-bar.open{display:flex!important}
 .portal-theme .portal-nav-bar a{justify-content:flex-start;min-height:45px!important;flex:initial;width:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);font-size:11px!important;padding:0 15px!important}
 .portal-theme .portal-nav-bar .portal-nav-account{display:flex}
 .portal-breaking{margin:8px 9px 0;min-height:34px}
 .portal-columns{display:flex;flex-direction:column;padding:10px 9px 20px;gap:10px}
 .portal-center{order:1;width:100%;gap:10px}
 .portal-left{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
 .portal-right{order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
 .portal-login-panel{grid-row:span 2}.portal-side-download{align-self:start}
 .portal-left-cards{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .portal-mini-promo{grid-template-columns:1fr;justify-items:center;text-align:center;gap:5px;min-height:94px}
 .portal-mini-promo>span{font-size:21px}.portal-mini-promo i{display:none}.portal-mini-promo b{font-size:9px}.portal-mini-promo small{font-size:8px}
 .portal-side-note{grid-column:1/-1;display:none}
 .portal-server-card{grid-column:1/-1}
 .portal-server-scene{height:125px;background-size:cover;background-position:center center}
 .portal-server-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}
 .portal-promo-card{min-height:145px}
 .portal-hero-card{border-width:3px}.portal-hero-footer{min-height:39px;padding:6px}.portal-hero-footer>span{font-size:8px}.portal-hero-footer>a{font-size:8px;padding:5px 7px}
 .portal-notice-strip{padding:8px}
 .portal-section-grid{gap:9px}
 .portal-theme .site-community-footer{margin:0 9px!important}
 .portal-theme .site-footer-unified .footer-legal{justify-content:center;text-align:center}
 .portal-theme .player-account-main{padding:11px 9px 35px!important}
 .portal-auth-layout{display:flex;flex-direction:column;margin:0 auto;gap:0;max-width:540px;min-height:0}
 .portal-auth-visual,.portal-register-layout .portal-auth-visual{min-height:125px;max-height:125px}
 .portal-auth-visual>img{object-position:center 45%}
 .portal-auth-visual:after{background:linear-gradient(90deg,rgba(17,51,102,.88),rgba(17,51,102,.16))}
 .portal-auth-visual-copy{left:20px;bottom:20px}.portal-auth-visual-copy h2{font-size:24px;margin:3px 0}.portal-auth-visual-copy p{display:none}.portal-auth-visual-bottom{display:none}
 .portal-theme .portal-auth-form-card.player-auth-card{padding:27px 23px!important}
 .portal-profile-head{padding:20px 14px}.portal-profile-head h1{font-size:21px}.portal-profile-head>a{padding:8px;font-size:9px}
}
@media(max-width:460px){
 .portal-brand-text strong{font-size:15px}.portal-brand img{width:43px;height:43px}.portal-account-nav .portal-top-signup{font-size:8px;padding:7px 6px}
 .portal-section-grid{grid-template-columns:1fr}.portal-box{padding:12px 11px 13px}
 .portal-box-heading h2{font-size:13px}
 .portal-list>a,.portal-empty-line{min-height:35px;font-size:10px}
 .portal-hero-footer{flex-wrap:wrap;gap:5px;justify-content:center}.portal-hero-footer>span{flex-basis:100%;text-align:center}
 .portal-login-panel{grid-row:span 1}.portal-left{grid-template-columns:1fr 1fr}.portal-login-body{padding:8px 6px}.portal-login-body>img{width:40px;height:40px}.portal-login-body p{font-size:9px}.portal-side-button{font-size:10px;min-height:35px}
 .portal-download-head{font-size:10px}.portal-download-tile{grid-template-columns:28px minmax(0,1fr);gap:5px;min-height:63px;padding:6px 5px}.portal-download-tile .portal-download-icon{width:27px;height:27px;font-size:20px}.portal-download-tile strong{font-size:9px}.portal-download-tile small{font-size:7px}
 .portal-promo-card strong{font-size:15px}
 .portal-theme .portal-auth-form-card.player-auth-card{padding:25px 17px!important}
 .portal-profile-head{flex-wrap:wrap}
}
/* Desktop/tablet navigation must not inherit absolute mobile rules from V2. */
@media(min-width:681px){
 .portal-theme .portal-nav-bar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;flex-direction:row!important;max-height:none!important;overflow:visible!important}
}

/* Ký Ức Maple Portal R2: typography, responsive polish, and original pixel assets.
   Keep portal.css as R1 base, this layer changes presentation only. */
:root{--ky2-ink:#243b56;--ky2-blue:#306cb4;--ky2-gold:#f3c75f;--ky2-border:#cbd8e6}
.portal-theme{font-size:14px!important;color:var(--ky2-ink)!important;background:#eff1f1!important}
.portal-theme .classic-shell{max-width:1360px!important;width:min(1360px,calc(100% - 32px))!important;border-color:#dae0e5!important}
.portal-masthead{height:86px}
.portal-brand-text small{font-size:12px!important;letter-spacing:.06em;color:#785c2c!important;margin-top:5px}
.portal-account-nav a{font-size:13px!important;min-width:116px;padding:10px 16px!important}
.portal-theme .portal-nav-bar{height:55px;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#86afe1 0%,#5488c8 35%,#326eb6 100%);box-shadow:inset 0 1px rgba(255,255,255,.8);border-bottom:2px solid #2b5e9e}
.portal-theme .portal-nav-bar a{font-size:13px!important;font-weight:850;letter-spacing:0;text-shadow:0 1px 1px #22548d;transition:background .12s,color .12s}
.portal-theme .portal-nav-bar a.active{background:linear-gradient(180deg,#2b5da3,#214c8b)!important;color:#fff6c0!important;box-shadow:inset 0 -4px var(--ky2-gold)}
.portal-theme .portal-nav-bar a:hover{background:#275da3!important;color:#fff!important}
.portal-breaking{min-height:42px;font-size:12px;margin-top:12px}
.portal-breaking>a,.portal-breaking-badge{font-size:12px}
.portal-columns{grid-template-columns:222px minmax(0,1fr) 232px;gap:16px;padding:18px 18px 27px}
.portal-center,.portal-left,.portal-right{gap:16px}
.portal-login-panel{padding:10px}
.portal-login-label{display:flex;justify-content:center;gap:5px;align-items:center;font-size:13px;padding:2px 0 9px}
.portal-login-label img{width:22px;height:22px;image-rendering:pixelated;object-fit:contain}
.portal-login-body{padding:15px 10px}
.portal-login-body p{font-size:12px;color:#244c7d;margin-bottom:14px}
.portal-login-body p strong{font-size:14px}
.portal-side-button{font-size:13px;min-height:47px;gap:8px;letter-spacing:0}
.portal-side-button img{width:27px;height:27px;object-fit:contain;image-rendering:pixelated}
.portal-login-foot{font-size:12px;color:#285788;line-height:1.5;padding-top:12px}
.portal-login-foot a{color:#164888;text-decoration:underline;font-weight:900}
.portal-download-head{font-size:13px;padding:9px 12px}
.portal-download-head small{font-size:12px!important;color:#38689b}
.portal-download-coming{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;background:#f2f5f9;border:1px dashed #9aacc3;border-radius:7px;padding:17px 13px;color:#304966}
.portal-download-coming img{width:50px;height:50px;image-rendering:pixelated}
.portal-download-coming strong{font-size:14px;color:#325d83;line-height:1.3}
.portal-download-coming p{font-size:12px;color:#576c82;margin:0;line-height:1.6}
.portal-download-tile{grid-template-columns:42px minmax(0,1fr);min-height:75px;padding:11px;gap:8px}
.portal-download-tile .portal-download-icon{width:39px;height:39px;background:none;border:0;image-rendering:pixelated;object-fit:contain}
.portal-download-tile strong{font-size:13px}.portal-download-tile small{font-size:12px}
.portal-left-cards{gap:9px}
.portal-mini-promo{grid-template-columns:39px minmax(0,1fr) 10px;min-height:66px;gap:8px}
.portal-mini-promo img{width:39px;height:39px;image-rendering:pixelated}
.portal-mini-promo b{font-size:13px}.portal-mini-promo small{font-size:12px;margin-top:4px;line-height:1.35}
.portal-hero-card{border:3px solid #356cae}
.portal-hero-footer{min-height:77px;padding:12px 16px;gap:12px}
.portal-hero-footer>span{font-size:12px!important;letter-spacing:0;line-height:1.45}
.portal-hero-footer .portal-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:50px;padding:9px 15px;font-size:14px!important;font-weight:950;border:2px solid #fff2b5;border-radius:7px;color:#4c350a;background:linear-gradient(#ffe799,#f4b844);box-shadow:0 3px 0 #b17a2e,inset 0 1px #fff4c0;text-shadow:none;white-space:nowrap}
.portal-hero-cta img{height:30px;width:30px;image-rendering:pixelated}
.portal-hero-cta:hover{background:linear-gradient(#fff1ba,#f4c251)}
.portal-notice-strip p,.portal-notice-strip span{font-size:12px}
.portal-section-grid{gap:16px}
.portal-box{padding:17px 16px 20px;border-radius:6px}
.portal-box-heading{min-height:34px;padding-bottom:11px;margin-bottom:10px;border-bottom:2px solid #dae5f1}
.portal-box-heading h2{font-size:17px;font-weight:900;letter-spacing:0;color:#285b90}
.portal-box-heading>a{font-size:12px;color:#97501a}
.portal-list>a,.portal-empty-line{min-height:40px;font-size:12px;color:#33475c;gap:9px}
.portal-list time{font-size:12px;color:#5f7386}
.portal-tag,.portal-tag.event{font-size:11px;min-height:22px;min-width:45px;padding:3px 6px;background:#536f9e}
.portal-tag.new{background:#a95a27}
.portal-empty-state{display:grid;grid-template-columns:53px 1fr;gap:3px 12px;align-items:center;padding:12px 4px;color:#34465a}
.portal-empty-state img{width:50px;height:50px;grid-row:span 3;image-rendering:pixelated}
.portal-empty-state strong{font-size:14px;color:#2d6194}
.portal-empty-state p{font-size:12px;line-height:1.55;margin:2px 0;color:#526579}
.portal-empty-state a{font-size:12px;color:#a55b1d;font-weight:850;margin-top:5px}
.portal-feature-list{display:grid;gap:6px}
.portal-feature-list>div{min-height:51px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #e7edf3}
.portal-feature-list>div:last-child{border-bottom:0}
.portal-feature-list img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;flex:none}
.portal-feature-list span{display:grid;gap:2px;min-width:0}
.portal-feature-list strong{font-size:13px;color:#315b81;line-height:1.25}
.portal-feature-list small{font-size:12px;color:#52677b;line-height:1.4}
.portal-icon-grid{gap:10px}
.portal-icon-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-icon-grid>a{padding:12px 5px;gap:6px;border-radius:6px;min-height:139px;justify-content:flex-start}
.portal-square-icon{margin-bottom:1px;width:54px;height:50px;background:#eaf1fd!important;box-shadow:inset 0 0 0 1px #d9e5ee}
.portal-square-icon img{width:45px;height:45px;image-rendering:pixelated;object-fit:contain}
.portal-icon-grid strong{font-size:12px;color:#285681;white-space:normal;line-height:1.35}
.portal-icon-grid small{font-size:12px;color:#586a80;line-height:1.4}
.portal-side-title{font-size:14px;min-height:43px}
.portal-side-title span{display:flex;align-items:center;gap:6px}
.portal-side-title span img{width:24px;height:24px;image-rendering:pixelated}
.portal-side-title small{font-size:12px}
.portal-server-scene{height:148px;background-image:none;background-size:cover;background-position:center 45%;background-repeat:no-repeat}
.portal-server-state{min-height:48px;font-size:13px;background:#f4f8fd;color:#415b82}
.portal-server-stats{padding:12px 12px 6px}
.portal-server-stats>div{padding:10px 0}
.portal-server-stats dt,.portal-server-stats dd{font-size:12px;line-height:1.45}
.portal-server-stats dt{color:#496077}.portal-server-stats dd{color:#26619b}
.portal-server-caption{font-size:12px;color:#566d81;line-height:1.6;background:#f4f7fb;padding:12px;margin:4px 10px 11px;border-radius:4px}
.portal-server-caption a{color:#1b6eb4;text-decoration:underline;font-weight:850}
.portal-promo-card{height:177px;justify-content:flex-end;padding:15px;gap:5px;background-image:linear-gradient(180deg,rgba(11,43,78,.04),rgba(11,43,78,.67) 53%,rgba(9,33,61,.95));background-size:cover;background-position:center 40%}
.portal-promo-card.promo-party{background-image:linear-gradient(180deg,rgba(27,68,50,.05),rgba(19,67,42,.74) 52%,rgba(13,49,38,.96));background-size:cover;background-position:center 35%}
.portal-promo-card span{font-size:12px;color:#fff2bd;letter-spacing:0}
.portal-promo-card strong{font-size:20px;line-height:1.2}
.portal-promo-card small{font-size:12px;color:#fff}
.portal-theme .site-community-footer{margin:0 18px!important;padding:17px 20px!important}
.portal-theme .site-community-footer strong{font-size:16px!important}
.portal-theme .site-community-footer span{font-size:12px!important}
.portal-theme .site-community-footer .community-links a{font-size:12px!important;display:inline-flex;gap:6px;align-items:center}
.portal-theme .site-community-footer .community-links img{height:25px;width:25px;image-rendering:pixelated}
.portal-theme .site-footer-unified .footer-legal{font-size:12px!important;color:#506174!important;gap:10px 22px;align-items:center;justify-content:center}
.portal-theme .site-footer-unified{padding:21px 18px 27px!important}
.portal-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;font-size:12px}
.portal-footer-links a{font-weight:800;color:#245e9c!important;text-decoration:underline}
.portal-footer-disclaimer{font-size:12px;color:#566b81}
.portal-theme .player-account-main,.portal-theme .portal-auth-form-card.player-auth-card{font-size:14px!important}
.portal-form-overline,.portal-auth-visual-copy>span,.portal-auth-visual-bottom{font-size:12px}
.portal-auth-lead,.portal-theme .player-form>label,.portal-theme .player-form>label>small,.portal-auth-switch,.portal-auth-support,.portal-theme .player-hint,.portal-password-match{font-size:12px!important;color:#506781}
.portal-theme .player-form input:not([type=checkbox]){font-size:14px!important}
.portal-theme .portal-show-password{font-size:12px}
.portal-auth-visual-copy p{font-size:13px}
.portal-theme .portal-profile-card .player-details,.portal-theme .portal-profile-card .player-character,.portal-profile-head p,.portal-profile-head span{font-size:12px!important}
.portal-policy-body{max-width:960px;margin:0 auto;padding:25px 24px 38px}
.portal-policy-section{border-bottom:1px solid #e0e6ee;padding:14px 0}
.portal-policy-section h2{font-size:18px;color:#2c6098;margin:0 0 7px}
.portal-policy-section p,.portal-policy-contact{font-size:14px;line-height:1.75;margin:0;color:#42566c}
.portal-policy-contact{margin-top:23px}.portal-policy-contact a{color:#256ab3;font-weight:850}
/* Custom pointer is a locally authored pixel glove; client-exact cursor will replace it once extracted. */
@media(hover:hover) and (pointer:fine){
 body.portal-theme{cursor:url('../images/maple-icons/cursor-normal.png') 6 2,auto}
 .portal-theme a,.portal-theme button,.portal-theme summary,.portal-theme label[for],.portal-theme [role=button]{cursor:url('../images/maple-icons/cursor-link.png') 6 2,pointer}
 .portal-theme input,.portal-theme textarea{cursor:text}
}
@media(min-width:681px) and (max-width:1100px){
 .portal-columns{grid-template-columns:205px minmax(0,1fr) 210px;padding:13px;gap:11px}
 .portal-theme .portal-nav-bar a{font-size:12px!important;padding:0 6px}
 .portal-box{padding:13px 11px 17px}
 .portal-box-heading h2{font-size:15px}
}
@media(min-width:681px) and (max-width:900px){
 .portal-columns{grid-template-columns:200px minmax(0,1fr)}
 .portal-right{grid-column:1/-1;grid-template-columns:1.2fr 1fr 1fr;gap:11px}
 .portal-promo-card{height:auto;min-height:205px}
}
@media(max-width:680px){
 .portal-theme .classic-shell{width:100%!important;max-width:none!important}
 .portal-brand-text small{font-size:10px!important}
 .portal-account-nav a{font-size:12px!important;min-width:0;padding:9px 10px!important}
 .portal-theme .portal-nav-bar a{font-size:13px!important;min-height:49px!important}
 .portal-columns{display:flex;flex-direction:column;gap:13px;padding:13px 10px 24px}
 .portal-center{order:1;gap:12px}.portal-left{order:2;display:flex;flex-direction:column;gap:12px}.portal-right{order:3;display:flex;flex-direction:column;gap:12px}
 .portal-login-panel,.portal-side-download,.portal-left-cards,.portal-server-card{width:100%;grid-column:auto;grid-row:auto}
 .portal-left-cards{display:grid;grid-template-columns:1fr;gap:9px}
 .portal-mini-promo{display:grid;grid-template-columns:45px minmax(0,1fr) 20px;justify-items:stretch;text-align:left;min-height:65px;gap:10px}
 .portal-mini-promo img{width:42px;height:42px}.portal-mini-promo b{font-size:13px}.portal-mini-promo small{font-size:12px;line-height:1.3}
 .portal-mini-promo i{display:block}
 .portal-login-body>img{width:56px;height:56px}
 .portal-login-body p{font-size:12px}
 .portal-side-button{font-size:13px;min-height:46px}
 .portal-hero-footer{padding:11px 12px;min-height:85px;justify-content:center;flex-wrap:wrap}
 .portal-hero-footer>span{font-size:12px!important;flex-basis:100%;text-align:center}
 .portal-hero-footer .portal-hero-cta{font-size:14px!important;width:100%;min-height:49px}
 .portal-section-grid{grid-template-columns:1fr;gap:12px}
 .portal-box{padding:16px 14px}
 .portal-box-heading h2{font-size:16px}
 .portal-list>a,.portal-empty-line{font-size:12px;min-height:40px}
 .portal-server-scene{height:170px;background-position:center 50%}
 .portal-server-stats{grid-template-columns:1fr}
 .portal-promo-card{height:158px;min-height:158px}
 .portal-icon-grid>a{min-height:136px;padding:11px 5px}
 .portal-theme .site-community-footer{margin:0 10px!important}
 .portal-theme .portal-auth-form-card.player-auth-card{padding:25px 22px!important}
 .portal-policy-body{padding:20px 18px 34px}
}
@media(max-width:460px){
 .portal-theme .portal-nav-bar a{font-size:13px!important}
 .portal-brand-text strong{font-size:16px!important}
 .portal-account-nav{margin-right:6px}
 .portal-side-button{font-size:13px;min-height:46px}
 .portal-mini-promo{grid-template-columns:42px minmax(0,1fr) 10px}
 .portal-download-coming{min-height:170px}
 .portal-hero-footer{padding:9px 10px}
 .portal-box-heading h2{font-size:15px}
 .portal-icon-grid{gap:7px}
 .portal-icon-grid>a{padding:10px 4px}
 .portal-icon-grid strong,.portal-icon-grid small{font-size:12px}
 .portal-square-icon{width:46px;height:46px}.portal-square-icon img{width:41px;height:41px}
 .portal-empty-state{grid-template-columns:42px 1fr}.portal-empty-state img{width:42px;height:42px}
 .portal-theme .site-footer-unified .footer-legal{justify-content:center}
}

/* Ký Ức Maple R3 — exact sprites extracted from the owner's client WZ. */
@media (pointer:fine){
  body.portal-theme {cursor:url('../images/maple-icons/cursor-normal.png?v=3') 0 3,auto!important}
  .portal-theme a,.portal-theme button,.portal-theme summary,.portal-theme select,
  .portal-theme label[for],.portal-theme [role='button'] {cursor:url('../images/maple-icons/cursor-link.png?v=3') 1 3,pointer!important}
  .portal-theme input:not([type=button]):not([type=submit]),
  .portal-theme textarea {cursor:text!important}
  .portal-theme a[aria-disabled='true'],.portal-theme button:disabled{cursor:not-allowed!important}
}
.portal-theme img[src*='/maple-icons/']{
 image-rendering:pixelated;
 object-fit:contain;
 object-position:center;
}
.portal-theme .portal-square-icon img{width:36px;height:36px}
.portal-theme .portal-square-icon{display:grid;place-items:center}
.portal-theme .portal-mini-promo img{width:33px;height:33px;justify-self:center}
.portal-theme .portal-feature-list img{width:36px;height:36px}
.portal-theme .portal-hero-cta img{width:30px;height:30px}
.portal-theme .portal-side-button img{width:28px;height:28px}
.portal-theme .portal-login-label img,.portal-theme .portal-side-title img{width:27px;height:27px}
@media(max-width:600px){.portal-theme .portal-square-icon img{width:35px;height:35px}}


/* =============== R4: portal finishing pass =============== */
.portal-theme .portal-site-header .portal-nav-bar{background:linear-gradient(180deg,#568bc5,#376db2);box-shadow:inset 0 1px rgba(255,255,255,.6);}
.portal-theme .portal-nav-bar a{font-size:13px!important;letter-spacing:.008em}
.portal-theme .portal-nav-bar a.active{box-shadow:inset 0 -4px #ffd16a!important;color:#ffe89d!important;background:rgba(17,55,119,.36)!important}
.portal-theme .portal-nav-bar a:hover{background:rgba(19,64,135,.58)!important}
.portal-theme .portal-nav-bar a:focus-visible{outline-offset:-4px}
.portal-login-label img,.portal-side-title img,.portal-profile-head img,.portal-profile-card h2 img{image-rendering:pixelated;object-fit:contain}
.portal-profile-card h2{display:flex;align-items:center;gap:9px}
.portal-profile-head>a{display:flex;gap:7px;align-items:center;justify-content:center}
.portal-login-body p,.portal-login-foot,.portal-theme .portal-icon-grid small,.portal-feature-list small,.portal-server-caption{font-size:12px!important;line-height:1.6}
.portal-download-head a{color:#2761a4;text-decoration:underline;font-size:12px}
.portal-theme .portal-square-icon{width:54px;height:54px}
.portal-theme .portal-square-icon img{width:38px;height:38px;image-rendering:pixelated}
.portal-event-row{display:flex;gap:9px;align-items:center;text-decoration:none;color:inherit!important;min-height:55px;border-bottom:1px solid #e4ebf5}
.portal-event-row img{image-rendering:pixelated;width:36px;height:36px;flex:none;object-fit:contain}
.portal-event-row span{display:grid;gap:3px}
.portal-event-row strong{font-size:13px;color:#244f7e}
.portal-event-row small{font-size:12px;color:#58708a}
.portal-event-row:hover strong{text-decoration:underline}
.portal-events-note{font-size:12px;color:#60738a;margin:6px 0 0}
.portal-server-scene{background-image:none;background-position:center 42%}
.portal-server-state{padding:7px 10px;gap:7px}
.portal-server-state strong{font-size:12px}
.portal-promo-card{background-position:center 39%;}
.portal-promo-card.promo-party{background-position:center 45%;}
.portal-promo-card strong{text-shadow:0 2px 4px #0a203b}
.portal-theme .portal-hero-cta{min-height:55px;padding:10px 18px;font-size:15px!important}
.portal-mobile-start{display:none}
.portal-download-page-body{max-width:1000px;margin:0 auto;padding:25px 25px 50px;color:#344a60}
.portal-download-page-body>h2{font-size:21px;color:#27629b;display:flex;gap:10px;align-items:center;margin:0 0 17px}
.portal-download-page-body>h2 img,.portal-download-cards img,.portal-download-not-ready img{image-rendering:pixelated;object-fit:contain}
.portal-download-cards{display:grid;gap:11px;max-width:740px}
.portal-download-card{display:flex;align-items:center;gap:14px;border:1px solid #bfd6ed;border-radius:9px;background:#f3f8ff;padding:16px 17px;text-decoration:none;color:#26598d!important}
.portal-download-card:hover{background:#e8f3ff;box-shadow:0 2px 9px #bdd1e7}
.portal-download-card span{display:grid;gap:3px;flex:1}.portal-download-card strong{font-size:16px}.portal-download-card small{font-size:13px;color:#556e88}
.portal-download-card b{border-radius:5px;background:#ffca55;padding:9px;color:#48320a}
.portal-download-note,.portal-help-line{font-size:13px;line-height:1.6;color:#516880}
.portal-download-not-ready{display:flex;max-width:740px;gap:18px;align-items:center;background:#f4f7fc;border:1px dashed #9bafc6;border-radius:8px;padding:20px}
.portal-download-not-ready strong{font-size:17px;color:#31577e}.portal-download-not-ready p{font-size:13px;line-height:1.6;margin:8px 0}
.portal-download-not-ready a,.portal-install-grid a,.portal-help-line a{color:#256cb2;font-weight:800;text-decoration:underline}
.portal-install-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:26px 0}
.portal-install-grid>section{border:1px solid #d9e4f1;border-radius:7px;padding:19px;background:#fff;min-height:145px}
.portal-install-grid h3{font-size:16px;color:#29629d;margin:0 0 8px}.portal-install-grid p{font-size:13px;line-height:1.65;color:#516780;margin:0 0 10px}
.portal-theme .portal-site-header .portal-menu-toggle:focus-visible{outline:3px solid #ffc449}
.portal-theme .portal-login-panel,.portal-theme .portal-side-download,.portal-theme .portal-left-cards{margin:0}
.portal-theme .portal-left{gap:16px}
.portal-theme .portal-login-panel{min-height:240px}
.portal-theme .portal-side-button{min-height:49px}
.portal-theme .portal-left-cards{gap:10px}
.portal-theme .portal-mini-promo{min-height:64px}
.portal-theme .site-community-footer:target{outline:3px solid #edb94e;outline-offset:-3px}
@media(min-width:1600px){.portal-theme .classic-shell{max-width:1320px;width:min(1320px,calc(100% - 48px))}.portal-columns{grid-template-columns:238px minmax(0,1fr) 250px;gap:17px}.portal-hero-footer>span{font-size:13px!important}}
@media(min-width:681px) and (max-width:900px){.portal-theme .portal-left{gap:12px}}
@media(max-width:680px){
 .portal-theme .portal-nav-bar a{font-size:14px!important}
 .portal-mobile-start{display:grid;gap:9px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
 .portal-mobile-status{display:flex;gap:8px;align-items:center;background:#eaf4ff;border:1px solid #c5dbf0;border-radius:7px;padding:10px 12px;min-width:0}
 .portal-mobile-status strong{font-size:12px;color:#215588;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .portal-mobile-status>span:last-child{margin-left:auto;font-size:12px;color:#526f91}
 .portal-mobile-action{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;background:#f4bd4e;border:1px solid #c18b24;color:#513406!important;font-size:13px;font-weight:900;padding:0 11px;text-decoration:none}
 .portal-mobile-action b{font-size:19px}
 .portal-theme .portal-left{gap:12px}
 .portal-server-scene{height:165px}
 .portal-download-page-body{padding:20px 15px 32px}
 .portal-install-grid{grid-template-columns:1fr}
 .portal-install-grid>section{min-height:0}
 .portal-theme .portal-login-panel{display:none}
 .portal-theme .portal-hero-cta{min-height:54px}
}
@media(max-width:410px){.portal-mobile-start{grid-template-columns:1fr}.portal-mobile-action{min-height:44px}}

/* WZ art pass: keep the main hero but avoid reusing three cropped parts of it. */
.portal-theme .portal-promo-card.promo-quest{
    background-image:linear-gradient(180deg,rgba(18,48,86,.07),rgba(16,56,96,.47) 47%,rgba(10,30,65,.95) 94%),
        url('../images/wz-npc/guide-book.png'), radial-gradient(circle at 70% 26%,#fff2ad 0%,#b8e5ef 38%,#4f90b5 75%,#376d9e 100%);
    background-size:cover,145px auto,cover;background-position:center,right 16% top 8%,center;
    background-repeat:no-repeat;image-rendering:pixelated;
}
.portal-theme .portal-promo-card.promo-party{
    background-image:linear-gradient(180deg,rgba(30,37,67,.04),rgba(35,25,69,.49) 47%,rgba(16,30,67,.97) 95%),
        url('../images/wz-npc/party-wolf.png'),radial-gradient(circle at 67% 25%,#ecc6df 0%,#bcabd9 39%,#6573b3 70%,#46578d 100%);
    background-size:cover,170px auto,cover;background-position:center,right 12% top 5%,center;
    background-repeat:no-repeat;image-rendering:pixelated;
}
.portal-theme .portal-server-scene{
    background-image:linear-gradient(180deg,rgba(201,231,244,.0),rgba(42,129,163,.26)),
        url('../images/wz-npc/server-mushroom.png'),
        radial-gradient(circle at 50% 20%,#e1fcff,#8adad1 52%,#74bfa5 90%);
    background-size:cover,130px auto,cover;background-position:center,center 45%,center;
    background-repeat:no-repeat;image-rendering:pixelated;
}
.portal-theme .portal-mini-promo img[src*='/social/'],
.portal-theme .site-community-footer img[src*='/social/']{image-rendering:auto!important}
.portal-news-fallback{position:relative;display:flex;flex-direction:column;gap:12px;
    background:radial-gradient(circle at 55% 25%,#edf9ff 0%,#d5e8fb 48%,#a2c6e7 100%)!important;color:#2b5e91}
.portal-news-fallback img{width:72px!important;height:72px!important;image-rendering:pixelated!important;
    filter:drop-shadow(0 4px 3px rgba(28,73,101,.2))!important}
.portal-news-fallback span{max-width:90%;font-size:11px;font-weight:900;letter-spacing:.04em;
    text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-step-icon{width:22px;height:22px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;margin-right:5px}
.portal-form-overline{display:flex;align-items:center;gap:8px}
.portal-auth-title-icon{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}

/* R4 – consistent auth layout and accessible password controls. */
.portal-theme .portal-show-password{min-width:49px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;z-index:2}
.portal-theme .portal-show-password[aria-pressed="true"]{background:#d7e9fc;color:#1e5da2}
.portal-theme .portal-show-password:focus-visible{outline:2px solid #2b73c1;outline-offset:2px}
@media (max-width:680px){
  .portal-theme .portal-auth-layout{width:100%;max-width:540px}
  .portal-theme .portal-auth-visual{min-height:125px;max-height:125px}
}


/* R6 — concise live rankings in place of duplicate quick-action cards. */
.portal-theme .portal-ranking-grid{align-items:stretch}
.portal-theme .portal-rank-card{display:flex;flex-direction:column;min-height:330px;padding:17px 17px 13px;border-radius:8px;border:1px solid #dce5f1;box-shadow:0 2px 6px rgba(32,83,147,.045)}
.portal-theme .portal-rank-card .portal-box-heading{min-height:36px;margin-bottom:5px}
.portal-theme .portal-rank-card .portal-box-heading h2{font-size:17px;color:#275e96;letter-spacing:-.02em}
.portal-theme .portal-rank-card .portal-box-heading a{font-size:11px;color:#ae681b;text-decoration:none}
.portal-theme .portal-rank-card .portal-box-heading a:hover{text-decoration:underline}
.portal-rank-list{flex:1;min-width:0}
.portal-rank-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:49px;padding:7px 1px;border-bottom:1px solid #eaf0f7}
.portal-rank-row:last-child{border-bottom:0}
.portal-rank-number{font-size:12px;font-weight:900;min-width:25px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#edf3fa;color:#647b95;border:1px solid #dbe5f1}
.portal-rank-number.rank-1{background:#fff2cc;border-color:#eac56d;color:#976400}
.portal-rank-number.rank-2{background:#f1f5f9;border-color:#c9d6e4;color:#637788}
.portal-rank-number.rank-3{background:#faeadd;border-color:#e0b08b;color:#986244}
.portal-rank-person{display:flex;flex-direction:column;gap:2px;min-width:0}
.portal-rank-person strong{font-size:12px;color:#285782;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-rank-person small{font-size:10px;line-height:1.45;color:#73849a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-rank-score{flex-shrink:0;font-size:12px;color:#2b669e;white-space:nowrap;font-variant-numeric:tabular-nums}
.portal-rank-score small{font-size:9px;color:#788ba4}
.portal-rank-foot{padding-top:10px;margin-top:auto;border-top:1px solid #e9eff6;font-size:10px;color:#8a9bae;text-align:right}
.portal-ranking-message{display:flex;flex:1;min-height:200px;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:12px;line-height:1.8;color:#627b97;padding:18px 12px;margin:0}
.portal-ranking-message small{font-size:11px;line-height:1.6;color:#8c9caf}
.portal-ranking-page-body{max-width:1020px;margin:0 auto;padding:25px 25px 55px}
.portal-ranking-tabs{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.portal-ranking-tabs a{font-size:13px;font-weight:850;border:1px solid #c9daf0;border-radius:7px;padding:11px 19px;text-decoration:none;color:#2d639b;background:#f5f9ff}
.portal-ranking-tabs a:hover{background:#eaf3ff}
.portal-ranking-tabs a.active{color:#fff;background:#357abb;border-color:#2e6eae}
.portal-ranking-table-wrap{border:1px solid #dae4f1;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(32,76,140,.04)}
.portal-ranking-table-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:17px 20px;border-bottom:1px solid #e6edf6}
.portal-ranking-table-heading h2{font-size:19px;color:#2a609b;margin:0}
.portal-ranking-table-heading span{font-size:12px;color:#7a8ca3}
.portal-ranking-table{width:100%;border-collapse:collapse;font-size:13px;color:#445e79}
.portal-ranking-table thead{background:#f2f7fe;color:#57779b}
.portal-ranking-table th,.portal-ranking-table td{padding:12px 17px;border-bottom:1px solid #eaf0f6;text-align:left}
.portal-ranking-table th:first-child,.portal-ranking-table td:first-child{width:65px}
.portal-ranking-table td strong{font-size:13px;color:#2c5c91}
.portal-ranking-table tr:last-child td{border-bottom:0}
.portal-ranking-table-score{font-weight:850;color:#2c65a0!important;white-space:nowrap;font-variant-numeric:tabular-nums}
.portal-ranking-table .portal-rank-number{height:28px}
.portal-ranking-page-body .page-message{min-height:215px}
.portal-ranking-explain{font-size:12px;line-height:1.7;color:#71869e;margin:14px 1px}
.portal-ranking-back{display:inline-flex;margin-top:10px;font-size:13px;font-weight:850;color:#2869a9;text-decoration:none}
.portal-ranking-back:hover{text-decoration:underline}
@media(max-width:680px){
 .portal-theme .portal-rank-card{min-height:0;padding:16px 14px}
 .portal-rank-row{min-height:53px}
 .portal-ranking-page-body{padding:18px 12px 32px}
 .portal-ranking-table th,.portal-ranking-table td{padding:11px 9px;font-size:11px}
 .portal-ranking-table td strong{font-size:11px}
 .portal-ranking-tabs a{flex:1;text-align:center;padding:11px 8px}
}
@media(max-width:370px){.portal-ranking-table th:nth-child(3),.portal-ranking-table td:nth-child(3){display:none}}

@media(min-width:681px) and (max-width:820px){
  .portal-theme .portal-ranking-grid{grid-template-columns:minmax(0,1fr)}
  .portal-theme .portal-rank-card{min-height:0}
}


/* ===== account.css ===== */
/* Scoped to the player authentication pages. Existing website styling remains intact. */
.player-account-page{font-family:"Be Vietnam Pro",sans-serif;color:#244a35}
.player-account-main{padding-bottom:64px}
.player-auth-hero{margin:20px 16px 0;padding:40px 32px;border-radius:20px;background:linear-gradient(125deg,#24563d,#367e54);color:#fff;text-align:center}
.player-auth-hero>span{font-size:10px;font-weight:900;letter-spacing:.2em;color:#d6ec9c}
.player-auth-hero h1{font-family:"Baloo 2",sans-serif;font-size:42px;line-height:1.1;margin:8px 0}
.player-auth-hero p{margin:0;color:#eef4e8;font-size:13px}
.player-auth-card{width:min(540px,calc(100% - 32px));margin:22px auto 0;padding:30px;border:1px solid #e1ddcd;border-radius:20px;background:#fffdfa;box-shadow:0 16px 32px rgba(37,60,38,.07);color:#244a35}
.player-auth-card h2{font-size:21px;margin:0 0 15px;font-family:"Baloo 2",sans-serif;color:#25543b}
.player-auth-card h3{font-size:15px;margin:26px 0 12px;color:#25543b}
.player-form{display:grid;gap:16px}.player-form>label{display:grid;gap:7px;font-size:12px;font-weight:750}
.player-form input:not([type=checkbox]){display:block;width:100%;height:48px;padding:0 14px;border:1px solid #d6dccc;border-radius:12px;background:#fff;color:#243b2c;font:500 14px "Be Vietnam Pro",sans-serif}
.player-form input:focus-visible{outline:2px solid #71a371;outline-offset:2px}
.player-check{display:flex!important;align-items:flex-start;gap:10px!important;font-size:11px!important;line-height:1.6;font-weight:500!important}
.player-check input{margin-top:3px;accent-color:#2c7650}
.player-submit{height:48px;border:0;border-radius:12px;color:#fff;background:linear-gradient(#398c5c,#236f45);font:800 13px "Be Vietnam Pro",sans-serif;cursor:pointer}
.player-submit:hover{filter:brightness(1.07)}
.player-form-end{text-align:center;font-size:12px;color:#637469;margin:22px 0 0}
.player-form-end a,.player-logout button{color:#2f7653;font-weight:850}
.player-hint,.player-muted{font-size:11px;line-height:1.65;color:#657767}
.player-alert{padding:13px 14px;margin-bottom:17px;border-radius:11px;font-size:12px;line-height:1.6}
.player-alert.error{color:#8a3028;background:#fff1ec;border:1px solid #f0c6b7}
.player-alert.success{color:#25643d;background:#edf8ea;border:1px solid #c4dfbf}
.player-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(1060px,calc(100% - 32px));margin:0 auto}
.player-account-grid .player-auth-card{width:100%;margin-top:22px}
.player-details{margin:0}.player-details>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #ebebe1;font-size:12px}
.player-details dt{color:#71806f}.player-details dd{margin:0;font-weight:800;overflow-wrap:anywhere;text-align:right}
.player-character{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ebebe1;font-size:12px}
.player-character span{color:#687968;font-size:11px}
.player-logout{margin-top:26px}.player-logout button{border:1px solid #c6d4c7;padding:10px 16px;border-radius:10px;background:#f1f7ef;cursor:pointer}
.account-cta{display:flex;align-items:center;justify-content:center;text-decoration:none!important;text-align:center}
@media(max-width:740px){.player-account-grid{grid-template-columns:1fr}.player-account-grid .player-auth-card{margin-top:14px}.player-auth-hero{margin:10px 8px 0;padding:30px 16px}.player-auth-hero h1{font-size:32px}.player-auth-card{width:calc(100% - 16px);padding:20px}.player-account-grid{width:calc(100% - 16px)}}


/* ===== account-profile.css ===== */
/* Profile R8 – player-facing character and wallet display only. */
.portal-theme .portal-dashboard-top{max-width:1040px;margin:0 auto;align-items:stretch}
.portal-theme .portal-dashboard-top>.portal-profile-card{margin:0!important}
.portal-theme .portal-wallet-title{margin:24px 0 12px!important;font-weight:900;letter-spacing:.035em}
.portal-wallet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.portal-wallet-stat{min-width:0;min-height:82px;padding:12px 10px;border:1px solid #dbe5f1;background:#f4f8fd;border-radius:6px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.portal-wallet-stat>span{font-size:10px;font-weight:850;letter-spacing:.03em;color:#6381a0}
.portal-wallet-stat>strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:#255c99}
.portal-wallet-stat.prepaid{background:#fff9e9;border-color:#f2dfac}.portal-wallet-stat.prepaid strong{color:#b0741e}
.portal-wallet-stat.points{background:#f1faf5;border-color:#cfe9d9}.portal-wallet-stat.points strong{color:#368460}
.portal-character-section{width:min(1040px,100%);margin:22px auto 0}
.portal-character-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;border-bottom:1px solid #dbe6f2;padding:0 2px 11px}
.portal-character-section-head div>span{font-size:10px;font-weight:900;letter-spacing:.07em;color:#6d90b2}
.portal-character-section-head h2{margin:3px 0 0;font-size:20px;color:#2b65a5}
.portal-character-count{white-space:nowrap;font-weight:750;font-size:11px;color:#587a9e;background:#ecf3fc;border:1px solid #d9e7f7;padding:6px 10px;border-radius:30px}
.portal-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-character-card{min-width:0;background:#fff;border:1px solid #dae5f1;border-radius:8px;padding:16px;box-shadow:0 3px 12px rgba(35,76,122,.045)}
.portal-character-main{display:flex;gap:16px;align-items:center;padding-bottom:13px;border-bottom:1px solid #ebf0f6}
.portal-character-avatar{position:relative;display:grid;place-items:center;flex:0 0 118px;width:118px;height:123px;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#e5f5fd,#e8effc 62%,#d9e8fb);border:1px solid #c9dced}
.portal-character-avatar:before{position:absolute;content:'';inset:auto 14px 11px;height:13px;border-radius:50%;background:#bdd4e9;filter:blur(5px)}
.portal-character-avatar-fallback{position:absolute;width:58px;height:58px;object-fit:contain;image-rendering:pixelated;opacity:.8}
.portal-character-avatar-image{position:absolute;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 1px rgba(62,93,123,.14))}
.portal-character-identity{min-width:0;flex:1;display:flex;align-items:flex-start;flex-direction:column;gap:5px}
.portal-character-identity>strong{color:#245d97;font-size:17px;font-weight:950;max-width:100%;overflow-wrap:anywhere}
.portal-character-identity>span{font-size:12px;font-weight:650;color:#6d839c}
.portal-character-identity small{font-size:10px;color:#7795b0;line-height:1.5;overflow-wrap:anywhere}
.portal-character-level{font-size:11px;font-weight:950;color:#92631d;background:#fff5d6;border:1px solid #f0dba3;border-radius:5px;padding:3px 9px}
.portal-character-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
.portal-character-stat{padding:9px 12px;border-radius:5px;border:1px solid #e1ebf4;background:#f8fbff;display:flex;flex-direction:column;gap:4px;min-width:0}
.portal-character-stat span{font-size:9px;font-weight:850;letter-spacing:.065em;color:#738aa1}
.portal-character-stat strong{font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;color:#2e6091;overflow-wrap:anywhere}
.portal-character-stat.primary{background:#fffcf3;border-color:#f0e2ba}
.portal-character-stat.primary strong{color:#a87521}
.portal-character-details{margin-top:12px;border-top:1px solid #e8eef4;padding-top:8px}
.portal-character-details summary{cursor:pointer;font-size:11px;font-weight:850;color:#417dbb;list-style-position:inside}
.portal-character-attributes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.portal-character-attributes span{border-radius:4px;padding:6px 8px;background:#f1f6fc;color:#6c8095;font-size:10px;display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}
.portal-character-attributes b{color:#265b96;font-size:11px;overflow-wrap:anywhere}
.portal-character-empty{padding:24px;border:1px solid #e0e9f4;border-radius:6px;background:#f9fbff;color:#6583a2;text-align:center}
@media(max-width:740px){.portal-theme .portal-dashboard-top{gap:13px}.portal-character-section{margin-top:16px}.portal-character-grid{grid-template-columns:1fr}}
@media(max-width:440px){.portal-wallet-grid{gap:6px}.portal-wallet-stat{padding:9px 7px;min-height:72px}.portal-wallet-stat>span{font-size:8px}.portal-wallet-stat>strong{font-size:12px}.portal-character-card{padding:12px}.portal-character-avatar{flex-basis:102px;width:102px;height:110px}.portal-character-main{gap:12px}.portal-character-attributes{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the placeholder portrait out of successfully rendered character sprites. */
.portal-character-avatar.is-avatar-loaded .portal-character-avatar-fallback{display:none}
.portal-character-avatar-image[hidden]{display:none!important}
.portal-character-avatar:not(.is-avatar-loaded) .portal-character-avatar-image{visibility:hidden}
.portal-character-avatar.is-avatar-loaded .portal-character-avatar-image{visibility:visible}


/* ===== account-avatar-r88.css ===== */
/* Ký Ức Maple – Character Cards R8.8 */
.portal-character-section{margin-top:28px}
.portal-character-section .portal-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.portal-character-section .portal-character-card{min-width:0;padding:20px;background:#fff;border:1px solid #dce6f2;border-radius:14px;box-shadow:0 3px 14px rgba(24,55,95,.035);transition:border-color .18s ease,box-shadow .18s ease}
.portal-character-section .portal-character-card:hover{border-color:#c4d8ed;box-shadow:0 6px 20px rgba(24,55,95,.065)}
.portal-character-section .portal-character-main{display:flex;align-items:center;gap:18px;min-width:0;padding-bottom:16px}
.portal-character-section .portal-character-avatar{position:relative;flex:0 0 148px;width:148px;height:154px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(145deg,#e9f4ff,#dceafb);border:1px solid #c7daf0;border-radius:12px}
.portal-character-section .portal-character-avatar-image{position:relative;inset:auto;display:block;width:auto;height:auto;max-width:96%;max-height:96%;object-fit:contain;image-rendering:crisp-edges;image-rendering:pixelated}
.portal-character-section .portal-character-identity{flex:1;min-width:0}
.portal-character-section .portal-character-identity>strong{display:block;margin-bottom:7px;color:#215a9b;font-size:21px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.portal-character-section .portal-character-identity>span{display:block;margin-bottom:8px;color:#6381a8;font-size:14px;font-weight:600}
.portal-character-section .portal-character-level{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:6px 11px;color:#96610e;background:#fff4d9;border:1px solid #f2dba6;border-radius:7px;font-size:13px;font-weight:800;white-space:nowrap}
.portal-character-section .portal-character-identity small{display:block;margin-top:9px;color:#6882a1}
.portal-character-section .portal-character-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:16px;border-top:1px solid #e7edf5}
.portal-character-section .portal-character-stat{min-width:0;padding:14px 15px;background:#f7faff;border:1px solid #e0eaf5;border-radius:8px}
.portal-character-section .portal-character-stat.primary{background:#fffbf2;border-color:#f4e0b5}
.portal-character-section .portal-character-stat span{display:block;margin-bottom:7px;color:#7790ac;font-size:11px;font-weight:800;letter-spacing:.5px}
.portal-character-section .portal-character-stat strong{display:block;color:#245b9d;font-size:19px;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.portal-character-section .portal-character-stat.primary strong{color:#b47b22}
.portal-character-section .portal-character-details{margin-top:15px;padding-top:14px;border-top:1px solid #e7edf5}
.portal-character-section .portal-character-details summary{cursor:pointer;color:#3279c1;font-size:13px;font-weight:700;transition:color .15s ease}
.portal-character-section .portal-character-details summary:hover{color:#17558e}
.portal-character-section .portal-character-details summary:focus-visible{outline:2px solid #3279c1;outline-offset:4px;border-radius:3px}
.portal-character-section .portal-character-attributes{padding-top:14px}
@media(max-width:900px){.portal-character-section .portal-character-grid{grid-template-columns:1fr}}
@media(max-width:520px){.portal-character-section{margin-top:22px}.portal-character-section .portal-character-grid{gap:12px}.portal-character-section .portal-character-card{padding:14px;border-radius:12px}.portal-character-section .portal-character-main{gap:13px}.portal-character-section .portal-character-avatar{flex-basis:104px;width:104px;height:116px;border-radius:10px}.portal-character-section .portal-character-identity>strong{font-size:18px}.portal-character-section .portal-character-identity>span{font-size:12px}.portal-character-section .portal-character-stat{padding:12px}.portal-character-section .portal-character-stat strong{font-size:16px}}
@media(max-width:340px){.portal-character-section .portal-character-stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.portal-character-section .portal-character-card,.portal-character-section .portal-character-details summary{transition:none}}


/* ===== KyUcMaple: compact member card (guest + signed-in) ===== */
.portal-theme .portal-member-card{
  min-height:0;
  padding:9px 10px 10px;
}
.portal-theme .portal-member-card .portal-login-label{
  padding:3px 0 8px;
  font-size:12px;
  line-height:1.35;
}
.portal-theme .portal-member-card .portal-member-body{
  padding:16px 10px 13px;
  text-align:center;
}
.portal-theme .portal-member-body .portal-member-message{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  margin:0;
  color:#31538c;
  font-size:11px!important;
  line-height:1.55;
}
.portal-theme .portal-member-body .portal-member-message strong{
  display:block;
  color:#173e82;
  font-size:13px;
  line-height:1.4;
  font-weight:850;
}
.portal-theme .portal-member-body .portal-member-message span{
  display:block;
  overflow-wrap:anywhere;
}
.portal-theme .portal-member-body .portal-side-button{
  min-height:41px;
  margin:14px 0 0;
  padding:7px 4px;
  font-size:11px;
  text-decoration:none;
}
.portal-theme .portal-member-body .portal-login-foot{
  display:block;
  padding-top:10px;
  font-size:10px!important;
  line-height:1.5;
}
.portal-theme .portal-member-body .portal-login-foot a{
  color:#164888;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media (min-width:681px) and (max-width:900px){
  .portal-theme .portal-member-body .portal-member-message strong{font-size:12px}
  .portal-theme .portal-member-body .portal-side-button{font-size:10px}
}

/* ===== Ranking R2: actual MapleStory character preview ===== */
.portal-ranking-table .portal-ranking-player-cell{padding-top:7px;padding-bottom:7px}
.portal-ranking-player{display:flex;align-items:center;gap:12px;min-width:0}
.portal-ranking-player-portrait{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 69px;width:69px;height:76px;overflow:hidden;border:1px solid #d5e3f3;border-radius:10px;background:linear-gradient(155deg,#edf8ff 0%,#e6f1fb 70%,#dfecfa 100%)}
.portal-ranking-player-portrait:before{content:'';position:absolute;z-index:0;bottom:6px;left:16%;width:68%;height:9px;border-radius:50%;background:#b7cfe4;filter:blur(4px)}
.portal-ranking-player-fallback{position:absolute;z-index:0;width:32px;height:32px;object-fit:contain;image-rendering:pixelated;opacity:.68}
.portal-ranking-player-image{position:relative;z-index:1;display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 1px rgba(57,85,118,.18))}
.portal-ranking-player-image[hidden]{display:none!important}
.portal-ranking-table td .portal-ranking-player-name{min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.45}
@media(max-width:680px){
 .portal-ranking-player{gap:7px}
 .portal-ranking-player-portrait{flex-basis:53px;width:53px;height:60px;border-radius:8px}
 .portal-ranking-player-fallback{width:27px;height:27px}
 .portal-ranking-table td .portal-ranking-player-name{font-size:11px}
}
@media(max-width:420px){
 .portal-ranking-player{gap:5px}
 .portal-ranking-player-portrait{flex-basis:44px;width:44px;height:53px}
 .portal-ranking-table th,.portal-ranking-table td{padding-left:6px;padding-right:6px}
}

/* ===== Ranking R3: ảnh nhân vật không có thẻ nền / bóng icon chồng ===== */
.portal-ranking-player-portrait{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.portal-ranking-player-portrait::before{display:none!important}
.portal-ranking-player-fallback[hidden]{display:none!important}
.portal-ranking-player-image{filter:none}
