/* Premium 2.5D animal-cell stage. The rejected outline SVG is not mounted by this module. */
.biology-premium{inset:118px 18px 30px;overflow:visible;perspective:1100px}
.biology-v1__intro{max-width:520px}
.biology-v1__intro span{max-width:420px}
.biology-premium__studio-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;padding:8px 12px;border:1px solid rgba(174,226,201,.42);border-radius:9px;background:rgba(8,28,23,.58);color:#d7f2df;font-size:10px;font-weight:800;text-decoration:none}
.biology-premium__studio-link:hover,.biology-premium__studio-link:focus-visible{border-color:#f0ca69;background:#184839;color:#fffdf2;outline:3px solid #f0ca69;outline-offset:3px}
.biology-premium__aura{position:absolute;left:50%;top:50%;width:min(90%,820px);aspect-ratio:1.3;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at 50% 44%,rgba(203,237,221,.22),rgba(121,93,177,.1) 42%,rgba(17,58,48,.04) 64%,transparent 75%);filter:blur(12px);pointer-events:none}
.biology-premium__pedestal{position:absolute;z-index:0;left:50%;top:75%;width:min(64%,570px);height:15%;border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg);background:radial-gradient(ellipse,rgba(4,12,10,.56),rgba(6,22,18,.2) 54%,transparent 73%);filter:blur(8px);pointer-events:none}
.biology-premium__scope{position:absolute;z-index:4;top:2px;right:2px;margin:0;padding:7px 10px;border:1px solid rgba(174,226,201,.22);border-radius:999px;background:rgba(8,28,23,.64);color:#aee2c9;font:800 8px/1.2 'DM Mono',monospace;letter-spacing:.08em;backdrop-filter:blur(8px);pointer-events:none}
.biology-premium__cell{position:absolute;z-index:1;left:50%;top:50%;width:min(94%,68vh,760px);aspect-ratio:1;--rx:0deg;--ry:0deg;--cell-scale:1;transform:translate(-50%,-50%) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--cell-scale));transform-style:preserve-3d;filter:drop-shadow(0 34px 34px rgba(0,0,0,.32));transition:transform .55s cubic-bezier(.16,1,.3,1),filter .35s ease}
.biology-premium__cell.has-selection{--cell-scale:1.015;filter:drop-shadow(0 38px 38px rgba(0,0,0,.38))}
.biology-premium__base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;filter:saturate(.94) contrast(1.02) brightness(.96);transition:opacity .35s ease,filter .35s ease;pointer-events:none}
.biology-premium__cell.has-selection .biology-premium__base{opacity:.5;filter:saturate(.72) brightness(.74)}
.biology-premium__layer{position:absolute!important;z-index:var(--z,3);left:var(--x);top:var(--y);width:var(--w);aspect-ratio:var(--ratio,1/1);min-width:44px;min-height:44px;margin:0;padding:0!important;border:0!important;border-radius:50%;background:transparent!important;box-shadow:none!important;opacity:.94;transform:translate(-50%,-50%) translateZ(calc(var(--depth,0) * 8px)) scale(1);transform-origin:center;filter:drop-shadow(0 10px 10px rgba(16,10,27,.18)) saturate(1.02);transition:opacity .35s ease,filter .35s ease,transform .5s cubic-bezier(.16,1,.3,1);cursor:pointer}
.biology-premium__layer video{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.96);transition:opacity .26s ease,transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none}
.biology-premium__layer.is-active video,.biology-premium__layer.is-hint video{opacity:1;transform:scale(1)}
.biology-premium__layer--visual-only{pointer-events:none}
.biology-premium__hotspot{position:absolute;z-index:16;left:var(--x);top:var(--y);width:var(--w);height:var(--h);min-width:44px;min-height:44px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;pointer-events:auto;cursor:pointer}
.biology-premium__hotspot:focus-visible{outline:3px solid #f1efd8;outline-offset:4px}
.biology-premium__layer::after{content:attr(data-label);position:absolute;left:50%;top:calc(100% - 4px);z-index:2;min-width:max-content;max-width:190px;transform:translateX(-50%) translateY(5px);padding:7px 10px;border:1px solid rgba(237,240,210,.36);border-radius:999px;background:rgba(7,23,19,.92);color:#f1efd8;font:800 10px/1.2 Inter,'Noto Sans KR',sans-serif;letter-spacing:-.01em;opacity:0;box-shadow:0 10px 22px rgba(0,0,0,.26);transition:opacity .2s ease,transform .25s ease;pointer-events:none}
.biology-premium__layer:hover::after,.biology-premium__layer:focus-visible::after,.biology-premium__cell.labels-visible .biology-premium__layer::after{opacity:1;transform:translateX(-50%) translateY(0)}
.biology-premium__cell.has-selection .biology-premium__layer:not(.is-active){opacity:.72;filter:saturate(.76) brightness(.86)}
.biology-premium__layer.is-active{z-index:15;opacity:1!important;background:radial-gradient(ellipse,rgba(241,239,216,.16),transparent 68%)!important;box-shadow:0 0 0 3px rgba(241,239,216,.38),0 0 22px rgba(241,239,216,.24)!important;filter:drop-shadow(0 0 12px rgba(241,239,216,.78)) drop-shadow(0 18px 20px rgba(0,0,0,.25)) saturate(1.08);transform:translate(-50%,-50%) translateZ(calc(var(--depth,0) * 8px + 28px)) scale(1.08)}
.biology-premium__layer.is-hint{outline:4px solid #e7bd58!important;outline-offset:7px;box-shadow:0 0 0 8px rgba(231,189,88,.2)!important}
.biology-premium__layer.is-media-error video{display:none}
.biology-premium__fallback{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .26s ease;pointer-events:none}
.biology-premium__layer.is-active .biology-premium__fallback,.biology-premium__layer.is-hint .biology-premium__fallback{opacity:1}
.biology-premium__layer:focus-visible{outline:3px solid #f1efd8!important;outline-offset:5px}
.biology-premium__glint{position:absolute;z-index:20;inset:14% 9%;border-radius:44%;background:linear-gradient(108deg,transparent 26%,rgba(255,255,255,.23) 43%,rgba(255,255,255,.03) 56%,transparent 72%);mix-blend-mode:screen;transform:translateX(var(--glint-x,0));pointer-events:none}
.biology-premium__overlay{position:absolute;z-index:32;inset:0;opacity:0;filter:drop-shadow(0 3px 2px rgba(7,23,19,.65));transition:opacity .28s ease;pointer-events:none}
.biology-premium__overlay.is-visible{opacity:1}
.biology-premium__overlay svg{display:block;width:100%;height:100%;overflow:visible}
.biology-premium__overlay [data-route]{opacity:0;transition:opacity .24s ease}
.biology-premium__overlay[data-route=protein-transport] [data-route=protein-transport],.biology-premium__overlay[data-route=mitochondrial-atp] [data-route=mitochondrial-atp]{opacity:1}
.biology-premium__overlay[data-state=error]{display:none}
.biology-v1__overlay-retry{min-width:44px;min-height:44px;margin-top:8px;border:1px solid #b27d20;border-radius:8px;padding:8px 12px;background:#fff5d9;color:#5b4821;font-size:10px;font-weight:850;cursor:pointer}
.biology-v1__overlay-retry:hover,.biology-v1__overlay-retry:focus-visible{background:#ffe8a6;outline:3px solid #bf8a25;outline-offset:2px}
.biology-premium__toolbar{position:absolute;z-index:3;left:0;bottom:-8px;display:flex;flex-wrap:wrap;gap:8px}
.biology-v1 .biology-premium__toolbar button{min-height:44px;border:1px solid rgba(225,239,212,.45);border-radius:9px;padding:9px 13px;background:#0c2b23;color:#f5f4e5;font-size:10px;font-weight:800;backdrop-filter:blur(10px)}
.biology-v1 .biology-premium__toolbar button:hover:not(:disabled),.biology-v1 .biology-premium__toolbar button:active:not(:disabled),.biology-v1 .biology-premium__toolbar button[aria-pressed=true]{border-color:#c5f1d9;background:#184839;color:#fffdf2;box-shadow:0 0 0 3px rgba(142,215,184,.32);outline:none}
.biology-v1 .biology-premium__toolbar button:focus-visible:not(:disabled){border-color:#f0ca69;background:#184839;color:#fffdf2;box-shadow:0 0 0 3px rgba(240,202,105,.34);outline:3px solid #f0ca69;outline-offset:3px}
.biology-v1 .biology-premium__toolbar #biologyPremiumGuideAction{border-color:#f0ca69;color:#fff0b8}
.biology-premium__feedback{position:absolute;z-index:3;left:50%;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px;justify-content:flex-end;pointer-events:none}
.biology-premium__feedback p{max-width:420px;margin:0;padding:9px 12px;border:1px solid rgba(225,239,212,.16);border-radius:9px;background:rgba(7,23,19,.72);color:#b9d6c5;font:700 9px/1.5 'DM Mono',monospace;text-align:right;backdrop-filter:blur(8px)}
.biology-premium__boundary{max-width:420px;margin:0;padding:7px 10px!important;border:1px solid #bf8a25!important;border-left:3px solid #bf8a25!important;border-radius:5px!important;background:#fff5d9!important;color:#5b4821!important;font:750 9px/1.5 Inter,'Noto Sans KR',sans-serif!important;text-align:left!important}
.biology-v1__structure-button[data-visual=dedicated] span{color:#2e7861}
.biology-v1__structure-button[data-visual=context] span{color:#8a6b38}
.biology-v1__structure-card[data-visual=context]{border-color:#a88b4f;background:#fff9e7}
.biology-v1__structure-card[data-visual=whole]{border-color:#739f8c;background:linear-gradient(145deg,#fffdf7,#edf7f0)}
.biology-v1__structure-card .biology-premium__asset-note{margin:0;padding:8px 9px;border-radius:7px;background:#eef5ef;color:#45675a;font-size:9px;font-weight:750;line-height:1.5}
.biology-v1__structure-card[data-visual=context] .biology-premium__asset-note{background:#fff0c7;color:#6e592a}
.biology-v1__motion[data-overlay-pending]{border-style:dashed;background:#f2f0e8}
.biology-v1__motion[data-overlay-pending] .biology-v1__motion-controls button{background:#ece8dc;color:#7a756a;border-color:#cec8b9}
.biology-v1__motion[data-overlay-ready]{background:linear-gradient(145deg,#edf5ef,#f8f6ed)}
.biology-v1__route-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 9px}
.biology-v1__route-picker button{min-height:44px;border:1px solid #8eb5a4;border-radius:8px;padding:8px;background:#fffdf7;color:#245a49;font-size:9px;font-weight:850;line-height:1.35}
.biology-v1__route-picker button[aria-pressed=true]{border-color:#1e6854;background:#dcefe5;box-shadow:inset 0 0 0 1px #1e6854;color:#174d3e}

@media(max-width:1100px){
  .biology-premium{inset:142px 12px 38px}
  .biology-premium__cell{width:min(96%,64vh,650px)}
  .biology-premium__feedback p{max-width:330px}
}

@media(max-width:720px){
  .biology-v1__stage{height:min(78dvh,680px);min-height:610px}
  .biology-premium{inset:136px 10px 28px}
  .biology-premium__cell{top:45%;width:min(100%,92vw,500px)}
  .biology-premium__toolbar{left:6px;right:6px;bottom:2px;display:grid;grid-template-columns:repeat(3,1fr)}
  .biology-premium__toolbar button{padding:8px 6px;font-size:9px}
  .biology-premium__toolbar.guide-active{grid-template-columns:repeat(2,1fr)}
  .biology-premium__toolbar.guide-active + .biology-premium__feedback{bottom:102px}
  .biology-premium__feedback{left:6px;right:6px;bottom:52px;justify-content:center}
  .biology-premium__feedback p{width:100%;max-width:none;text-align:center}
  .biology-premium__scope{top:0;right:6px;font-size:7px}
  .biology-premium__pedestal{top:70%;width:78%}
  .biology-premium__layer::after{font-size:9px}
}

@media(max-width:390px){
  .biology-v1__stage{height:620px;min-height:620px}
  .biology-premium{inset:140px 6px 26px}
  .biology-premium__cell{top:43%;width:102vw}
  .biology-premium__feedback{bottom:54px}
}

@media(max-width:420px){
  .biology-premium__scope{display:none}
}

@media(prefers-reduced-motion:reduce){
  .biology-premium__cell,.biology-premium__base,.biology-premium__layer,.biology-premium__layer::after,.biology-premium__overlay,.biology-premium__overlay [data-route]{transition:none!important}
  .biology-premium__glint{display:none}
}
