/* Luna Biology V1 only. The retired legacy canvas/Three board is not part of this workspace. */
:root{--v1-ink:#eef3dd;--v1-muted:#a5b7a7;--v1-board:#102923;--v1-line:rgba(225,239,212,.15);--v1-panel:#f4f0e5}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#071713;color:var(--v1-ink);font-family:Inter,'Noto Sans KR',sans-serif}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}
.biology-v1{display:grid;grid-template-columns:minmax(0,1fr) minmax(292px,360px);grid-template-rows:72px minmax(0,calc(100vh - 72px));min-height:100vh;overflow:hidden;background:#071713;color:var(--v1-ink)}
.biology-v1__topbar{grid-column:1/-1;display:flex;align-items:center;gap:13px;padding:0 24px;border-bottom:1px solid var(--v1-line);background:#0c211c}.biology-v1__back{display:grid;place-items:center;width:44px;min-height:44px;border:1px solid var(--v1-line);border-radius:9px;color:var(--v1-ink);font-size:19px;text-decoration:none}.biology-v1__back:hover,.biology-v1__back:focus-visible{border-color:#9bd8bf;background:#173a31;outline:none}.biology-v1__brand span,.biology-v1__mode,.biology-v1__intro>p,.biology-v1__panel-head>span,.biology-v1__stage-note{font:700 10px/1.2 'DM Mono',monospace;letter-spacing:.11em}.biology-v1__brand span,.biology-v1__mode{color:var(--v1-muted)}.biology-v1__brand h1{margin:3px 0 0;font-size:19px;line-height:1.2}.biology-v1__brand h1 i{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#8ed7b8;box-shadow:0 0 14px #8ed7b8}.biology-v1__mode{margin-left:auto}
.biology-v1__stage{position:relative;isolation:isolate;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 54% 43%,rgba(74,133,112,.15),transparent 42%),var(--v1-board)}.biology-v1__grid{position:absolute;z-index:-1;inset:0;opacity:.36;background-image:linear-gradient(var(--v1-line) 1px,transparent 1px),linear-gradient(90deg,var(--v1-line) 1px,transparent 1px);background-size:32px 32px}.biology-v1__intro{position:absolute;z-index:1;left:clamp(24px,5vw,72px);top:clamp(22px,4vh,48px);max-width:390px}.biology-v1__intro>p{margin:0 0 10px;color:#aee2c9}.biology-v1__intro h2{margin:0;color:#f1efd8;font-size:clamp(19px,2.1vw,29px);line-height:1.22;letter-spacing:-.04em}.biology-v1__intro span{display:block;max-width:330px;margin-top:10px;color:var(--v1-muted);font-size:11px;line-height:1.65}
.biology-v1__cell-frame{position:absolute;inset:clamp(114px,16vh,162px) clamp(24px,5vw,70px) clamp(34px,5vh,70px);display:grid;place-items:center;min-width:0;min-height:0}.biology-v1__vector-mount{width:min(100%,1000px);height:100%;min-height:0}.biology-v1__vector-mount svg{display:block;width:100%;height:100%;overflow:visible}.biology-v1__vector-mount[data-state=ready] svg #hit-areas{pointer-events:all}.biology-v1__vector-mount[data-interaction-locked] svg #hit-areas{pointer-events:none}.biology-v1__vector-mount svg #hit-areas [data-hit-for]{cursor:pointer;outline:none}.biology-v1__vector-mount svg #leader-lines [data-leader-for]{opacity:0;transition:opacity .16s ease}.biology-v1__vector-mount svg #leader-lines [data-leader-for][data-selected=true]{opacity:1}.biology-v1__vector-mount svg [data-organelle][data-selected=true]{filter:drop-shadow(0 0 3px rgba(255,249,233,.5))}.biology-v1__selection-outline{pointer-events:none}.biology-v1__vector-feedback{position:absolute;left:0;right:0;bottom:-50px;display:grid;justify-items:center;gap:5px}.biology-v1__vector-status{margin:0;color:#a9c8b9;font:700 10px/1.4 'DM Mono',monospace;text-align:center}.biology-v1__vector-mount[data-state=error]~.biology-v1__vector-feedback .biology-v1__vector-status{color:#ffd4c7}.biology-v1__vector-retry{min-height:44px;border:1px solid #f2c8b9;border-radius:8px;padding:8px 11px;background:#fff6ef;color:#754033;font-size:10px;font-weight:800}.biology-v1__vector-retry:hover,.biology-v1__vector-retry:focus-visible{border-color:#a24d42;background:#fff1ef;box-shadow:0 0 0 3px rgba(162,77,66,.18);outline:none}.biology-v1__scale{position:absolute;right:clamp(24px,4vw,58px);bottom:25px;display:flex;align-items:center;gap:8px;margin:0;color:#a5b7a7;font:700 9px/1.2 'DM Mono',monospace;letter-spacing:.04em}.biology-v1__scale b{display:block;width:52px;border-top:2px solid #dfe7c8}
.biology-v1__panel{position:relative;z-index:2;min-height:0;padding:clamp(28px,4vh,46px) clamp(22px,3vw,34px);overflow:auto;border-left:1px solid rgba(17,40,33,.12);background:var(--v1-panel);color:#243831;box-shadow:-18px 0 42px rgba(0,0,0,.18)}.biology-v1__panel-head{padding-bottom:18px;border-bottom:1px solid #d4ddd3}.biology-v1__panel-head>span,.biology-v1__stage-note{color:#5c806f}.biology-v1__panel h2{margin:6px 0 0;color:#174d3e;font-size:26px;letter-spacing:-.04em}.biology-v1__panel-copy{margin:20px 0;color:#4e655b;font-size:13px;line-height:1.7}.biology-v1__facts{display:grid;gap:10px;margin:0}.biology-v1__facts div{padding:13px;border:1px solid #cfddd5;border-radius:10px;background:#fffdf7}.biology-v1__facts dt{margin-bottom:5px;color:#668074;font:700 9px/1.2 'DM Mono',monospace;letter-spacing:.08em}.biology-v1__facts dd{margin:0;color:#285747;font-size:12px;font-weight:700;line-height:1.45}.biology-v1__boundary{margin:20px 0 0;padding:12px;border-left:3px solid #b89b53;background:#fff7dd;color:#63562e;font-size:11px;line-height:1.65}.biology-v1__stage-note{margin:18px 0 0;color:#6b8177}
.biology-v1__review{margin:18px 0 0;border:1px solid #bfcec5;border-radius:11px;background:#f8fbf6}.biology-v1__review details{border-radius:inherit}.biology-v1__review summary{display:grid;gap:3px;min-height:54px;padding:11px 42px 11px 13px;position:relative;color:#245a49;font-size:12px;font-weight:800;line-height:1.25;cursor:pointer;list-style:none}.biology-v1__review summary::-webkit-details-marker{display:none}.biology-v1__review summary::after{content:'⌄';position:absolute;right:14px;top:50%;font-size:18px;line-height:1;transform:translateY(-50%)}.biology-v1__review details[open] summary{border-bottom:1px solid #cfddd5}.biology-v1__review details[open] summary::after{transform:translateY(-50%) rotate(180deg)}.biology-v1__review summary span{color:#5c806f;font:700 8px/1.2 'DM Mono',monospace;letter-spacing:.1em}.biology-v1__review summary:hover,.biology-v1__review summary:focus-visible{border-radius:10px;background:#e2f0e8;box-shadow:0 0 0 3px rgba(50,139,114,.18);outline:none}.biology-v1__review-content{display:grid;gap:11px;padding:13px}.biology-v1__review-content>p{margin:0;color:#4e655b;font-size:10px;line-height:1.6}.biology-v1__review-status{display:grid;gap:6px;margin:0}.biology-v1__review-status div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:8px 9px;border:1px solid #d5e0d8;border-radius:8px;background:#fffdf7}.biology-v1__review-status dt{color:#587267;font-size:10px}.biology-v1__review-status dd{margin:0;color:#80483d;font:800 9px/1.35 'DM Mono',monospace;text-align:right}.biology-v1__review-boundary{padding:9px 10px;border-left:3px solid #b89b53;background:#fff7dd;color:#63562e!important}.biology-v1__review-links{display:grid;grid-template-columns:1fr 1fr;gap:7px}.biology-v1__review-links a{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #92b9a8;border-radius:8px;padding:8px;color:#245a49;font-size:9px;font-weight:800;line-height:1.35;text-align:center;text-decoration:none}.biology-v1__review-links a:hover,.biology-v1__review-links a:focus-visible{border-color:#1c6854;background:#e2f0e8;box-shadow:0 0 0 3px rgba(50,139,114,.18);outline:none}
.biology-v1__explorer,.biology-v1__practice,.biology-v1__record,.biology-v1__motion{margin:18px 0;padding:14px;border:1px solid #c9d8cf;border-radius:12px;background:#f8fbf6}.biology-v1__motion{background:#e8f1eb}.biology-v1__explorer-head,.biology-v1__practice-head,.biology-v1__record-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.biology-v1__explorer-head p,.biology-v1__practice-head p,.biology-v1__record-head p,.biology-v1__card-kicker,.biology-v1__motion-kicker{margin:0;color:#346c59;font:700 9px/1.2 'DM Mono',monospace;letter-spacing:.1em}.biology-v1__explorer h3,.biology-v1__practice h3,.biology-v1__record h3{margin:0;color:#245a49;font-size:14px;letter-spacing:-.02em}.biology-v1__explorer-status,.biology-v1__practice-status,.biology-v1__record-status{min-height:31px;margin:9px 0;color:#536c61;font-size:10px;line-height:1.5}.biology-v1__motion-copy,.biology-v1__practice-copy,.biology-v1__record-copy{margin:8px 0 12px;color:#4e655b;font-size:10px;line-height:1.6}.biology-v1__motion-status{min-height:32px;margin:11px 0 0;color:#47665a;font-size:10px;line-height:1.55}.biology-v1 [data-diagram-unavailable]{opacity:.62}.biology-v1 [data-diagram-unavailable] .biology-v1__explorer-status,.biology-v1 [data-diagram-unavailable] .biology-v1__practice-status,.biology-v1 [data-diagram-unavailable] .biology-v1__motion-status{color:#884d42;font-weight:800}
.biology-v1__structure-list,.biology-v1__practice-labels{display:grid;grid-template-columns:1fr 1fr;gap:6px}.biology-v1__structure-button{display:grid;gap:2px;min-height:48px;border:1px solid #c7d9cf;border-radius:8px;padding:7px 8px;background:#fffdf7;color:#245a49;text-align:left}.biology-v1__structure-button strong{font-size:10px}.biology-v1__structure-button span{color:#6f8378;font:700 8px/1.2 'DM Mono',monospace}.biology-v1__structure-button[data-level=extension] span{color:#8a6b38}.biology-v1__structure-button[data-selected]{border:2px solid #245a49;background:#e2f0e8;box-shadow:inset 0 0 0 1px #fffdf7}.biology-v1__structure-button:disabled,.biology-v1__practice-label:disabled,.biology-v1__practice-actions button:disabled,.biology-v1__motion-controls button:disabled{opacity:.55;cursor:not-allowed}.biology-v1__structure-card{display:grid;gap:9px;margin-top:10px;padding:12px;border:2px solid #245a49;border-radius:10px;background:#fffdf7}.biology-v1__structure-card h4{margin:0;color:#174d3e;font-size:17px}.biology-v1__card-fields{display:grid;gap:7px;margin:0}.biology-v1__card-fields div{display:grid;gap:3px}.biology-v1__card-fields dt,.biology-v1__card-sources>span{color:#668074;font:700 8px/1.2 'DM Mono',monospace;letter-spacing:.08em}.biology-v1__card-fields dd{margin:0;color:#425c51;font-size:10px;line-height:1.55}.biology-v1__card-sources{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding-top:8px;border-top:1px solid #d5dfd7}.biology-v1__card-sources a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #b9d0c4;border-radius:5px;padding:6px 8px;color:#245a49;font-size:8px;font-weight:700;line-height:1.25;text-decoration:none}.biology-v1__card-sources a:hover,.biology-v1__card-sources a:focus-visible,.biology-v1 button:hover:not(:disabled),.biology-v1 button:focus-visible:not(:disabled){border-color:#1c6854;background:#e2f0e8;box-shadow:0 0 0 3px rgba(50,139,114,.18);outline:none}
.biology-v1__motion-controls,.biology-v1__practice-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.biology-v1__motion-controls button,.biology-v1__practice-actions button,.biology-v1__practice-label{min-height:44px;border:1px solid #92b9a8;border-radius:8px;padding:8px;background:#fffdf7;color:#245a49;font-size:10px;font-weight:800;line-height:1.3}.biology-v1__motion-controls button:first-child{border-color:#267d66;background:#287764;color:#fff}.biology-v1__motion-controls button:last-child,.biology-v1__practice-actions button:last-child{grid-column:1/-1}.biology-v1__practice-label{border-color:#d7c787;background:#fff9df;color:#755d1b;text-align:left}.biology-v1__practice-label[data-selected]{border:2px solid #8d6d25;background:#fff0af}.biology-v1__practice-label[data-correct]{border-color:#71a889;background:#e7f4ea;color:#246544}.biology-v1__practice-actions{margin-top:9px}
.biology-v1__record{background:#fbfaf5}.biology-v1__record-form{display:grid;gap:9px}.biology-v1__record-form label{display:grid;gap:4px;color:#285747;font-size:11px;font-weight:800}.biology-v1__record-form label span{color:#70847a;font-size:9px;font-weight:600;line-height:1.4}.biology-v1__record-form textarea{width:100%;min-height:66px;resize:vertical;border:1px solid #bfd2c6;border-radius:8px;padding:8px;background:#fffef9;color:#2e493e;font:400 11px/1.5 'Noto Sans KR',sans-serif}.biology-v1__record-form button,.biology-v1__record-clear{min-height:44px;border:1px solid #267d66;border-radius:8px;padding:8px;background:#287764;color:#fff;font-size:10px;font-weight:800}.biology-v1__record-list{display:grid;gap:7px;margin-top:10px}.biology-v1__record-empty{margin:0;padding:10px;border:1px dashed #bfd0c6;border-radius:8px;background:#fffef9;color:#70847a;font-size:10px;line-height:1.5}.biology-v1__record-item{padding:10px;border:1px solid #d2ddd5;border-radius:9px;background:#fffef9}.biology-v1__record-item-head{display:flex;justify-content:space-between;gap:8px;color:#245a49;font-size:11px}.biology-v1__record-item time{color:#75877d;font:700 8px/1.2 'DM Mono',monospace}.biology-v1__record-item p{margin:7px 0 0;color:#4e655b;font-size:10px;line-height:1.5;white-space:pre-wrap}.biology-v1__record-item p b{display:block;margin-bottom:2px;color:#668074;font:700 8px/1.2 'DM Mono',monospace;letter-spacing:.06em}.biology-v1__record-delete{min-height:44px;margin-top:9px;border:1px solid #d8b8b4;border-radius:7px;padding:6px 8px;background:#fff;color:#89473d;font-size:9px;font-weight:800}.biology-v1__record-clear{width:100%;margin-top:10px;border-color:#d8b8b4;background:#fff;color:#89473d}
.biology-v1__sheet-toggle{display:none}@media(max-width:1100px){.biology-v1{grid-template-columns:minmax(0,1fr) 308px}.biology-v1__topbar{padding:0 18px}.biology-v1__cell-frame{inset:150px 30px 54px}.biology-v1__intro{left:32px}.biology-v1__panel{padding:30px 22px}.biology-v1__scale{right:28px}}@media(max-width:720px){.biology-v1{display:block;min-height:100dvh;overflow:auto;background:var(--v1-board)}.biology-v1__topbar{position:sticky;z-index:4;top:0;height:64px;padding:0 14px}.biology-v1__back{width:44px;min-height:44px}.biology-v1__brand h1{font-size:16px}.biology-v1__brand span,.biology-v1__mode{font-size:8px}.biology-v1__mode{display:none}.biology-v1__stage{height:min(72dvh,640px);min-height:560px}.biology-v1__intro{left:20px;top:20px;right:20px;max-width:none}.biology-v1__intro>p{font-size:8px}.biology-v1__intro h2{font-size:20px}.biology-v1__intro span{max-width:285px;font-size:10px;line-height:1.55}.biology-v1__cell-frame{inset:126px 0 12px}.biology-v1__vector-mount svg{transform:translateY(-8px) scale(1.17);transform-origin:center}.biology-v1__vector-feedback{bottom:-44px}.biology-v1__scale{display:none}.biology-v1__panel{min-height:0;padding:0;overflow:visible;border-top:1px solid #d1ddd5;border-left:0;box-shadow:0 -12px 28px rgba(0,0,0,.16)}.biology-v1__panel-head{padding:18px 18px 12px}.biology-v1__panel h2{font-size:23px}.biology-v1__sheet-toggle{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 36px);min-height:48px;margin:0 18px 18px;border:1px solid #92b9a8;border-radius:10px;padding:10px 12px;background:#e8f1eb;color:#245a49;font-size:12px;font-weight:800;text-align:left}.biology-v1__sheet-toggle::after{content:'⌄';font-size:18px;line-height:1}.biology-v1__sheet-toggle[aria-expanded=true]::after{transform:rotate(180deg)}.biology-v1__panel-content{padding:0 18px 30px;scroll-margin-top:64px}.biology-v1__facts{grid-template-columns:1fr 1fr;gap:8px}.biology-v1__facts div{padding:11px}.biology-v1__facts dd{font-size:10px}}@media(max-width:375px){.biology-v1__stage{height:560px;min-height:560px}.biology-v1__brand h1{font-size:14px}.biology-v1__intro h2{font-size:18px}.biology-v1__cell-frame{inset:126px 0 12px}.biology-v1__facts,.biology-v1__practice-labels,.biology-v1__practice-actions,.biology-v1__review-links{grid-template-columns:1fr}.biology-v1__practice-actions button:last-child{grid-column:auto}.biology-v1__vector-status{font-size:7px}}@media(prefers-reduced-motion:reduce){.biology-v1__vector-mount svg.is-line-drawing [data-draw=true]{transition:none!important;animation:none!important}.biology-v1__motion-status{font-weight:700}}
