/*! BIO-ORIGIN project=holiday-11-immunity; version=1.0.0-draft-web.1; official=https://bio2077.cn/ */
:root{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#eaf3f5;background:#0b141e;font-synthesis:none;--bg:#0b141e;--panel:#131f2b;--line:#344453;--muted:#afc0cc;--mint:#82e9c5;--coral:#ffa390;--accent:#82e9c5;--text:#eaf3f5}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:#1b2a38;min-height:46px;padding:10px 17px;transition:background .15s,border-color .15s}button:hover{background:#2a3c4d;border-color:#8299aa}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #ffe49c;outline-offset:4px}button:disabled{opacity:.45;cursor:default}button[aria-pressed=true],button[aria-current=page]{border-color:var(--mint);background:#1b403b;color:#c4ffe9}h1,h2,h3,p{margin:0}#app{max-width:1660px;margin:auto;padding:22px 32px 10px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{font-size:38px;color:var(--mint);border:1px solid #547264;border-radius:16px;padding:0 8px}.eyebrow{color:var(--mint);font-size:14px;letter-spacing:2px}h1{font-size:26px;margin-top:3px}h1 span{font-size:16px;color:var(--muted);font-weight:400;margin-left:18px}.tools{display:flex;gap:8px;font-size:16px}nav{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-bottom:16px}nav button{background:transparent;font-size:19px;border-color:transparent;padding:12px 24px}nav b{font-size:14px;letter-spacing:1px;margin-right:8px;color:var(--mint)}main{padding-top:20px}.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.intro h2{font-size:27px;line-height:1.35}.intro p{color:var(--muted);font-size:17px;margin-top:7px}.tag{color:var(--mint);font-size:16px;border:1px solid #3b5c55;padding:9px 12px;border-radius:30px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(390px,1fr);gap:20px}.stage{position:relative;background:radial-gradient(ellipse at 45% 50%,#1c3444 0%,#101e2b 64%);border:1px solid var(--line);border-radius:22px;overflow:hidden;min-height:370px;display:flex;flex-direction:column}.stage-top{display:flex;justify-content:space-between;padding:18px 22px;font-size:16px;color:var(--muted);z-index:1}.stage svg{display:block;width:100%;height:220px;flex:1;min-height:170px}.scene-caption{padding:13px 24px 22px;font-size:22px;line-height:1.6;min-height:103px}.scene-caption strong{color:var(--mint)}.side{display:flex;flex-direction:column;gap:12px}.prompt-label{font-size:16px;color:var(--muted);margin-bottom:9px}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.answers button{padding:14px 7px;font-size:21px;background:var(--panel)}.answers button span{display:block;font-size:14px;color:var(--muted);margin-top:7px}.answers button[aria-pressed=true]{background:#234a41;border-color:var(--mint)}.types{display:flex;gap:10px}.types button{flex:1;font-size:19px}.feedback{padding:16px 19px;background:#182837;border:1px solid var(--line);border-left:4px solid #71899d;border-radius:13px;min-height:125px;font-size:18px;line-height:1.65}.feedback.good{border-left-color:var(--mint);background:#16342f}.feedback.bad{border-left-color:var(--coral);background:#38282b}.feedback strong{display:block;font-size:21px;margin-bottom:3px}.feedback small{display:block;color:var(--muted);font-size:15px;margin-top:7px}.card-switch{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.card-switch button{min-width:48px;padding:8px 14px}.card-switch .next{margin-left:auto;border-color:#658e81;color:var(--mint)}.hint{font-size:15px;color:var(--muted);line-height:1.6;margin-top:12px}.section-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}.memory-choices{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap}.memory-choices button{font-size:18px}.memory-choices button small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.memory-stage .stage-top{padding-bottom:6px}.graph{height:260px!important;min-height:240px!important}.legend{display:flex;justify-content:center;gap:22px;font-size:16px;padding:5px 15px}.legend span:before{content:"";display:inline-block;width:25px;border-top:3px solid var(--mint);margin-right:8px;vertical-align:middle}.legend span:nth-child(2):before{border-color:#ffc18c;border-top-style:dashed}.step-label{font-size:20px;text-align:center;padding:14px 20px;color:var(--mint)}.timeline{display:flex;gap:8px;align-items:center;padding:10px 18px 16px}.timeline input{min-width:45px;width:100%;accent-color:var(--mint)}.stack{display:flex;flex-direction:column;gap:9px}.stack button{text-align:left;font-size:19px;line-height:1.4}.wide-feedback{min-height:130px}.question{font-size:23px;line-height:1.6;margin-bottom:16px}.plan-visual{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;gap:20px;flex:1}.plan-flow{display:flex;align-items:center;gap:18px}.plan-node{width:96px;height:96px;border-radius:50%;border:2px solid var(--mint);display:grid;place-items:center;font-size:38px;background:#183b38}.plan-flow .arrow{font-size:30px;color:var(--muted)}.plan-visual h3{font-size:26px;color:var(--mint)}.plan-visual p{font-size:20px;text-align:center;line-height:1.7;max-width:470px}footer{display:flex;justify-content:space-between;gap:15px;margin-top:17px;align-items:center;color:var(--muted);font-size:14px}footer div{display:flex;align-items:center;gap:14px}footer button{font-size:15px;padding:4px 8px;border-color:transparent;background:transparent;min-height:44px}dialog{background:#172635;color:var(--text);border:1px solid #759088;border-radius:20px;width:min(760px,92vw);max-height:87vh;padding:25px}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-head h2{font-size:25px}#dialog-body{font-size:19px;line-height:1.8}#dialog-body p{margin-bottom:16px}#dialog-body a{color:var(--mint)}#dialog-body li{margin-bottom:14px}#dialog-body small{font-size:15px;color:var(--muted)}body.contrast{--bg:#000;--panel:#080e13;--line:#91a6b6;--muted:#e3edf4;--mint:#9affd5;--text:#fff;background:#000;color:#fff}body.contrast .stage{background:#030a10}body.contrast .feedback{background:#101a23}body.contrast .feedback.good{background:#123028}body.contrast .feedback.bad{background:#3d2020}body.contrast button{border-width:2px}body.contrast .stage svg text{fill:#fff}body:fullscreen{overflow:auto;background:var(--bg)}
@media(min-width:761px) and (max-height:800px){#app{padding-top:15px}header{margin-bottom:12px}nav{padding-bottom:10px}main{padding-top:14px}.intro{margin-bottom:12px}.stage{min-height:335px}.stage svg{height:180px}.scene-caption{padding-bottom:16px;min-height:92px}.feedback{min-height:113px;padding:12px 16px}.answers button{padding:10px 7px}.card-switch{margin-top:12px}footer{margin-top:7px}.graph{height:220px!important;min-height:210px!important}.memory-stage{min-height:330px}.hint{margin-top:7px}}
@media(max-width:1099px){#app{padding:18px 22px}h1 span{display:none}.workspace{grid-template-columns:1.1fr 1fr;gap:14px}.answers{gap:5px}.answers button{font-size:18px}.answers button span{font-size:13px}.types button{font-size:17px;padding:10px}.intro h2{font-size:25px}nav button{padding:10px 12px;font-size:17px}.scene-caption{font-size:20px}.side{gap:10px}.feedback{font-size:17px}.plan-flow{gap:9px}.plan-node{width:78px;height:78px}.tag{font-size:14px}}
@media(max-width:760px){#app{padding:16px 14px 12px}header{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:14px}.brand-mark{font-size:32px}h1{font-size:24px}.tools{width:100%;display:grid;grid-template-columns:repeat(3,1fr);font-size:14px}.tools button{padding:8px 5px}nav{gap:4px}nav button{flex:1;font-size:16px;padding:8px 4px;line-height:1.5}nav b{display:block;margin:0}.intro{align-items:flex-start;gap:9px}.intro h2{font-size:23px}.intro p{font-size:16px}.tag{font-size:13px;padding:7px 9px}.workspace{grid-template-columns:1fr}.stage{min-height:300px}.stage svg{height:180px;min-height:160px}.scene-caption{min-height:80px;padding:8px 18px 17px;font-size:20px}.stage-top{padding:14px 18px}.answers button{font-size:20px}.answers button span{font-size:14px}.feedback{min-height:110px}.types button{font-size:18px}.card-switch{gap:5px}.card-switch button{padding:8px 12px;min-width:44px}.card-switch .next{margin-left:0}footer{align-items:flex-start;flex-direction:column;gap:0;font-size:13px}.memory-choices{display:grid;grid-template-columns:1fr}.memory-choices button{text-align:left}.memory-choices button small{display:inline;margin-left:10px}.question{font-size:22px}.graph{min-height:220px!important;height:240px!important}.plan-visual{padding:22px 15px}.plan-visual h3{font-size:24px}.plan-visual p{font-size:19px}.legend{font-size:14px;gap:15px}.timeline{padding-left:10px;padding-right:10px}.timeline button{padding:8px 12px}.hint{font-size:14px}dialog{padding:20px}#dialog-body{font-size:18px}}
.stage svg{flex:none;height:250px}.stage.memory-stage .graph{flex:none;height:250px!important;min-height:0!important}.timeline button{flex-shrink:0;white-space:nowrap}.timeline input{width:auto;flex:1;min-width:35px}.graph text{font-size:24px}.stage svg text{paint-order:stroke;stroke:#101e2b;stroke-width:1px}
@media(min-width:761px){.memory-choices button small{display:inline;margin-left:12px}.memory-choices button{min-height:46px}}
@media(min-width:761px) and (max-height:800px){.stage svg{height:200px}.stage.memory-stage .graph{height:205px!important}.step-label{padding:6px 15px}.timeline{padding-top:4px}.memory-stage .stage-top{padding-top:12px}.memory-choices{margin-bottom:12px}.memory-choices button{padding:8px 15px}}
@media(max-width:760px){.stage svg{height:180px}.stage.memory-stage .graph{height:230px!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
