*{box-sizing:border-box}
:root{--bg:#111111;--deep:#0A0A0A;--panel:#1A1A1A;--panel2:#1F1B14;--title:#FFF6D6;--text:#E8D9A8;--muted:#B8A56A;--faint:#8A7A48;--yellow:#F5C518;--yellow2:#FFD84A;--amber:#C49212;--line:rgba(245,197,24,.18);--lineStrong:rgba(245,197,24,.45);--shadow:0 12px 28px rgba(0,0,0,.34)}
html{scroll-behavior:smooth;background:var(--deep)}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto}.skip-link{position:fixed;left:16px;top:-80px;z-index:300;background:var(--yellow);color:#111;padding:10px 14px;border-radius:8px}.skip-link:focus{top:10px}
.curtain-top{position:fixed;z-index:120;top:0;left:0;right:0;height:22px;background:#080808;color:var(--yellow2);font-size:12px}.curtain-top-inner{height:22px;display:flex;align-items:center;justify-content:space-between}.search-open{border:0;background:none;color:var(--yellow2);cursor:pointer;padding:0}
.stage-head{position:fixed;z-index:118;top:22px;left:0;right:0;height:60px;background:#0C0C0C;border-bottom:1px solid var(--line)}.stage-head-inner{height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand-link{justify-self:start;display:flex;align-items:center;min-height:44px}.brand-logo,.footer-logo,.drawer-logo{height:28px;width:auto;object-fit:contain;object-position:center}.brand-fallback{font-size:16px;font-weight:700;color:var(--title)}.drawer-open{justify-self:center;min-height:44px;padding:0 16px;border:1px solid var(--lineStrong);background:#111;color:var(--title);border-radius:10px;cursor:pointer}.join-link{justify-self:end;min-height:44px;padding:0 15px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FFD84A 0%,#F5C518 55%,#C49212 100%);color:#111;font-weight:700}
.lamp-nav{position:fixed;z-index:116;top:82px;left:0;right:0;height:40px;background:#1A150D;border-bottom:1px solid var(--line)}.lamp-nav-inner{height:40px;display:flex;align-items:center;justify-content:center;gap:10px}.lamp-nav a{min-width:110px;height:24px;padding:0 14px;border:1px solid var(--lineStrong);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:var(--title)}.lamp-nav a.is-active{background:var(--yellow);border-color:var(--yellow);color:#111;font-weight:700}
.main-content{padding-top:148px;padding-bottom:82px}h1,h2,h3{margin:0 0 12px;color:var(--title)}h1{font-size:24px;line-height:1.3}h2{font-size:20px;line-height:1.4}h3{font-size:16px;line-height:1.45}p{margin:0 0 14px}.lead{font-size:16px;color:#F5E9B9;max-width:850px}.eyebrow{font-size:12px;color:var(--yellow2);letter-spacing:.14em}.section{padding:30px 0;border-bottom:1px solid var(--line)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn-primary,.btn-secondary{height:42px;padding:0 16px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#FFD84A 0%,#F5C518 55%,#C49212 100%);color:#111;font-weight:700}.btn-secondary{background:#111;border:1px solid var(--lineStrong);color:var(--title)}a:hover{filter:brightness(1.08)}a:focus-visible,button:focus-visible{outline:2px solid var(--yellow2);outline-offset:3px}
.media-slot{background:var(--deep);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-slot img{width:100%;height:100%;object-fit:contain;object-position:center}.media-180{height:180px}.media-200{height:200px}.media-160{height:160px}.hero-cover{padding:28px 0 30px}.cover-slot{height:260px;background:var(--deep);border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden}.cover-slot img{width:100%;height:100%;object-fit:contain;object-position:center}.cover-fallback{text-align:center;color:var(--title);font-size:22px;font-weight:700}.cover-copy{padding-top:18px;max-width:880px}.cover-brand{font-size:14px;color:var(--yellow2);margin-bottom:6px}.cover-copy h1{font-size:22px}
.triple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.number-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.number-strip article{padding:14px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.number-strip strong{display:block;color:var(--yellow2);margin-bottom:5px}.task-list,.gallery-list,.backstage-list{display:grid;gap:10px}.task-list div,.gallery-list div,.backstage-list div{padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.process-list{display:grid;gap:10px}.process-item{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:14px;border-left:2px solid var(--yellow);background:var(--panel)}.stage-numbers{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.stage-numbers article{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.stage-numbers strong{display:block;color:var(--yellow2);font-size:13px;margin-bottom:6px}
.timeline{position:relative;display:grid;gap:14px;margin-top:12px}.timeline:before{content:"";position:absolute;left:10px;top:4px;bottom:4px;width:1px;background:var(--lineStrong)}.timeline article{position:relative;padding:0 0 0 34px}.timeline article:before{content:"";position:absolute;left:4px;top:8px;width:13px;height:13px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px #16140e}.status{font-size:12px;border:1px solid var(--lineStrong);border-radius:999px;padding:3px 9px;color:var(--title);display:inline-block}
.app-wrap{overflow:auto}.app-visual{float:right;width:240px;height:360px;margin:0 0 18px 24px}.app-icon{width:48px;height:48px;object-fit:contain}.app-icon-row{display:flex;align-items:center;gap:12px;margin:14px 0}.note-box{padding:18px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--yellow);border-radius:0 12px 12px 0}.faq-mini{display:grid;gap:10px}.faq-mini article{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.brand-box{padding:20px;background:linear-gradient(180deg,#1A1A1A,#15120C);border:1px solid var(--lineStrong);border-radius:12px}
.page-head{padding:26px 0 22px;border-bottom:1px solid var(--line)}.page-head .lead{max-width:900px}.daily-list{display:grid;gap:12px}.daily-list article{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.daily-no{color:var(--yellow2);font-weight:700}.roster-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.roster-card{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.lesson-index{display:grid;grid-template-columns:200px 1fr;gap:18px}.lesson-index nav{position:sticky;top:140px;align-self:start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}.lesson-index nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--muted)}.lesson-index nav a:hover{background:var(--panel2);color:var(--title)}.lesson-body{display:grid;gap:14px}.lesson-body section{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.shot-items{display:grid;gap:12px}.shot-items section{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.assignment-list{display:grid;gap:12px}.assignment-list article{padding:18px;background:var(--panel);border-left:3px solid var(--yellow);border-radius:0 12px 12px 0}.gallery-shelf{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gallery-shelf article{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.ceremony-flow{counter-reset:flow;display:grid;gap:12px}.ceremony-flow section{position:relative;padding:18px 18px 18px 64px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.ceremony-flow section:before{counter-increment:flow;content:counter(flow,decimal-leading-zero);position:absolute;left:18px;top:18px;color:var(--yellow2);font-weight:700}
.review-list,.notice-list,.backstage-rows,.training-list{display:grid;gap:12px}.review-list section,.notice-list section,.backstage-rows section,.training-list section{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.editor-tag{display:inline-block;padding:5px 9px;border-radius:999px;background:var(--yellow);color:#111;font-size:12px;font-weight:700;margin-bottom:12px}.terms{display:grid;gap:14px}.terms section{padding:18px 20px;background:var(--panel);border-left:3px solid var(--yellow);border-radius:0 12px 12px 0}
.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.help-grid section{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.faq-list{display:grid;gap:12px}.faq-list details{padding:0 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.faq-list summary{padding:16px 0;color:var(--title);font-weight:700;cursor:pointer}.faq-list p{padding-bottom:16px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-grid section{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-grid section{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.about-grid .wide{grid-column:1/-1}
.site-footer{background:#050505;border-top:1px solid var(--yellow);padding:30px 0 calc(24px + env(safe-area-inset-bottom));color:#DCCB8A}.footer-main{display:grid;grid-template-columns:1.1fr 1.9fr;gap:28px}.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}.footer-brand div{display:grid;line-height:1.2}.footer-brand strong{color:var(--title);font-size:16px}.footer-brand span{font-size:12px;color:var(--muted)}.footer-intro p{font-size:13px}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.footer-links h2{font-size:13px;color:var(--yellow2);margin-bottom:8px}.footer-links a{display:block;font-size:13px;padding:3px 0}.footer-bottom{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;font-size:13px}
.overlay{position:fixed;z-index:150;inset:0;background:rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.drawer-panel{position:fixed;z-index:160;right:0;top:0;bottom:0;width:400px;max-width:86vw;background:#0D0D0D;border-left:1px solid var(--lineStrong);box-shadow:var(--shadow);transform:translateX(100%);visibility:hidden;pointer-events:none;transition:.25s;padding:18px;overflow:auto}.drawer-panel.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.drawer-brand{display:flex;align-items:center;gap:10px;color:var(--title)}.drawer-close{min-height:44px;padding:0 14px;border:1px solid var(--lineStrong);background:#111;color:var(--title);border-radius:9px;cursor:pointer}.drawer-groups{display:grid;gap:16px}.drawer-groups h2{font-size:13px;color:var(--yellow2);margin-bottom:7px}.drawer-groups a{display:block;padding:9px 10px;border-radius:8px}.drawer-groups a:hover{background:var(--panel)}.drawer-groups strong{display:block;color:var(--title);font-size:14px}.drawer-groups span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.search-panel{position:fixed;z-index:158;top:82px;left:0;right:0;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.search-panel.is-open{opacity:1;visibility:visible;pointer-events:auto}.search-card{width:min(1120px,calc(100% - 32px));margin:0 auto;background:#0E0E0E;border:1px solid var(--lineStrong);border-radius:0 0 12px 12px;box-shadow:var(--shadow);padding:16px}.search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.search-head strong{color:var(--title)}.search-head p{font-size:13px;color:var(--muted);margin:2px 0}.search-close{min-height:44px;padding:0 14px;border:1px solid var(--lineStrong);background:#111;color:var(--title);border-radius:9px;cursor:pointer}.search-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.search-links a{padding:8px 13px;border:1px solid var(--lineStrong);border-radius:8px;font-size:13px}.mobile-bar{display:none}
@media(max-width:800px){.lamp-nav{display:none}.main-content{padding-top:108px;padding-bottom:88px}.stage-head-inner{grid-template-columns:1fr auto auto;gap:6px}.triple-grid,.roster-grid,.gallery-shelf,.help-grid,.contact-grid,.about-grid{grid-template-columns:1fr}.about-grid .wide{grid-column:auto}.number-strip,.stage-numbers{grid-template-columns:1fr 1fr}.lesson-index{grid-template-columns:1fr}.lesson-index nav{position:static;display:flex;gap:7px;flex-wrap:wrap}.lesson-index nav a{border:1px solid var(--line);padding:6px 8px}.daily-list article,.shot-items section{grid-template-columns:1fr}.app-visual{float:none;width:min(240px,100%);height:360px;margin:0 auto 18px}.footer-main{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.search-panel{inset:0;top:0;background:#080808;padding:16px}.search-card{width:100%;height:100%;border-radius:12px}.search-links{display:grid;grid-template-columns:1fr 1fr}.search-links a{min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-bar{position:fixed;z-index:140;left:0;right:0;bottom:0;height:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#080808;border-top:1px solid var(--line)}.mobile-bar a{display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--title)}.mobile-bar a.is-active{background:var(--yellow);color:#111;font-weight:700}}
@media(max-width:520px){h1{font-size:23px}.join-link,.drawer-open{padding:0 10px}.number-strip,.stage-numbers{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}}
