/* Reuse the current board shell and red/gold theme; only the night-stage composition changes. */
.night-stage{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0}.night-greeting{display:grid;place-items:center;min-height:0;padding:18px 3vw}.night-greeting .greeting-slide{width:100%;height:auto;animation:none}.night-greeting .slide-eyebrow{font-size:14px;margin:0 0 12px;letter-spacing:.22em}.night-greeting .greeting-slide h2{max-width:1720px;font-size:clamp(64px,5.4vw,106px);line-height:1.23;letter-spacing:.03em;text-wrap:balance}.night-greeting .greeting-english{max-width:1550px;margin:14px 0 0;font-size:clamp(18px,1.25vw,24px);line-height:1.3;color:#ded2c2}.night-greeting .greeting-slide .message-signature{font-size:14px;letter-spacing:.16em;margin:16px 0 0;color:var(--muted)}
.night-warnings{display:grid;grid-template-rows:66px minmax(0,1fr) 42px;min-width:0;min-height:0;border-top:1px solid var(--line)}.night-warning-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.night-warning-heading>div{display:flex;align-items:center;gap:16px;min-width:0}.night-heading-mark{width:5px;height:25px;border-radius:2px;background:var(--gold);flex:none}.night-warning-heading h2{font-size:27px;font-weight:600;line-height:1.2;margin:0;letter-spacing:.04em}.night-warning-period{font-size:15px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px}.night-page-counter{color:var(--gold);font:500 22px/1 Georgia,serif;letter-spacing:.12em;font-variant-numeric:tabular-nums;white-space:nowrap}.night-warning-viewport{position:relative;overflow:hidden;min-height:0;min-width:0}.night-warning-page{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.night-warning-row{--person-font:116px;--state-color:#ebc477;--state-bg:#352d21;display:grid;grid-template-columns:230px minmax(0,1fr) max-content;align-items:center;gap:48px;padding:24px 64px;border:1px solid #ffffff18;border-radius:12px;background:linear-gradient(90deg,#ffffff07,#ffffff02);min-width:0;min-height:0}.night-warning-class{color:#d7cbbd;font-size:76px;font-weight:500;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums;border-right:1px solid var(--line);padding-right:30px}.night-warning-class small{font-size:30px;margin-left:9px;font-weight:400;color:var(--muted)}.night-warning-name{font-size:var(--person-font);line-height:1.2;letter-spacing:.05em;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.night-warning-state{display:flex;align-items:center;justify-content:center;gap:18px;min-width:0;padding:28px 24px;border-radius:10px;background:var(--state-bg);color:var(--state-color);font-size:var(--person-font);line-height:1.2;font-weight:600;white-space:nowrap}.night-warning-state:before{content:"";width:12px;height:12px;flex:none;border-radius:50%;background:currentColor}.night-warning-row[data-level=suspension_week]{--state-color:#f6b399;--state-bg:#432822}.night-warning-row[data-level=boarding_cancelled]{--state-color:#f8b3bd;--state-bg:#43252c}
.night-warning-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}.night-pagination{display:flex;align-items:center;gap:8px}.night-pagination i{display:block;width:6px;height:6px;border-radius:50%;background:#ffffff27}.night-pagination i.active{width:24px;border-radius:4px;background:var(--gold)}.night-warning-page.enter{animation:night-page-in .38s cubic-bezier(.22,.7,.2,1) both}.night-warning-page.leave{position:absolute;inset:0;animation:night-page-out .38s cubic-bezier(.22,.7,.2,1) both;pointer-events:none}.night-warning-empty{height:100%;display:grid;align-content:center;justify-items:center;gap:12px;text-align:center;color:var(--muted);border:1px solid var(--line);border-radius:12px}.night-warning-empty strong{color:var(--ink);font-size:34px;font-weight:500}.night-warning-empty p{font-size:19px;margin:0}.night-preview-tools{display:flex;align-items:center;gap:10px}.night-preview-tools button{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border:1px solid #ffffff18;border-radius:7px;background:transparent;color:#d7cbbd;font:400 22px/1 system-ui;cursor:pointer}.night-preview-tools span{font-size:12px;margin-left:6px;color:var(--muted)}.night-preview-tools button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.night-preview-label{font-size:12px}
@keyframes night-page-in{from{opacity:0;transform:translateX(4%)}to{opacity:1;transform:translateX(0)}}@keyframes night-page-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4%)}}
@media(max-width:1500px){.night-greeting{padding:8px 2vw}.night-greeting .slide-eyebrow{font-size:11px;margin-bottom:10px}.night-greeting .greeting-slide h2{font-size:clamp(46px,5.4vw,78px);line-height:1.18}.night-greeting .greeting-english{font-size:18px;margin-top:10px}.night-greeting .greeting-slide .message-signature{font-size:11px;margin-top:12px}.night-warnings{grid-template-rows:48px minmax(0,1fr) 32px}.night-warning-heading h2{font-size:21px}.night-heading-mark{height:20px;width:4px}.night-warning-heading>div{gap:12px}.night-warning-period{font-size:12px;padding-left:12px}.night-page-counter{font-size:17px}.night-warning-row{--person-font:clamp(42px,6.1vw,78px);grid-template-columns:150px minmax(0,1fr) max-content;gap:28px;padding:20px 38px;border-radius:10px}.night-warning-class{font-size:48px;padding-right:22px}.night-warning-class small{font-size:22px;margin-left:6px}.night-warning-state{font-size:var(--person-font);padding:20px 18px;gap:12px}.night-warning-state:before{width:8px;height:8px}.night-warning-footer{font-size:12px}.night-warning-empty strong{font-size:26px}.night-warning-empty p{font-size:16px}}
@media(max-height:650px) and (min-width:701px){.night-greeting .slide-eyebrow,.night-greeting .message-signature{display:none}.night-greeting .greeting-slide h2{font-size:clamp(42px,4.8vw,70px)}.night-warning-row{--person-font:64px;padding-block:12px}}
@media(prefers-reduced-motion:reduce){.night-warning-page.enter,.night-warning-page.leave{animation:none}.night-warning-page.leave{display:none}}
