:root{--bg:#050807;--panel:#0b1210;--panel2:#111b17;--gold:#e4c275;--jade:#64b8a4;--line:rgba(228,194,117,.28);--text:#f3ecd9;--muted:#a99f86}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:"Microsoft YaHei",system-ui,sans-serif}button,input,select{font:inherit}.hidden{display:none!important}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(4,8,7,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:80}.brand{font:20px serif;color:#f2d799;letter-spacing:.12em}.topbar nav{display:flex;gap:7px}.topbar button{border:0;background:transparent;color:#bfb49a;padding:9px 11px;border-radius:8px;cursor:pointer}.topbar button:hover,.topbar .accent{background:#17221d;color:#f0d490}.screen{display:none;min-height:calc(100vh - 64px)}.screen.active{display:block}.page{max-width:1280px;margin:auto;padding:38px 22px}.narrow{max-width:900px}.eyebrow{font-size:11px;letter-spacing:.24em;color:#bba365}.lead{font-size:17px;color:#c9bea4;line-height:1.8}.btn{border:1px solid var(--line);background:#111b17;color:#e8dfc7;padding:11px 16px;border-radius:10px;cursor:pointer}.btn.primary{background:linear-gradient(#886c32,#4e3d1d);border-color:#c09c52;color:#ffe9aa;font-weight:700}.btn.danger{border-color:#7d3e38;color:#e6aaa3}.btn.small{padding:8px 10px;font-size:12px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.panel{background:linear-gradient(180deg,#101915,#070b09);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 24px 70px #0008}.hero{height:calc(100vh - 64px);background-size:cover;background-position:center;display:flex;align-items:center;padding:7vw}.hero-copy{max-width:720px}.hero h1{font:64px serif;margin:8px 0 18px;line-height:1.08}.hero p{font-size:18px;line-height:1.8;color:#d0c5ab}.progress-chip{margin-top:20px;display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#cdbd91}.guide-list{display:grid;gap:12px;margin:26px 0}.guide-step{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:16px;border:1px solid #28372f;border-radius:14px;background:#0b120f}.guide-step>span{width:44px;height:44px;border:1px solid #997b3f;border-radius:50%;display:grid;place-items:center;color:#f0d38b;font:bold 20px serif}.guide-step b{font-size:18px}.guide-step p{margin:6px 0 0;color:#a99f86;line-height:1.65}.map{height:calc(100vh - 64px);background-size:cover;background-position:center;position:relative;overflow:hidden}.map-head{position:absolute;left:30px;top:28px;z-index:2;background:#07100ccc;border:1px solid var(--line);padding:17px 20px;border-radius:14px}.map-head h1{margin:4px 0;font:36px serif}.map-head p{margin:6px 0;color:#b8ae96}.map-node{position:absolute;z-index:3;border:0;background:transparent;color:white;cursor:pointer;text-align:center}.map-node span{display:grid;width:76px;height:76px;margin:auto;place-items:center;border-radius:50%;border:1px solid #a18343;background:radial-gradient(circle,#44371c,#0b120f 70%);font:28px serif;box-shadow:0 0 30px #e2b85f33}.map-node b,.map-node small{display:block;text-shadow:0 2px 8px black}.map-node b{font:19px serif;margin-top:8px}.map-node small{color:#c4b68f;margin-top:3px}.map-node.open span{animation:pulse 1.8s infinite}.map-node.cleared span{background:radial-gradient(circle,#276653,#0a1511 70%)}.map-node.locked{opacity:.35;filter:grayscale(1)}.n1{left:9%;top:61%}.n2{left:28%;top:27%}.n3{left:48%;top:59%}.n4{left:67%;top:26%}.n5{left:84%;top:58%}@keyframes pulse{50%{box-shadow:0 0 45px #e4c27599,0 0 0 10px #e4c27512}}.media-stage{height:calc(100vh - 64px);position:relative;background-size:cover;background-position:center;overflow:hidden}.media-stage>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.dialog{position:absolute;z-index:5;left:28px;right:28px;bottom:28px;display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;background:#050a08e8;border:1px solid var(--line);padding:14px;border-radius:15px}.dialog img{width:92px;height:92px;object-fit:cover;object-position:top;border-radius:12px}.dialog h2{margin:3px 0;font:25px serif}.dialog p{margin:5px 0;color:#bdb299;line-height:1.6}.battle{height:calc(100vh - 64px);position:relative;background:#000;overflow:hidden}.battle-poster{position:absolute;inset:0;background-size:cover;background-position:center}.hud{position:absolute;inset:0;z-index:6;pointer-events:none}.player-card,.boss-card{position:absolute;top:18px;display:flex;gap:9px;align-items:center}.player-card{left:20px}.boss-card{left:50%;transform:translateX(-50%)}.player-card img,.boss-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #a88444;background:#111}.boss-card>div{width:500px;text-align:center}.bar{width:280px;height:18px;border:1px solid #a98546;border-radius:999px;overflow:hidden;background:#111}.boss-card .bar{width:500px}.bar i{display:block;height:100%;width:100%;transition:width .1s;background:linear-gradient(90deg,#3b875e,#75c491)}.bar.boss i{background:linear-gradient(90deg,#6f211e,#d2564f)}.task{position:absolute;right:20px;top:110px;width:260px;padding:13px 16px;background:#07100cdd;border:1px solid var(--line);border-radius:11px}.task b{display:block;color:#e1c67e}.task span{font-size:13px;color:#c8bea5}.combat-log{position:absolute;bottom:135px;left:50%;transform:translateX(-50%);background:#050908dd;border:1px solid #655635;padding:9px 16px;border-radius:10px;color:#d7c99e}.skills-wrap{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);pointer-events:auto}.skills{display:flex;gap:12px}.skill{width:130px;min-height:94px;border:1px solid #92773d;border-radius:16px;background:#09110eea;color:#eee;padding:12px;cursor:pointer}.skill b,.skill small{display:block}.skill b{font:18px serif;color:#f0d38d;margin:6px 0}.skill small{font-size:10px;color:#9c927b}.skill:disabled{opacity:.35}.damage{position:absolute;left:68%;top:35%;font:bold 42px serif;color:#ffd780;text-shadow:0 3px 12px #000;opacity:0}.damage.pop{animation:dmg .8s}@keyframes dmg{0%{opacity:0;transform:translateY(20px) scale(.6)}30%{opacity:1;transform:translateY(0) scale(1.2)}100%{opacity:0;transform:translateY(-35px) scale(1)}}.quiz h1{font:30px serif;line-height:1.5}.options{display:grid;gap:10px;margin-top:20px}.option{padding:15px;text-align:left;border:1px solid #34483d;background:#0b1410;color:#eee;border-radius:10px;cursor:pointer}.option.correct{background:#173c2d;border-color:#64b88a}.option.wrong{background:#3b1e1d;border-color:#ad514b}.explain{margin-top:15px;padding:13px;border-left:3px solid #b6934a;background:#0a110e;color:#c8bca3}.auto-tip{color:#8f866f;font-size:12px}.result{text-align:center}.result img{width:210px;height:210px;object-fit:contain}.studio-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.filters{display:grid;grid-template-columns:1fr 180px auto;gap:10px;margin:22px 0}.filters input,.filters select,.settings input{background:#09100d;border:1px solid #35483d;color:#eee;border-radius:9px;padding:11px}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:13px}.asset-card{border:1px solid #2b3b32;background:#0a120f;border-radius:14px;padding:13px}.asset-head{display:flex;justify-content:space-between;gap:10px}.badge{font-size:10px;padding:5px 7px;border-radius:999px;background:#272a22;color:#bbb}.badge.custom{background:#173d30;color:#8dd2ad}.asset-id{font:11px monospace;color:#7d8d83;margin:5px 0 10px}.asset-preview{height:150px;border-radius:10px;overflow:hidden;background:#050806;display:grid;place-items:center}.asset-preview img,.asset-preview video{width:100%;height:100%;object-fit:contain}.empty-preview{color:#6f746f}.asset-card p,.asset-card small{color:#988f78;font-size:11px;line-height:1.5}.asset-actions{display:flex;gap:8px;margin-top:10px}.settings{display:grid;gap:16px}.settings label{display:grid;gap:6px;color:#bcae90}.tip{padding:14px;background:#17170f;border:1px solid #5f5535;border-radius:10px;color:#c6ba9e;line-height:1.7}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#101915;border:1px solid #766038;color:#edd79d;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(50px);transition:.3s}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:900px){.topbar{height:auto;align-items:flex-start;gap:8px;flex-direction:column;padding:10px}.topbar nav{overflow:auto;width:100%}.hero h1{font-size:44px}.studio-head{display:block}.filters{grid-template-columns:1fr}.dialog{grid-template-columns:70px 1fr}.dialog img{width:64px;height:64px}.dialog .btn{grid-column:1/-1}.boss-card>div,.boss-card .bar{width:42vw}.skills{gap:6px}.skill{width:95px}.map-node{transform:scale(.8)}}
.boot-status{margin:16px 0 22px;padding:12px 14px;border:1px solid rgba(226,190,103,.28);border-radius:10px;background:rgba(15,24,20,.72);color:#d7c79e;font-size:13px}.boot-status.ready{border-color:rgba(91,187,137,.42);color:#9fdeb9}.boot-status.error{border-color:rgba(220,92,83,.55);color:#ffb4ad;background:rgba(70,20,18,.32)}

/* V6.2 Prompt Center */
.prompt-wizard{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.wizard-step{display:flex;align-items:center;gap:10px;background:#0c1511;border:1px solid #2d4036;border-radius:12px;padding:12px;color:#bfb49a}
.wizard-step b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#43371d;color:#f0d184;border:1px solid #9f8145}
.prompt-stats{display:flex;gap:18px;flex-wrap:wrap;padding:13px 15px;background:#07100c;border:1px solid var(--line);border-radius:12px;margin:12px 0;color:#bdb299}
.prompt-stats .red{color:#ff9b92}.prompt-filters{grid-template-columns:1fr 190px 190px}
.prompt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:15px}
.prompt-card{background:linear-gradient(180deg,#0d1713,#080d0b);border:1px solid #2c3e34;border-radius:16px;padding:15px;box-shadow:0 14px 38px #0005}
.prompt-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.prompt-card h3{font:22px serif;margin:5px 0 0}
.prompt-kind{font-size:10px;letter-spacing:.16em;color:#a99662}.asset-status{font-size:11px;padding:6px 8px;border-radius:999px;white-space:nowrap;border:1px solid #444}
.status-missing{color:#ffb1aa;background:#401b19;border-color:#8d4943}.status-default{color:#f2d793;background:#342d1b;border-color:#776337}.status-ready{color:#9be1b8;background:#153b2d;border-color:#3c7e61}
.prompt-info{display:flex;flex-wrap:wrap;gap:7px 12px;margin:10px 0;color:#958a72;font-size:11px}.prompt-info b{color:#cfc1a0}
.prompt-mini-preview{height:180px;background:#040706;border:1px solid #203028;border-radius:10px;overflow:hidden;display:grid;place-items:center;margin:9px 0}
.prompt-mini-preview img,.prompt-mini-preview video{width:100%;height:100%;object-fit:contain}.empty-preview.big{font-size:14px;color:#a06d66}
.prompt-label{font-size:11px;color:#d8bc75;margin:13px 0 6px;letter-spacing:.12em}
.prompt-text{white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;background:#050907;border:1px solid #26372e;border-radius:10px;padding:12px;color:#cfc5ad;font:12px/1.75 "Microsoft YaHei",sans-serif;margin:0}
.prompt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.prompt-empty{padding:40px;text-align:center;border:1px dashed #3c4c43;border-radius:14px;color:#9a917c}
.badge.default{background:#342d1b;color:#efcf87}.badge.missing{background:#421c1a;color:#ffaaa2}
.asset-prompt{margin-top:10px;border:1px solid #25362d;border-radius:9px;background:#070c09}.asset-prompt summary{cursor:pointer;padding:9px 10px;color:#d7bb78;font-size:12px}.asset-prompt pre{white-space:pre-wrap;max-height:190px;overflow:auto;padding:0 10px 10px;color:#bdb29a;font:11px/1.65 "Microsoft YaHei",sans-serif}.asset-prompt .copy-prompt{margin:0 10px 10px}
@media(max-width:900px){.prompt-wizard{grid-template-columns:1fr 1fr}.prompt-filters{grid-template-columns:1fr}.prompt-grid{grid-template-columns:1fr}}

/* V7 Interactive Video RPG */
.battle-scene-fallback{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;filter:saturate(.9)}
.battle-video-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;transition:opacity .16s ease;pointer-events:none;background:#000}.battle-video-layer.active{opacity:1}
.battle-state-label{position:absolute;z-index:7;left:20px;top:96px;padding:7px 11px;border:1px solid #6f6039;border-radius:999px;background:#07100cbb;color:#d6c38e;font-size:11px;letter-spacing:.08em}
.seal-reward{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);min-width:300px;text-align:center;padding:22px 35px;border:1px solid #d1aa57;border-radius:16px;background:linear-gradient(180deg,#3c3018ee,#0b110dee);box-shadow:0 0 70px #e5bd5d66;color:#f5dda0}.seal-reward b,.seal-reward span{display:block}.seal-reward b{font:34px serif}.seal-reward span{margin-top:7px;color:#cdbf99}
.skill em{display:block;margin-top:5px;font-style:normal;font-size:10px;color:#e1c374}
.workbench-grid{display:grid;gap:20px;margin-top:22px}.wb-dungeon{border:1px solid #33483d;border-radius:18px;background:linear-gradient(180deg,#0e1814,#070c0a);padding:18px;box-shadow:0 20px 55px #0006}.wb-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.wb-head h2{font:32px serif;margin:4px 0}.wb-head p{margin:4px 0;color:#9e947c}.wb-progress{min-width:160px;text-align:right}.wb-progress b{font:30px serif;color:#e6ca82;display:block}.wb-progress span{font-size:11px;color:#9a9078}.wb-progress i{display:block;height:6px;background:#111a16;border-radius:999px;margin-top:8px;overflow:hidden}.wb-progress em{display:block;height:100%;background:#67b38b}.wb-flow{margin:15px 0;padding:11px 13px;background:#10170f;border-left:3px solid #bc9650;color:#c8bca1;font-size:12px;line-height:1.7}.wb-slots{display:grid;gap:7px}.wb-slot{display:grid;grid-template-columns:minmax(250px,1fr) 90px auto;gap:10px;align-items:center;padding:10px;border:1px solid #26372e;border-radius:11px;background:#09100d}.wb-slot-main{display:grid;grid-template-columns:72px 1fr;gap:3px 10px}.wb-slot-main b{font-size:14px}.wb-slot-main small{grid-column:2;color:#7f897f;font:10px monospace}.wb-group{grid-row:1/3;display:grid;place-items:center;color:#af9b65;font-size:10px;border-right:1px solid #2b3a32}.wb-status{font-size:11px;padding:6px 8px;border-radius:999px;text-align:center}.wb-ready{background:#153a2c;color:#92dbb2}.wb-default{background:#342c1a;color:#e7c97f}.wb-missing{background:#421c1a;color:#ffaaa2}.wb-slot-actions{display:flex;gap:6px}.wb-inline-prompt{grid-column:1/-1;padding:10px;background:#050907;border-radius:9px;border:1px solid #223229}.wb-inline-prompt pre{white-space:pre-wrap;max-height:180px;overflow:auto;color:#bbb098;font:11px/1.65 "Microsoft YaHei"}.wb-tuning{margin-top:16px;padding:14px;border:1px solid #3b4630;border-radius:12px;background:#11140e}.wb-tuning h3{margin:0;font:21px serif}.wb-tuning p{color:#91866e;font-size:11px}.wb-tune-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin:10px 0}.wb-tune-grid label{display:grid;grid-template-columns:1fr 54px 70px 66px 70px;gap:6px;align-items:center;padding:8px;background:#080d0a;border-radius:8px}.wb-tune-grid input{width:100%;padding:7px;background:#0c1511;border:1px solid #34473c;color:#eee;border-radius:7px}.tip.compact{max-width:390px;font-size:12px;padding:10px 12px}
@media(max-width:900px){.wb-head{display:block}.wb-progress{text-align:left;margin-top:10px}.wb-slot{grid-template-columns:1fr}.wb-status{justify-self:start}.wb-slot-actions{justify-self:start}.wb-tune-grid label{grid-template-columns:1fr 45px 70px 55px 70px}.battle-state-label{top:84px}.seal-reward{min-width:260px}}

/* V8 Production Master */
.wb-prod-note{margin:12px 0;padding:12px 14px;border-left:3px solid #e2b95f;background:#141109;color:#d8c58f;line-height:1.7}.prod-meta{display:flex;gap:12px;flex-wrap:wrap;padding:8px 10px;background:#101813;border-bottom:1px solid #2a3b31;color:#d9c17f;font-size:11px}.bible-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}.bible-global,.bible-card{background:linear-gradient(180deg,#0e1713,#080d0b);border:1px solid #304338;border-radius:16px;padding:20px}.bible-global{grid-column:1/-1;border-color:#806b3c}.bible-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.bible-specs span{background:#07100c;border:1px solid #28382f;border-radius:10px;padding:12px;color:#bdb29b}.bible-specs b{display:block;color:#e0c47d;margin-bottom:5px}.bible-card h2{font:28px serif;margin:6px 0 15px}.bible-card dl{margin:0}.bible-card dt{color:#dabb70;font-size:11px;letter-spacing:.12em;margin-top:13px}.bible-card dd{margin:5px 0 0;color:#c7bda7;line-height:1.75}.bible-anchor{margin-top:15px;padding:12px;background:#060a08;border-radius:10px;border:1px solid #28372f}.bible-anchor b{display:block;color:#e2c67d;margin-bottom:8px}.bible-anchor code{display:block;color:#8dd3b1;padding:3px 0}.prompt-text{max-height:540px!important}.wb-inline-prompt pre{max-height:620px!important}.wb-tune-grid label small{color:#8fc3ad;display:block;margin-top:7px}@media(max-width:900px){.bible-grid{grid-template-columns:1fr}.bible-specs{grid-template-columns:1fr 1fr}}

/* V9 ChatGPT + Liblib production pipeline */
.pipeline-strip{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:14px 0 22px;padding:12px;border:1px solid #385044;background:#09110e;border-radius:12px}.pipeline-strip span{padding:8px 10px;background:#101b16;border-radius:9px;color:#c9bea5}.pipeline-strip span b{color:#efd184;margin-right:5px}.pipeline-strip i{color:#705f39}.ai-anchor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;margin-bottom:20px}.ai-anchor,.liblib-row{border:1px solid #2b4035;background:#09100d;border-radius:12px;padding:12px}.ai-anchor>div:first-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ai-anchor small{display:block;width:100%;color:#918773}.ai-anchor details,.liblib-row details{margin-top:9px}.ai-anchor pre,.liblib-row pre{white-space:pre-wrap;max-height:260px;overflow:auto;background:#050806;padding:10px;border-radius:8px;color:#cfc5ad;font-size:11px;line-height:1.7}.liblib-list{display:grid;gap:10px;margin-bottom:20px}.liblib-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.liblib-main>div{display:flex;gap:8px;align-items:center}.liblib-main small{display:block;color:#958a73;margin-top:5px}.frame-pair{display:flex;gap:10px;flex-wrap:wrap;margin-top:7px}.frame-pair span{font-size:11px;color:#ddc687;background:#17150d;border:1px solid #4f4225;border-radius:999px;padding:5px 8px}.timing{color:#85d5a8!important}.cal-overlay{position:fixed;inset:0;z-index:999;background:#000b;display:grid;place-items:center;padding:20px}.cal-card{width:min(900px,96vw);max-height:92vh;overflow:auto;background:#0b1310;border:1px solid #8a7040;border-radius:16px;padding:18px;box-shadow:0 30px 100px #000}.cal-card video{width:100%;max-height:52vh;background:#000;border-radius:10px}.cal-card p{color:#b5aa92;line-height:1.7}.cal-time{margin:8px 0;color:#dbc27e}.cal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cal-grid label{display:grid;gap:5px;color:#a99d83;font-size:12px}.cal-grid input{background:#07100c;color:#fff;border:1px solid #35483e;border-radius:8px;padding:10px}.tuning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.tune{display:grid;gap:5px;border:1px solid #2c4035;background:#09100d;border-radius:10px;padding:10px}.tune input{background:#050a07;color:#fff;border:1px solid #34473c;border-radius:7px;padding:8px}.tune small{color:#8e846e}.wb-ready{color:#8ee0b4}.wb-default{color:#efd18b}.wb-missing{color:#ff9a92}@media(max-width:800px){.liblib-row{grid-template-columns:1fr}.cal-grid{grid-template-columns:1fr}}
/* V10.1 one-page production center */
.video-production-card{grid-column:span 1;border-color:#5b4c2c}
.frame-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px}
.frame-box{background:#060b08;border:1px solid #314236;border-radius:12px;padding:9px}
.frame-title{display:flex;flex-direction:column;gap:3px;color:#b3a583;font-size:10px;margin-bottom:7px}.frame-title b{font-size:12px;color:#e0c47d}
.frame-preview{height:145px;background:#020403;border-radius:8px;overflow:hidden;display:grid;place-items:center;margin-bottom:7px}.frame-preview img{width:100%;height:100%;object-fit:cover}
.ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:7px 0 13px}
.ref-chip{background:#08100c;border:1px solid #27382e;border-radius:10px;padding:7px;display:flex;flex-direction:column;gap:6px}.ref-chip b{font-size:11px;color:#c8b991}.ref-thumb{height:88px;border-radius:7px;overflow:hidden;background:#020403;display:grid;place-items:center}.ref-thumb img{width:100%;height:100%;object-fit:cover}.ref-thumb span{color:#aa716b;font-size:11px}
.btn.tiny{padding:5px 7px;font-size:10px;min-height:auto}
@media(min-width:1200px){.prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.frame-grid{grid-template-columns:1fr}.video-production-card{grid-column:span 1}}

/* V10.2 level-by-level prompt center */
.prompt-level-nav-wrap{position:sticky;top:58px;z-index:25;margin:14px 0 10px;padding:12px;background:rgba(5,12,9,.96);backdrop-filter:blur(14px);border:1px solid #31443a;border-radius:14px;box-shadow:0 12px 35px #0007}
.prompt-nav-title{font-size:11px;letter-spacing:.16em;color:#9e8c62;margin-bottom:8px}
.prompt-level-tabs{display:flex;gap:8px;flex-wrap:wrap}
.level-tab{min-width:145px;text-align:left;border:1px solid #31483d;background:#0c1612;color:#c9bfa7;border-radius:11px;padding:9px 12px;cursor:pointer;transition:.18s}
.level-tab span{display:block;font-size:10px;color:#9c8b66;margin-bottom:3px}.level-tab b{font-size:14px}.level-tab:hover{transform:translateY(-1px);border-color:#7a6840}.level-tab.active{background:linear-gradient(135deg,#493b1d,#1a3229);border-color:#b28e49;color:#f4dfaa;box-shadow:inset 0 0 0 1px #c6a15a44}
.prompt-level-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px;color:#9f957f;font-size:11px}.prompt-level-summary b{color:#e8cb85}.prompt-level-summary .warn{color:#ff9e96}.prompt-level-summary .ok{color:#95d9b3}
.prompt-type-tabs{display:flex;gap:8px;margin:10px 0 14px;flex-wrap:wrap}.prompt-type-tabs button{border:1px solid #314239;background:#09110e;color:#a99e87;padding:8px 13px;border-radius:999px;cursor:pointer}.prompt-type-tabs button.active{background:#2e3d2f;color:#f1d691;border-color:#8c7747}
@media(max-width:720px){.prompt-level-nav-wrap{top:52px}.level-tab{min-width:calc(50% - 5px)}}

/* V11 five-level polished UI */
:root{
  --bg2:#09100d;
  --panel-glow:0 24px 80px rgba(0,0,0,.45);
}
.topbar{background:linear-gradient(180deg,rgba(6,11,9,.98),rgba(6,11,9,.92));backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.topbar button{transition:.18s ease}
.topbar button:hover,.topbar .accent{background:linear-gradient(180deg,#20170d,#13221b);color:#f0d490;box-shadow:inset 0 0 0 1px #6a5631}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,8,.8),rgba(6,10,8,.38) 45%,rgba(6,10,8,.18));pointer-events:none}
.hero{position:relative}
.hero-copy{position:relative;z-index:1}
.panel,.guide-step,.asset-card,.prompt-card,.dialog,.task,.map-head,.prompt-level-nav-wrap{box-shadow:var(--panel-glow)}
.map{position:relative}
.map::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 10%,rgba(255,228,167,.16),transparent 34%),linear-gradient(180deg,transparent,rgba(3,8,6,.14) 65%,rgba(3,8,6,.38));pointer-events:none}
.map-head{max-width:460px;background:linear-gradient(180deg,rgba(8,16,12,.86),rgba(8,16,12,.70));border:1px solid rgba(228,194,117,.32);padding:20px 22px 18px;border-radius:18px}
.map-head h1{font-size:40px;letter-spacing:.04em}
.map-head b{display:inline-flex;margin-top:10px;padding:8px 12px;border-radius:999px;background:rgba(18,28,22,.72);border:1px solid rgba(228,194,117,.28);color:#e7cb87}
#mapNodes{position:absolute;inset:0;z-index:3}
.map-node{width:170px;display:flex;flex-direction:column;align-items:center;gap:10px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.45));transition:transform .18s ease,filter .18s ease}
.map-node:hover{transform:translateY(-3px);filter:drop-shadow(0 12px 26px rgba(0,0,0,.55))}
.map-node:disabled{cursor:default}
.map-seal-wrap{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;padding:8px;background:radial-gradient(circle,#20160b 0%,#0d1511 72%);border:1px solid rgba(228,194,117,.30);box-shadow:0 0 28px rgba(228,194,117,.18), inset 0 0 16px rgba(255,219,150,.08)}
.map-node.open .map-seal-wrap{animation:pulse 1.8s infinite}
.map-node.cleared .map-seal-wrap{background:radial-gradient(circle,#1e4a39 0%,#0d1511 72%);box-shadow:0 0 32px rgba(109,198,152,.24), inset 0 0 16px rgba(133,231,179,.10)}
.map-seal-img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.4))}
.map-seal-fallback{display:grid;place-items:center;width:100%;height:100%;font:34px serif;color:#f3db9e}
.map-node-info{min-width:150px;padding:10px 12px;background:linear-gradient(180deg,rgba(11,18,15,.92),rgba(7,12,10,.86));border:1px solid rgba(228,194,117,.22);border-radius:14px;text-align:center}
.map-node-info strong,.map-node-info em,.map-node-info small{display:block}
.map-node-info strong{font:21px serif;color:#f0d79a}
.map-node-info em{font-style:normal;color:#c9b891;font-size:12px;margin-top:3px}
.map-node-info small{color:#9fb39f;font-size:11px;margin-top:6px}
.map-node.locked{opacity:.42;filter:grayscale(1) drop-shadow(0 8px 16px rgba(0,0,0,.5))}
.map-node.locked .map-node-info small{color:#918672}
.n1{left:10%;top:58%}.n2{left:28%;top:22%}.n3{left:45%;top:57%}.n4{left:64%;top:24%}.n5{left:81%;top:56%}
.dialog{grid-template-columns:120px 1fr auto;background:linear-gradient(180deg,rgba(6,10,8,.94),rgba(6,10,8,.86));border-radius:18px;padding:16px}
.dialog img{width:102px;height:102px;border:2px solid rgba(228,194,117,.48);box-shadow:0 6px 20px rgba(0,0,0,.35)}
.prompt-level-tabs{gap:10px}
.level-tab{min-width:160px;border-radius:14px;background:linear-gradient(180deg,#0d1713,#0a110e)}
.level-tab:hover{box-shadow:0 10px 24px rgba(0,0,0,.28)}
.level-tab.active{background:linear-gradient(135deg,#4d3d1d,#173127);box-shadow:inset 0 0 0 1px rgba(198,161,90,.2),0 12px 26px rgba(0,0,0,.24)}
.prompt-card{background:linear-gradient(180deg,#0d1713,#080e0b);border-radius:16px;border:1px solid rgba(228,194,117,.16)}
.prompt-card-top h3{font:28px serif;margin:6px 0 0}
.prompt-info span{background:#101813;border:1px solid #25352d;padding:6px 9px;border-radius:999px}
.prompt-text{background:#060a08;border:1px solid #25362d;border-radius:12px;padding:14px;font-size:12px;line-height:1.78;color:#d4c8ad}
.prompt-mini-preview{border-radius:12px;border:1px solid #233229;background:#030604}
.prompt-wizard .wizard-step{background:linear-gradient(180deg,#0d1511,#080f0c);border-radius:14px}
.btn{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.28)}
.btn.primary{background:linear-gradient(180deg,#95783b,#5b471f);box-shadow:inset 0 0 0 1px rgba(255,230,162,.18)}
@media(max-width:900px){
  .map-head{left:16px;right:16px;top:16px;max-width:none}
  .map-node{width:132px}
  .map-seal-wrap{width:76px;height:76px}
  .map-node-info strong{font-size:17px}
  .n1{left:2%;top:60%}.n2{left:20%;top:27%}.n3{left:39%;top:62%}.n4{left:58%;top:29%}.n5{left:75%;top:60%}
  .dialog{grid-template-columns:80px 1fr}
  .dialog .btn{grid-column:1/-1}
}
@media(max-width:640px){
  .map-node{width:110px}
  .map-node-info{padding:8px 8px}
  .map-node-info strong{font-size:15px}
  .map-node-info em,.map-node-info small{font-size:10px}
}

/* V12 commercial polish */
body{background:radial-gradient(circle at 50% -20%,#18281f 0,#07100c 35%,#040706 70%);background-attachment:fixed}
.topbar{padding:0 28px;border-bottom:1px solid rgba(226,192,115,.22)}
.brand{font-size:22px;text-shadow:0 0 22px rgba(228,194,117,.16)}
.topbar nav{gap:8px}.topbar button{padding:10px 14px;border:1px solid transparent}.topbar button:hover{border-color:rgba(228,194,117,.18)}
.hero-copy h1{letter-spacing:.02em;text-shadow:0 8px 34px rgba(0,0,0,.55)}
.btn{border-radius:12px}.panel{border-color:rgba(228,194,117,.20)}
.map-route{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:.75}
.map-route path{fill:none;stroke:rgba(233,202,132,.38);stroke-width:2.2;stroke-dasharray:8 10;vector-effect:non-scaling-stroke}
.map-route .route-glow{stroke:rgba(101,190,160,.20);stroke-width:7;filter:blur(3px);stroke-dasharray:none}
.map-node{width:176px;gap:4px}
.map-seal-wrap{width:118px;height:118px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;position:relative;overflow:visible}
.map-seal-wrap::after{content:'';position:absolute;left:50%;bottom:5px;width:68px;height:14px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(226,192,115,.34),rgba(226,192,115,0) 70%);filter:blur(3px);z-index:-1}
.map-seal-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(228,194,117,.16));transition:transform .2s ease,filter .2s ease}
.map-node.open .map-seal-img{animation:sealFloat 2.4s ease-in-out infinite}
.map-node:hover .map-seal-img{transform:scale(1.08) translateY(-4px);filter:drop-shadow(0 14px 18px rgba(0,0,0,.62)) drop-shadow(0 0 20px rgba(236,202,123,.32))}
.map-node.cleared .map-seal-img{filter:drop-shadow(0 12px 14px rgba(0,0,0,.55)) drop-shadow(0 0 20px rgba(105,218,169,.30))}
.map-node.locked .map-seal-img{filter:grayscale(1) brightness(.62) drop-shadow(0 10px 10px rgba(0,0,0,.55))}
.map-node-info{margin-top:-5px;min-width:160px;border-radius:12px;background:linear-gradient(180deg,rgba(8,15,12,.92),rgba(6,10,8,.88));box-shadow:0 12px 28px rgba(0,0,0,.34);backdrop-filter:blur(9px)}
.map-node-info strong{font-size:20px}.map-node-info em{color:#d5c496}.map-node-info small{letter-spacing:.04em}
@keyframes sealFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.map-head{backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(0,0,0,.38)}
.prompt-level-nav-wrap{border-color:rgba(226,192,115,.22)}
.level-tab{position:relative;overflow:hidden}.level-tab::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.05),transparent 70%);transform:translateX(-120%);transition:.35s}.level-tab:hover::before{transform:translateX(120%)}
.prompt-card{box-shadow:0 18px 44px rgba(0,0,0,.30)}
.prompt-card:hover{border-color:rgba(228,194,117,.30)}
.frame-box,.ref-chip{background:linear-gradient(180deg,#0b1410,#070c09)}
.frame-preview,.ref-thumb{border:1px solid rgba(228,194,117,.12)}
@media(max-width:900px){.topbar{padding:10px 14px}.map-route{opacity:.45}.map-seal-wrap{width:88px;height:88px}.map-node{width:128px}.map-node-info{min-width:118px}}

/* V13 AssetSafe professional asset management */
.asset-slot-path{display:grid;grid-template-columns:86px minmax(0,1fr);gap:6px 10px;margin:12px 0;padding:11px 12px;background:#07100c;border:1px solid #26382f;border-radius:12px;font-size:11px;align-items:center}
.asset-slot-path span{color:#8f987f}.asset-slot-path code{color:#d9c482;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Consolas,monospace}
.asset-current-meta{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0;color:#9f957e;font-size:11px}.asset-current-meta span{padding:5px 8px;border-radius:999px;background:#0b1511;border:1px solid #26382f}.asset-current-meta b{color:#9de0b8}.asset-current-meta.missing span{color:#e5948d;border-color:#55332f;background:#1b100f}
.asset-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}
.asset-modal{width:min(620px,96vw);background:linear-gradient(180deg,#101915,#07100c);border:1px solid #80693b;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.65);overflow:hidden}
.asset-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px 13px;border-bottom:1px solid #2b3a31}.asset-modal-head h2{margin:5px 0 0;font:28px serif;color:#f0d69a}.asset-modal-x{border:0;background:transparent;color:#a79d87;font-size:28px;cursor:pointer}
.asset-modal-body{padding:18px 22px}.asset-target{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:9px 0;border-bottom:1px dashed #2b3c33}.asset-target span{color:#8d937f;font-size:11px}.asset-target b{color:#e9dec1}.asset-target code{color:#d7bd78;word-break:break-all;font-family:Consolas,monospace;font-size:11px}
.asset-safe-note{margin:14px 0 0;padding:11px 12px;border-left:3px solid #6cab89;background:#0c1812;color:#b8cbbd;line-height:1.65;font-size:12px}.asset-warning{padding:12px 13px;margin-bottom:12px;border:1px solid #8d4f48;border-radius:10px;background:#2a1513;color:#f0b3ad}.asset-warning b{color:#ffb1aa}.asset-warning p{margin:6px 0 0;line-height:1.6}
.asset-modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px 20px}
.prompt-actions .danger{border-color:#75453f;color:#eeb0aa}.restore-prev{border-color:#4d6257;color:#b8d5c4}
.prompt-card{position:relative}.prompt-card::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:2px;background:linear-gradient(transparent,rgba(228,194,117,.34),transparent)}
@media(max-width:720px){.asset-slot-path{grid-template-columns:1fr}.asset-target{grid-template-columns:1fr}.asset-modal-actions{flex-direction:column-reverse}.asset-modal-actions .btn{width:100%}}

/* V14 Low-Code Content Studio */
.cm-toolbar,.publish-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.cm-toolbar h1,.publish-toolbar h1{font:42px serif;margin:5px 0 8px}.cm-toolbar p,.publish-toolbar p{margin:0;color:#a99f86}.cm-section-tabs{position:sticky;top:64px;z-index:22;display:flex;gap:8px;flex-wrap:wrap;padding:11px;background:rgba(6,12,9,.96);border:1px solid #304139;border-radius:14px;backdrop-filter:blur(12px);box-shadow:0 12px 30px #0006;margin-bottom:14px}.cm-section-tabs button{border:1px solid #2c4035;background:#0a120f;color:#afa58c;padding:9px 16px;border-radius:999px;cursor:pointer}.cm-section-tabs button.active{background:linear-gradient(180deg,#5e4a24,#2a3e31);border-color:#b38d49;color:#ffe6a8;box-shadow:0 6px 18px #0005}.cm-level-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:13px 0}.cm-level-tabs button{background:linear-gradient(180deg,#0e1713,#090f0c);border:1px solid #2c4035;color:#b9ad92;border-radius:12px;padding:11px;text-align:left;cursor:pointer}.cm-level-tabs button span{display:block;font-size:10px;color:#887c66}.cm-level-tabs button b{display:block;margin-top:3px;font:17px serif}.cm-level-tabs button.active{border-color:#a88443;background:linear-gradient(135deg,#40331b,#173025);color:#f2d795;box-shadow:inset 0 0 0 1px #d2af6040}.cm-panel{background:linear-gradient(180deg,#0d1713,#070c0a);border:1px solid #304238;border-radius:18px;padding:20px;box-shadow:0 24px 70px #0007}.cm-panel.global{max-width:1000px}.cm-panel-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:15px;border-bottom:1px solid #26372e}.cm-panel-title h2{font:32px serif;margin:4px 0}.cm-panel-title p{margin:5px 0 0;color:#9d927b}.cm-panel-title>span{padding:7px 10px;border-radius:999px;border:1px solid #584a2b;background:#17140d;color:#d7bc78;font-size:11px}.cm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.cm-form-grid label{display:grid;gap:7px;color:#ad9f84;font-size:12px}.cm-form-grid label.wide{grid-column:1/-1}.cm-form-grid input,.cm-form-grid textarea,.skill-edit-card input,.q-edit-card input,.q-edit-card textarea{width:100%;background:#07100c;border:1px solid #35483d;color:#f0eadb;border-radius:9px;padding:11px;outline:none}.cm-form-grid input:focus,.cm-form-grid textarea:focus,.skill-edit-card input:focus,.q-edit-card input:focus,.q-edit-card textarea:focus{border-color:#a88749;box-shadow:0 0 0 3px #a8874914}.cm-form-grid textarea{min-height:130px;resize:vertical;line-height:1.65}.cm-savebar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid #26372e}.cm-savebar span{font-size:11px;color:#8f846e}.question-editor{display:grid;gap:12px;margin-top:16px}.q-edit-card{background:#08100d;border:1px solid #293a31;border-radius:14px;padding:14px}.q-edit-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.q-edit-head>b{font:19px serif;color:#dfc37d}.icon-btn{border:1px solid #33463a;background:#0f1814;color:#c7bba0;border-radius:7px;padding:5px 9px;cursor:pointer}.icon-btn.danger{border-color:#6f3734;color:#e4a19c}.icon-btn:disabled{opacity:.3}.q-title{min-height:74px!important;resize:vertical}.q-options{display:grid;gap:7px;margin-top:9px}.q-option-row{display:grid;grid-template-columns:22px 24px 1fr 36px;gap:7px;align-items:center}.q-option-row>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#17231d;color:#d9c17e;font-size:11px}.q-option-row input[type=radio]{width:16px;height:16px}.text-btn{border:0;background:transparent;color:#d7bc78;padding:9px 0;cursor:pointer}.q-explain-label{display:grid;gap:5px;margin-top:8px;color:#978d77;font-size:11px}.q-explain{min-height:70px!important}.skill-editor{display:grid;gap:10px;margin-top:16px}.skill-edit-card{display:grid;grid-template-columns:54px 1.4fr .75fr .75fr .75fr 1fr;gap:10px;align-items:end;background:#08100d;border:1px solid #293a31;border-radius:13px;padding:12px}.skill-edit-card label{display:grid;gap:5px;color:#9f937b;font-size:11px}.skill-edit-card label.wide{grid-column:2/-1}.skill-edit-no{height:42px;display:grid;place-items:center;border-radius:10px;background:#17140d;border:1px solid #5b4b2a;color:#e5c67c;font:bold 17px serif}.check-label,.check-block{display:flex!important;align-items:center!important;gap:8px!important;min-height:42px}.check-label input,.check-block input{width:16px!important}.certificate-preview{margin-top:18px;padding:38px;text-align:center;background:radial-gradient(circle at 50% 15%,#273125,#0d1511 60%);border:1px double #a78a4a;border-radius:16px;box-shadow:inset 0 0 0 8px #a78a4a0b}.certificate-preview h2{font:36px serif;color:#eed28b;margin:7px}.certificate-preview p{max-width:700px;margin:16px auto;color:#c9bea4;line-height:1.8}.certificate-preview b,.certificate-preview em{display:block;color:#b59e69;margin-top:8px}.certificate-preview em{font-style:normal}.qa-summary{display:grid;grid-template-columns:150px 150px 150px 1fr;gap:10px;margin-bottom:14px}.qa-num,.qa-status{background:#0a120f;border:1px solid #2c3d34;border-radius:15px;padding:15px}.qa-num b{display:block;font:34px serif}.qa-num span,.qa-status span{color:#9d927b;font-size:11px}.qa-num.bad b{color:#ff9a92}.qa-num.warn b{color:#e7c87a}.qa-num.ok b{color:#84d1a7}.qa-status{display:flex;flex-direction:column;justify-content:center}.qa-status b{font:22px serif;color:#ead18e}.qa-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px;border:1px solid #31453a;background:linear-gradient(180deg,#0d1713,#08100d);border-radius:15px;margin-bottom:14px}.qa-actions h2{font:26px serif;margin:4px 0}.qa-actions p{margin:0;color:#928773}.qa-list{display:grid;gap:8px}.qa-item{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:13px 15px;border:1px solid #293a31;background:#08100d;border-radius:12px}.qa-dot{width:9px;height:9px;border-radius:50%}.qa-item.critical{border-color:#5b302f}.qa-item.critical .qa-dot{background:#e8645d;box-shadow:0 0 12px #e8645d}.qa-item.warn{border-color:#564927}.qa-item.warn .qa-dot{background:#d7b454}.qa-item.ok .qa-dot{background:#68b58e}.qa-item b{display:block;color:#ded3b9}.qa-item p{margin:4px 0 0;color:#8e846f;font-size:11px;line-height:1.55}.qa-item em{font-style:normal;font-size:10px;color:#a6987b}.final-trial-card{margin-top:5vh}.certificate-page{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:36px;background:radial-gradient(circle at 50% 20%,#17241d,#040706 70%)}.certificate-shell{position:relative;width:min(950px,94vw);padding:70px 80px;text-align:center;background:linear-gradient(145deg,#efe4c5,#d9c69b);color:#3d3120;border:8px double #9d7b3f;box-shadow:0 30px 120px #000a}.certificate-shell h1{font:58px serif;margin:10px 0;color:#654d24;letter-spacing:.08em}.certificate-shell h2{font:34px serif;margin:15px}.certificate-shell p{max-width:720px;margin:24px auto;line-height:2;font-size:16px}.cert-divider{width:180px;height:1px;background:#9d7b3f;margin:12px auto}.certificate-shell .eyebrow{color:#8a6d39}.certificate-shell> b{display:inline-block;margin:10px;padding:7px 12px;border:1px solid #9d7b3f;border-radius:999px}.cert-footer{margin-top:35px}.cert-footer strong,.cert-footer em{display:block}.cert-footer em{font-style:normal;margin-top:9px}.cert-actions{justify-content:center;margin-top:30px}@media print{.topbar,.cert-actions{display:none!important}.certificate-page{padding:0;background:#fff}.certificate-shell{box-shadow:none;width:100vw;height:100vh;border-width:5px;display:flex;flex-direction:column;justify-content:center}.screen{min-height:100vh}}
@media(max-width:900px){.cm-toolbar,.publish-toolbar,.qa-actions{display:block}.cm-toolbar .row,.publish-toolbar .row,.qa-actions .row{margin-top:12px}.cm-level-tabs{grid-template-columns:1fr 1fr}.cm-form-grid{grid-template-columns:1fr}.cm-form-grid label.wide{grid-column:auto}.skill-edit-card{grid-template-columns:44px 1fr 1fr}.skill-edit-card label.wide{grid-column:1/-1}.qa-summary{grid-template-columns:1fr 1fr}.qa-status{grid-column:1/-1}.certificate-shell{padding:44px 22px}.certificate-shell h1{font-size:42px}}
.map-final-btn{margin-top:12px}
.debug-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 14px}.debug-level-grid article{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px;background:#08100d;border:1px solid #2a3b32;border-radius:12px}.debug-level-grid article span{display:block;color:#8e826c;font-size:10px}.debug-level-grid article b{display:block;color:#e3c77f;margin-top:2px;font:15px serif}.debug-level-grid article>div:last-child{display:flex;gap:5px;flex-direction:column}.btn.tiny{padding:5px 8px;font-size:10px}@media(max-width:1000px){.debug-level-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.debug-level-grid{grid-template-columns:1fr}}
.cm-storage{display:inline-block;margin-top:9px;padding:6px 9px;border-radius:999px;font-size:10px;border:1px solid #3a493f}.cm-storage.online{color:#8fd5ae;background:#113025}.cm-storage.offline{color:#e4ba72;background:#352817;border-color:#6e532d}

/* V15 front/admin separation */
.player-shell{overflow-x:hidden}.player-topbar nav{margin-left:auto}.player-topbar{background:rgba(4,8,7,.94);backdrop-filter:blur(14px)}
.admin-shell{background:radial-gradient(circle at 10% 0%,#14231c 0,#07100c 34%,#050807 70%)}
.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,rgba(172,139,69,.12),transparent 30%),linear-gradient(180deg,#08100d,#030504)}
.admin-login-card{width:min(460px,94vw);padding:34px;border:1px solid rgba(228,194,117,.28);border-radius:22px;background:linear-gradient(180deg,rgba(15,24,20,.98),rgba(7,12,10,.98));box-shadow:0 34px 100px rgba(0,0,0,.55)}
.admin-login-card h1{font:42px serif;margin:8px 0 10px}.admin-login-card p{color:#b9ad92;line-height:1.75}.admin-login-card label{display:grid;gap:8px;margin:22px 0;color:#cfc1a0}.admin-login-card input{width:100%;padding:13px 14px;border-radius:11px;border:1px solid #36483e;background:#07100c;color:#fff;outline:none}.admin-login-card input:focus{border-color:#ad8d4c;box-shadow:0 0 0 3px rgba(173,141,76,.10)}.admin-login-card .btn{width:100%;padding:13px}.admin-login-card small{display:block;margin-top:18px;color:#837a68;line-height:1.6}.admin-login-error{min-height:22px;margin-top:10px;color:#f19a91;font-size:12px}
.admin-topbar{background:linear-gradient(180deg,#08110deF,#050907f2);backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(0,0,0,.35)}.admin-topbar .brand{font-size:17px}.danger-link{color:#e7a19a!important}
.admin-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:6px 0 24px;padding:28px 30px;border:1px solid rgba(228,194,117,.2);border-radius:20px;background:linear-gradient(135deg,rgba(25,42,34,.96),rgba(13,21,17,.94) 58%,rgba(57,42,18,.82));box-shadow:0 24px 65px rgba(0,0,0,.32)}.admin-hero h1{font:42px serif;margin:6px 0 8px}.admin-hero p{color:#b8ac91;margin:0;line-height:1.7}.admin-badge{white-space:nowrap;padding:9px 12px;border-radius:999px;border:1px solid rgba(228,194,117,.34);background:#0c1511;color:#e4c275;font-size:12px}
.admin-security-notice{margin:0 0 18px;padding:13px 15px;border-left:3px solid #d6a947;background:#2c2211;border-radius:10px;color:#e8d39b}.admin-security-notice b{color:#ffdf8d}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.admin-stat-grid article{padding:18px;border:1px solid #293a31;border-radius:15px;background:linear-gradient(180deg,#0d1713,#080e0b);box-shadow:0 14px 36px rgba(0,0,0,.22)}.admin-stat-grid span,.admin-stat-grid small{display:block;color:#92866f}.admin-stat-grid b{display:block;font:30px serif;color:#efd18a;margin:7px 0}.admin-stat-grid small{font-size:11px;line-height:1.45}
.admin-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.admin-quick-card{text-align:left;min-height:180px;padding:20px;border:1px solid #304238;border-radius:17px;background:linear-gradient(160deg,#0f1a15,#09100d);color:#eee;cursor:pointer;transition:.18s ease}.admin-quick-card:hover{transform:translateY(-3px);border-color:#856f42;box-shadow:0 18px 40px rgba(0,0,0,.32)}.admin-quick-card span{display:block;color:#7c6a44;font:22px serif}.admin-quick-card b{display:block;margin:18px 0 8px;font:23px serif;color:#edd397}.admin-quick-card small{color:#9b917a;line-height:1.65}
.admin-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.muted-copy{color:#9b917a;line-height:1.65}.admin-divider{border:0;border-top:1px solid #2b3b32;margin:18px 0}.admin-inline-error{color:#f09a91;margin-top:10px}.admin-inline-success{color:#8fd1ad;margin-top:10px}
.v15-launcher{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 10%,rgba(228,194,117,.12),transparent 30%),#050807}.v15-launch-card{width:min(720px,94vw);padding:38px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#101915,#070b09);box-shadow:0 34px 100px #0009;text-align:center}.v15-launch-card h1{font:52px serif;margin:10px 0}.v15-launch-card p,.v15-launch-card small{color:#a99f86;line-height:1.75}.v15-launch-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.v15-launch-grid a{text-decoration:none;padding:17px;border-radius:13px;border:1px solid #6c5a34;background:linear-gradient(180deg,#2b2413,#121a15);color:#f1d691;font-weight:700}.v15-launch-grid a:hover{border-color:#c1a15e;box-shadow:0 12px 30px #0006}
@media(max-width:980px){.admin-stat-grid,.admin-quick-grid{grid-template-columns:1fr 1fr}.admin-settings-grid{grid-template-columns:1fr}.admin-hero{align-items:flex-start;flex-direction:column}.admin-badge{white-space:normal}}
@media(max-width:620px){.admin-stat-grid,.admin-quick-grid,.v15-launch-grid{grid-template-columns:1fr}.admin-login-card{padding:24px}.admin-hero h1{font-size:34px}}

/* V15.1 skill buff visibility fix */
.skill.buffed{border-color:#e8c56d;box-shadow:0 0 0 1px rgba(232,197,109,.22),0 0 26px rgba(232,197,109,.22);background:linear-gradient(180deg,rgba(45,37,18,.96),rgba(9,17,14,.94))}
.skill.buffed em{color:#ffe39b;font-weight:700}
.skill.buff-source{border-color:#63b99b;box-shadow:0 0 0 1px rgba(99,185,155,.18),0 0 22px rgba(99,185,155,.16)}
.skill.buff-source em{color:#8fe0bd;font-weight:700}

/* V16 Studio Pro */
.asset-status-stack{display:flex;gap:6px;flex-direction:column;align-items:flex-end}.asset-lock-badge{font-size:10px;padding:5px 8px;border-radius:999px;background:#392d14;color:#f1d286;border:1px solid #7a6331}.asset-locked-card{box-shadow:inset 0 0 0 1px rgba(218,176,82,.22),0 18px 60px #0006}.upload.disabled{opacity:.45;pointer-events:none}.asset-form-label{display:grid;gap:7px;margin:12px 0;color:#b9ad91}.asset-form-label select{background:#07100c;border:1px solid #35483d;border-radius:9px;color:#eee;padding:10px}.asset-modal.wide{width:min(880px,94vw)}.version-list{display:grid;gap:8px}.version-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #283b31;border-radius:10px;background:#08100c}.version-list article div{display:grid;gap:3px}.version-list span,.version-list small{color:#978c74;font-size:11px}.audio-use-note{padding:14px;border:1px solid #27382f;border-radius:12px;background:#060a08;color:#c9bda3;line-height:1.7}.prompt-mini-preview audio{width:100%;padding:18px}.audio-slot-help{margin:14px 0;padding:14px;border:1px solid #34483d;border-radius:12px;background:#09110e}.audio-slot-help b,.audio-slot-help span{display:block}.audio-slot-help b{color:#e1c67e;margin-bottom:6px}.audio-slot-help span{color:#a99e88;line-height:1.7}
.preload-overlay{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.72);display:grid;place-items:center;backdrop-filter:blur(12px)}.preload-card{width:min(460px,88vw);padding:28px;border-radius:20px;border:1px solid rgba(228,194,117,.4);background:linear-gradient(180deg,#101914,#070b09);box-shadow:0 30px 100px #000}.preload-card h2{font:30px serif;margin:8px 0 16px}.preload-bar{height:9px;background:#050806;border:1px solid #34483d;border-radius:999px;overflow:hidden}.preload-bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,#8b7138,#e0c174);transition:width .2s}.preload-card p{color:#ecd28e;font-weight:700}.preload-card small{color:#928871}
.level-preview-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.68);display:grid;place-items:center;padding:20px;backdrop-filter:blur(14px)}.level-preview-card{width:min(980px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#0c1511,#060a08);border:1px solid rgba(228,194,117,.42);border-radius:24px;box-shadow:0 40px 130px #000;position:relative}.level-preview-close{position:absolute;right:14px;top:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid #78643a;background:#08100ddd;color:#eee;font-size:24px;cursor:pointer}.level-preview-hero{height:310px;background-size:cover;background-position:center;position:relative;border-radius:24px 24px 0 0;overflow:hidden}.level-preview-copy{position:absolute;left:28px;bottom:24px;max-width:620px}.level-preview-copy span{color:#e5c878;letter-spacing:.16em;font-size:12px}.level-preview-copy h2{font:46px serif;margin:6px 0}.level-preview-copy p{font-size:17px;color:#d3c8ae;margin:0}.level-preview-body{padding:24px 28px 28px}.level-preview-people{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:-64px;position:relative;z-index:2}.level-preview-people>div{background:#09100dee;border:1px solid #3b4a3f;border-radius:16px;padding:10px;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center}.level-preview-people img{width:72px;height:72px;object-fit:cover;object-position:top;border-radius:12px;grid-row:1/3}.level-preview-people span{font-size:9px;letter-spacing:.14em;color:#a99465}.level-preview-people b{font:18px serif;color:#ead18f}.level-preview-body>p{line-height:1.8;color:#bdb199}.level-preview-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px}.preview-preload{color:#8fc5a9;font-size:12px}
.sim-page{max-width:1300px;margin:auto;padding:28px 22px}.sim-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.sim-head h1{font:38px serif;margin:6px 0}.sim-head p{color:#a99e88}.sim-stage{height:min(62vh,720px);margin-top:18px;background:#020403;border:1px solid #35463d;border-radius:18px;overflow:hidden;display:grid;place-items:center;position:relative}.sim-stage video,.sim-stage img{width:100%;height:100%;object-fit:contain}.sim-stage audio{width:min(700px,80%)}.sim-empty{color:#9f9379}.sim-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.sim-stages button{padding:10px;border:1px solid #2c3d34;background:#09100d;color:#c6baa1;border-radius:10px;text-align:left;cursor:pointer}.sim-stages button.active{border-color:#a68849;background:#1b2115;box-shadow:inset 0 0 0 1px #bfa25a44}.sim-stages span,.sim-stages small{display:block}.sim-stages span{font-weight:700}.sim-stages small{font-size:9px;color:#776f60;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qa-score-card{display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:center;padding:20px;border:1px solid #435140;border-radius:18px;background:linear-gradient(135deg,#0c1712,#121309);margin:18px 0}.qa-score-ring{--score:0;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d6b85f calc(var(--score)*1%),#142018 0);position:relative}.qa-score-ring:after{content:'';position:absolute;inset:9px;border-radius:50%;background:#08100d}.qa-score-ring b,.qa-score-ring span{position:relative;z-index:1}.qa-score-ring b{font:36px serif;color:#efd68f;margin-top:16px}.qa-score-ring span{font-size:11px;color:#90856e;margin-top:-26px}.qa-score-card h2{font:28px serif;margin:0}.qa-score-card p{color:#aaa087}.qa-summary.mini{margin:0;display:flex}.release-panel{margin:18px 0;padding:20px;border:1px solid #3c493d;border-radius:16px;background:#09110e}.release-panel h2{font:27px serif;margin:5px 0}.release-panel p{color:#9f947d}.release-actions{display:flex;gap:8px;margin:12px 0}.release-list{display:grid;gap:7px}.release-list article{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #283a31;border-radius:10px}.release-list article.active{border-color:#94773e;background:#16170f}.release-list article div:first-child{display:grid}.release-list span{font-size:10px;color:#887d68}.release-list em{font-style:normal;color:#e4c77d;font-size:11px}
.template-head,.analytics-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.template-head h1,.analytics-head h1{font:42px serif;margin:5px 0}.template-head p,.analytics-head p{color:#a99e87;max-width:760px}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.template-grid article{padding:20px;border:1px solid #31443a;border-radius:16px;background:linear-gradient(180deg,#0d1713,#080e0b)}.template-grid article>span{font-size:10px;color:#d4b870;letter-spacing:.12em}.template-grid h2{font:26px serif;margin:6px 0}.template-grid p{color:#9e947e;line-height:1.7;min-height:58px}.template-spec{margin-top:16px;padding:20px;border:1px solid #3b483d;border-radius:16px;background:#09110e}.template-spec h2{font:26px serif}.template-spec-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.template-spec-grid span{padding:10px;border-radius:9px;background:#111a16;border:1px solid #293930;color:#cabc9e;text-align:center;font-size:12px}.template-spec p{color:#918771;line-height:1.7}
.analytics-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.analytics-kpi article{padding:16px;border-radius:14px;border:1px solid #32443a;background:#0b1410}.analytics-kpi span,.analytics-kpi b{display:block}.analytics-kpi span{font-size:11px;color:#9a8e78}.analytics-kpi b{font:30px serif;color:#e8cd89;margin-top:7px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #203027}.metric-row span{color:#b4a990}.metric-row b{color:#e7cd89}.event-table{display:grid;gap:2px;overflow:auto}.event-row{min-width:850px;display:grid;grid-template-columns:190px 150px 110px 1fr;gap:10px;padding:8px;border-bottom:1px solid #1f2d26;color:#a99e88;font-size:11px}.event-row.head{color:#e3ca87;font-weight:700}.event-row code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8cc1a5}
.admin-quick-grid.pro{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.level-preview-people{grid-template-columns:1fr;margin-top:12px}.level-preview-hero{height:240px}.level-preview-copy h2{font-size:36px}.sim-stages{grid-template-columns:1fr 1fr}.qa-score-card{grid-template-columns:110px 1fr}.qa-summary.mini{grid-column:1/-1}.template-grid,.analytics-grid{grid-template-columns:1fr}.template-spec-grid{grid-template-columns:1fr 1fr}.analytics-kpi{grid-template-columns:1fr 1fr}.admin-quick-grid.pro{grid-template-columns:1fr 1fr}}

/* V17 Web Ready: player journey manager + admin backend status */
.admin-backend-status{margin-top:10px;padding:9px 11px;border:1px solid #3a473f;border-radius:9px;background:#0a110e;color:#9f9a88;font-size:12px;line-height:1.55}.admin-backend-status.ok{border-color:#315a46;color:#8ed0aa;background:#0b1812}.admin-backend-status.error{border-color:#703d38;color:#f1a49c;background:#1b0d0c}.journey-overlay{position:fixed;inset:0;z-index:950;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.journey-card{position:relative;width:min(820px,96vw);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#101915,#070c09);border:1px solid rgba(228,194,117,.35);border-radius:20px;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.65)}.journey-card h2{font:34px serif;margin:6px 0 8px}.journey-help{color:#a99f86;line-height:1.7;margin:0 0 16px}.journey-list{display:grid;gap:10px}.journey-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #293a31;border-radius:14px;background:#09110e}.journey-row>div:first-child{display:grid;gap:3px}.journey-row span{font-size:10px;letter-spacing:.14em;color:#9c8960}.journey-row b{font:20px serif;color:#ead093}.journey-row small{color:#918a78}.journey-row.locked{opacity:.5;filter:grayscale(.6)}.journey-row.cleared{border-color:#506647;background:linear-gradient(180deg,#0d1a14,#09110e)}.journey-danger{margin-top:18px;padding:15px;border:1px solid #633a35;background:#160c0b;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:center}.journey-danger b{color:#f0b1a8}.journey-danger span{color:#9f8f87;font-size:12px;line-height:1.6}.journey-danger .btn{grid-row:1/3;grid-column:2}.btn.danger{background:linear-gradient(180deg,#552925,#301513);border-color:#7c423c;color:#efb0a8}@media(max-width:720px){.journey-row{align-items:flex-start;flex-direction:column}.journey-danger{grid-template-columns:1fr}.journey-danger .btn{grid-row:auto;grid-column:auto}.journey-card{padding:18px}}
.admin-login-help{margin-top:14px;border-top:1px solid rgba(228,194,117,.16);padding-top:12px;color:#9f947e;font-size:12px}.admin-login-help summary{cursor:pointer;color:#d8bf82}.admin-login-help p{margin:8px 0;line-height:1.65}.admin-login-help b{color:#e5cf97}

/* V17.3 robust admin boot */
#adminLoginForm{display:block}.admin-backend-status{margin-top:12px;padding:10px 12px;border:1px solid #2c4136;border-radius:10px;background:#07100c;color:#a7b5aa;font-size:12px;line-height:1.6}.admin-backend-status.ok{border-color:#2d6249;color:#91d2aa}.admin-backend-status.error{border-color:#74413a;color:#efaaa2;background:#160b0a}.admin-booting{opacity:.65;pointer-events:none}.admin-booting:before{content:'正在加载管理后台…';position:fixed;z-index:9999;left:50%;top:18px;transform:translateX(-50%);padding:10px 16px;border-radius:999px;background:#0b1511;border:1px solid #77613a;color:#ead18f;box-shadow:0 12px 30px #0008}


/* V17.4 immersive quiz */
.quiz-scene{min-height:calc(100vh - 64px);position:relative;background-size:cover;background-position:center;overflow:hidden;padding:34px 28px 28px}.quiz-scene-mask{position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.14),transparent 32%),radial-gradient(circle at 80% 20%,rgba(228,194,117,.12),transparent 25%),linear-gradient(180deg,rgba(3,8,7,.18),rgba(3,8,7,.74));pointer-events:none}.quiz-topline,.quiz-layout{position:relative;z-index:2}.quiz-topline{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px;padding:14px 18px;border:1px solid rgba(228,194,117,.22);background:rgba(5,10,8,.46);backdrop-filter:blur(8px);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.quiz-topline h2{margin:6px 0 0;font:32px serif;color:#f7e6ba}.quiz-progress{min-width:250px;display:grid;gap:10px;justify-items:end}.quiz-progress span{font-size:13px;color:#e6d9b3}.quiz-progress-bar{width:260px;max-width:100%;height:10px;border-radius:999px;background:rgba(10,15,13,.85);border:1px solid rgba(228,194,117,.25);overflow:hidden}.quiz-progress-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8f6d2b,#e4c275,#7ac3b1);transition:width .25s ease}.quiz-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:stretch}.quiz-side-card{height:100%;padding:18px;background:rgba(6,10,9,.68);backdrop-filter:blur(10px);border:1px solid rgba(228,194,117,.24);border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.36)}.quiz-side-card img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:16px;border:1px solid rgba(228,194,117,.26);background:#090e0c}.quiz-side-card h3{margin:10px 0 8px;font:28px serif;color:#f1d99c}.quiz-npc-line{color:#d9ceb4;line-height:1.75;min-height:104px}.quiz-reward{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px;border:1px solid rgba(228,194,117,.18);border-radius:16px;background:rgba(12,18,16,.72)}.quiz-reward img{width:72px;height:72px;aspect-ratio:auto;object-fit:contain;border-radius:12px;background:transparent;border:0}.quiz-reward span{display:block;font-size:12px;color:#b8aa84}.quiz-reward b{font:22px serif;color:#f0d38d}.immersive-quiz-panel{min-height:100%;padding:26px 28px;background:linear-gradient(180deg,rgba(18,25,21,.90),rgba(8,12,10,.93));border:1px solid rgba(228,194,117,.28);border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.42);position:relative;overflow:hidden}.immersive-quiz-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(228,194,117,.07),transparent 28%,transparent 72%,rgba(122,195,177,.06));pointer-events:none}.quiz-scroll-head{position:relative;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.quiz-score-chip{min-width:120px;padding:12px 14px;border-radius:16px;border:1px solid rgba(228,194,117,.24);background:rgba(12,17,14,.78);text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.quiz-score-chip span{display:block;font-size:12px;color:#bba982}.quiz-score-chip b{display:block;margin-top:6px;font:28px serif;color:#f7e3ad}.quiz-lore{position:relative;margin:0 0 18px;padding:14px 16px;border-left:3px solid rgba(228,194,117,.58);background:rgba(11,17,14,.72);border-radius:0 14px 14px 0;color:#cfc4ab;line-height:1.82}.immersive-options{gap:14px}.immersive-option{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:14px;padding:16px 18px;border:1px solid rgba(102,132,119,.45);background:linear-gradient(180deg,rgba(10,17,14,.94),rgba(12,18,15,.88));border-radius:16px;box-shadow:0 10px 26px rgba(0,0,0,.18);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.immersive-option:hover{transform:translateY(-2px);border-color:rgba(228,194,117,.55);box-shadow:0 16px 36px rgba(0,0,0,.28)}.immersive-option .option-prefix{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(228,194,117,.35);background:radial-gradient(circle at 30% 30%,rgba(228,194,117,.30),rgba(82,64,28,.30));font:22px serif;color:#f3deb0}.immersive-option .option-text{font-size:17px;line-height:1.7;color:#f1ecdf}.option.correct,.immersive-option.correct{background:linear-gradient(180deg,rgba(18,61,44,.95),rgba(10,31,23,.92));border-color:#64b88a}.option.wrong,.immersive-option.wrong{background:linear-gradient(180deg,rgba(70,31,27,.96),rgba(40,17,15,.92));border-color:#c6655f}.explain strong{display:block;margin-bottom:6px;color:#f1d799}.explain p{margin:0;line-height:1.72;color:#d6cbb1}.final-scene .quiz-topline h2{color:#ffefc1}.final-scene .quiz-side-card,.final-scene .immersive-quiz-panel{border-color:rgba(231,203,129,.30)}@media(max-width:1100px){.quiz-layout{grid-template-columns:1fr}.quiz-side-card{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start}.quiz-side-card img{width:180px}.quiz-npc-line{min-height:auto}}@media(max-width:720px){.quiz-scene{padding:18px 14px 20px}.quiz-topline{display:block}.quiz-progress{justify-items:start;min-width:0;margin-top:10px}.quiz-side-card{display:block}.quiz-side-card img{width:100%;aspect-ratio:4/5}.quiz-scroll-head{display:block}.quiz-score-chip{margin-top:12px;max-width:140px}.immersive-option{grid-template-columns:48px 1fr;padding:14px}.immersive-option .option-prefix{width:36px;height:36px;font-size:18px}}


/* V17.5 Commercial polish + feedback + battle transition */
:root{--gold-2:#f6e0aa;--gold-3:#8b6f34;--shadow-lg:0 32px 100px rgba(0,0,0,.46)}
.topbar{background:linear-gradient(180deg,rgba(4,8,7,.98),rgba(4,8,7,.86));backdrop-filter:blur(10px);box-shadow:0 10px 32px rgba(0,0,0,.28)}
.brand{font-size:24px;text-shadow:0 2px 16px rgba(228,194,117,.25)}
.topbar nav button{border:1px solid transparent;transition:.2s}.topbar nav button:hover,.topbar nav .accent{border-color:rgba(228,194,117,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 8px 20px rgba(0,0,0,.18)}
.hero{position:relative}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(228,194,117,.18),transparent 24%),linear-gradient(90deg,rgba(3,8,6,.93),rgba(3,8,6,.62) 38%,rgba(3,8,6,.22));pointer-events:none}.hero-copy{position:relative;padding:32px;border:1px solid rgba(228,194,117,.18);background:rgba(8,12,10,.26);backdrop-filter:blur(8px);border-radius:28px;box-shadow:var(--shadow-lg)}
.hero h1{text-shadow:0 6px 30px rgba(0,0,0,.42)}.progress-chip{background:rgba(8,14,12,.52);backdrop-filter:blur(4px)}
.map::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 18%,rgba(228,194,117,.12),transparent 24%),linear-gradient(180deg,rgba(2,7,6,.10),rgba(2,7,6,.52));pointer-events:none}.map-head{box-shadow:var(--shadow-lg);backdrop-filter:blur(8px);max-width:420px}.map-head h1{text-shadow:0 4px 20px rgba(0,0,0,.35)}
.map-node{min-width:150px}.map-seal-wrap{width:92px;height:92px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#574620,#0b120f 72%);border:1px solid rgba(228,194,117,.42);box-shadow:0 0 40px rgba(228,194,117,.18), inset 0 0 18px rgba(255,255,255,.04)}.map-node img.map-seal-img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}.map-seal-fallback{font:28px serif;color:#f4dda2}.map-node-info{margin-top:10px;padding:10px 12px;background:rgba(4,9,8,.54);border:1px solid rgba(228,194,117,.14);border-radius:14px;backdrop-filter:blur(6px)}.map-node-info strong,.map-node-info em,.map-node-info small{display:block}.map-node-info strong{font:20px serif}.map-node-info em{color:#ddcb9c;font-style:normal;margin-top:4px}.map-node.open .map-seal-wrap{animation:pulse 1.8s infinite}.map-node.cleared .map-seal-wrap{background:radial-gradient(circle,#206a53,#08120f 75%)}
.dialog{background:linear-gradient(180deg,rgba(4,9,8,.92),rgba(6,10,9,.82));backdrop-filter:blur(8px);box-shadow:var(--shadow-lg)}
.dialog h2{color:#f2dcaa;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.battle{background:#030605}.battle::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 25%,transparent 75%,rgba(0,0,0,.20)),radial-gradient(circle at 50% 0,rgba(228,194,117,.08),transparent 25%)}
.player-card,.boss-card{padding:10px 12px;border-radius:18px;background:rgba(6,10,9,.66);border:1px solid rgba(228,194,117,.18);box-shadow:0 12px 36px rgba(0,0,0,.26)}
.player-card img,.boss-card img{box-shadow:0 8px 18px rgba(0,0,0,.32)}.boss-card small{display:block;margin-top:6px;color:#d7caab}.task,.combat-log{box-shadow:0 16px 36px rgba(0,0,0,.24);backdrop-filter:blur(8px)}
.skills-wrap{padding:10px 14px;border-radius:24px;background:rgba(4,9,8,.28);backdrop-filter:blur(6px);border:1px solid rgba(228,194,117,.12);box-shadow:0 14px 38px rgba(0,0,0,.22)}
.skill{position:relative;overflow:hidden;border:1px solid rgba(200,170,93,.44);background:linear-gradient(180deg,rgba(10,17,14,.95),rgba(8,13,11,.92));box-shadow:0 12px 26px rgba(0,0,0,.22);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.skill::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(228,194,117,.11),transparent 35%,transparent 70%,rgba(255,255,255,.03));pointer-events:none}.skill:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 20px 42px rgba(0,0,0,.34);border-color:#d7b66d}.skill span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(228,194,117,.14);border:1px solid rgba(228,194,117,.32);font:16px serif;color:#f1daa3}.skill em{display:block;margin-top:8px;color:#d6c08d;font-size:11px;font-style:normal}.skill.buffed{border-color:#64b8a4;box-shadow:0 0 0 1px rgba(100,184,164,.22),0 18px 40px rgba(0,0,0,.30)}.skill.buff-source{border-color:#f0d38b}
.battle-state-label{position:absolute;top:100px;left:50%;transform:translateX(-50%);z-index:7;padding:10px 20px;border-radius:999px;background:rgba(6,10,9,.72);border:1px solid rgba(228,194,117,.28);backdrop-filter:blur(8px);font:14px serif;color:#f2dcaa;letter-spacing:.08em;box-shadow:0 12px 30px rgba(0,0,0,.26)}
.battle-transition-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:linear-gradient(180deg,rgba(4,7,6,.12),rgba(4,7,6,.68));backdrop-filter:blur(12px);opacity:0;transition:opacity .28s ease}.battle-transition-overlay.show{opacity:1}.battle-transition-card{width:min(720px,92vw);padding:26px 30px;border-radius:28px;text-align:center;background:linear-gradient(180deg,rgba(13,20,17,.96),rgba(8,12,10,.96));border:1px solid rgba(228,194,117,.34);box-shadow:0 34px 90px rgba(0,0,0,.46), inset 0 0 0 1px rgba(255,255,255,.03)}.battle-transition-card h2{margin:10px 0 12px;font:42px serif;color:#f7e1a8}.battle-transition-card p{margin:0 auto;max-width:560px;line-height:1.8;color:#d4c8ae}.battle-transition-card img{display:block;width:140px;height:140px;object-fit:contain;margin:18px auto 14px;filter:drop-shadow(0 12px 26px rgba(0,0,0,.42))}.battle-transition-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:14px}.battle-transition-meta span{padding:9px 14px;border-radius:999px;background:rgba(228,194,117,.10);border:1px solid rgba(228,194,117,.24);color:#eed8a0;font-size:13px}
.quiz h1,#ftQ,#quizQ{color:#fbf5ea;text-shadow:0 3px 14px rgba(0,0,0,.22)}
.answer-feedback{margin-top:14px;padding:14px 16px;border-radius:16px;border:1px solid transparent;background:rgba(12,18,15,.78);display:grid;gap:4px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.22s}.answer-feedback.show{opacity:1;transform:translateY(0)}.answer-feedback strong{font:22px serif}.answer-feedback span{color:#d8ccb1;line-height:1.7}.answer-feedback.ok{border-color:rgba(100,184,138,.46);background:linear-gradient(180deg,rgba(16,53,37,.88),rgba(10,28,21,.88))}.answer-feedback.ok strong{color:#b2f4cb}.answer-feedback.bad{border-color:rgba(214,101,95,.46);background:linear-gradient(180deg,rgba(66,28,25,.90),rgba(35,16,14,.88))}.answer-feedback.bad strong{color:#ffc2b8}
.quiz-scene.answer-ok,.final-scene.answer-ok{animation:quizOkFlash .48s ease}.quiz-scene.answer-bad,.final-scene.answer-bad{animation:quizBadFlash .48s ease}@keyframes quizOkFlash{0%{box-shadow:inset 0 0 0 0 rgba(100,184,138,.0)}50%{box-shadow:inset 0 0 0 9999px rgba(100,184,138,.09)}100%{box-shadow:inset 0 0 0 0 rgba(100,184,138,.0)}}@keyframes quizBadFlash{0%{box-shadow:inset 0 0 0 0 rgba(214,101,95,.0)}50%{box-shadow:inset 0 0 0 9999px rgba(214,101,95,.08)}100%{box-shadow:inset 0 0 0 0 rgba(214,101,95,.0)}}
.result .panel,.result{position:relative}.result .panel{background:linear-gradient(180deg,#141911,#0a0e0b);box-shadow:var(--shadow-lg)}.result h1{font:44px serif;color:#f5dfaa;margin:14px 0 10px}.result p{font-size:18px;color:#d0c3a7}
.btn.primary{background:linear-gradient(180deg,#a6823b,#5e481e);box-shadow:0 10px 24px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.16)}.btn.primary:hover{filter:brightness(1.06)}
@media(max-width:900px){.map-head{left:16px;right:16px;max-width:none}.map-node{min-width:0}.map-seal-wrap{width:72px;height:72px}.map-node img.map-seal-img{width:58px;height:58px}.battle-transition-card h2{font-size:30px}}


/* V17.6 Skill Artwork / Parchment Quiz / Dynamic Seal Reward */
.skills-wrap{bottom:16px}.skills{gap:14px;align-items:stretch}.skill-art-card{width:190px;height:210px;padding:0;border-radius:18px;overflow:hidden;background:#07100e;border:1px solid rgba(229,194,113,.48);display:flex;flex-direction:column;text-align:left}.skill-art-wrap{height:126px;position:relative;overflow:hidden;background:radial-gradient(circle,#1a3140,#07100e)}.skill-art{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:scale(1.04);transition:opacity .25s,transform .25s}.skill-art.ready{opacity:1}.skill-art-card:hover:not(:disabled) .skill-art{transform:scale(1.09)}.skill-index{position:absolute;left:9px;top:9px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(4,9,16,.82);border:1px solid rgba(245,210,126,.58);color:#ffe3a0;font:bold 14px serif;box-shadow:0 4px 14px #0008}.skill-copy{padding:10px 12px 11px;display:grid;gap:3px;min-height:82px;background:linear-gradient(180deg,rgba(10,18,16,.98),rgba(5,10,9,.98))}.skill-copy b{margin:0;color:#f3d99b;font:18px serif}.skill-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#aa9e84}.skill-copy em{margin-top:2px;color:#e0c47e;font-style:normal;font-size:11px}.skill-art-card.buffed{box-shadow:0 0 0 2px rgba(100,184,164,.35),0 0 34px rgba(100,184,164,.25)}.skill-art-card.buff-source{box-shadow:0 0 0 2px rgba(244,207,113,.35),0 0 34px rgba(244,207,113,.24)}
.parchment-quiz-panel{background-color:transparent!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;border:0!important;box-shadow:none!important;min-height:660px;padding:112px 118px 78px 138px!important;color:#2f2419;overflow:visible}.parchment-quiz-panel::before{display:none}.parchment-quiz-panel .eyebrow{color:#765930}.parchment-quiz-panel h1{color:#2f2419!important;text-shadow:none!important;font-size:30px;margin:7px 0 10px;text-align:center}.parchment-quiz-panel .quiz-scroll-head{margin:0 0 8px;align-items:center}.parchment-quiz-panel .quiz-score-chip{background:rgba(17,36,55,.90);border-color:#d3a653;color:#f5daa0;min-width:100px}.parchment-quiz-panel .quiz-score-chip span{color:#d3b77a}.parchment-quiz-panel .quiz-score-chip b{color:#fff0ba}.parchment-quiz-panel .quiz-lore{display:none}.parchment-quiz-panel .immersive-options{gap:12px;margin-top:18px}.parchment-quiz-panel .immersive-option{min-height:58px;grid-template-columns:52px 1fr;padding:8px 16px;background:rgba(255,248,226,.72);border:1px solid rgba(159,108,43,.60);box-shadow:0 4px 12px rgba(73,48,21,.13);color:#2f2419}.parchment-quiz-panel .immersive-option:hover{background:rgba(255,250,232,.94);border-color:#9e6c2f;transform:translateY(-1px)}.parchment-quiz-panel .immersive-option .option-prefix{width:38px;height:38px;background:#132a43;color:#f4d895;border:2px solid #b78337}.parchment-quiz-panel .immersive-option .option-text{color:#2f2419;font-size:16px}.parchment-quiz-panel .immersive-option.correct{background:rgba(215,244,219,.92);border-color:#5a9d68}.parchment-quiz-panel .immersive-option.wrong{background:rgba(249,218,211,.94);border-color:#b15b52}.parchment-quiz-panel .explain{background:rgba(255,247,223,.91);color:#3a2a1a;border-left-color:#9f7432}.parchment-quiz-panel .explain p{color:#4b3924}.parchment-quiz-panel .auto-tip{color:#756348;text-align:center}.quiz-main{min-width:0}
.reward-stage{min-height:calc(100vh - 64px);position:relative;background-size:cover;background-position:center;display:grid;place-items:center;overflow:hidden;padding:30px}.reward-stage-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,218,126,.08),rgba(2,5,5,.48) 70%)}.reward-stage-content{position:relative;z-index:2;width:min(850px,92vw);text-align:center;padding:32px 40px 36px;border-radius:30px;background:rgba(4,9,9,.26);border:1px solid rgba(235,200,119,.20);backdrop-filter:blur(3px);box-shadow:0 30px 90px rgba(0,0,0,.34)}.reward-stage-content h1{font:64px serif;margin:4px 0 8px;color:#ffe7a7;text-shadow:0 5px 24px #000,0 0 24px rgba(255,205,89,.35)}.reward-stage-content p{font-size:17px;color:#e5d6b2}.reward-seal-orbit{width:280px;height:280px;margin:8px auto 10px;position:relative;display:grid;place-items:center}.reward-seal-orbit::before,.reward-seal-orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,209,105,.48);inset:10px;animation:sealOrbit 8s linear infinite}.reward-seal-orbit::after{inset:30px;border-style:dashed;animation-direction:reverse;animation-duration:6s}.reward-seal-glow{position:absolute;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,112,.45),rgba(255,188,52,.12) 44%,transparent 70%);filter:blur(5px);animation:sealPulse 1.8s ease-in-out infinite}.reward-seal-orbit img{position:relative;z-index:2;width:215px;height:215px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.45)) drop-shadow(0 0 22px rgba(255,203,83,.38));animation:sealFloat 2.6s ease-in-out infinite}.reward-achievement{display:inline-grid;gap:5px;padding:12px 28px;margin:2px 0 20px;background:linear-gradient(180deg,rgba(15,34,54,.94),rgba(8,21,38,.94));border:1px solid #ad7d32;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 12px 30px rgba(0,0,0,.22)}.reward-achievement span{color:#bda772;font-size:12px;letter-spacing:.12em}.reward-achievement b{font:28px serif;color:#ffe2a0}.reward-next{min-width:190px;font-size:16px}@keyframes sealOrbit{to{transform:rotate(360deg)}}@keyframes sealPulse{50%{transform:scale(1.12);opacity:.72}}@keyframes sealFloat{50%{transform:translateY(-10px) scale(1.03)}}
@media(max-width:1100px){.skills{gap:8px}.skill-art-card{width:160px;height:190px}.skill-art-wrap{height:112px}.parchment-quiz-panel{min-height:600px;padding:92px 72px 60px 88px!important}}
@media(max-width:760px){.skills-wrap{left:8px;right:8px;transform:none;overflow-x:auto}.skills{width:max-content}.skill-art-card{width:145px;height:184px}.parchment-quiz-panel{min-height:560px;padding:82px 30px 44px 36px!important;background-size:cover!important}.parchment-quiz-panel .quiz-scroll-head{display:block}.reward-stage-content{padding:24px 18px}.reward-stage-content h1{font-size:42px}.reward-seal-orbit{width:230px;height:230px}.reward-seal-orbit img{width:175px;height:175px}}


/* V17.7 Layout Fix — compact skills, pixel-aligned quiz art, contained reward art */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Skills: image is a compact icon, never a full giant poster. */
.skills-wrap{bottom:14px;padding:8px 10px;border-radius:18px;max-width:calc(100vw - 40px)}
.skills{gap:10px;align-items:center}
.skill-art-card{width:182px;height:102px;padding:5px;border-radius:15px;display:grid;grid-template-columns:86px 1fr;align-items:stretch;overflow:hidden;text-align:left;background:rgba(5,11,10,.94)}
.skill-art-wrap{width:86px;height:90px;border-radius:12px;overflow:hidden;background:radial-gradient(circle,#19313d,#07100e);border:1px solid rgba(229,194,113,.24);align-self:center}
.skill-art{width:100%;height:100%;object-fit:contain!important;object-position:center!important;padding:2px;transform:none!important;background:rgba(2,5,5,.25)}
.skill-art-card:hover:not(:disabled) .skill-art{transform:scale(1.03)!important}
.skill-index{left:6px;top:6px;width:24px;height:24px;font-size:12px}
.skill-copy{padding:8px 8px 7px;min-height:0;background:transparent;align-content:center;gap:3px}
.skill-copy b{font-size:15px;line-height:1.15}
.skill-copy small{font-size:10px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.skill-copy em{font-size:10px;line-height:1.2;margin-top:1px}

/* Quiz: left NPC stays, right side is the generated parchment used at its native proportions. */
.quiz-scene{padding:18px 22px 22px;overflow:auto}
.quiz-topline{max-width:1240px;margin:0 auto 14px;padding:10px 16px}
.quiz-topline h2{font-size:27px}
.quiz-layout{max-width:1340px;margin:0 auto;grid-template-columns:270px minmax(0,930px);gap:20px;align-items:center;justify-content:center}
.quiz-side-card{padding:14px;border-radius:18px}
.quiz-side-card>img{aspect-ratio:3/4;max-height:440px;object-fit:cover;object-position:top}
.quiz-side-card h3{font-size:24px;margin:8px 0 6px}
.quiz-npc-line{font-size:13px;line-height:1.6;min-height:72px}
.quiz-reward{padding:8px;margin-top:10px}.quiz-reward img{width:54px;height:54px}.quiz-reward b{font-size:18px}
.quiz-main{min-width:0;display:grid;place-items:center}
.quiz-art-board{position:relative;width:min(930px,100%);aspect-ratio:1217/821;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;filter:drop-shadow(0 26px 46px rgba(0,0,0,.38));overflow:hidden;color:#2d2116}
.quiz-art-meta{position:absolute;top:6.25%;left:31.5%;right:31.5%;height:8%;display:flex;align-items:center;justify-content:center;text-align:center;font:600 clamp(13px,1.25vw,19px) serif;color:#f3dda3;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quiz-art-score{position:absolute;top:16.8%;right:18.4%;display:flex;align-items:center;gap:6px;font-size:11px;color:#73572f;z-index:3}.quiz-art-score b{font:18px serif;color:#3f2c18}.quiz-art-score span{display:none}
.quiz-art-question{position:absolute;top:28.2%;left:18%;right:13.5%;height:12.5%;display:flex;align-items:center;justify-content:center;text-align:center;margin:0!important;font:600 clamp(20px,2.15vw,33px) serif!important;line-height:1.35!important;color:#2f2419!important;text-shadow:none!important;padding:0 10px;overflow:hidden}
.quiz-art-options{position:absolute!important;top:42.25%;left:24.5%;right:22%;height:39.7%;display:grid!important;grid-template-rows:repeat(4,1fr);gap:3.15%!important;margin:0!important;padding:0!important}
.quiz-art-option{min-height:0!important;width:100%;height:100%;padding:0 4% 0 16%!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:center!important;text-align:left!important;transition:.16s!important;position:relative}
.quiz-art-option .option-prefix{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}
.quiz-art-option .option-text{font:600 clamp(14px,1.5vw,22px) serif!important;color:#332516!important;line-height:1.2!important;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.quiz-art-option:hover:not(:disabled){background:linear-gradient(90deg,rgba(255,244,204,.08),rgba(255,221,137,.28),rgba(255,244,204,.08))!important;transform:none!important;box-shadow:inset 0 0 0 2px rgba(178,119,41,.28)!important}
.quiz-art-option.correct{background:rgba(111,179,118,.25)!important;box-shadow:inset 0 0 0 2px rgba(61,134,69,.55)!important}
.quiz-art-option.wrong{background:rgba(195,91,77,.23)!important;box-shadow:inset 0 0 0 2px rgba(153,63,52,.55)!important}
.quiz-art-explain{position:absolute;z-index:10;left:18%;right:14%;top:25%;padding:12px 16px;border-radius:12px;background:rgba(29,23,16,.93);border:1px solid rgba(226,188,107,.62);color:#f5e3ba;box-shadow:0 14px 30px rgba(0,0,0,.32);font-size:13px;line-height:1.55}.quiz-art-explain strong{color:#ffe19a}.quiz-art-explain p{margin:4px 0 0;color:#eadbb8}
.quiz-art-feedback{position:absolute;z-index:12;left:31%;right:26%;bottom:7.8%;padding:8px 12px;border-radius:999px;opacity:0;transform:translateY(6px);transition:.2s;text-align:center;font-size:12px;pointer-events:none;background:rgba(10,18,15,.88);border:1px solid rgba(228,194,117,.36);color:#f1dfb8}.quiz-art-feedback.show{opacity:1;transform:none}.quiz-art-feedback strong{margin-right:6px;color:#ffe09a}.quiz-art-feedback span{color:#d6c8a7}
.quiz-art-tip{position:absolute;bottom:3.4%;left:0;right:0;text-align:center;margin:0;color:#6f5a38;font-size:10px;opacity:.75}

/* Reward: keep the generated base fully visible; dynamic seal is pasted into the intended center slot. */
.reward-stage{min-height:calc(100vh - 64px);padding:18px;background-size:cover;background-position:center;display:grid;place-items:center;overflow:auto}
.reward-stage-shade{background:radial-gradient(circle at 50% 45%,rgba(255,209,101,.08),rgba(2,5,5,.68) 75%)}
.reward-frame{position:relative;z-index:2;width:min(920px,94vw);aspect-ratio:1448/1086;filter:drop-shadow(0 30px 65px rgba(0,0,0,.48))}
.reward-base-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.reward-seal-slot{position:absolute;left:50%;top:52.5%;transform:translate(-50%,-50%);width:20%;aspect-ratio:1;display:grid;place-items:center;z-index:4}
.reward-seal-slot img{position:relative;z-index:2;width:76%;height:76%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(255,207,89,.48));animation:sealFloat 2.6s ease-in-out infinite}
.reward-seal-glow{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(255,222,137,.55),rgba(255,188,52,.10) 55%,transparent 74%);filter:blur(4px);animation:sealPulse 1.8s ease-in-out infinite}
.reward-dynamic-name{position:absolute;z-index:5;left:29%;right:29%;top:69.2%;height:7.8%;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;border-radius:10px;background:rgba(12,29,47,.88);border:1px solid rgba(189,139,55,.55);box-shadow:0 8px 20px rgba(0,0,0,.22);color:#e6d1a0}.reward-dynamic-name span{font-size:10px;letter-spacing:.08em;opacity:.8}.reward-dynamic-name b{font:600 clamp(15px,1.7vw,24px) serif;color:#ffe1a0;white-space:nowrap}
.reward-click-zone{position:absolute;z-index:8;left:34%;right:34%;bottom:4.5%;height:10.5%;border:0;border-radius:22px;background:transparent;color:transparent;cursor:pointer}.reward-click-zone:hover{box-shadow:0 0 0 3px rgba(255,218,118,.22),0 0 30px rgba(255,203,82,.18)}

@media(max-width:1050px){.skill-art-card{width:164px;height:96px;grid-template-columns:78px 1fr}.skill-art-wrap{width:78px;height:84px}.quiz-layout{grid-template-columns:230px minmax(0,1fr)}.quiz-side-card>img{max-height:360px}.quiz-npc-line{min-height:60px}.quiz-art-board{width:100%}}
@media(max-width:760px){.skills-wrap{left:8px;right:8px;transform:none;overflow-x:auto}.skills{width:max-content}.skill-art-card{width:156px;height:92px;grid-template-columns:72px 1fr}.skill-art-wrap{width:72px;height:80px}.quiz-layout{grid-template-columns:1fr}.quiz-side-card{display:grid;grid-template-columns:120px 1fr;gap:10px}.quiz-side-card>img{width:120px;height:160px;aspect-ratio:auto;grid-row:1/5}.quiz-npc-line{font-size:12px}.quiz-reward{margin-top:4px}.quiz-art-board{width:100%;min-width:620px}.quiz-main{overflow-x:auto;justify-content:start}.reward-frame{width:min(900px,96vw)}}

.quiz-art-feedback.ok{background:rgba(24,72,46,.92);border-color:rgba(105,198,137,.55)}.quiz-art-feedback.bad{background:rgba(83,37,31,.93);border-color:rgba(211,105,92,.58)}

/* V17.8 — 3-choice quiz board, safer text areas, corrected reward base positioning */
.quiz-art-board{aspect-ratio:1527/1030;color:#2d2116}
.quiz-art-meta{top:4.25%;left:35%;right:35%;height:6.8%;font:600 clamp(12px,1.15vw,18px) serif;color:#f0d9a0}
.quiz-art-question{top:24.6%;left:14.6%;right:14.6%;height:14.8%;padding:0 20px;font:600 clamp(18px,2vw,30px) serif!important;line-height:1.36!important;overflow:visible;display:flex;align-items:center;justify-content:center;text-align:center}
.quiz-art-options{top:44.9%!important;left:25.8%!important;right:25.8%!important;height:31.8%!important;display:grid!important;grid-template-rows:repeat(3,1fr)!important;gap:6.2%!important;align-content:stretch}
.quiz-art-option{padding:0 4% 0 18%!important;border-radius:16px!important}
.quiz-art-option .option-text{font:600 clamp(13px,1.38vw,21px) serif!important;line-height:1.28!important;color:#332516!important;white-space:normal;word-break:break-word;display:block;max-height:2.56em;overflow:hidden}
.quiz-art-explain{left:14%;right:14%;top:21%;font-size:13px;line-height:1.6}
.quiz-art-feedback{left:29%;right:29%;bottom:5.2%;font-size:12px}
.quiz-art-tip{bottom:1.65%;font-size:10px}

.reward-frame{width:min(980px,94vw);aspect-ratio:1448/1086}
.reward-base-image{object-fit:contain}
.reward-seal-slot{left:50%;top:51.8%;width:22.5%}
.reward-seal-slot img{width:74%;height:74%}
.reward-dynamic-name{left:27%;right:27%;top:69.6%;height:7.4%;padding:0 12px}
.reward-dynamic-name b{font:600 clamp(14px,1.55vw,22px) serif;color:#ffe1a0;white-space:normal;overflow:hidden;text-overflow:ellipsis}
.reward-click-zone{left:33%;right:33%;bottom:4.1%;height:11.2%;border-radius:22px}

@media(max-width:1100px){
  .quiz-art-board{width:100%}
  .quiz-art-question{font-size:clamp(16px,2vw,26px)!important}
  .quiz-art-options{left:24.8%!important;right:24.8%!important;height:32.4%!important}
}
@media(max-width:760px){
  .quiz-art-board{min-width:720px}
  .quiz-art-question{left:12.8%;right:12.8%;top:24.2%;height:15.2%;font-size:clamp(16px,2.4vw,22px)!important}
  .quiz-art-options{left:23.5%!important;right:23.5%!important;top:44.8%!important;height:32.8%!important;gap:5.4%!important}
  .quiz-art-option .option-text{font-size:clamp(13px,2vw,18px)!important}
  .reward-frame{width:min(930px,96vw)}
  .reward-seal-slot{top:52%;width:24%}
  .reward-dynamic-name{left:25%;right:25%;top:69.8%}
}

/* V17.9 — screenshot-driven alignment fix */
#screen-quiz .quiz-topline,#screen-finaltrial .quiz-topline{display:none!important}
#screen-quiz .quiz-scene,#screen-finaltrial .quiz-scene{padding-top:18px}
.quiz-layout{grid-template-columns:270px minmax(0,980px);align-items:center}
.quiz-art-board{aspect-ratio:1527/1030;background-size:100% 100%!important}
.quiz-art-meta{top:5.6%;left:36%;right:36%;height:8.4%;display:flex;align-items:center;justify-content:center;font:600 clamp(13px,1.24vw,19px) serif;color:#f5dda1;white-space:nowrap}
.quiz-art-progress{position:absolute;z-index:4;top:21.55%;left:17.6%;right:18.1%;height:1.35%;border-radius:999px;overflow:hidden;pointer-events:none}
.quiz-art-progress i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#37bff3,#86e7ff 45%,#e7c878);box-shadow:0 0 10px rgba(83,207,255,.7);transition:width .28s ease}
.quiz-art-question{top:27.2%;left:17%;right:17%;height:13.1%;padding:0 14px;font:600 clamp(18px,1.9vw,30px) serif!important;line-height:1.34!important;color:#302316!important;overflow:visible!important;white-space:normal;word-break:break-word}
.quiz-art-options{top:46.0%!important;left:25.3%!important;right:24.2%!important;height:31.4%!important;display:grid!important;grid-template-rows:repeat(3,1fr)!important;gap:6.0%!important;margin:0!important}
.quiz-art-option{padding:0 5% 0 24%!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.quiz-art-option .option-prefix{opacity:1!important;position:absolute!important;left:0!important;top:4%!important;width:20%!important;height:92%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;color:#f3d796!important;font:600 clamp(20px,2vw,31px) serif!important;text-shadow:0 2px 5px rgba(0,0,0,.42);pointer-events:none!important}
.quiz-art-option .option-text{font:600 clamp(14px,1.45vw,22px) serif!important;line-height:1.25!important;color:#332516!important;white-space:normal!important;word-break:break-word!important;max-height:none!important;overflow:visible!important;width:100%;text-align:left}
.quiz-art-option:hover:not(:disabled){background:linear-gradient(90deg,transparent,rgba(255,221,137,.20),transparent)!important;box-shadow:inset 0 0 0 2px rgba(178,119,41,.20)!important}
.quiz-art-option.correct{background:linear-gradient(90deg,transparent,rgba(94,170,108,.22),transparent)!important;box-shadow:inset 0 0 0 2px rgba(61,134,69,.42)!important}
.quiz-art-option.wrong{background:linear-gradient(90deg,transparent,rgba(195,91,77,.20),transparent)!important;box-shadow:inset 0 0 0 2px rgba(153,63,52,.42)!important}
.quiz-art-explain{left:17%;right:17%;top:26.2%;font-size:13px;line-height:1.6}
.quiz-art-feedback{left:31%;right:31%;bottom:4.4%;font-size:12px}
.quiz-art-tip{bottom:1.5%;font-size:10px}
.q-three-choice-tip{font-size:12px;color:#9f9173;margin:7px 0 3px}

.reward-stage{padding:16px}
.reward-frame{width:min(980px,94vw);aspect-ratio:1448/1086}
.reward-base-image{object-fit:contain!important}
.reward-seal-slot{left:50%;top:50.8%;width:19.5%;aspect-ratio:1}
.reward-seal-slot img{width:86%;height:86%;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.52)) drop-shadow(0 0 24px rgba(255,211,100,.58))}
.reward-dynamic-name{left:26.5%;right:26.5%;top:69.4%;height:7.7%;background:transparent;border:0;box-shadow:none;color:#f5dda3;display:flex;align-items:center;justify-content:center}
.reward-dynamic-name span{display:none}
.reward-dynamic-name b{font:600 clamp(18px,2vw,29px) serif;color:#ffe4a3;text-shadow:0 2px 7px rgba(0,0,0,.55);white-space:nowrap}
.reward-click-zone{left:34%;right:34%;bottom:5.2%;height:9.8%;border:0;background:transparent;color:#f7e3ad!important;font:600 clamp(18px,2vw,28px) serif;text-shadow:0 2px 7px rgba(0,0,0,.65);letter-spacing:.08em}
.reward-click-zone:hover{box-shadow:0 0 0 2px rgba(255,218,118,.20),0 0 30px rgba(255,203,82,.16)}
@media(max-width:1050px){.quiz-layout{grid-template-columns:230px minmax(0,1fr)}.quiz-art-meta{font-size:15px}.quiz-art-question{font-size:clamp(17px,2.1vw,27px)!important}.quiz-art-option .option-prefix{font-size:24px!important}.quiz-art-option .option-text{font-size:clamp(13px,1.6vw,19px)!important}}
@media(max-width:760px){#screen-quiz .quiz-scene,#screen-finaltrial .quiz-scene{padding-top:10px}.quiz-layout{grid-template-columns:1fr}.quiz-art-board{min-width:720px}.quiz-art-question{font-size:20px!important}.quiz-art-option .option-prefix{font-size:23px!important}.quiz-art-option .option-text{font-size:17px!important}.reward-frame{width:min(930px,96vw)}.reward-seal-slot{width:22%}.reward-dynamic-name{left:24%;right:24%}.reward-click-zone{left:31%;right:31%}}


/* V17.10 — screenshot polish: transparent reward frame + better viewport use */
#screen-result .reward-stage{padding:8px 14px;overflow:hidden;background-position:center center}
#screen-result .reward-stage-shade{background:radial-gradient(circle at 50% 46%,rgba(255,213,110,.10),rgba(2,5,5,.48) 72%)}
#screen-result .reward-frame{width:min(1120px,96vw,calc((100vh - 82px)*1.333333));aspect-ratio:4/3;filter:drop-shadow(0 34px 72px rgba(0,0,0,.56));}
#screen-result .reward-base-image{object-fit:contain!important;background:transparent!important}
#screen-result .reward-seal-slot{top:49.6%;width:22.5%;}
#screen-result .reward-seal-slot img{width:82%;height:82%;filter:drop-shadow(0 14px 26px rgba(0,0,0,.50)) drop-shadow(0 0 28px rgba(255,214,104,.64));}
#screen-result .reward-dynamic-name{left:27%;right:27%;top:69.0%;height:7.4%}
#screen-result .reward-dynamic-name b{font-size:clamp(18px,1.85vw,27px)}
#screen-result .reward-click-zone{left:33.5%;right:33.5%;bottom:4.8%;height:10%;font-size:clamp(18px,1.9vw,27px)}

/* Quiz: keep the right parchment fully visible and align top edges with the NPC card. */
#screen-quiz .quiz-layout,#screen-finaltrial .quiz-layout{align-items:start;grid-template-columns:270px minmax(0,980px)}
#screen-quiz .quiz-side-card,#screen-finaltrial .quiz-side-card{margin-top:18px}
#screen-quiz .quiz-art-board,#screen-finaltrial .quiz-art-board{width:min(960px,100%)}
#screen-quiz .quiz-art-tip,#screen-finaltrial .quiz-art-tip{opacity:.9}
@media(max-width:1050px){
  #screen-quiz .quiz-layout,#screen-finaltrial .quiz-layout{grid-template-columns:230px minmax(0,1fr)}
  #screen-result .reward-frame{width:min(1040px,96vw,calc((100vh - 82px)*1.333333))}
}
@media(max-width:760px){
  #screen-result .reward-stage{overflow:auto}
  #screen-result .reward-frame{width:min(930px,96vw);min-width:680px}
  #screen-quiz .quiz-side-card,#screen-finaltrial .quiz-side-card{margin-top:0}
}

/* V17.11 — user-tuned alignment + progress 100% endpoint fix */
#screen-result .reward-dynamic-name{
  top:67% !important;
}
#screen-result .reward-click-zone{
  bottom:8% !important;
}

#screen-quiz .quiz-art-meta,
#screen-finaltrial .quiz-art-meta{
  top:10.0% !important;
}
#screen-quiz .quiz-art-progress,
#screen-finaltrial .quiz-art-progress{
  top:23.5% !important;
  left:21.25% !important;
  right:20.5% !important; /* 保持左起点不动，只延长右端，让 100% 到达视觉终点 */
  width:auto !important;
}
#screen-quiz .quiz-art-progress i,
#screen-finaltrial .quiz-art-progress i{
  max-width:none !important;
  transition:width .42s ease !important;
}

/* V18 Secure Quiz Bank Admin */
.quiz-bank-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.quiz-bank-stats article{padding:16px;border:1px solid rgba(228,194,117,.18);background:linear-gradient(180deg,#111a16,#0a100d);border-radius:14px}.quiz-bank-stats span,.quiz-bank-stats small{display:block;color:#9f947a}.quiz-bank-stats b{display:block;margin:5px 0;font:30px serif;color:#f0d492}.quiz-rule-panel{padding:18px;margin:16px 0;border:1px solid rgba(100,184,164,.22);border-radius:16px;background:rgba(8,18,15,.68)}.quiz-rule-note{margin-top:12px;padding:11px 13px;border-left:3px solid #64b8a4;background:rgba(100,184,164,.06);color:#b9cfc7;line-height:1.7}.question-bank-tools{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.q-card-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.q-enable{display:flex;gap:5px;align-items:center;padding:5px 8px;border:1px solid rgba(100,184,164,.28);border-radius:8px;color:#bfe2d6;font-size:12px}.q-edit-card.disabled-question{opacity:.52;filter:saturate(.55)}.q-edit-card.disabled-question::before{content:'已停用';position:absolute;right:14px;top:48px;padding:4px 8px;border-radius:999px;background:#34201dcc;color:#e8aaa1;font-size:11px;z-index:2}.q-edit-card{position:relative}.cm-form-grid select{width:100%;padding:10px;border-radius:8px;background:#09100d;color:#e9dfc6;border:1px solid rgba(228,194,117,.22)}
@media(max-width:900px){.quiz-bank-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V18.1 — final-trial bridge, player name, rich certificate, damage-display stability */
.home-meta-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.home-meta-row .progress-chip{margin-top:0}.player-name-chip{border:1px solid rgba(228,194,117,.28);background:rgba(8,17,14,.68);color:#e4c275;padding:8px 12px;border-radius:999px;cursor:pointer}.player-name-chip:hover{border-color:#d7b363;background:#14231c}

.name-overlay{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px;background:rgba(1,5,4,.78);backdrop-filter:blur(10px)}.name-card{position:relative;width:min(520px,94vw);padding:30px;background:linear-gradient(180deg,#102019,#07100d);border:1px solid rgba(228,194,117,.36);border-radius:24px;box-shadow:0 30px 100px #000a}.name-card h2{font:36px serif;color:#f0d79c;margin:8px 0 10px}.name-card p{color:#aaa088;line-height:1.75}.name-card label{display:grid;gap:8px;margin-top:18px;color:#d8c69a}.name-card input{width:100%;background:#06100c;border:1px solid #42594b;color:#f4eddb;border-radius:12px;padding:14px 16px;font-size:18px;outline:none}.name-card input:focus{border-color:#b8944d;box-shadow:0 0 0 4px #b8944d18}.name-card small{display:block;margin-top:8px;color:#817765}.name-actions{justify-content:flex-end;margin-top:20px}
.auth-error{color:#f09a91;line-height:1.7;margin-top:12px;font-size:13px}
.user-table{display:grid;gap:2px;overflow:auto}
.user-row{min-width:1060px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,.6fr) minmax(0,1.4fr);gap:10px;padding:10px 8px;border-bottom:1px solid #1f2d26;color:#a99e88;font-size:11px;align-items:center}
.user-row>*{min-width:0}
.user-row.head{color:#e3ca87;font-weight:700}
.user-row .user-account b{color:#e7cd89}
.user-row .user-account em{display:block;font-style:normal;color:#8cc1a5;margin-top:3px}
.user-row .user-state.disabled{color:#e6aaa3}
.user-row small{color:#817765}
.user-progress{display:grid;gap:4px}
.user-progress-bar{display:flex;gap:3px}
.user-progress-bar i{display:block;width:24px;height:6px;border-radius:3px;background:#22332a}
.user-progress-bar i.on{background:#d7b363}

.final-gate{min-height:calc(100vh - 64px);position:relative;display:grid;place-items:center;background-size:cover;background-position:center;padding:32px;overflow:hidden}.final-gate-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(231,193,99,.14),rgba(2,7,6,.72) 68%,rgba(1,4,4,.88));backdrop-filter:blur(2px)}.final-gate-card{position:relative;z-index:2;width:min(980px,94vw);padding:46px 52px;text-align:center;border-radius:30px;background:linear-gradient(180deg,rgba(8,22,19,.88),rgba(4,12,10,.94));border:1px solid rgba(228,194,117,.38);box-shadow:0 35px 120px #000a,inset 0 0 0 1px rgba(255,255,255,.035)}.final-gate-card h1{font:56px serif;color:#f7dda0;margin:10px 0 14px;text-shadow:0 8px 28px #000}.final-gate-card p{max-width:780px;margin:0 auto;color:#cec2a7;line-height:1.9;font-size:17px}.final-gate-seals{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:32px 0}.final-gate-seal{width:128px;padding:12px 8px 10px;border-radius:18px;background:rgba(7,16,13,.72);border:1px solid rgba(228,194,117,.18);box-shadow:0 14px 34px #0006}.final-gate-seal img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 8px 18px #0009) drop-shadow(0 0 14px rgba(228,194,117,.18));animation:sealFloat 2.8s ease-in-out infinite}.final-gate-seal:nth-child(2) img{animation-delay:.2s}.final-gate-seal:nth-child(3) img{animation-delay:.4s}.final-gate-seal:nth-child(4) img{animation-delay:.6s}.final-gate-seal:nth-child(5) img{animation-delay:.8s}.final-gate-seal span{display:block;margin-top:6px;color:#e0c785;font:16px serif}.final-gate-actions{display:flex;justify-content:center;gap:12px}.battle-transition-card.final-level{border-color:rgba(246,213,122,.65);box-shadow:0 34px 100px #000b,0 0 70px rgba(240,198,83,.13)}

/* Certificate is now an illustrated dynamic artifact rather than plain text. */
.certificate-page{min-height:calc(100vh - 64px);padding:24px;background:radial-gradient(circle at 50% 20%,#183027,#020504 72%);display:grid;place-items:center;overflow:auto}.certificate-shell.certificate-art{position:relative;width:min(1180px,96vw);aspect-ratio:1600/1100;padding:0!important;border:0!important;background:transparent!important;box-shadow:0 36px 120px #000b!important;color:#3e301e;overflow:hidden}.certificate-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.certificate-live{position:absolute;inset:0;text-align:center}.cert-kicker{position:absolute;top:14.9%;left:29.5%;right:29.5%;height:7%;display:grid;place-items:center;color:#e9d29a;font-size:12px;letter-spacing:.22em}.certificate-live #certTitle{position:absolute;top:25.2%;left:18%;right:18%;margin:0;font:700 clamp(38px,4vw,62px) serif;color:#694c1f;letter-spacing:.10em;text-shadow:0 1px 0 #fff9}.cert-name-label{position:absolute;top:37.6%;left:0;right:0;color:#8e7042;font-size:13px;letter-spacing:.22em}.certificate-live #certName{position:absolute;top:40.2%;left:27%;right:27%;height:10%;margin:0;display:grid;place-items:center;font:700 clamp(28px,3.3vw,50px) serif;color:#233f3e;letter-spacing:.08em;overflow:hidden}.certificate-live #certBody{position:absolute;top:52.6%;left:23%;right:23%;height:11%;margin:0;display:flex;align-items:center;justify-content:center;color:#5b4b35;line-height:1.85;font-size:clamp(12px,1.25vw,17px)}.cert-stats{position:absolute;top:64.4%;left:24%;right:24%;height:9%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:center}.cert-stats>div{display:grid;gap:4px}.cert-stats span{font-size:10px;color:#96794e;letter-spacing:.10em}.cert-stats b{font:600 clamp(12px,1.25vw,18px) serif;color:#294d4b}.cert-seals{position:absolute;left:22%;right:22%;top:74.2%;height:9%;display:flex;justify-content:center;align-items:center;gap:18px}.cert-seal{display:grid;justify-items:center;gap:2px}.cert-seal img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 5px 8px #0004)}.cert-seal span{font-size:9px;color:#7f6843}.certificate-live .cert-footer{position:absolute;top:80.2%;left:31%;right:31%;height:7.5%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e8d09a}.certificate-live .cert-footer strong{font:20px serif}.certificate-live .cert-footer em{font-size:10px;color:#baa979;margin-top:3px}.certificate-live .cert-actions{position:absolute;left:0;right:0;bottom:2.2%;margin:0;justify-content:center}.certificate-live .cert-actions .btn{backdrop-filter:blur(5px)}

@media(max-width:800px){.final-gate-card{padding:34px 20px}.final-gate-card h1{font-size:38px}.final-gate-seal{width:96px}.final-gate-seal img{width:70px;height:70px}.certificate-shell.certificate-art{width:1100px;min-width:900px}.certificate-page{justify-content:start;overflow:auto}.certificate-live #certBody{font-size:13px}.cert-seal img{width:44px;height:44px}}
@media print{.topbar,.cert-actions{display:none!important}.certificate-page{padding:0;background:#fff;min-height:100vh}.certificate-shell.certificate-art{width:100vw;max-width:none;aspect-ratio:1600/1100;box-shadow:none!important}.certificate-bg{object-fit:contain}}

/* V18.2 — admin global quiz tuning / batch video import / one-click page scroll */
.quiz-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}.quiz-mode-tabs button{display:grid;gap:4px;text-align:left;padding:14px 16px;border:1px solid #31443a;border-radius:14px;background:linear-gradient(180deg,#0c1511,#08100d);color:#c9bea5;cursor:pointer}.quiz-mode-tabs button b{font:21px serif;color:#e1c783}.quiz-mode-tabs button span{font-size:11px;color:#8f8773}.quiz-mode-tabs button.active{border-color:#a98648;background:linear-gradient(135deg,#342c18,#123126);box-shadow:inset 0 0 0 1px rgba(228,194,117,.15),0 10px 28px rgba(0,0,0,.22)}
.quiz-global-panel{max-width:none}.quiz-global-apply{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(2,minmax(110px,.65fr)) repeat(4,minmax(90px,.55fr)) auto;gap:10px;align-items:end;margin:18px 0;padding:15px;border:1px solid rgba(228,194,117,.18);border-radius:15px;background:linear-gradient(180deg,rgba(25,27,18,.82),rgba(8,16,13,.92))}.quiz-global-apply>div{align-self:center}.quiz-global-apply>div b,.quiz-global-apply>div span{display:block}.quiz-global-apply>div b{font:20px serif;color:#edd28d}.quiz-global-apply>div span{margin-top:4px;color:#978d77;font-size:11px}.quiz-global-apply label,.quiz-global-row label{display:grid;gap:5px;color:#9f947d;font-size:11px}.quiz-global-apply input[type=number],.quiz-global-row input[type=number]{width:100%;background:#07100c;border:1px solid #35483d;color:#f0eadb;border-radius:8px;padding:9px}.mini-check{display:flex!important;align-items:center;gap:6px;min-height:38px;white-space:nowrap}.mini-check input{width:15px!important;height:15px!important}
.quiz-global-head,.quiz-global-row{display:grid;grid-template-columns:minmax(160px,1.35fr) 90px 92px 72px 72px 88px 92px 100px;gap:9px;align-items:center}.quiz-global-head{padding:8px 12px;color:#817966;font-size:10px;letter-spacing:.05em}.quiz-global-list{display:grid;gap:8px}.quiz-global-row{padding:11px 12px;border:1px solid #2b3d33;border-radius:13px;background:#08100d}.quiz-global-row:hover{border-color:#465a4e}.quiz-global-name span,.quiz-global-name b,.quiz-global-name small{display:block}.quiz-global-name span{font-size:10px;color:#9d8d65}.quiz-global-name b{font:18px serif;color:#e6cc88;margin:2px 0}.quiz-global-name small{color:#7f8b80}.quiz-global-row label:nth-of-type(2){position:relative}.quiz-global-row label:nth-of-type(2) em{position:absolute;right:8px;bottom:10px;font-style:normal;color:#817762}.quiz-preview-list,.quiz-preview-levels{display:grid;gap:8px;max-height:65vh;overflow:auto}.quiz-preview-item,.quiz-preview-level{padding:11px 13px;border:1px solid #2b3c33;border-radius:11px;background:#08100d}.quiz-preview-item b{display:block;color:#e2d5b6;line-height:1.55}.quiz-preview-item span{display:block;margin-top:5px;color:#7fbea3;font-size:11px}.quiz-preview-level h3{display:flex;justify-content:space-between;gap:10px;margin:0 0 8px;font:20px serif;color:#e8cd87}.quiz-preview-level h3 span{font:12px sans-serif;color:#8ebca5}.quiz-preview-level p{margin:5px 0;color:#b7ac94;font-size:12px;line-height:1.55}
.admin-scroll-tools{display:none;position:fixed;right:22px;bottom:22px;z-index:9990;flex-direction:column;gap:7px}#adminApp:not(.hidden)~.admin-scroll-tools{display:flex}.admin-scroll-tools button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(228,194,117,.34);background:rgba(7,16,12,.90);backdrop-filter:blur(8px);color:#f0d48e;font:bold 20px serif;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.35)}.admin-scroll-tools button:hover{background:#1a2a22;border-color:#caa85c;transform:translateY(-1px)}
.batch-video-summary{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;margin-bottom:12px;padding:11px 13px;border:1px solid #31453a;border-radius:12px;background:#08110e}.batch-video-summary b{color:#92d5af}.batch-video-summary span{color:#e6bd73}.batch-video-summary small{color:#938975;text-align:right}.batch-video-list{display:grid;gap:7px;max-height:50vh;overflow:auto}.batch-video-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #2b3b32;border-radius:10px;background:#08100d}.batch-video-row div{display:grid;gap:3px;min-width:0}.batch-video-row b{color:#ddd1b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-video-row span{font-size:10px;color:#827967}.batch-video-row em{font-style:normal;font-size:10px;color:#b89b60;text-align:right}.batch-video-row.unmatched,.batch-video-row.duplicate,.batch-video-row.locked{opacity:.62;border-color:#533c2e}.batch-video-row.uploading{border-color:#8c743f;box-shadow:inset 3px 0 #d1a952}.batch-video-row.done{border-color:#28563f;box-shadow:inset 3px 0 #64b88a}.batch-video-row.done em{color:#8bd2aa}.batch-video-row.failed{border-color:#663b36;box-shadow:inset 3px 0 #d56b63}.batch-video-row.failed em{color:#e89b94}.batch-video-progress{margin-top:14px}.batch-video-progress>div{height:9px;border:1px solid #4a4b31;background:#080b09;border-radius:999px;overflow:hidden}.batch-video-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#8d6c2d,#e0bd68,#64b8a4);transition:width .2s}.batch-video-progress p{margin:6px 0 0;color:#b9ae95;font-size:11px}
@media(max-width:1150px){.quiz-global-apply{grid-template-columns:repeat(4,minmax(0,1fr))}.quiz-global-apply>div{grid-column:1/-1}.quiz-global-head{display:none}.quiz-global-row{grid-template-columns:minmax(160px,1.5fr) repeat(2,minmax(90px,.7fr)) repeat(4,minmax(72px,.55fr)) 100px}}@media(max-width:850px){.quiz-mode-tabs{grid-template-columns:1fr}.quiz-global-apply{grid-template-columns:1fr 1fr}.quiz-global-row{grid-template-columns:1fr 1fr}.quiz-global-name{grid-column:1/-1}.admin-scroll-tools{right:10px;bottom:12px}.batch-video-summary{grid-template-columns:1fr 1fr}.batch-video-summary small{grid-column:1/-1;text-align:left}.batch-video-row{grid-template-columns:1fr}}


/* V18.3 — Certificate visual alignment + numbered video batch map */
#screen-certificate .certificate-page{min-height:calc(100vh - 64px);padding:34px 24px 80px;background:radial-gradient(circle at 50% 18%,rgba(48,83,70,.55),rgba(2,5,4,.96) 70%),linear-gradient(180deg,#0d1713,#020403);display:grid;place-items:center;overflow:auto}
#screen-certificate .certificate-wrap{width:min(1120px,96vw);display:grid;gap:20px;justify-items:center}
#screen-certificate .certificate-shell.certificate-art{position:relative;width:100%;aspect-ratio:1536/1024;padding:0!important;border:0!important;background:transparent!important;box-shadow:0 34px 110px rgba(0,0,0,.62)!important;color:#3e301e;overflow:hidden;border-radius:18px}
#screen-certificate .certificate-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
#screen-certificate .certificate-live{position:absolute;inset:0;text-align:center}
/* 顶部深色牌匾 */
#screen-certificate #certTitle{position:absolute;top:11.0%;left:31%;right:31%;height:10.5%;margin:0;display:grid;place-items:center;font:700 clamp(28px,3vw,46px) serif;color:#f6dfa2;letter-spacing:.12em;text-shadow:0 2px 12px rgba(0,0,0,.48)}
/* 姓名放进第一块留白框 */
#screen-certificate .cert-name-label{position:absolute;top:39.4%;left:0;right:0;color:#9c7a45;font-size:12px;letter-spacing:.26em}
#screen-certificate #certName{position:absolute;top:41.5%;left:27%;right:27%;height:9.5%;margin:0;display:grid;place-items:center;font:700 clamp(28px,3.2vw,48px) serif;color:#173f3b;letter-spacing:.10em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 正文放进第二块留白框 */
#screen-certificate #certBody{position:absolute;top:58.0%;left:23.5%;right:23.5%;height:10.0%;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#5a4932;font:500 clamp(12px,1.15vw,16px)/1.8 "Microsoft YaHei",sans-serif;padding:0 18px;overflow:hidden}
/* 成绩/日期/编号在正文下方形成轻量信息行 */
#screen-certificate .cert-stats{position:absolute;top:66.9%;left:23%;right:23%;height:5.2%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:center;border-top:1px solid rgba(158,119,55,.26);border-bottom:1px solid rgba(158,119,55,.20)}
#screen-certificate .cert-stats>div{display:grid;gap:3px}
#screen-certificate .cert-stats span{font-size:9px;color:#96794e;letter-spacing:.08em}
#screen-certificate .cert-stats b{font:600 clamp(11px,1.1vw,16px) serif;color:#244a45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 五枚印章沿底部山水纹样上方排列 */
#screen-certificate .cert-seals{position:absolute;left:22%;right:22%;top:82.1%;height:7.2%;display:flex;justify-content:center;align-items:center;gap:clamp(10px,1.5vw,20px)}
#screen-certificate .cert-seal{display:grid;justify-items:center;gap:2px}
#screen-certificate .cert-seal img{width:clamp(34px,3.7vw,52px);height:clamp(34px,3.7vw,52px);object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.25))}
#screen-certificate .cert-seal span{font-size:8px;color:#7b6542;white-space:nowrap}
/* 底部深色牌匾显示颁发方 */
#screen-certificate .cert-footer{position:absolute;top:72.0%;left:31%;right:31%;height:8.2%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#f2dca6}.certificate-live .cert-footer strong{font:600 clamp(15px,1.55vw,22px) serif!important;color:#f4dfa8!important}.certificate-live .cert-footer em{font-size:9px!important;color:#cdbb91!important;margin-top:3px!important}
/* 操作按钮移出证书，不压底图 */
#screen-certificate .certificate-actions-outside{position:static!important;margin:0!important;justify-content:center;gap:12px}
#screen-certificate .certificate-actions-outside .btn{min-width:160px}

.batch-number-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px}
.batch-number-map span{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:10px 12px;border:1px solid #2d4237;border-radius:10px;background:#09110e;color:#a99d83;font-size:11px}
.batch-number-map b{color:#efd18c;font:600 13px monospace}
@media(max-width:850px){.batch-number-map{grid-template-columns:repeat(2,minmax(0,1fr))}#screen-certificate .certificate-wrap{min-width:860px}#screen-certificate .certificate-page{justify-content:start}}
@media print{#screen-certificate .topbar,#screen-certificate .certificate-actions-outside,.topbar{display:none!important}#screen-certificate .certificate-page{padding:0;background:#fff;min-height:100vh}#screen-certificate .certificate-wrap{width:100vw}#screen-certificate .certificate-shell.certificate-art{width:100vw;box-shadow:none!important;border-radius:0}}


/* V18.4 — certificate rebuild + guaranteed certificate entry */
.map-head{z-index:12!important}.map-final-btn{position:relative!important;z-index:20!important;pointer-events:auto!important}
#certificateNavBtn{color:#f2d58d!important;border:1px solid rgba(228,194,117,.28)!important;background:rgba(34,27,14,.55)!important}

#screen-certificate .certificate-page{min-height:calc(100vh - 64px);padding:28px 20px 70px;background:radial-gradient(circle at 50% 16%,rgba(38,69,90,.52),rgba(2,5,8,.97) 72%),linear-gradient(180deg,#0b1720,#020405);display:grid;place-items:center;overflow:auto}
#screen-certificate .certificate-wrap{width:min(1180px,96vw);display:grid;gap:18px;justify-items:center}
#screen-certificate .certificate-shell.certificate-v184{position:relative;width:100%;aspect-ratio:1448/1086;padding:0!important;border:0!important;background:transparent!important;box-shadow:0 34px 120px rgba(0,0,0,.62)!important;overflow:hidden;border-radius:18px}
#screen-certificate .certificate-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
#screen-certificate .certificate-live-v184{position:absolute;inset:0;color:#273c51;text-align:center}

/* Name plaque */
#screen-certificate .cert-name-slot{position:absolute;left:31.2%;right:31.2%;top:34.4%;height:9.8%;display:grid;place-items:center;align-content:center;gap:1px;padding:0 18px}
#screen-certificate .cert-name-slot>span{font-size:clamp(9px,.8vw,12px);letter-spacing:.24em;color:#8d7449}
#screen-certificate #certName{margin:0;max-width:100%;font:700 clamp(27px,3vw,48px) serif;color:#163c55;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,255,255,.8)}

/* Main body box */
#screen-certificate .cert-body-slot{position:absolute;left:20.1%;right:20.1%;top:47.3%;height:22.6%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2% 6%;gap:10px}
#screen-certificate #certBody{position:static!important;margin:0!important;width:100%;height:auto!important;color:#4c4a45!important;font:500 clamp(12px,1.22vw,17px)/1.9 "Microsoft YaHei",sans-serif!important;text-align:center;display:block!important;overflow:visible!important;padding:0!important}
#screen-certificate .cert-honor-line{font:500 clamp(12px,1.15vw,16px) serif;color:#6b5837;letter-spacing:.05em}.cert-honor-line strong{font-size:1.25em;color:#a97925;margin-left:6px}
#screen-certificate .cert-issuer-line{display:grid;gap:2px;margin-top:2px;color:#75603c}#screen-certificate .cert-issuer-line strong{font:600 clamp(11px,1vw,15px) serif}#screen-certificate .cert-issuer-line em{font-size:clamp(8px,.75vw,11px);font-style:normal;color:#9a845d}

/* Bottom left/right plaques */
#screen-certificate .cert-id-slot,#screen-certificate .cert-date-slot{position:absolute;top:75.4%;width:24%;height:7.2%;display:grid;place-items:center;align-content:center;gap:2px;color:#52606a;padding:0 10px}
#screen-certificate .cert-id-slot{left:11.8%}#screen-certificate .cert-date-slot{right:11.8%}
#screen-certificate .cert-id-slot span,#screen-certificate .cert-date-slot span{font-size:clamp(8px,.68vw,10px);letter-spacing:.10em;color:#9b7d49}
#screen-certificate .cert-id-slot b,#screen-certificate .cert-date-slot b{font:600 clamp(10px,1vw,14px) serif;color:#314d5d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* Central medallion: score + five seals */
#screen-certificate .cert-score-slot{position:absolute;left:40.35%;right:40.35%;top:70.7%;height:18.5%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#24485c;gap:1px;padding-top:1.8%}
#screen-certificate .cert-score-slot>span{font-size:clamp(8px,.7vw,10px);letter-spacing:.12em;color:#8d7449}
#screen-certificate #certScore{font:700 clamp(19px,2vw,30px) serif;color:#173f5c;line-height:1.05}
#screen-certificate .cert-seals{position:static!important;width:88%!important;height:auto!important;margin-top:5px!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:3px!important}
#screen-certificate .cert-seal{display:block!important}.cert-seal img{width:clamp(20px,2.15vw,32px)!important;height:clamp(20px,2.15vw,32px)!important;object-fit:contain!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.24))!important}.cert-seal span{display:none!important}

#screen-certificate .certificate-actions-outside{position:static!important;margin:0!important;justify-content:center;gap:12px}#screen-certificate .certificate-actions-outside .btn{min-width:170px}
#screen-certificate.certificate-opening{opacity:.98}

@media(max-width:850px){#screen-certificate .certificate-wrap{min-width:900px}#screen-certificate .certificate-page{justify-content:start}.player-topbar nav{min-width:max-content}}
@media print{.topbar,#screen-certificate .certificate-actions-outside{display:none!important}#screen-certificate .certificate-page{padding:0;background:#fff;min-height:100vh}#screen-certificate .certificate-wrap{width:100vw}#screen-certificate .certificate-shell.certificate-v184{width:100vw;box-shadow:none!important;border-radius:0}}


/* V18.5 — certificate layout rebuild: one background + five deterministic text zones. */
#screen-certificate .certificate-page{
  min-height:calc(100vh - 64px)!important;
  padding:24px 20px 68px!important;
  background:radial-gradient(circle at 50% 16%,rgba(35,64,88,.48),rgba(2,5,8,.97) 74%),linear-gradient(180deg,#0b1720,#020405)!important;
  display:grid!important;place-items:center!important;overflow:auto!important;
}
#screen-certificate .certificate-wrap{width:min(1180px,96vw)!important;display:grid!important;gap:18px!important;justify-items:center!important}
#screen-certificate .certificate-shell.certificate-v185{
  position:relative!important;width:100%!important;aspect-ratio:1536/1024!important;padding:0!important;margin:0!important;
  border:0!important;background:transparent!important;box-shadow:0 34px 120px rgba(0,0,0,.62)!important;
  overflow:hidden!important;border-radius:18px!important;color:#2d4250!important;
}
#screen-certificate .certificate-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;z-index:0!important}
#screen-certificate .certificate-live-v185{position:absolute!important;inset:0!important;z-index:2!important;text-align:center!important;color:#2d4250!important;pointer-events:none!important}

/* Recipient name: exact centre of the upper small plaque. */
#screen-certificate .certificate-v185 .cert-name-slot{
  position:absolute!important;left:30.0%!important;right:30.0%!important;top:33.1%!important;height:10.8%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:0 18px!important;
}
#screen-certificate .certificate-v185 .cert-name-slot>span{font-size:clamp(9px,.78vw,12px)!important;letter-spacing:.24em!important;color:#8e7447!important;line-height:1!important}
#screen-certificate .certificate-v185 #certName{
  position:static!important;inset:auto!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;
  font:700 clamp(28px,3vw,48px)/1.12 "STKaiti","KaiTi","Microsoft YaHei",serif!important;color:#163f5b!important;
  letter-spacing:.08em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 1px 0 rgba(255,255,255,.88)!important;
}

/* Main body: centred inside the large framed parchment, no overlap with lower zones. */
#screen-certificate .certificate-v185 .cert-body-slot{
  position:absolute!important;left:20.1%!important;right:20.1%!important;top:47.2%!important;height:19.8%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:1.2% 5.2%!important;
}
#screen-certificate .certificate-v185 .cert-body-kicker{font:600 clamp(10px,.9vw,14px)/1 "STKaiti","KaiTi",serif!important;color:#9a7b46!important;letter-spacing:.22em!important}
#screen-certificate .certificate-v185 #certBody{
  position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
  display:block!important;overflow:visible!important;text-align:center!important;color:#4a4b48!important;
  font:500 clamp(12px,1.15vw,17px)/1.85 "Microsoft YaHei",sans-serif!important;letter-spacing:.015em!important;
}
#screen-certificate .certificate-v185 .cert-honor-line{font:500 clamp(12px,1.15vw,17px)/1.3 "STKaiti","KaiTi",serif!important;color:#6e5836!important;letter-spacing:.04em!important}
#screen-certificate .certificate-v185 .cert-honor-line strong{font-size:1.28em!important;color:#a97924!important;margin-left:7px!important}

/* Bottom left/right plaques. */
#screen-certificate .certificate-v185 .cert-id-slot,
#screen-certificate .certificate-v185 .cert-date-slot{
  position:absolute!important;top:73.8%!important;width:25.4%!important;height:8.0%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:0 12px!important;
}
#screen-certificate .certificate-v185 .cert-id-slot{left:10.9%!important}
#screen-certificate .certificate-v185 .cert-date-slot{right:10.9%!important}
#screen-certificate .certificate-v185 .cert-id-slot span,
#screen-certificate .certificate-v185 .cert-date-slot span{font-size:clamp(8px,.68vw,10px)!important;letter-spacing:.12em!important;color:#91764c!important;line-height:1!important}
#screen-certificate .certificate-v185 .cert-id-slot b,
#screen-certificate .certificate-v185 .cert-date-slot b{font:600 clamp(10px,1.02vw,15px)/1.15 "STKaiti","KaiTi",serif!important;color:#294d61!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}

/* Centre medallion: score + five seals. */
#screen-certificate .certificate-v185 .cert-score-slot{
  position:absolute!important;left:39.0%!important;right:39.0%!important;top:69.4%!important;height:20.5%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding-top:2.0%!important;
}
#screen-certificate .certificate-v185 .cert-score-slot>span{font-size:clamp(8px,.72vw,10px)!important;letter-spacing:.13em!important;color:#8d7449!important;line-height:1!important}
#screen-certificate .certificate-v185 #certScore{font:700 clamp(22px,2.35vw,34px)/1 "STKaiti","KaiTi",serif!important;color:#173f5c!important;margin:1px 0 2px!important}
#screen-certificate .certificate-v185 .cert-seals{position:static!important;width:95%!important;height:auto!important;margin:3px 0 0!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:clamp(2px,.32vw,5px)!important}
#screen-certificate .certificate-v185 .cert-seal{display:block!important;margin:0!important;padding:0!important}
#screen-certificate .certificate-v185 .cert-seal img{width:clamp(21px,2.2vw,34px)!important;height:clamp(21px,2.2vw,34px)!important;object-fit:contain!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.24))!important}
#screen-certificate .certificate-v185 .cert-seal span{display:none!important}

#screen-certificate .certificate-v185 .cert-hidden-meta{display:none!important}
#screen-certificate .certificate-actions-outside{position:static!important;margin:0!important;justify-content:center!important;gap:12px!important}
#screen-certificate .certificate-actions-outside .btn{min-width:170px!important;pointer-events:auto!important}
@media(max-width:850px){#screen-certificate .certificate-wrap{min-width:900px!important}#screen-certificate .certificate-page{justify-content:start!important}}
@media print{.topbar,#screen-certificate .certificate-actions-outside{display:none!important}#screen-certificate .certificate-page{padding:0!important;background:#fff!important;min-height:100vh!important}#screen-certificate .certificate-wrap{width:100vw!important}#screen-certificate .certificate-shell.certificate-v185{width:100vw!important;box-shadow:none!important;border-radius:0!important}}


/* ============================================================================
   V18.6【山水传承人证书 - 最终手工调试区】
   ----------------------------------------------------------------------------
   以后如果只想调整证书上的文字 / 印章上下左右，请优先只改这一段。
   不建议再去改前面 V18.4 / V18.5 的证书 CSS，因为本段在文件最下面，会覆盖前面的旧样式。

   坐标速记：
   1. top 数值变小 = 向上移动；top 数值变大 = 向下移动
   2. left 数值变小 = 向左移动；left 数值变大 = 向右移动
   3. right 数值变小 = 右边界向右扩；right 数值变大 = 右边界向左收
   4. width / height 数值变大 = 区域变大
   5. 只想微调几像素、不想改变区域宽度时，可用：
      transform: translateX(-5px);  向左 5px
      transform: translateX( 5px);  向右 5px
      transform: translateY(-5px);  向上 5px
      transform: translateY( 5px);  向下 5px
   ============================================================================ */

/* 【A. 整张证书画布】
   width 控制证书在网页里整体大小；aspect-ratio 必须和底图 1536×1024 一致。 */
#screen-certificate .certificate-shell.certificate-v186{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1536/1024!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:0 34px 120px rgba(0,0,0,.62)!important;
  overflow:hidden!important;
  border-radius:18px!important;
  color:#2d4250!important;
}
#screen-certificate .certificate-live-v186{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  text-align:center!important;
  color:#2d4250!important;
  pointer-events:none!important;
}

/* 【B. 玩家姓名区域】
   主要调 top：姓名偏高就增大 top，偏低就减小 top。
   left / right 同时减小 = 姓名框变宽；同时增大 = 姓名框变窄。 */
#screen-certificate .certificate-v186 .cert-name-slot{
  position:absolute!important;
  left:30.0%!important;
  right:30.0%!important;
  top:33.3%!important;
  height:10.0%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:0 18px!important;
}
#screen-certificate .certificate-v186 .cert-name-slot>span{
  font-size:clamp(9px,.78vw,12px)!important;
  letter-spacing:.24em!important;
  color:#8e7447!important;
  line-height:1!important;
}
#screen-certificate .certificate-v186 #certName{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  font:700 clamp(28px,3vw,48px)/1.12 "STKaiti","KaiTi","Microsoft YaHei",serif!important;
  color:#163f5b!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-shadow:0 1px 0 rgba(255,255,255,.88)!important;
}

/* 【C. 中央证书正文区域】
   top 控制整块正文上下位置；height 控制正文可用高度。
   正文、称号都在这个框里，尽量不要让它进入下面三个圆/框区域。 */
#screen-certificate .certificate-v186 .cert-body-slot{
  position:absolute!important;
  left:20.3%!important;
  right:20.3%!important;
  top:47.0%!important;
  height:18.8%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:1.0% 5.6%!important;
}
#screen-certificate .certificate-v186 .cert-body-kicker{
  font:600 clamp(10px,.9vw,14px)/1 "STKaiti","KaiTi",serif!important;
  color:#9a7b46!important;
  letter-spacing:.22em!important;
}
#screen-certificate .certificate-v186 #certBody{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  overflow:visible!important;
  text-align:center!important;
  color:#4a4b48!important;
  font:500 clamp(12px,1.14vw,17px)/1.82 "Microsoft YaHei",sans-serif!important;
  letter-spacing:.015em!important;
}
#screen-certificate .certificate-v186 .cert-honor-line{
  font:500 clamp(12px,1.15vw,17px)/1.3 "STKaiti","KaiTi",serif!important;
  color:#6e5836!important;
  letter-spacing:.04em!important;
}
#screen-certificate .certificate-v186 .cert-honor-line strong{
  font-size:1.28em!important;
  color:#a97924!important;
  margin-left:7px!important;
}

/* 【D. 左下：证书编号】
   left 控制左右；top 控制上下。 */
#screen-certificate .certificate-v186 .cert-id-slot{
  position:absolute!important;
  left:10.9%!important;
  top:74.0%!important;
  width:25.4%!important;
  height:7.7%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  padding:0 12px!important;
}

/* 【E. 右下：签发日期】
   right 控制左右；top 控制上下。 */
#screen-certificate .certificate-v186 .cert-date-slot{
  position:absolute!important;
  right:10.9%!important;
  top:74.0%!important;
  width:25.4%!important;
  height:7.7%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  padding:0 12px!important;
}
#screen-certificate .certificate-v186 .cert-id-slot span,
#screen-certificate .certificate-v186 .cert-date-slot span{
  font-size:clamp(8px,.68vw,10px)!important;
  letter-spacing:.12em!important;
  color:#91764c!important;
  line-height:1!important;
}
#screen-certificate .certificate-v186 .cert-id-slot b,
#screen-certificate .certificate-v186 .cert-date-slot b{
  font:600 clamp(10px,1.02vw,15px)/1.15 "STKaiti","KaiTi",serif!important;
  color:#294d61!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}

/* 【F. 中下圆章：最终成绩 + 五枚山水印】
   这一整块就是底图中间的圆圈。
   top 控制圆圈内所有动态内容整体上下；left/right 控制圆圈内容区域宽度。 */
#screen-certificate .certificate-v186 .cert-score-slot{
  position:absolute!important;
  left:39.3%!important;
  right:39.3%!important;
  top:69.2%!important;
  height:22.5%!important;
  display:block!important;
  padding:0!important;
}

/* “最终试炼”四个小字的位置。 */
#screen-certificate .certificate-v186 .cert-score-slot>span{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:19%!important;
  text-align:center!important;
  font-size:clamp(8px,.72vw,10px)!important;
  letter-spacing:.13em!important;
  color:#8d7449!important;
  line-height:1!important;
}

/* 100% 最终成绩的位置。
   top 数值越大越往下；font-size 可以单独改成绩大小。 */
#screen-certificate .certificate-v186 #certScore{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:27%!important;
  margin:0!important;
  text-align:center!important;
  font:700 clamp(22px,2.35vw,34px)/1 "STKaiti","KaiTi",serif!important;
  color:#173f5c!important;
}

/* 【G. 五枚印章：改为“下半圆弧形排列”】
   现在不再横着挤成一排，而是围绕圆章下半圈排成弧线。
   想移动某一枚，只改对应 nth-child 的 left/right/top。
   top 越大 = 越往下；left 越大 = 越往右；right 越大 = 越往左。 */
#screen-certificate .certificate-v186 .cert-seals{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  display:block!important;
}
#screen-certificate .certificate-v186 .cert-seal{
  position:absolute!important;
  width:clamp(30px,2.75vw,42px)!important;
  height:clamp(30px,2.75vw,42px)!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
}
#screen-certificate .certificate-v186 .cert-seal img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.28)) drop-shadow(0 0 8px rgba(213,170,76,.14))!important;
}
#screen-certificate .certificate-v186 .cert-seal span{display:none!important}

/* 第1枚：王城印 —— 左上 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(1){left:4%!important;top:56%!important}
/* 第2枚：七星印 —— 左下 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(2){left:23%!important;top:70%!important}
/* 第3枚：水月印 —— 最下方正中 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(3){left:50%!important;top:76%!important;transform:translateX(-50%)!important}
/* 第4枚：日月印 —— 右下 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(4){right:23%!important;top:70%!important}
/* 第5枚：漓水印 —— 右上 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(5){right:4%!important;top:56%!important}

/* 【H. 证书下面两个操作按钮】
   这两个按钮在证书图片外面，不建议塞进证书底图里面。 */
#screen-certificate .certificate-actions-outside{
  position:static!important;
  margin:0!important;
  justify-content:center!important;
  gap:12px!important;
}
#screen-certificate .certificate-actions-outside .btn{
  min-width:170px!important;
  pointer-events:auto!important;
}

/* 下面这块本身不显示，只给程序保留颁发方 / slogan 数据。 */
#screen-certificate .certificate-v186 .cert-hidden-meta{display:none!important}

/* 小屏幕时维持证书的正常横向比例，宁可横向滚动，也不要把证书挤变形。 */
@media(max-width:850px){
  #screen-certificate .certificate-wrap{min-width:900px!important}
  #screen-certificate .certificate-page{justify-content:start!important}
}

/* 打印 / 保存 PDF 时隐藏顶部导航和操作按钮，只输出证书本体。 */
@media print{
  .topbar,#screen-certificate .certificate-actions-outside{display:none!important}
  #screen-certificate .certificate-page{padding:0!important;background:#fff!important;min-height:100vh!important}
  #screen-certificate .certificate-wrap{width:100vw!important}
  #screen-certificate .certificate-shell.certificate-v186{width:100vw!important;box-shadow:none!important;border-radius:0!important}
}

/* ============================================================================
   V18.6.1【证书最终手工微调区】
   ============================================================================
   说明：
   1. 这一段必须放在 main.css 最底部，用来覆盖前面旧版本的证书定位。
   2. 以后你调证书位置，只改这一段，不用再翻前面的样式。
   3. top 数值越小 = 往上；top 数值越大 = 往下。
   4. left 数值越小 = 往左；left 数值越大 = 往右。
   5. right 数值越小 = 往右；right 数值越大 = 往左。
   6. width / height 数值越大 = 区域越大。
   ============================================================================ */

/* --------------------------------------------------------------------------
   【1】玩家姓名区域
   当前目标：把“小桂子”稍微缩小，并保持在顶部姓名框内居中。
   -------------------------------------------------------------------------- */
#screen-certificate .certificate-v186 .cert-name-slot{
  position:absolute!important;
  left:31.2%!important;     /* 整个姓名区域左边界；减小=往左扩 */
  right:31.2%!important;    /* 整个姓名区域右边界；减小=往右扩 */
  top:33.9%!important;      /* 姓名区域上下位置 */
  height:9.2%!important;    /* 姓名区域高度 */
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:0!important;
}

/* “谨授予”三个小字 */
#screen-certificate .certificate-v186 .cert-name-slot>span{
  font-size:clamp(8px,.68vw,10px)!important;
  line-height:1!important;
  color:#8d7449!important;
  letter-spacing:.12em!important;
}

/* 玩家姓名，例如：小桂子 */
#screen-certificate .certificate-v186 #certName{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  font:700 clamp(22px,2.35vw,36px)/1 "STKaiti","KaiTi","Microsoft YaHei",serif!important;
  color:#163f5b!important;
  letter-spacing:.08em!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-shadow:0 1px 0 rgba(255,255,255,.88)!important;
}

/* --------------------------------------------------------------------------
   【2】证书正文区域
   如果以后正文偏高/偏低，只改 top。
   -------------------------------------------------------------------------- */
#screen-certificate .certificate-v186 .cert-body-slot{
  left:20.3%!important;
  right:20.3%!important;
  top:47.0%!important;
  height:18.8%!important;
}

/* --------------------------------------------------------------------------
   【3】左下角：证书编号
   当前目标：把编号完整放入底图左下角的小长框正中央。
   -------------------------------------------------------------------------- */
#screen-certificate .certificate-v186 .cert-id-slot{
  position:absolute!important;
  left:15.2%!important;     /* 左右位置：增大=整体往右 */
  top:71.2%!important;      /* 上下位置：减小=往上 */
  width:24.8%!important;
  height:7.2%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:0 10px!important;
}

/* --------------------------------------------------------------------------
   【4】右下角：签发日期
   当前目标：与左边编号框左右对称。
   -------------------------------------------------------------------------- */
#screen-certificate .certificate-v186 .cert-date-slot{
  position:absolute!important;
  right:15.2%!important;    /* 左右位置：增大=整体往左 */
  top:71.2%!important;      /* 上下位置 */
  width:24.8%!important;
  height:7.2%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:0 10px!important;
}

/* 编号 / 日期的小标题 */
#screen-certificate .certificate-v186 .cert-id-slot span,
#screen-certificate .certificate-v186 .cert-date-slot span{
  font-size:clamp(8px,.65vw,10px)!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  color:#91764c!important;
}

/* 编号 / 日期的实际内容 */
#screen-certificate .certificate-v186 .cert-id-slot b,
#screen-certificate .certificate-v186 .cert-date-slot b{
  font:600 clamp(10px,.90vw,13px)/1.08 "STKaiti","KaiTi",serif!important;
  color:#294d61!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}

/* --------------------------------------------------------------------------
   【5】中下圆框：最终成绩 + 五枚印章
   整块圆框动态内容都受这里控制。
   -------------------------------------------------------------------------- */
#screen-certificate .certificate-v186 .cert-score-slot{
  position:absolute!important;
  left:39.2%!important;
  right:39.2%!important;
  top:66.8%!important;      /* 整个圆框里的动态内容上下位置 */
  height:24.5%!important;
  display:block!important;
  padding:0!important;
}

/* “最终试炼” */
#screen-certificate .certificate-v186 .cert-score-slot>span{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:30%!important;
  text-align:center!important;
  font-size:clamp(8px,.68vw,10px)!important;
  letter-spacing:.13em!important;
  color:#8d7449!important;
  line-height:1!important;
}

/* 100% 成绩 */
#screen-certificate .certificate-v186 #certScore{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:40%!important;
  margin:0!important;
  text-align:center!important;
  font:700 clamp(24px,2.50vw,38px)/1 "STKaiti","KaiTi",serif!important;
  color:#173f5c!important;
}

/* --------------------------------------------------------------------------
   【6】五枚印章的总区域
   这里控制五个印章整体活动范围。
   -------------------------------------------------------------------------- */
#screen-certificate .certificate-v186 .cert-seals{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:48%!important;
  bottom:4%!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  display:block!important;
}

/* 所有印章统一大小 */
#screen-certificate .certificate-v186 .cert-seal{
  position:absolute!important;
  width:clamp(28px,2.50vw,38px)!important;
  height:clamp(28px,2.50vw,38px)!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
}

#screen-certificate .certificate-v186 .cert-seal img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.28)) drop-shadow(0 0 5px rgba(226,190,103,.18))!important;
}

/* 证书中不显示印章文字名字，只显示印章图 */
#screen-certificate .certificate-v186 .cert-seal span{
  display:none!important;
}

/* --------------------------------------------------------------------------
   【7】五枚印章：下半圆弧形排布

               100%

       王城印             漓水印

           七星印     日月印

                水月印

   每枚都可以独立调 left / right / top。
   -------------------------------------------------------------------------- */

/* 第1枚：王城印 —— 左上 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(1){
  left:5%!important;
  top:8%!important;
}

/* 第2枚：七星印 —— 左下 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(2){
  left:23%!important;
  top:37%!important;
}

/* 第3枚：水月印 —— 正中最下 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(3){
  left:50%!important;
  top:52%!important;
  transform:translateX(-50%)!important;
}

/* 第4枚：日月印 —— 右下 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(4){
  right:23%!important;
  top:37%!important;
}

/* 第5枚：漓水印 —— 右上 */
#screen-certificate .certificate-v186 .cert-seal:nth-child(5){
  right:5%!important;
  top:8%!important;
}

/* --------------------------------------------------------------------------
   【8】证书下面两个操作按钮
   -------------------------------------------------------------------------- */
#screen-certificate .certificate-actions-outside{
  position:static!important;
  margin:0!important;
  justify-content:center!important;
  gap:12px!important;
}

#screen-certificate .certificate-actions-outside .btn{
  min-width:170px!important;
  pointer-events:auto!important;
}

/* --------------------------------------------------------------------------
   【9】临时调试辅助框
   调位置时，如果想直接看到每个定位区域，把下面整段注释取消。
   调完以后重新注释即可。
   -------------------------------------------------------------------------- */
/*
#screen-certificate .certificate-v186 .cert-name-slot{
  outline:2px solid red!important;
}
#screen-certificate .certificate-v186 .cert-body-slot{
  outline:2px solid blue!important;
}
#screen-certificate .certificate-v186 .cert-id-slot{
  outline:2px solid lime!important;
}
#screen-certificate .certificate-v186 .cert-date-slot{
  outline:2px solid orange!important;
}
#screen-certificate .certificate-v186 .cert-score-slot{
  outline:2px solid magenta!important;
}
#screen-certificate .certificate-v186 .cert-seals{
  outline:2px dashed cyan!important;
}
*/

/* --------------------------------------------------------------------------
   【10】打印 / 保存 PDF
   -------------------------------------------------------------------------- */
@media print{
  .topbar,
  #screen-certificate .certificate-actions-outside{
    display:none!important;
  }
  #screen-certificate .certificate-page{
    padding:0!important;
    background:#fff!important;
    min-height:100vh!important;
  }
  #screen-certificate .certificate-wrap{
    width:100vw!important;
  }
  #screen-certificate .certificate-shell.certificate-v186{
    width:100vw!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
}
