:root{--bg:#111a17;--panel:#17221d;--border:#2b382e;--text:#eeeede;--muted:#8d9b8e;--green:#c0d99b;--amber:#e9bf83;--serif:Georgia,'Songti SC','SimSun',serif;font-family:Inter,'Segoe UI','Microsoft YaHei',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 45% 18%,#26332555,transparent 65%),var(--bg)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}button{transition:background .2s,transform .2s,border-color .2s}button:active:not(:disabled){transform:translateY(1px)}.hidden{display:none!important}.topbar{height:84px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:#111a17e8}.brand{display:flex;gap:12px;align-items:center;font-size:17px;font-weight:650;letter-spacing:1px}.brandmark{width:42px;height:46px;display:grid;place-items:center;font-size:37px;color:var(--green);border:1px solid #a8bc8777;border-radius:12px 4px 12px 4px}.brand small{display:block;font-size:8px;letter-spacing:3px;font-weight:400;color:var(--muted);margin-top:5px}.brand b{font-size:8px;font-weight:500;letter-spacing:1.4px;border:1px solid var(--border);padding:4px 6px;margin:0 0 19px 2px;color:var(--muted)}nav{display:flex;gap:35px;height:100%;align-items:center}.nav{height:100%;background:none;font-size:13px;color:var(--muted);position:relative;padding:0 3px}.nav.active{color:var(--green)}.nav.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green)}.nav span{font-size:10px;margin-left:4px;background:#28372b;border-radius:4px;padding:2px 5px}.connection{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.connection i,.online-number i,.lab-footer i{width:6px;height:6px;border-radius:50%;background:#a8cb89;display:inline-block;box-shadow:0 0 8px #a8cb8944}#sound{margin-left:10px;border:1px solid var(--border);width:30px;height:30px;border-radius:50%;background:transparent;color:var(--muted)}main{max-width:1510px;margin:auto;padding:32px 4% 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.eyebrow{font-size:9px;letter-spacing:2.7px;color:var(--green);margin-bottom:11px}h1{font-size:27px;font-weight:500;letter-spacing:1px}.page-heading p{color:var(--muted);font-size:12px;margin-top:10px}.room-controls{display:flex;align-items:center;gap:10px;padding-top:20px}.room-label{font-size:10px;color:var(--muted);margin-right:8px}.room-label strong{font-family:monospace;font-size:13px;display:block;color:var(--text);letter-spacing:2px;margin-top:5px}.button{font-size:12px;border-radius:7px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap}.button.primary{background:var(--green);color:#21301f;font-weight:650;box-shadow:0 3px 12px #0002}.button.primary:hover{background:#d2e9b0}.button.outline{background:#223022;border:1px solid #58684b;color:#d5e2bd}.button.subtle{background:transparent;color:var(--muted);border:1px solid var(--border)}.wide{width:100%}.panel{border:1px solid var(--border);border-radius:13px;background:linear-gradient(145deg,#1b272066,#17211bdd)}.lab-layout{display:grid;grid-template-columns:246px minmax(370px,1fr) 248px;gap:17px;align-items:stretch}.specimen{padding:21px 20px}.section-kicker{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#d2d8c7;gap:6px}.tiny{font-size:8px;letter-spacing:.9px;color:var(--muted)}.species-heading{margin-top:25px}.badges{display:flex;gap:6px}.type-badge{font-size:9px;line-height:1;background:color-mix(in srgb,var(--element) 12%,transparent);color:var(--element);padding:5px 8px;border-radius:4px;border:1px solid color-mix(in srgb,var(--element) 22%,transparent)}.species-heading h2{font-size:27px;font-weight:500;margin-top:10px;letter-spacing:1px}.species-heading p{font-size:10px;color:var(--muted);line-height:1.7;margin-top:7px}.stat-header{margin:21px 0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:13px;font-size:10px;color:var(--muted)}.stat-header strong{font-size:24px;font-family:var(--serif);font-weight:400;color:var(--green)}.stat-row{display:grid;grid-template-columns:32px 1fr 28px;align-items:center;gap:10px;font-size:10px;margin:12px 0;color:var(--muted)}.stat-track{height:4px;background:#303b2d;border-radius:4px;overflow:hidden}.stat-track i{display:block;height:100%;background:linear-gradient(90deg,#819566,var(--green));border-radius:4px;transition:width 1.2s}.stat-row b{text-align:right;color:#d9dec9;font-weight:500;font-size:11px;font-family:monospace}.traits{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:9px;color:var(--muted);margin:18px 0 23px}.traits b{color:#c5cbb8;margin-left:4px;font-weight:400}.skill-block{border-top:1px solid var(--border);padding-top:17px}.skill{display:flex;gap:10px;margin-top:17px}.skill-icon{flex:0 0 29px;height:31px;border:1px solid #a8bd8a44;border-radius:6px;display:grid;place-items:center;color:var(--green);font-size:19px;background:#2b382722}.skill h4{font-size:11px;font-weight:500;margin:0 0 5px}.skill h4 small{font-size:8px;font-weight:400;color:var(--muted);margin-left:6px}.skill p{color:var(--muted);font-size:9px;line-height:1.7}.dna-caption{border-top:1px solid var(--border);padding-top:17px;margin-top:21px;font-size:9px;line-height:1.6;color:var(--muted);display:flex;gap:10px;align-items:center}.dna-caption small{display:block;font-size:8px;letter-spacing:.5px;margin-top:4px}.dna-icon{font-size:30px;color:#788c66}.habitat{position:relative;min-height:640px;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#3d51342b,transparent 67%),linear-gradient(135deg,#1b2921,#141e19)}.habitat:before{content:'';position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:linear-gradient(#aabb8815 1px,transparent 1px),linear-gradient(90deg,#aabb8815 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(transparent,#000 40%,transparent)}.habitat-top{position:relative;z-index:2;padding:18px 21px;display:flex;justify-content:space-between;font-size:8px;color:var(--muted);letter-spacing:1px}.live-badge{display:flex;gap:7px;align-items:center;color:#acba98}.live-badge span{width:5px;height:5px;border-radius:50%;background:var(--green)}.round-heading{position:absolute;top:63px;left:10px;right:10px;text-align:center;z-index:2;pointer-events:none}.round-heading>span{font-size:9px;color:var(--green);letter-spacing:1.5px}.round-heading h2{font-size:23px;font-weight:400;letter-spacing:2px;margin:9px 0}.round-heading p{font-size:10px;color:var(--muted)}#viewport{height:400px;margin-top:64px;position:relative;z-index:1;touch-action:pan-y}#viewport canvas{display:block;max-width:100%}.orbit-label{position:absolute;bottom:28px;left:0;right:0;text-align:center;color:#748570;font-size:8px;letter-spacing:1px;pointer-events:none}.stage-caption{display:flex;justify-content:center;gap:10px;margin-top:-20px;font-size:8px;color:var(--muted);position:relative;z-index:2;pointer-events:none}.stage-caption>span:first-child{color:var(--green);padding-right:10px;border-right:1px solid #526043}.round-timeline{display:flex;gap:6px;justify-content:center;margin:22px 25px 18px}.round-node{height:22px;flex:1;max-width:35px;position:relative;font-size:9px;font-family:monospace;color:#758369;display:grid;place-items:center;border-radius:3px;border:1px solid #35432e;background:#1c281c}.round-node.done{background:#b8d38b;color:#20301c;border-color:#b8d38b}.round-node.current{color:var(--green);border-color:#b8d38b;box-shadow:0 0 12px #b8d38b18}.care-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 28px}.care-meters label{display:flex;justify-content:space-between;color:#b3bf9e;font-size:9px;margin-bottom:8px}.care-meters b{font-weight:400;font-family:monospace}.meter{height:4px;background:#34412c;border-radius:4px;overflow:hidden}.meter i{width:0;height:100%;display:block;background:var(--green);transition:width .3s}.meter.blue i{background:#8fbcc2}.meter.amber i{background:var(--amber)}.round-bottom{display:flex;justify-content:space-between;align-items:center;padding:16px 27px;color:var(--muted);font-size:9px}.round-bottom #timer{font-size:14px;font-family:monospace;color:var(--text);letter-spacing:2px}.social-column{display:flex;flex-direction:column;gap:15px}.mission,.crew,.activity{padding:20px}.pill{font-size:8px;color:var(--green);background:#a9cc8020;border:1px solid #a9cc8030;padding:4px 6px;border-radius:4px}.mission h3{font-size:17px;font-weight:450;line-height:1.5;margin:19px 0 9px}.mission p{font-size:10px;color:var(--muted);line-height:1.9}.mission-steps{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 19px;font-size:8px;color:#b9c1a8}.mission-steps b{color:#81956e;margin-right:3px;font-family:monospace}.mission .microcopy{font-size:8px;line-height:1.8;text-align:center;margin-top:11px}.online-number{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:5px}.online-number b{color:var(--text);font-weight:400}.players{margin-top:17px}.player{display:flex;align-items:center;gap:8px;margin:11px 0;font-size:10px}.avatar{width:29px;height:29px;border-radius:50%;background:var(--avatar-bg,#343f2b);display:grid;place-items:center;color:#c1d298;font-size:10px}.player span:nth-child(2){flex:1;color:#c6cebb}.player small{font-size:8px;color:var(--muted);margin-left:5px}.player b{font-size:10px;font-family:monospace;font-weight:400;color:var(--green)}.your-contribution{border-top:1px solid var(--border);padding-top:13px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px}.your-contribution strong{font-family:monospace;font-size:17px;color:var(--green);font-weight:400}.your-contribution small{font-family:sans-serif;font-size:8px;color:var(--muted)}.activity{flex:1;min-height:138px}.log-entry{font-size:9px;color:var(--muted);line-height:1.7;border-left:1px solid #3b4c32;padding-left:10px;margin:12px 0}.log-entry.evolution{color:var(--green);border-color:var(--green)}.log-entry time{font-size:8px;color:#65745f;display:block}.inventory-panel{margin-top:18px;padding:19px 23px}.inventory-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.inventory-heading h3{font-size:13px;font-weight:450}.inventory-heading p{font-size:9px;color:var(--muted);margin-top:6px}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.item-group{display:flex;align-items:center;gap:12px;background:#202c22;border:1px solid #34412e;border-radius:8px;padding:12px;min-width:0}.item-picture{width:43px;height:46px;flex-shrink:0;display:grid;place-items:center;font-size:29px;border:1px solid color-mix(in srgb,var(--element) 30%,transparent);background:color-mix(in srgb,var(--element) 9%,transparent);border-radius:9px;color:var(--element)}.item-info{min-width:0;flex:1}.item-info h4{font-size:11px;font-weight:500;margin:0 0 5px;display:flex;align-items:center;gap:7px}.item-info small{font-size:8px;color:var(--muted);font-weight:400}.item-info p{font-size:8px;color:var(--muted)}.item-info select{background:#18231a;border:0;color:#c2cdb4;max-width:100%;font-size:9px;padding:4px 0;outline-offset:1px;margin-top:5px}.use-item{padding:9px 12px;background:#3d4d32;color:var(--green);border:1px solid #65785166;border-radius:6px;font-size:11px;flex-shrink:0}.use-item:hover:not(:disabled){background:#566743}.lab-footer{font-size:9px;color:#76816e;display:flex;justify-content:space-between;gap:15px;padding:20px 2px}.lab-footer i{width:4px;height:4px;margin-right:5px}.lab-footer button{font-size:9px;background:none;color:#9aab85}.gift-layer{position:absolute;inset:155px 8px 185px;z-index:5;pointer-events:none;touch-action:none}.gift{position:absolute;pointer-events:auto;width:58px;height:65px;border-radius:50%;border:1px solid #d6eabb55;background:radial-gradient(circle at 30% 20%,#d4eeb330,#aecb8614 60%,#acc98130);box-shadow:inset 0 0 17px #c1dfb411,0 0 22px #b0d3820e;color:#deebc1;font-size:24px;display:grid;place-items:center;animation:float-gift 3.5s ease-in-out infinite;touch-action:none;user-select:none}.gift:before{content:'';position:absolute;width:11px;height:6px;border-radius:50%;background:#e7f0d75a;left:12px;top:9px;transform:rotate(-35deg)}.gift span{font-size:8px;position:absolute;bottom:7px;letter-spacing:1px}.gift:hover{background:#c7e39a30;border-color:#d7ecb1;transform:scale(1.07)}@keyframes float-gift{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-18px) rotate(5deg)}}.particle-layer{position:absolute;inset:0;pointer-events:none;z-index:10;overflow:hidden}.floating-message{position:absolute;left:50%;top:42%;color:var(--green);font-size:16px;white-space:nowrap;text-shadow:0 2px 10px #000;animation:rise 1.4s ease-out forwards}.spark{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--spark-color,var(--green));animation:scatter .75s ease-out forwards}@keyframes scatter{to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}@keyframes rise{from{transform:translate(-50%,20px);opacity:0}25%{opacity:1}to{transform:translate(-50%,-60px);opacity:0}}.cocoon{position:absolute;z-index:3;inset:170px 0 170px;display:none;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse,#233624b8,transparent 75%);pointer-events:none}.cocoon.active{display:flex}.cocoon-rings{width:180px;height:210px;border:1px solid #d2e8a6bb;border-radius:50%;box-shadow:0 0 40px #b7d38b22,inset 0 0 55px #b7d38b44;animation:pulse 1.6s infinite ease-in-out;margin-bottom:14px}.cocoon b{font-size:13px;color:#d9e8b9;font-weight:500;letter-spacing:2px}.cocoon span{font-size:9px;color:var(--muted);margin-top:8px}@keyframes pulse{50%{transform:scale(1.08);box-shadow:0 0 60px #b7d38b66,inset 0 0 55px #b7d38b99}}.evolution-banner{display:none;position:absolute;z-index:6;top:175px;left:0;right:0;text-align:center;pointer-events:none}.evolution-banner.active{display:block;animation:reveal 1s ease-out}.evolution-banner>span{font-size:8px;letter-spacing:4px;color:var(--green)}.evolution-banner h2{font-size:27px;font-weight:400;margin:8px 0;color:#e7efc9;text-shadow:0 2px 20px #000}.evolution-banner p{font-size:10px;color:var(--muted)}@keyframes reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}#ai-video{display:none;position:absolute;z-index:2;top:148px;left:0;width:100%;height:370px;object-fit:contain;background:#142019}#ai-video.active{display:block}.ai-option{font-size:9px;color:var(--green);margin-top:12px;display:block}.ai-option small{font-size:8px;color:var(--muted);display:block;margin-left:21px}.secondary-view{min-height:calc(100vh - 84px)}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.collection-card{padding:18px;cursor:pointer;transition:transform .25s,border-color .25s}.collection-card:hover{border-color:#839965;transform:translateY(-4px)}.collection-card img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:9px}.collection-card h3{font-size:22px;font-weight:450;margin:17px 0 8px}.collection-card p{font-size:10px;color:var(--muted);line-height:1.8}.collection-card .badges{margin-top:10px}.empty-state{grid-column:1/-1;text-align:center;padding:100px 30px;border:1px dashed #4a5c3d;border-radius:14px}.empty-state .empty-icon{font-size:65px;color:#819565;margin-bottom:20px}.empty-state h2{font-size:24px;font-weight:450;margin-bottom:13px}.empty-state p{color:var(--muted);font-size:13px;line-height:1.9}.empty-state button{margin-top:22px}.battle-panel{padding:28px}.battle-panel label{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:15px;margin-right:18px}.battle-panel select{background:#263521;border:1px solid var(--border);color:var(--text);padding:12px;border-radius:7px;min-width:180px}.battle-panel h2{font-size:25px;font-weight:450;margin:25px 0 15px;color:var(--green)}#battle-log{display:grid;grid-template-columns:1fr 1fr;gap:8px}#battle-log div{font-size:11px;line-height:1.7;padding:8px 10px;background:#21302077;border-radius:5px;color:#b0c0a0}.type-guide{margin-top:20px;padding:25px}.type-guide h3{font-size:17px;font-weight:450}.type-guide>p{font-size:11px;color:var(--muted);margin:12px 0 20px}#type-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#type-guide>div{font-size:11px;border:1px solid var(--border);padding:14px;border-radius:6px;color:var(--muted)}dialog{background:#1a261e;color:var(--text);border:1px solid #526344;border-radius:15px;padding:32px;width:min(92vw,460px);max-height:90vh}dialog::backdrop{background:#050e0bd9;backdrop-filter:blur(8px)}dialog h2{font-size:23px;font-weight:500;margin-bottom:13px}dialog p{font-size:12px;color:var(--muted);line-height:1.8}dialog input{width:100%;margin:23px 0 18px;padding:15px 17px;font-size:20px;letter-spacing:5px;text-transform:uppercase;border:1px solid #4c6040;background:#142017;color:var(--green);border-radius:7px}.dialog-close{position:absolute;right:14px;top:11px;background:none;color:var(--muted);font-size:24px}.monster-portrait{width:100%;border-radius:10px;max-height:290px;object-fit:cover;margin-bottom:18px}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.detail-stats div{font-size:10px;color:var(--muted);padding:10px;background:#25311f;border-radius:5px}.detail-stats b{display:block;font-size:19px;color:var(--green);font-weight:400;margin-top:6px}.detail-actions{display:flex;gap:8px;margin-top:20px}.detail-id{font-size:9px!important;word-break:break-all;color:#80916f!important;margin-top:15px}.detail-history{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.detail-history span{padding:5px 8px;background:#293820;border-radius:4px;font-size:9px;color:#c1d59d}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);background:#d5e4bc;color:#1c2a18;padding:13px 23px;border-radius:9px;font-size:12px;box-shadow:0 10px 40px #0007;z-index:100;opacity:0;pointer-events:none;transition:all .25s;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1550px){.lab-layout{grid-template-columns:270px minmax(450px,1fr) 270px}.habitat{min-height:660px}#viewport{height:420px}}
@media(max-width:1180px){main{padding-left:25px;padding-right:25px}.lab-layout{grid-template-columns:215px minmax(340px,1fr) 220px;gap:12px}.specimen{padding:18px 15px}.mission,.crew,.activity{padding:17px}.topbar{padding:0 25px}.inventory{gap:9px}.item-group{gap:8px;padding:10px}.item-picture{width:34px;height:40px}.use-item{padding:8px}.room-controls{gap:7px}.room-label{display:none}nav{gap:20px}}
@media(max-width:970px){.lab-layout{grid-template-columns:215px minmax(320px,1fr)}.social-column{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr 1fr}.habitat{min-height:640px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px}.brand b{display:none}.connection>span{display:none}.inventory{grid-template-columns:1fr}.item-group{padding:12px 17px}.item-info select{margin:0 0 0 10px;max-width:160px}.item-info p{display:inline}.inventory-panel{margin-top:15px}.lab-footer{flex-wrap:wrap}.library-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar{height:69px;padding:0 17px}.brand{font-size:13px;gap:8px}.brandmark{width:31px;height:36px;font-size:28px}.brand small{font-size:6px;letter-spacing:1.5px}.connection{gap:5px}#sound{display:none}nav{gap:15px}.nav{font-size:11px}.nav span{display:none}.connection i{width:5px;height:5px}main{padding:23px 13px 15px}.page-heading{align-items:flex-start;gap:13px;flex-wrap:wrap;margin-bottom:18px}.page-heading h1{font-size:23px;letter-spacing:0}.page-heading p{font-size:10px}.eyebrow{font-size:8px;margin-bottom:9px}.room-controls{width:100%;padding:0;justify-content:flex-end}.room-label{display:flex;align-items:center;gap:8px;margin-right:auto}.room-label strong{margin:0;font-size:12px}.button{font-size:11px;padding:10px 13px}.lab-layout{display:flex;flex-direction:column;gap:14px}.habitat{order:0;min-height:618px}.specimen{order:2;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:20px}.specimen>.section-kicker{grid-column:1/-1}.species-heading{margin-top:20px}.species-heading h2{font-size:25px}.stat-header{margin-top:20px;grid-column:2;grid-row:2}.stats{grid-column:2;grid-row:3/6}.traits{grid-column:1;margin:18px 0 0}.skill-block{grid-column:1/-1;margin-top:19px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.skill-block>.section-kicker{grid-column:1/-1}.dna-caption{grid-column:1/-1}.social-column{order:1;display:grid;grid-template-columns:1.1fr 1fr;gap:12px}.activity{grid-column:1/-1;max-height:140px;overflow:hidden}.mission,.crew{padding:16px 13px}.mission h3{font-size:14px;margin-top:13px}.mission p{font-size:9px}.mission-steps{gap:5px;font-size:7px}.mission .microcopy{font-size:8px}.section-kicker{font-size:10px}.mission .pill{font-size:7px}.crew .online-number{font-size:8px}.player{font-size:9px}.player small{display:none}.avatar{width:24px;height:24px}.inventory-panel{padding:17px}.inventory-heading .tiny{font-size:7px;max-width:90px;text-align:right}.item-info h4{font-size:11px}.item-info p{display:block}.item-info select{margin:4px 0 0}.inventory-panel{position:relative}.habitat-top{padding:16px}.round-heading{top:54px}.round-heading h2{font-size:21px}.round-heading p{font-size:9px}#viewport{height:380px;margin-top:66px}.stage-caption{font-size:7px;margin-top:-20px}.care-meters{padding:0 20px;gap:14px}.round-timeline{margin-top:23px}.round-bottom{padding:16px 20px}.round-bottom #round-hint{font-size:8px}.lab-footer{font-size:8px;line-height:1.8}.lab-footer>span:nth-child(2){display:none}.library-grid{grid-template-columns:1fr}.battle-panel{padding:18px}.battle-panel label{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 15px}#battle-log{grid-template-columns:1fr}#type-guide{grid-template-columns:1fr 1fr}.type-guide{padding:18px}.type-guide p{line-height:1.8}.empty-state{padding:75px 20px}.round-node{font-size:8px}.inventory{gap:8px}.gift{width:51px;height:59px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* The video habitat keeps the supplied reference visible until actual frames arrive. */
#legacy-viewport{height:100%;width:100%;position:relative}
#initial-ghost,#video-display-label{display:none}
body[data-video='true'] #legacy-viewport{display:none}
body[data-video='true'] .habitat{min-height:720px}
body[data-video='true'] #viewport{height:310px;margin:106px 22px 0;background:#000;border:1px solid #354535;border-radius:13px;overflow:hidden;touch-action:auto}
body[data-video='true'] #initial-ghost{display:block;width:100%;height:100%;object-fit:contain}
body[data-video='true'] #ai-video{position:absolute;inset:0;width:100%;height:100%;background:#000;object-fit:contain}
body[data-video='true'] #video-display-label{display:block;position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:6px 9px;border:1px solid #bcd7922b;border-radius:5px;background:#111c16de;color:#c6d7b7;font-size:9px;z-index:3;line-height:1.5}
.video-status{display:flex;align-items:flex-start;gap:9px;margin:13px 24px 0;min-height:57px;text-align:left}
.video-status>i{width:7px;height:7px;flex-shrink:0;background:#87987d;border-radius:50%;margin-top:5px}
.video-status strong{font-size:11px;font-weight:500;letter-spacing:.2px;color:#c9d8b9}
.video-status p{font-size:9px;line-height:1.8;color:var(--muted);margin-top:4px}
.video-status[data-tone='ready']>i{background:var(--green);box-shadow:0 0 8px #bfd99066}
.video-status[data-tone='busy']>i{background:var(--amber);animation:pulse 1.6s ease-in-out infinite}
.video-status[data-tone='error']>i{background:#dfaa87}
.video-status[data-tone='error'] strong{color:#e4b491}
.video-status .button{font-size:9px;padding:5px 7px;margin-left:auto}
body[data-video='true'] .stage-caption{margin-top:10px;padding:0 16px;font-size:8px}
body[data-video='true'] .round-timeline{margin-top:18px}
body[data-video='true'] .evolution-banner{top:145px;z-index:4;display:none}
body[data-video='true'] .evolution-banner.active{display:block;top:auto;bottom:162px;background:linear-gradient(transparent,#17241bef);padding:10px 0}
body[data-video='true'] .evolution-banner h2{font-size:18px;margin:5px 0}
body[data-video='true'] .evolution-banner p{display:none}
.mission #stop-video{margin-top:8px}
.video-session-hint{color:#a5b58f!important}
body[data-video='false'] .video-status,body[data-video='false'] #video-session-hint,body[data-video='false'] #prepare-video{display:none}
.collection-card img[src*='initial-ghost'],.monster-portrait[src*='initial-ghost']{object-fit:contain;background:#000}
.reference-note{font-size:9px!important;color:#9bad85!important;margin-top:7px}
@media(max-width:970px){body[data-video='true'] .habitat{min-height:720px}}
@media(max-width:640px){
 body[data-video='true'] .habitat{min-height:682px}
 body[data-video='true'] #viewport{height:295px;margin:97px 16px 0}
 .video-status{margin:12px 18px 0;min-height:68px}
 .video-status p{font-size:9px}
 body[data-video='true'] .round-heading h2{font-size:19px;letter-spacing:1px}
 body[data-video='true'] .round-heading p{padding:0 16px;line-height:1.7}
 body[data-video='true'] .stage-caption{font-size:7px;gap:7px}
 body[data-video='true'] .round-bottom{gap:10px}
 .mission #prepare-video{position:fixed;bottom:20px;left:20px;right:20px;width:calc(100% - 40px);z-index:35;padding:15px;box-shadow:0 0 0 8px #152219cc,0 -5px 30px #0009}
 .mission #stop-video{font-size:9px;padding:8px;white-space:normal}
}
@media(max-width:640px){
 body{padding-bottom:180px}.habitat{min-height:575px}#viewport{height:335px}.orbit-label{bottom:25px}.stage-caption{margin-top:-19px}.gift-layer{inset:145px 8px 155px}
 .inventory-panel{position:fixed;z-index:30;bottom:8px;left:8px;right:8px;padding:10px;background:#19271ff5;backdrop-filter:blur(16px);box-shadow:0 -8px 35px #07100966;margin:0;border-color:#526440}
 .inventory-heading{margin-bottom:7px}.inventory-heading h3{font-size:10px}.inventory-heading p{display:none}.inventory-heading .tiny{max-width:none;font-size:7px}.inventory{grid-template-columns:repeat(3,1fr);gap:6px}
 .item-group{display:grid;grid-template-columns:25px 1fr;padding:7px;gap:5px}.item-picture{width:25px;height:29px;font-size:21px;border-radius:5px}.item-info h4{font-size:10px;margin-bottom:2px}.item-info small{font-size:7px}.item-info p{display:none}.item-info select{font-size:8px;width:100%;margin:0;padding:2px 0}.use-item{grid-column:1/-1;padding:7px 5px;font-size:10px;width:100%}
 body[data-status='lobby'] .inventory-panel,body[data-status='paused'] .inventory-panel,body[data-status='complete'] .inventory-panel{display:none}
 .mission #start,.mission #view-result{position:fixed;bottom:20px;left:20px;right:20px;width:calc(100% - 40px);z-index:35;padding:15px;box-shadow:0 0 0 8px #152219cc,0 -5px 30px #0009}
 body[data-view='library'] .inventory-panel,body[data-view='battle'] .inventory-panel{display:none}
 .mission #boost{position:fixed;bottom:156px;left:calc(50% - 80px);width:160px;z-index:35;box-shadow:0 3px 20px #0008}
}
/* Invitation entry and member identity remain usable before joining a room. */
body[data-room-ready='false'] .lab-layout,body[data-room-ready='false'] .inventory-panel,body[data-room-ready='false'] .lab-footer{display:none}
body[data-room-ready='false']{padding-bottom:0}
.room-entry{padding:50px 36px;min-height:280px;background:radial-gradient(ellipse at 85% 25%,#42573330,transparent 62%),#17231c}
.room-entry h2{font-size:27px;font-weight:450;line-height:1.5}
.room-entry>p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:14px;max-width:650px}
.entry-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.room-entry .entry-capacity{font-size:10px;margin-top:22px;color:#a5b68f}
.room-controls{flex-wrap:wrap;justify-content:flex-end}
.nickname-button{gap:8px;max-width:150px}
#nickname-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:105px}
.crew-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;font-size:8px;color:var(--muted);margin-top:13px;padding-bottom:11px;border-bottom:1px solid var(--border)}
#room-capacity{color:#c5d8a8;white-space:nowrap}
#crew-capacity{text-align:right;margin-left:auto}.crew-meta .full{color:var(--amber)}
.crew .players{max-height:265px;overflow:auto;margin-top:8px;scrollbar-width:thin;scrollbar-color:#526440 transparent;padding-right:3px}
.player>.avatar,.player>b{flex-shrink:0}
.player .player-identity{display:flex;flex-direction:column;min-width:0;gap:4px}
.player .player-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player .player-role{font-size:8px;color:#85987e;flex:none}
.player .player-role.host{color:var(--green)}
dialog .field-label{display:block;margin-top:19px;font-size:10px;color:#c6d6b5}
dialog .field-label+input{margin:9px 0 8px}
dialog .normal-input{font-size:14px;letter-spacing:0;text-transform:none;padding:13px 14px}
dialog .invite-link-input{font-size:12px;line-height:1.7;color:#d4e8ba;cursor:text}
dialog .form-error{color:#e6b59a;font-size:10px;line-height:1.7;min-height:0;margin:0 0 13px}
dialog .form-error:empty{margin:0 0 8px}
dialog .form-note{font-size:10px;line-height:1.8;margin:0 0 10px}
dialog .alternate-action{margin-top:10px}
#invite-code{font-family:monospace;letter-spacing:2px;color:var(--green)}
@media(max-width:970px){.page-heading{align-items:flex-start}.room-controls{padding-top:0;max-width:350px}}
@media(max-width:640px){
 .room-controls{max-width:none;gap:7px}.room-controls .button{padding:9px 10px;font-size:10px}
 .room-label{flex:1 0 calc(100% - 160px);justify-content:flex-start}
 .nickname-button{max-width:145px;margin-left:auto}
 #nickname-display{max-width:103px}
 .room-entry{padding:32px 21px;min-height:300px}.room-entry h2{font-size:23px}.room-entry>p{font-size:11px}
 .entry-actions{gap:9px}.entry-actions .button{flex:1}
 .crew-meta{font-size:7px;gap:5px 10px;line-height:1.6}.crew .players{max-height:232px}
 .player .player-role{font-size:7px}.player .player-name small{display:inline;margin-left:4px;font-size:7px}
}
