/* A quiet, pale-green credits page in the atlas's existing colour palette. */
:root{color-scheme:light;--bg:#eef3e8;--surface:#fafcf7;--ink:#234832;--muted:#627a60;--line:#cddac3;--accent:#3c6848;--font-scale:1;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;color:var(--ink);background:var(--bg)}body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #658552;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:12px;top:-100px;padding:10px;background:white;color:var(--ink);z-index:100}.skip:focus{top:12px}
.credits-header{flex:none;min-height:68px;padding:12px clamp(16px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);background:var(--surface)}.credits-brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}.credits-brand img{border-radius:50%}.credits-brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.13em;color:var(--muted);margin-top:4px}.credits-header nav{display:flex;align-items:center;gap:24px;font-size:13px;white-space:nowrap}.credits-header button{color:var(--ink);border:1px solid #becfb3;background:white;border-radius:30px;padding:8px 12px}.credits-header a:hover,.credits-footer a:hover{color:#123e25}
.credits-main{flex:1;min-height:0;display:flex;flex-direction:column}.credits-overview{padding:18px clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#f2f6ed}.eyebrow{font-size:9px;letter-spacing:.22em;color:var(--muted);margin:0 0 7px}.credits-overview h1{font:400 28px/1.3 "Songti SC",SimSun,serif;letter-spacing:.16em;margin:0}.credits-intro{font:14px/1.8 "Songti SC",SimSun,serif;letter-spacing:.06em;color:var(--muted);margin:0}
.credits-panel{display:flex;flex-direction:column;flex:1;min-height:0}.credits-stage{flex:1;min-height:0;position:relative;background:radial-gradient(ellipse at 50% 45%,#f9fbf5 0%,#edf3e6 58%,#e3ecd9 100%);overflow:hidden}.stage-kicker{position:absolute;z-index:2;top:20px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.28em;color:#6c8563;pointer-events:none}.credits-viewport{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b0c5a0 transparent;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 90%,transparent)}.credits-track{max-width:900px;margin:0 auto;padding:55px 44px 100px;text-align:center}.roll-section{padding:54px 0 88px;scroll-margin-top:60px}.roll-section h2{font:400 calc(28px * var(--font-scale))/1.6 "Songti SC",SimSun,serif;letter-spacing:.15em;color:#234c32;margin:0 0 16px}.roll-overline{color:#6b8560;letter-spacing:.22em;font:10px/1.8 "Segoe UI",sans-serif;margin:0 0 18px}.roll-rule{width:44px;height:1px;background:#9bb58b;margin:26px auto 36px}.roll-prose{max-width:660px;margin:auto}.roll-prose p{font:400 calc(17px * var(--font-scale))/2.15 "Songti SC",SimSun,serif;color:#39583d;margin:0 0 26px;letter-spacing:.025em;text-align:justify;text-justify:inter-ideograph;text-align-last:left;line-break:strict;overflow-wrap:break-word}
#roll-preface .roll-prose p{text-indent:2em}.roll-prose .roll-motto{font-style:italic;color:#547248;margin:34px 0 0;text-align:center;text-align-last:center;text-indent:0!important;letter-spacing:.08em}.roll-sub{font-size:calc(12px * var(--font-scale));color:#6a825f;line-height:1.8;margin:12px 0 38px}.roll-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 36px;align-items:center;margin:46px auto 0;max-width:760px}.roll-name{font:400 calc(24px * var(--font-scale))/1.8 "Songti SC",SimSun,serif;letter-spacing:.14em;overflow-wrap:anywhere;color:#2d5136}.roll-name.latin{font:400 calc(19px * var(--font-scale))/1.8 Georgia,"Segoe UI",serif;letter-spacing:.015em}.roll-team{font:400 calc(27px * var(--font-scale))/2 "Songti SC",SimSun,serif;letter-spacing:.2em;margin:28px 0 0}.roll-support h3{font-size:calc(14px * var(--font-scale));font-weight:400;color:#6a825f;margin:40px 0 18px;letter-spacing:.12em}.roll-support p{font-size:calc(18px * var(--font-scale));line-height:2;margin:12px auto;max-width:680px;color:#315438}.roll-support .support-names{font:400 calc(23px * var(--font-scale))/2.1 "Songti SC",SimSun,serif;letter-spacing:.12em}.roll-support .support-note{font-size:calc(14px * var(--font-scale));color:#6a825f}.roll-prose a{color:#386d43;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.roll-version{font:26px/1.8 Georgia,serif;color:#4a7041;margin:0 0 20px}#roll-version .roll-prose p{text-align:center;text-align-last:center}.roll-closing{padding:80px 0 45px}.roll-closing h2{font:400 clamp(34px,4vw,48px)/1.5 "Songti SC",SimSun,serif;letter-spacing:.2em}.roll-closing p{font:calc(17px * var(--font-scale))/2 "Songti SC",SimSun,serif;color:#59734e}.roll-closing a{display:inline-block;font-size:14px;border:1px solid #a1ba90;border-radius:30px;padding:12px 26px;margin-top:24px;background:#ffffff80}.credits-empty{padding:90px 0}
.credits-player{flex:none;background:var(--surface);border-top:1px solid var(--line);padding:12px clamp(16px,3vw,48px) 10px;display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}.player-controls{display:flex;align-items:center;gap:8px}.player-controls button{min-height:42px;white-space:nowrap;font-size:13px;border:1px solid #b9cdac;border-radius:24px;padding:9px 15px;color:#3e6444;background:#edf4e7}.player-controls button:hover{background:#e1edd7;border-color:#91ac7f}.player-controls .player-primary{display:flex;align-items:center;gap:8px;background:#3c6848;color:#fff;border-color:#3c6848;min-width:100px;justify-content:center}.player-controls .player-primary:hover{background:#2c5536}.player-options{display:flex;align-items:center;gap:18px;margin-left:auto}.player-options select{border:1px solid #bbcfad;background:#fff;color:var(--ink);border-radius:10px;padding:9px 10px;min-height:42px;font-size:13px;max-width:250px}.player-speed{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.player-progress{flex-basis:100%;display:flex;align-items:center;gap:12px}.player-progress progress{appearance:none;flex:1;min-width:0;height:3px;background:#dce7d4;border:0;border-radius:8px;overflow:hidden}.player-progress progress::-webkit-progress-bar{background:#dce7d4}.player-progress progress::-webkit-progress-value{background:#66865b}.player-progress progress::-moz-progress-bar{background:#66865b}.player-progress span{font:11px Georgia,serif;min-width:32px;color:#617d55}.credits-footer{flex:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px clamp(16px,4vw,64px) calc(10px + env(safe-area-inset-bottom));font-size:10px;color:#6a825f;border-top:1px solid var(--line);background:#f1f6eb}
@media(max-width:1000px){.player-options{gap:10px}.player-options select{max-width:220px}.player-controls button{padding:9px 12px}}
@media(max-width:760px){.credits-header{min-height:60px;padding:10px 16px}.credits-brand{font-size:13px;gap:8px}.credits-brand img{width:27px;height:27px}.credits-brand small{font-size:7px;letter-spacing:.04em}.credits-header nav{gap:10px;font-size:12px}.credits-header button{font-size:11px;padding:8px}.credits-overview{padding:12px 20px;gap:10px;align-items:center}.credits-overview h1{font-size:24px}.eyebrow{font-size:8px;margin-bottom:5px}.credits-intro{font-size:12px;max-width:200px;text-align:right}.credits-track{padding:48px 26px 85px}.roll-section{padding:44px 0 65px}.roll-section h2{font-size:calc(24px * var(--font-scale))}.roll-prose p{font-size:calc(16px * var(--font-scale));line-height:2.05;letter-spacing:0}.roll-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}.roll-name{font-size:calc(22px * var(--font-scale))}.roll-name.latin{font-size:calc(17px * var(--font-scale))}.roll-support p{font-size:calc(16px * var(--font-scale))}.roll-support .support-names{font-size:calc(21px * var(--font-scale))}.stage-kicker{top:15px;font-size:8px}.credits-player{gap:8px;padding:10px 14px}.player-controls{width:100%;justify-content:space-between;gap:5px}.player-controls button{min-height:42px;font-size:12px;padding:8px 11px}.player-controls .player-primary{min-width:92px}.player-options{width:100%;margin:0;justify-content:space-between}.player-options select{max-width:calc(100vw - 135px);font-size:12px;min-height:38px;padding:7px 8px}.player-progress{margin-top:1px}.credits-footer{font-size:9px;gap:12px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.credits-footer>span:nth-child(2){display:none}.roll-team{font-size:24px}}
@media(max-width:430px){.credits-header nav a{font-size:11px}.credits-brand small{font-size:6px}.credits-intro{max-width:170px;font-size:11px}.player-controls button{padding:8px 9px;font-size:11px}.credits-brand{font-size:12px}}
@media(max-height:650px){.credits-overview{padding-top:8px;padding-bottom:8px}.credits-overview .eyebrow{display:none}.credits-header{min-height:52px;padding-top:7px;padding-bottom:7px}.credits-footer{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.credits-footer{flex-wrap:wrap}
