@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;900&display=swap');
:root{--ink:#18243b;--muted:#748099;--cream:#fffaf2;--pink:#fb5cb4;--violet:#8258e8;--blue:#50c6f8;--gold:#ffbd4f}*{box-sizing:border-box}html,body{margin:0}body{font-family:'DM Sans','Noto Sans SC','Microsoft YaHei',sans-serif}button,a{font:inherit}a{text-decoration:none}button{cursor:pointer}
.admin-body{background:#f5f3fc;color:var(--ink);min-height:100vh}.admin-head{height:92px;display:flex;align-items:center;gap:18px;padding:0 clamp(22px,4.2vw,72px);background:#fff;box-shadow:0 5px 30px #3f347713;position:sticky;top:0;z-index:5}.brand-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:27px;font-weight:900;color:white;background:linear-gradient(140deg,#ff68ae,#7b61e8);box-shadow:0 8px 20px #de81d777}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.21em;color:#9676da}.admin-head h1{font-size:19px;margin:2px 0 0;letter-spacing:.02em}.admin-head nav{margin-left:auto;display:flex;align-items:center;gap:8px}.admin-head nav a{padding:11px 15px;color:#616c82;border-radius:12px;font-weight:700;font-size:13px}.admin-head nav a:hover,.admin-head nav a.active{background:#f0eafb;color:#744bc7}.admin-main{max-width:1440px;margin:auto;padding:34px clamp(22px,4.2vw,72px) 72px}.hero-panel{min-height:342px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:42px 60px;border-radius:28px;background:radial-gradient(circle at 80% 20%,#8e7dff 0,transparent 27%),linear-gradient(120deg,#32235e 0%,#6445b0 50%,#b34da6 100%);box-shadow:0 25px 60px #6b4ab43b;position:relative;color:white}.hero-panel:after{content:'';position:absolute;inset:auto -10% -55% 40%;height:120%;border-radius:50%;background:#ffffff0a;transform:rotate(-20deg)}.hero-panel>*{position:relative;z-index:1}.hero-panel .eyebrow{color:#fbc7f2}.hero-panel h2{margin:13px 0 10px;font-size:clamp(32px,4vw,53px);line-height:1.18;letter-spacing:-.04em}.hero-panel h2 em{font-style:normal;color:#ffdb70}.hero-panel p{font-size:14px;color:#f0eafd}.hero-actions{display:flex;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:12px;font-size:13px;font-weight:800}.button.primary{background:#ffce66;color:#42265c;box-shadow:0 7px 22px #ffca6370}.button.ghost{border:1px solid #ffffff7a;color:#fff}.hero-orbit{width:310px;height:270px;flex:none;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #ffffff5c;border-radius:50%;width:295px;height:130px;transform:rotate(-22deg)}.orbit-b{transform:rotate(43deg)}.hero-coin{position:relative;width:195px;height:195px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:106px;font-weight:900;color:#8f4691;background:radial-gradient(circle at 30% 20%,#fff6c2,#ffd770 45%,#f5a645 75%,#c66a52);border:12px solid #ffe8a0;box-shadow:inset 0 0 0 6px #e59d52,0 20px 60px #2c124ea8,0 0 58px #fff2a5b0;transform:rotate(-12deg);animation:bob 4s ease-in-out infinite}.hero-coin span{font-size:42px;align-self:flex-end;margin-bottom:48px}.spark{position:absolute;color:#ffe191;font-size:32px;font-style:normal}.spark.one{top:5px;left:25px}.spark.two{right:12px;top:55px}.spark.three{bottom:6px;left:66px}@keyframes bob{50%{transform:translateY(-13px) rotate(-7deg)}}
.status-row{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.pill{border-radius:999px;background:#fff;padding:9px 14px;font-size:12px;font-weight:700;color:#526074;border:1px solid #eceaf6}.pill.warning{color:#9b5d0d;background:#fff4df;border-color:#f5d99d}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;border:1px solid #edeaf4;border-radius:20px;padding:24px;box-shadow:0 8px 28px #46416d0d}.stat-card>span{font-size:13px;color:#718098;font-weight:700}.stat-card div{margin:18px 0 7px}.stat-card strong{font-size:37px;line-height:1;font-weight:900;letter-spacing:-.05em}.stat-card em{font-style:normal;font-size:13px;margin-left:6px;font-weight:700;color:#8a6ed1}.stat-card small{color:#a4aabd;font-size:11px}.stat-card.tone-1 strong{color:#d66cab}.stat-card.tone-2 strong{color:#6a76dd}.stat-card.tone-3 strong{color:#40a6bd}.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px}.panel{background:#fff;border:1px solid #edeaf4;border-radius:20px;padding:26px;box-shadow:0 8px 28px #46416d0d}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-title h3{margin:5px 0 0;font-size:20px}.panel-title>span,.panel-title>a{color:#8b6fc8;font-size:12px;font-weight:800}.teacher-grid{display:grid;gap:12px}.teacher-card{display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:15px;background:#f8f6fd}.teacher-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#ffe3f0;color:#d95a99;font-size:21px;font-weight:900}.teacher-1 .teacher-avatar{background:#e6e8ff;color:#686de2}.teacher-2 .teacher-avatar{background:#ddf5ff;color:#33a7c8}.teacher-info{display:flex;flex-direction:column;gap:3px}.teacher-info strong{font-size:14px}.teacher-info span{font-size:11px;color:#8e96a8}.teacher-coins{margin-left:auto;font-size:22px;font-weight:900;color:#453364}.teacher-coins small{display:block;text-align:right;font-size:10px;color:#9b89be}.check-list{display:grid;gap:9px}.check-item{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:#fff8e8;color:#a26d1b;font-size:12px}.check-item.is-ok{background:#eefaf1;color:#338659}.check-item span{font-weight:900}.check-item p{margin:0}.check-note{border-top:1px solid #eeeaf6;margin-top:17px;padding-top:15px;color:#687389;font-size:12px;line-height:1.7}.check-note strong{color:#26344a}.check-note p{margin:4px 0 0}.ledger-panel{margin-top:16px}.muted{color:#8791a4;font-size:12px;line-height:1.6;margin-top:-7px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}.ledger-panel th{text-align:left;background:#f7f6fb;color:#8b95a9;font-size:11px;padding:13px}.ledger-panel td{border-bottom:1px solid #f0eef6;padding:13px;font-size:12px;color:#3e4a5e}.ledger-panel td strong{font-size:13px}.ledger-panel td small{display:block;color:#9da6b6;margin-top:3px}.coin-text{font-weight:900;color:#d58424!important}.status-tag{display:inline-block;background:#fff2dc;border-radius:999px;padding:5px 9px;color:#a56a23;font-size:10px;font-weight:800}
.print-body{background:#e6e4e0;color:#172535}.print-toolbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#192638;color:#fff;padding:12px 24px;box-shadow:0 8px 30px #0002}.print-toolbar strong{display:block}.print-toolbar span{display:block;color:#aab6c6;font-size:11px;margin-top:2px}.print-toolbar a{color:#d5e0ec;font-size:12px;margin-right:18px}.print-toolbar button{background:#ffd375;color:#233245;border:0;border-radius:8px;padding:9px 16px;font-weight:800}.paper{background:#fff;width:210mm;min-height:297mm;padding:12mm 13mm 11mm;margin:16px auto;box-shadow:0 6px 28px #1826372b;display:flex;flex-direction:column;break-after:page;page-break-after:always}.paper-top{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #253b4f;padding-bottom:7mm}.paper-brand{display:flex;align-items:center;gap:12px}.paper-logo{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f5c95f;color:#493a1e;font-weight:900;border:3px double #9c742a}.paper-brand small{font-size:8px;letter-spacing:.2em;color:#73839a;font-weight:800}.paper-brand h1{font-size:18px;margin:3px 0 0}.paper-batch{text-align:right}.paper-batch strong{display:block;font-size:19px}.paper-batch span{font-size:9px;color:#708095}.paper-summary{display:grid;grid-template-columns:1.15fr 1.55fr 1fr 1.2fr;background:#f3f7fa;border:1px solid #dce5ed;border-radius:6px;margin:6mm 0;padding:3mm}.paper-summary>div{border-right:1px solid #d7e0e8;padding:1mm 3mm}.paper-summary>div:last-child{border:0}.paper-summary label{display:block;color:#708198;font-size:8px}.paper-summary strong{display:block;margin-top:2px;font-size:10px}.paper-class{margin-bottom:5mm;break-inside:avoid;page-break-inside:avoid}.paper-class-head{display:flex;justify-content:space-between;align-items:center;background:#eaf1f5;border-left:4px solid #2f6479;padding:2.5mm 3mm;margin-bottom:1mm}.paper-class-head h2{font-size:11px;margin:0}.paper-class-head span{font-size:9px;color:#466475;font-weight:800}.paper table{table-layout:fixed;font-size:9px}.paper th{background:#f4f7f8;color:#60778a;border-bottom:1px solid #bed0d9;padding:2mm 1mm}.paper td{text-align:center;border-bottom:1px solid #d8e2e6;padding:2mm 1mm}.paper th:nth-child(1){width:8%}.paper th:nth-child(2){width:19%}.paper th:nth-child(3),.paper th:nth-child(4){width:10%}.paper th:nth-child(5){width:13%}.paper th:nth-child(6){width:13%}.paper th:nth-child(7){width:15%}.paper th:nth-child(8){width:12%}.paper td:nth-child(2){text-align:left;font-weight:700}.paper-coin{font-weight:900;color:#5a4617}.sign-cell{height:7mm}.paper-bottom{margin-top:auto;border-top:1px solid #9eb0bc;padding-top:4mm}.paper-bottom>div{display:flex;gap:22mm;font-size:9px;margin-bottom:3mm}.paper-bottom small{display:block;font-size:7px;color:#718194;line-height:1.4}@page{size:A4;margin:0}@media print{.print-toolbar{display:none}.print-body{background:white}.paper{margin:0;box-shadow:none;min-height:297mm;width:210mm}.paper:last-child{break-after:auto;page-break-after:auto}}
.board-body{height:100vh;overflow:hidden;color:white;background:#101449;font-family:'DM Sans','Noto Sans SC','Microsoft YaHei',sans-serif}.board-bg{position:fixed;inset:0;background:radial-gradient(circle at 50% 45%,#3b1977 0%,#1b1d65 48%,#0d1645 100%);overflow:hidden}.board-bg:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#fff9 1.2px,transparent 1.8px);background-size:54px 54px;opacity:.14}.glow{position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(80px);opacity:.4}.g1{left:-20vw;top:0;background:#ec3aa9}.g2{right:-22vw;bottom:-20vw;background:#2d9de7}.board-star{position:absolute;color:#ffd994;text-shadow:0 0 22px #ffca83;font-size:32px;animation:twinkle 4s infinite}.s1{left:7%;top:24%}.s2{right:15%;top:18%;animation-delay:1s}.s3{left:48%;top:8%;animation-delay:2s}.s4{right:6%;bottom:21%;animation-delay:2.5s}@keyframes twinkle{50%{opacity:.3;transform:scale(.7)}}.board-shell{position:relative;height:100vh;max-width:2400px;margin:auto;display:flex;flex-direction:column;padding:2.1vh 3vw 2vh}.board-head{display:flex;justify-content:space-between;align-items:center}.board-logo{display:flex;align-items:center;gap:12px}.board-logo>div{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(#ffe5a2,#f8a754);color:#714378;font-size:34px;font-weight:900;box-shadow:0 0 28px #ffcc7f80;border:4px solid #fff2bc}.board-logo>div span{font-size:13px;align-self:flex-end;margin-bottom:12px}.board-logo p{font-size:16px;font-weight:900;letter-spacing:.06em}.board-topline{display:flex;align-items:center;gap:10px;border:1px solid #ffffff36;border-radius:50px;padding:10px 17px;background:#ffffff16;font-weight:700;font-size:13px}.live-dot{width:8px;height:8px;border-radius:50%;background:#54f7d2;box-shadow:0 0 13px #54f7d2}.divider{width:1px;height:14px;background:#ffffff52}.board-main{flex:1;min-height:0;display:flex;flex-direction:column}.board-title{text-align:center;margin:1.6vh 0 1.5vh}.board-kicker{color:#f5bbf2;font-size:12px;font-weight:900;letter-spacing:.36em}.board-title h1{font-size:clamp(38px,4.3vw,82px);line-height:1.13;margin:7px 0 5px;font-weight:900;letter-spacing:-.04em;text-shadow:0 6px 30px #07063e}.board-title h1 span{background:linear-gradient(110deg,#ffe899,#ffabce 50%,#a9deff);background-clip:text;color:transparent}.board-title h1 b{font-size:.45em;color:#ffe6a0;vertical-align:top}.board-title p{font-size:clamp(13px,1vw,19px);color:#d8d4f5;margin:0}.board-content{flex:1;min-height:0;display:grid;grid-template-columns:1.65fr 1fr;gap:2vw;align-items:stretch}.podium{display:flex;gap:1vw;align-items:flex-end;justify-content:center;min-height:0;padding:0 0 2vh}.podium-card{position:relative;flex:1;max-width:31%;min-width:0;height:79%;border-radius:24px 24px 18px 18px;background:linear-gradient(160deg,#ffffff30,#ffffff0b);border:1px solid #ffffff57;box-shadow:0 16px 44px #06072e8c,inset 0 1px #ffffff77;text-align:center;padding:1.3vh 10px 0;backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.podium-card.rank-1{height:97%;background:linear-gradient(160deg,#ffe5a82e,#a96afa24 58%,#ffffff13);border-color:#ffe5a8a6;box-shadow:0 0 45px #f3b36250,0 16px 44px #06072e8c;z-index:1}.podium-card.rank-3{height:71%}.podium-halo{position:absolute;top:-10%;left:10%;right:10%;height:30%;border-radius:50%;filter:blur(24px);background:#f9a7dd4a}.rank-1 .podium-halo{background:#ffcf7f76}.podium-avatar{position:relative;width:clamp(70px,8vw,150px);height:clamp(70px,8vw,150px);border-radius:50%;display:grid;place-items:center;font-size:clamp(30px,4vw,69px);font-weight:900;color:#6f3895;box-shadow:inset 0 0 0 7px #ffffff80,0 10px 30px #050b3d70}.podium-avatar.pink{background:linear-gradient(145deg,#fff0fa,#ffa8d4)}.podium-avatar.blue{background:linear-gradient(145deg,#e3faff,#71c6ff)}.podium-avatar.gold{background:linear-gradient(145deg,#fff7c0,#ffc76c)}.crown{position:absolute;right:-6px;top:-24px;color:#ffdc75;font-size:33px;text-shadow:0 3px 10px #5d258d}.podium-medal{font-weight:900;color:#ffdf8b;background:#ffffff27;border-radius:999px;padding:4px 12px;font-size:11px;letter-spacing:.15em;margin:1.5vh 0 .7vh}.podium-card h2{font-size:clamp(23px,2.1vw,39px);margin:0;font-weight:900;white-space:nowrap}.podium-card p{font-size:clamp(10px,.86vw,17px);color:#e1dcf8;margin:.3vh 0 1vh;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.podium-score b{display:block;font-size:clamp(31px,3.3vw,62px);line-height:1;font-weight:900;color:#ffdc86;text-shadow:0 0 20px #e6966e8c}.podium-score span{font-size:11px;letter-spacing:.16em;color:#f8d6e5}.podium-base{height:1.3vh;position:absolute;bottom:0;left:12%;right:12%;border-radius:99px 99px 0 0;background:linear-gradient(90deg,#f3a9e3,#ffe8a8,#93dafa);box-shadow:0 0 28px #ffcfb8}.board-side{height:100%;min-height:0;display:flex;flex-direction:column;border-radius:25px;border:1px solid #ffffff38;background:linear-gradient(165deg,#ffffff24,#ffffff0a);backdrop-filter:blur(18px);padding:2vh 1.6vw;box-shadow:0 22px 50px #070a4080}.side-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff3b;padding-bottom:1.6vh}.side-title span{font-size:10px;font-weight:900;color:#f3bde7;letter-spacing:.2em}.side-title strong{font-size:clamp(19px,1.5vw,28px)}#board-ranks{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-evenly}.ranking-row{display:grid;grid-template-columns:36px 1fr 1.5fr auto;align-items:center;gap:.7vw;border-bottom:1px solid #ffffff1d;min-height:40px}.ranking-num{color:#ffda8d;font-weight:900;font-size:18px}.ranking-row strong{font-size:clamp(13px,1vw,21px);white-space:nowrap}.ranking-row small{color:#bfc8e7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(9px,.7vw,14px)}.ranking-row b{font-size:clamp(17px,1.3vw,27px);color:#ffdb87}.board-week{display:flex;justify-content:space-between;align-items:center;border-radius:15px;padding:1.3vh 1.4vw;background:linear-gradient(110deg,#f05ca7,#9c5de8);box-shadow:0 9px 30px #eb5db050}.board-week span{display:block;color:#ffe8f6;font-size:12px}.board-week strong{display:block;font-size:clamp(21px,1.9vw,37px);font-weight:900}.mini-coin{width:52px;height:52px;border-radius:50%;background:linear-gradient(#fff3bd,#ffb756);color:#6b3e85;border:4px solid #ffe9ab;display:grid;place-items:center;font-weight:900;transform:rotate(-12deg)}.board-foot{display:flex;align-items:center;gap:2vw;margin-top:1.6vh;min-height:4vh;color:#d9d9f6;font-size:11px}.class-marquee{flex:1;display:flex;gap:10px;overflow:hidden;white-space:nowrap;color:#f6d7ef}.class-marquee>span{color:#ffda84}.class-marquee>div{animation:slide 35s linear infinite;white-space:nowrap}@keyframes slide{to{transform:translateX(-50%)}}#board-freshness{white-space:nowrap;color:#bcc5e5}@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.hero-orbit{width:200px}.hero-coin{width:155px;height:155px;font-size:82px}.board-content{grid-template-columns:1fr}.board-side{display:none}.podium-card{height:80%}.podium-card.rank-1{height:95%}.board-title{margin-top:4vh}}@media(max-width:650px){.admin-head{height:auto;flex-wrap:wrap;padding:13px 18px}.admin-head nav{width:100%;overflow:auto}.admin-main{padding:18px}.hero-panel{padding:26px}.hero-orbit{display:none}.hero-actions{flex-wrap:wrap}.stat-grid{gap:8px}.stat-card{padding:16px}.stat-card strong{font-size:29px}.print-toolbar{flex-wrap:wrap}.paper{transform:scale(.46);transform-origin:top left;margin:15px 0 -155mm 8px}}

/* Brand system sampled from the supplied Yunxinxin mark: navy #1A3062, gold #BC9C53. */
:root{--brand-navy:#1a3062;--brand-deep:#0d214a;--brand-gold:#bc9c53;--brand-gold-light:#ead9ae;--brand-cream:#fcfaf5}
.admin-body{background:#f2f5fa;color:var(--brand-deep)}
.admin-head{border-bottom:2px solid var(--brand-gold-light);box-shadow:0 5px 26px #1a306217}
.brand-logo{width:62px;height:62px;object-fit:contain;flex:none}
.eyebrow{color:var(--brand-navy)}
.admin-head nav a:hover,.admin-head nav a.active{background:#e8edf7;color:var(--brand-navy)}
.hero-panel{background:radial-gradient(circle at 80% 50%,#314d84 0,transparent 38%),linear-gradient(120deg,#0e234c,#1a3062 62%,#29497d);box-shadow:0 25px 60px #10285640}
.hero-panel:after{background:#bc9c531a}
.hero-panel .eyebrow{color:#ebd8a6}.hero-panel h2 em{color:#f1d891}.hero-panel p{color:#e0e8f6}
.button.primary{background:#e4c579;color:var(--brand-deep);box-shadow:0 7px 22px #bc9c5370}
.button.ghost{border-color:#e6d7b68a}
.hero-brand{position:relative;width:310px;height:270px;flex:none;display:grid;place-items:center}
.hero-logo-card{width:248px;height:248px;background:#fff;border:5px solid #d5b878;border-radius:27px;box-shadow:0 24px 60px #07173485,0 0 48px #d6b7726b;transform:rotate(4deg);animation:brandFloat 5s ease-in-out infinite;overflow:hidden}
.hero-logo-card img{display:block;width:100%;height:100%;object-fit:contain}
.hero-star{position:absolute;color:#dfc47f;text-shadow:0 0 25px #f5dc9c;font-size:44px;z-index:2;animation:twinkle 4s infinite}
.hero-star-one{left:5px;top:4px}.hero-star-two{right:-5px;bottom:10px;font-size:33px;animation-delay:1.4s}
@keyframes brandFloat{50%{transform:translateY(-10px) rotate(2deg)}}
.pill{border-color:#dce4f0;color:#415676}.stat-card,.panel{border-color:#e0e6f0;box-shadow:0 8px 28px #1a30620c}
.stat-card.tone-1 strong,.stat-card.tone-2 strong{color:var(--brand-navy)}.stat-card.tone-3 strong{color:#8e7133}
.stat-card em,.panel-title>span,.panel-title>a{color:#80662f}
.teacher-card{background:#f1f4f9}.teacher-avatar,.teacher-1 .teacher-avatar,.teacher-2 .teacher-avatar{background:#e4eaf5;color:var(--brand-navy)}
.teacher-1 .teacher-avatar{background:#f3ead7;color:#846c32}.teacher-2 .teacher-avatar{background:#dce9f0;color:#315b76}
.teacher-coins{color:var(--brand-navy)}.teacher-coins small{color:#94783d}
.check-item.is-ok{background:#edf4f5;color:#246777}.check-note{border-color:#dce4f0}.check-note strong{color:var(--brand-navy)}
.check-item>div{min-width:0}.check-item details{margin-top:5px}.check-item summary{cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:2px}.check-item details p{margin-top:5px;line-height:1.6}
.admin-body .ledger-panel th:nth-child(1){min-width:80px}.admin-body .ledger-panel th:nth-child(2){min-width:150px}.admin-body .ledger-panel th:nth-child(4){min-width:180px}.admin-body #scope-pill{max-width:100%;overflow-wrap:anywhere}
.ledger-panel th{background:#f0f3f8;color:#506381}.ledger-panel td{border-color:#e5eaf1}.coin-text{color:#8d6a22!important}
.status-tag{background:#edf2e4;color:#466339}

.print-toolbar{background:var(--brand-deep)}.print-toolbar button{background:#e4c579;color:var(--brand-deep)}
.paper{color:var(--brand-deep)}.paper-top{min-height:26mm;align-items:center;border-bottom:2px solid var(--brand-navy);padding-bottom:3mm}
.paper-brand{display:block;min-width:0}.paper-brand small{font-size:8px;letter-spacing:.14em;color:#556b8e;font-weight:800}
.paper-brand h1{font-size:18px;line-height:1.2;color:var(--brand-navy);margin:2mm 0 1mm}.paper-brand h1 span{color:var(--brand-gold);font-size:17px}
.paper-brand p{font-size:8px;color:#60708a;margin:0}
.paper-right{display:flex;align-items:center;gap:5mm;flex:none}.paper-batch strong{font-size:17px;color:var(--brand-navy)}.paper-batch span{color:#687b95}
.paper-logo-img{width:24mm;height:24mm;object-fit:contain;display:block}
.paper-summary{background:#f1f4f9;border-color:#d6e0eb;margin:5mm 0}.paper-summary>div{border-color:#d6e0eb}.paper-summary label{color:#586d8c}.paper-summary strong{color:var(--brand-navy)}
.paper-class-head{background:#f3f5f9;border-left-color:var(--brand-gold)}.paper-class-head h2{color:var(--brand-navy);font-size:12px}.paper-class-head span{color:#6d644b;font-size:10px}
.paper table{font-size:10.5px}.paper th{background:#f8f6ef;color:var(--brand-navy);border-bottom-color:#d7c99f;padding:2.1mm 1mm}.paper td{border-bottom-color:#dbe2eb;padding:2.2mm 1mm}.paper-coin{color:#7f652b}
.paper-bottom{border-top-color:#b5c1d4}.paper-bottom small{color:#586d87}

.board-body{background:#091a3d}.board-bg{background:radial-gradient(circle at 53% 42%,#294773 0,#152c58 48%,#091a3d 100%)}
.board-bg:before{background-image:radial-gradient(#f4dda83d 1.2px,transparent 1.8px);opacity:.4}
.glow{opacity:.32}.g1{background:#c9a04e}.g2{background:#4b81b9}
.board-star{color:#e8ca86;text-shadow:0 0 23px #d9b76b}
.board-star.s3{left:51%;top:5%}
.board-logo img{width:66px;height:66px;object-fit:contain;background:#fff;border-radius:16px;border:2px solid #d7bd79;box-shadow:0 0 27px #d7bd7966;flex:none}
.board-logo p{color:#fff9ea}.board-topline{background:#ffffff13;border-color:#d4bc7970}.live-dot{background:#e9cf92;box-shadow:0 0 13px #e9cf92}
.board-kicker{color:#dfc47f}.board-title h1 span{background:linear-gradient(110deg,#fff8e6,#e7cb88 55%,#b99242);background-clip:text;color:transparent}
.board-title h1 b{color:#dfbd70}.board-title p{color:#d7e1f4}
.podium-card{background:linear-gradient(160deg,#7790b030,#ffffff0b);border-color:#c8d5eb6b}
.podium-card.rank-1{background:linear-gradient(160deg,#d5b66e40,#46608b2b 58%,#ffffff0e);border-color:#e5c982a6;box-shadow:0 0 48px #d7ae5d58,0 16px 44px #060f2e8c}
.podium-halo{background:#a4bddd48}.rank-1 .podium-halo{background:#e8c77b82}
.podium-avatar{color:var(--brand-navy)}.podium-avatar.pink{background:linear-gradient(145deg,#f6f8ff,#9db4d9)}.podium-avatar.blue{background:linear-gradient(145deg,#f5f2e7,#d4bd7f)}.podium-avatar.gold{background:linear-gradient(145deg,#fff8df,#e6bd69)}
.crown{color:#e9ca83;text-shadow:0 3px 10px #101e40}.podium-medal{color:#ffe8ab;background:#d6bd6e2b}
.podium-card p{color:#d3dff3}.podium-score b{color:#ffe19c;text-shadow:0 0 22px #d3aa6573}.podium-score span{color:#d7e0f0}
.podium-base{background:linear-gradient(90deg,#6e94c7,#e8c87f,#6e94c7);box-shadow:0 0 28px #e3ca83}
.board-side{background:linear-gradient(165deg,#ffffff1e,#ffffff09);border-color:#c4d0e24a}.side-title span{color:#e7ca88}
.ranking-num,.ranking-row b{color:#f1d28d}.ranking-row small{color:#cad5e8}
.board-week{background:linear-gradient(110deg,#a98742,#e5cb8b);box-shadow:0 9px 30px #af893f4d;color:var(--brand-deep)}
.board-week span{color:#263b5b}.mini-coin{background:#fffaf0;color:var(--brand-gold);border-color:#f5e4bc}
.board-foot,.class-marquee{color:#d5e0f3}.class-marquee>span{color:#e6c783}#board-freshness{color:#cad5e7}
@media(max-width:650px){.brand-logo{width:50px;height:50px}.hero-brand{display:none}.paper-logo-img{width:24mm;height:24mm}}
@media print{.paper,.paper *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.refresh-panel{margin:0 0 16px}.refresh-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.refresh-actions h3{margin:0 0 5px;font-size:20px;color:var(--brand-navy)}.refresh-actions p,.refresh-help{font-size:12px;color:#687b95;margin:0;line-height:1.7}.refresh-actions button{margin-left:auto;border:0}.refresh-actions button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.auto-refresh-label{display:flex;align-items:center;gap:6px;font-size:12px;color:#506381}.auto-refresh-label input{accent-color:var(--brand-navy)}#refresh-status{font-size:13px;line-height:1.7;padding:10px 12px;background:#edf4f5;border-radius:9px;color:#246777}#refresh-status[data-status="error"],#refresh-status[data-status="busy"]{background:#fff4df;color:#955b16}.freshness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;margin:14px 0}.freshness-grid dt{font-size:11px;color:#748099;margin-bottom:4px}.freshness-grid dd{margin:0;font-size:12px;color:#263b59;overflow-wrap:anywhere}.freshness-grid small{display:block;font-size:10px;line-height:1.5;color:#748099}.payment-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.payment-summary>span{font-size:12px;padding:9px 12px;background:#f1f4f9;border-radius:9px;color:#506381}.payment-summary strong{color:var(--brand-navy);margin-right:5px}.ledger-panel .status-tag{line-height:1.7;border-radius:9px;max-width:190px}.paper .payment-print-table{font-size:9px}.paper .payment-print-table th:nth-child(1){width:5%}.paper .payment-print-table th:nth-child(2){width:13%}.paper .payment-print-table th:nth-child(3){width:16%}.paper .payment-print-table th:nth-child(4){width:10%}.paper .payment-print-table th:nth-child(5){width:20%}.paper .payment-print-table th:nth-child(6){width:10%}.paper .payment-print-table th:nth-child(7){width:17%}.paper .payment-print-table th:nth-child(8){width:9%}.payment-print-table td{overflow-wrap:anywhere;line-height:1.55}.payment-print-table td small{display:block;color:#65758a;font-size:7px;font-weight:400;margin-top:2px}@media(max-width:800px){.freshness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.refresh-actions button{margin-left:0}}@media(max-width:500px){.freshness-grid{grid-template-columns:1fr}}@media print{.refresh-panel{display:none}}
