/* V251 — Trang trí 4 mùa kết hợp 6 thời điểm, không thay đổi bố cục. */
:root{--v250-lantern:#f2a52c;--v250-lantern-dark:#8d2b1f}

/* Thu gọn tiêu đề lớn trang chủ, không thay đổi cấu trúc bố cục. */
.site-shell .hero-copy h1{font-size:clamp(50px,5vw,76px)!important;line-height:.96!important;letter-spacing:-.025em}
@media(max-width:760px){.site-shell .hero-copy h1{font-size:clamp(38px,12vw,50px)!important;line-height:1.02!important}}

/* Trang trí góc phủ nổi: không chiếm chỗ, không chặn thao tác. */
.v250-corner-decor,.v250-falling-layer{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.v250-corner-decor>i{position:absolute;width:96px;height:96px;opacity:.28;filter:saturate(.9);transition:opacity .5s ease,filter .5s ease}
.v250-corner-decor .tl{left:0;top:0}.v250-corner-decor .tr{right:0;top:0;transform:scaleX(-1)}
.v250-corner-decor .bl{left:0;bottom:0;transform:scaleY(-1)}.v250-corner-decor .br{right:0;bottom:0;transform:scale(-1)}
.v250-corner-decor>i::before,.v250-corner-decor>i::after{content:"";position:absolute;border-radius:70% 20% 70% 20%;background:var(--season-accent);opacity:.55}
.v250-corner-decor>i::before{width:58px;height:20px;left:5px;top:22px;transform:rotate(-24deg)}
.v250-corner-decor>i::after{width:34px;height:14px;left:36px;top:52px;transform:rotate(31deg)}
body>*:not(.v250-corner-decor):not(.v250-falling-layer){position:relative;z-index:1}


/* Góc trang trí đổi rõ theo mùa nhưng không tham gia bố cục. */
html[data-season="spring"] .v250-corner-decor>i::before,html[data-season="spring"] .v250-corner-decor>i::after{background:#bd4965}
html[data-season="summer"] .v250-corner-decor>i::before,html[data-season="summer"] .v250-corner-decor>i::after{background:#397c59}
html[data-season="autumn"] .v250-corner-decor>i::before,html[data-season="autumn"] .v250-corner-decor>i::after{background:#b26830}
html[data-season="winter"] .v250-corner-decor>i::before,html[data-season="winter"] .v250-corner-decor>i::after{background:#71859c}
html[data-day-phase="morning"] .v250-corner-decor>i{opacity:.25}
html[data-day-phase="noon"] .v250-corner-decor>i{opacity:.31;filter:saturate(1.05) brightness(1.06)}
html[data-day-phase="afternoon"] .v250-corner-decor>i{opacity:.32;filter:saturate(1.08)}
html[data-day-phase="evening"] .v250-corner-decor>i{opacity:.29}
html[data-day-phase="night"] .v250-corner-decor>i{opacity:.23}
html[data-day-phase="late-night"] .v250-corner-decor>i{opacity:.17}

/* Chuỗi đèn giấy vuông vàng, chỉ hiện buổi tối/đêm/khuya ở góc. */
.v250-lantern-string{position:absolute!important;width:168px!important;height:90px!important;opacity:0!important;transition:opacity .45s ease!important}
html[data-day-phase="evening"] .v250-lantern-string{opacity:.84!important}
html[data-day-phase="night"] .v250-lantern-string{opacity:.68!important}
html[data-day-phase="late-night"] .v250-lantern-string{opacity:.48!important}
.v250-lantern-string::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:18px!important;height:2px!important;background:#38251e!important;transform:rotate(-8deg)!important}
.v250-lantern-string span{position:absolute;width:25px;height:31px;border-radius:5px;background:linear-gradient(135deg,#ffd45e,#ee9720 62%,#c46a14);border:1px solid #9b4617;box-shadow:0 0 12px rgba(255,170,42,.55),inset 0 0 0 2px rgba(255,235,145,.35);transform:rotate(var(--r,0deg))}
.v250-lantern-string span::before{content:"福";position:absolute;inset:4px 2px;color:#9b351d;font:700 12px/22px serif;text-align:center;border:1px solid rgba(139,48,25,.5);border-radius:50%}
.v250-lantern-string span:nth-child(1){left:10px;top:12px;--r:-12deg}.v250-lantern-string span:nth-child(2){left:46px;top:5px;--r:7deg}.v250-lantern-string span:nth-child(3){left:82px;top:13px;--r:-5deg}.v250-lantern-string span:nth-child(4){left:119px;top:7px;--r:11deg}
html[data-day-phase="night"] .v250-lantern-string{filter:saturate(.82)}
html[data-day-phase="late-night"] .v250-lantern-string{filter:saturate(.62) brightness(.82)}

/* Họa tiết rơi dùng cho các trang xem nội dung; trang làm bài sẽ không được gắn lớp này. */
.v250-falling-layer i{position:absolute;top:-10vh;width:var(--s);height:calc(var(--s)*.68);opacity:.5;background:linear-gradient(145deg,color-mix(in srgb,var(--season-accent) 55%,#ffd7ba),var(--season-accent));border-radius:75% 18% 70% 24%;animation:v250fall var(--d) linear infinite;animation-delay:var(--delay);transform:rotate(var(--rot))}
html[data-season="spring"] .v250-falling-layer i{border-radius:78% 16% 72% 24%;background:linear-gradient(145deg,#ffe1e7,#c94967);opacity:.55}
html[data-season="summer"] .v250-falling-layer i{height:calc(var(--s)*1.35);border-radius:90% 12% 88% 10%;background:linear-gradient(145deg,#b8dfa9,#347c58);opacity:.46}
html[data-season="autumn"] .v250-falling-layer i{background:linear-gradient(145deg,#f0a754,#9b4928);opacity:.55}
html[data-season="winter"] .v250-falling-layer i{border-radius:50%;height:var(--s);background:#fff;box-shadow:0 0 7px #fff;opacity:.58}
html[data-day-phase="noon"] .v250-falling-layer{opacity:.92}
html[data-day-phase="afternoon"] .v250-falling-layer{opacity:.86}
html[data-day-phase="evening"] .v250-falling-layer{opacity:.72}
html[data-day-phase="night"] .v250-falling-layer{opacity:.58}
html[data-day-phase="late-night"] .v250-falling-layer{opacity:.38}
html[data-season="autumn"] .v250-falling-layer i{clip-path:polygon(50% 0,63% 27%,91% 14%,78% 43%,100% 57%,68% 64%,73% 96%,50% 77%,27% 96%,32% 64%,0 57%,22% 43%,9% 14%,37% 27%);border-radius:0}
@keyframes v250fall{to{transform:translate3d(var(--drift),115vh,0) rotate(480deg)}}
body.v250-admin-overview .v250-falling-layer{opacity:.28}
@media(max-width:760px){.v250-corner-decor>i{width:70px;height:70px;opacity:.2}.v250-corner-decor .bl,.v250-corner-decor .tr{display:none}.v250-falling-layer i:nth-child(n+6){display:none}.v250-lantern-string{width:108px!important;transform:scale(.72);transform-origin:top left}}
@media(prefers-reduced-motion:reduce){.v250-falling-layer{display:none}.v250-lantern-string{transition:none!important}}

/* Upload ảnh R2. */
.v250-upload-box{margin-top:8px;padding:12px;border:1px dashed #cda873;border-radius:12px;background:#fffaf0}
.v250-upload-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.v250-upload-row input[type=file]{max-width:100%;font:inherit}.v250-upload-status{margin:7px 0 0;color:#456153;font-size:14px}.v250-upload-preview{display:none;margin-top:9px;max-width:220px;max-height:145px;object-fit:cover;border:1px solid #dec7a2;border-radius:10px}.v250-upload-preview.show{display:block}
.content-image-slot .v250-slot-upload{margin-top:7px}

/* Bảng thống kê khoa học, gọn. */
.v250-stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.v250-stat-cards article{padding:13px;border:1px solid #e3cba5;border-radius:13px;background:#fffdf8}.v250-stat-cards strong{display:block;font-size:24px;color:#8e241b}.v250-stat-cards span{font-size:13px;color:#59645d}
.v250-coverage-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.v250-coverage-tools button{padding:8px 12px}.v250-level-group{border:1px solid #e6d0ad;border-radius:12px;background:#fff;overflow:hidden;margin:8px 0}.v250-level-group summary{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:11px 13px;cursor:pointer;font-weight:700}.v250-level-group summary::-webkit-details-marker{display:none}.v250-level-progress{height:7px;background:#eee2d1;border-radius:999px;overflow:hidden}.v250-level-progress i{display:block;height:100%;background:#8e241b}.v250-level-body{padding:0 13px 10px}.v250-topic-row{display:grid;grid-template-columns:1fr 90px;gap:10px;padding:7px 0;border-top:1px solid #f0e5d4}.v250-topic-row b{text-align:right}
@media(max-width:760px){.v250-stat-cards{grid-template-columns:repeat(2,1fr)}.v250-level-group summary{grid-template-columns:75px 1fr auto}.v250-topic-row{grid-template-columns:1fr auto}}

/* Nhật ký: thanh dọn dữ liệu cũ. */
.v250-audit-maintenance{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid #dfc49b;border-radius:12px;background:#fffaf0}.v250-audit-maintenance p{margin:0;flex:1;min-width:240px}.v250-audit-maintenance small{display:block;color:#66736d}
