.lab-page{--lab-hero-from:#020617;--lab-hero-to:#042f2e;--lab-grid-bg:#0f172a;--lab-grid-bg-from:#042f2e;--lab-grid-bg-to:#0f172a;--lab-card-bg:#1e293b;--lab-card-border:#334155;--lab-card-border-hover:hsla(0,0%,100%,.15);--lab-text-primary:#f1f5f9;--lab-text-secondary:#94a3b8;--lab-text-tertiary:#64748b;--lab-radius:12px;--lab-bg:var(--lab-grid-bg);--lab-surface:var(--lab-card-bg);--lab-surface-elevated:#334155;--lab-text:var(--lab-text-primary);--lab-accent:#2dd4bf;--lab-accent-dark:#14b8a6;--lab-border:var(--lab-card-border);background:linear-gradient(180deg,var(--lab-hero-from) 0,var(--lab-hero-to) 35vh,var(--lab-grid-bg) 100%);background-attachment:fixed;color:var(--lab-text-primary);min-height:100vh}.lab-hero{position:relative;background:linear-gradient(145deg,var(--lab-hero-from) 0,var(--lab-hero-to) 100%);color:#fff;padding:80px 24px 64px;overflow:hidden}.lab-hero-grid{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(94,234,212,.06) 1px,transparent 0);background-size:40px 40px}.lab-hero-scanline{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 20%,rgba(94,234,212,.3) 50%,transparent 80%);animation:lab-scanline 4s ease-in-out infinite}@keyframes lab-scanline{0%,to{top:20%;opacity:0}30%{opacity:1}70%{opacity:1}50%{top:80%}}.lab-hero-glow{position:absolute;width:400px;height:400px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(94,234,212,.08) 0,transparent 60%);transform:translate(-50%,-50%);transition:left .15s ease-out,top .15s ease-out}.lab-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;text-align:center}.lab-hero-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:12px;font-weight:500;letter-spacing:1px;color:hsla(0,0%,100%,.6);border:1px solid hsla(0,0%,100%,.12);padding:5px 14px;border-radius:20px;margin-bottom:28px;background:hsla(0,0%,100%,.04)}.lab-hero-badge-dot{width:6px;height:6px;background:#34d399;border-radius:50%;animation:lab-pulse 2s ease infinite}@keyframes lab-pulse{0%,to{opacity:1}50%{opacity:.4}}.lab-hero-title{font-size:clamp(32px,6vw,48px);font-weight:800;letter-spacing:-1.5px;line-height:1.2;margin-bottom:20px;color:#fff}.lab-hero-accent{background:linear-gradient(135deg,#5eead4,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lab-hero-desc{font-size:16px;font-weight:300;color:hsla(0,0%,100%,.6);line-height:1.8;margin-bottom:36px}.lab-terminal{max-width:480px;margin:0 auto 40px;text-align:left;border-radius:12px;overflow:hidden;border:1px solid hsla(0,0%,100%,.08);box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 40px rgba(94,234,212,.05)}.lab-terminal-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:hsla(0,0%,100%,.06);border-bottom:1px solid hsla(0,0%,100%,.06)}.lab-terminal-dot{width:10px;height:10px;border-radius:50%}.lab-terminal-title{font-size:11px;color:hsla(0,0%,100%,.35);margin-left:auto}.lab-terminal-body,.lab-terminal-title{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace}.lab-terminal-body{padding:16px 18px;background:rgba(0,0,0,.3);font-size:12px;line-height:2;min-height:140px}.lab-terminal-line{opacity:0;animation:lab-type-in .4s ease forwards}@keyframes lab-type-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.lab-terminal-prefix{color:#5eead4;margin-right:8px;font-weight:500}.terminal-success{color:#34d399}.lab-terminal-text{color:hsla(0,0%,100%,.7)}.lab-terminal-cursor{display:inline-block;width:7px;height:14px;background:#5eead4;margin-left:2px;vertical-align:middle;animation:lab-blink 1s step-end infinite}@keyframes lab-blink{0%,to{opacity:1}50%{opacity:0}}.lab-hero-stats{display:inline-flex;align-items:center;gap:24px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:14px;padding:16px 32px;backdrop-filter:blur(8px)}@media (max-width:480px){.lab-hero-stats{gap:16px;padding:14px 20px}}.lab-hero-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.lab-hero-stat-num{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:20px;font-weight:600;color:#5eead4}.lab-hero-stat-label{font-size:12px;color:hsla(0,0%,100%,.5)}.lab-hero-stat-divider{width:1px;height:32px;background:hsla(0,0%,100%,.1)}.lab-container{max-width:1040px;margin:0 auto;padding:0 24px}.lab-center{text-align:center}.lab-center-text{margin-left:auto;margin-right:auto}.lab-section-header{margin-bottom:40px}.lab-section-label{display:inline-block;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--lab-accent);margin-bottom:8px}.lab-section-title{font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.5px;margin-bottom:8px;line-height:1.4}.lab-section-desc{font-size:15px;color:var(--lab-text-secondary);max-width:480px}.lab-highlight{color:var(--lab-accent)}.lab-audience{padding:80px 0}.lab-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}@media (max-width:768px){.lab-audience-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.lab-audience-grid{grid-template-columns:1fr}}.lab-audience-card{background:var(--lab-surface);border:1px solid var(--lab-border);border-radius:var(--lab-radius);padding:28px 20px;text-align:center;transition:transform .3s,border-color .3s,box-shadow .3s}.lab-audience-card:hover{transform:translateY(-4px);border-color:var(--lab-accent);box-shadow:0 8px 30px rgba(13,148,136,.08)}.lab-audience-icon{color:var(--lab-accent);margin-bottom:14px;display:flex;justify-content:center}.lab-audience-label{font-size:16px;font-weight:700;margin-bottom:8px}.lab-audience-pain{font-size:13px;color:var(--lab-text-tertiary);line-height:1.6;min-height:42px}.lab-audience-arrow{font-size:14px;color:var(--lab-accent);margin:8px 0;animation:lab-bounce 2s ease-in-out infinite}@keyframes lab-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.lab-audience-solution{font-size:13px;font-weight:600;color:var(--lab-accent);line-height:1.5}.lab-projects{padding:0 0 80px}.lab-projects-category{margin-bottom:56px}.lab-projects-category:last-of-type{margin-bottom:0}.lab-projects-category-header{display:flex;align-items:baseline;gap:16px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.08);margin-bottom:24px;flex-wrap:wrap}.lab-projects-category-label{font-size:20px;font-weight:700;color:var(--lab-text-primary);margin:0;letter-spacing:-.01em}.lab-projects-category-desc{font-size:14px;color:var(--lab-text-secondary);margin:0}@media (max-width:640px){.lab-projects-category-header{flex-direction:column;gap:4px;align-items:flex-start}}.lab-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width:720px){.lab-project-grid{grid-template-columns:1fr}}.lab-card-link{text-decoration:none;color:inherit;display:block}.lab-card{background:var(--lab-surface);border:1px solid var(--lab-border);border-radius:var(--lab-radius);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s}.lab-card:before{content:"";top:0;left:0;right:0;height:3px;background:var(--card-accent,var(--lab-accent));z-index:3}.lab-card-shine,.lab-card:before{position:absolute;opacity:0;transition:opacity .3s}.lab-card-shine{inset:0;pointer-events:none;z-index:1;background:radial-gradient(300px circle at var(--shine-x,50%) var(--shine-y,50%),rgba(94,234,212,.06) 0,transparent 60%)}.lab-card-live:hover .lab-card-shine{opacity:1}.lab-card-live:hover{transform:translateY(-6px);border-color:var(--lab-card-border-hover);box-shadow:0 16px 48px rgba(0,0,0,.35),0 0 20px rgba(13,148,136,.08)}.lab-card-live:hover:before{opacity:1}.lab-card-header{padding:20px 24px 0;position:relative;z-index:2}.lab-card-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 10px;border-radius:6px}.badge-live{background:rgba(45,212,191,.12);color:#5eead4;border:1px solid rgba(45,212,191,.3)}.badge-dot{width:5px;height:5px;background:#34d399;border-radius:50%;animation:lab-pulse 2s ease infinite}.lab-card-visual{padding:16px 24px 0;position:relative;z-index:2}.lab-card-visual-placeholder{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;border-radius:8px}.lab-card-visual-monogram{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:56px;font-weight:600;color:hsla(0,0%,100%,.95);line-height:1;letter-spacing:-.02em}.lab-card-content{padding:20px 24px 0;flex:1;position:relative;z-index:2}.lab-card-name{font-size:18px;font-weight:700;margin-bottom:4px;letter-spacing:-.3px;color:var(--lab-text-primary)}.lab-card-headline{font-size:13px;font-weight:500;color:var(--card-accent,var(--lab-accent));margin-bottom:10px}.lab-card-desc{font-size:13px;color:var(--lab-text-secondary);line-height:1.7}.lab-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.lab-card-tag{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:10px;font-weight:500;padding:2px 8px;border-radius:5px;background:var(--lab-surface-elevated);color:var(--lab-text-tertiary);border:.5px solid var(--lab-border);transition:border-color .3s,color .3s}.lab-card-live:hover .lab-card-tag{border-color:var(--card-accent,var(--lab-accent));color:var(--card-accent,var(--lab-accent))}.lab-card-footer{padding:16px 24px 20px;position:relative;z-index:2}.lab-card-cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--card-accent,var(--lab-accent))}.lab-card-cta svg{transition:transform .25s}.lab-card-live:hover .lab-card-cta svg{transform:translateX(4px)}.lab-coming-soon{margin-top:80px;padding-top:56px;border-top:1px solid hsla(0,0%,100%,.08)}.lab-coming-soon-header{margin-bottom:32px}.lab-coming-soon-title{font-size:20px;font-weight:700;color:var(--lab-text-primary);margin:0}.lab-coming-soon-list{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 48px;list-style:none;padding:0;margin:0}@media (max-width:768px){.lab-coming-soon-list{grid-template-columns:1fr}}.lab-coming-soon-group{display:flex;flex-direction:column;gap:12px}.lab-coming-soon-cat{font-size:14px;font-weight:600;color:#cbd5e1;margin:0;letter-spacing:.02em}.lab-coming-soon-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.lab-coming-soon-item{display:flex;align-items:baseline;gap:8px;font-size:14px;line-height:1.6}.lab-coming-soon-dot{color:var(--lab-text-tertiary);flex-shrink:0}.lab-coming-soon-name{color:var(--lab-text-primary);font-weight:500}.lab-coming-soon-headline{color:var(--lab-text-secondary)}.lab-cta{padding:120px 0 80px}.lab-cta-card{background:linear-gradient(145deg,var(--lab-hero-from),var(--lab-hero-to));border-radius:20px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;overflow:hidden;position:relative}.lab-cta-glow{position:absolute;top:-30%;right:-10%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(94,234,212,.08) 0,transparent 70%)}@media (max-width:720px){.lab-cta-card{grid-template-columns:1fr;padding:36px 28px;gap:32px}}.lab-cta-content{position:relative;z-index:1}.lab-cta-title{font-size:clamp(24px,4vw,32px);font-weight:700;color:#fff;letter-spacing:-.5px;line-height:1.3;margin-bottom:12px}.lab-cta-desc{font-size:15px;color:hsla(0,0%,100%,.6);line-height:1.7;margin-bottom:24px}.lab-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--lab-hero-from);font-size:14px;font-weight:600;padding:12px 24px;border-radius:50px;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 14px rgba(0,0,0,.15)}.lab-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}.lab-cta-features{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px}.lab-cta-feature{display:flex;gap:16px;align-items:flex-start}.lab-cta-feature-icon{font-family:var(--font-jetbrains-mono),"JetBrains Mono",monospace;font-size:13px;font-weight:700;color:#5eead4;width:40px;height:40px;border-radius:10px;border:1px solid rgba(94,234,212,.2);background:rgba(94,234,212,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lab-cta-feature h4{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}.lab-cta-feature p{font-size:13px;color:hsla(0,0%,100%,.5);line-height:1.5}.vocab-anim{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--vocab-accent);border-radius:8px;position:relative;perspective:800px;overflow:hidden}.vocab-anim-card{width:65%;height:60%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}.vocab-anim-card[data-face=back]{transform:rotateY(180deg)}.vocab-anim-card-back,.vocab-anim-card-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.18);font-size:22px;font-weight:600;color:#1e293b;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center;padding:16px}.vocab-anim-card-back{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.vocab-anim-card{transition:none}}.sentenceb-anim{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:var(--sb-accent);border-radius:8px;position:relative;overflow:hidden;padding:24px}.sentenceb-anim-card{background:#fff;border-radius:6px;padding:24px 28px;box-shadow:0 4px 16px rgba(0,0,0,.18);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:6px;font-size:18px;font-weight:600;line-height:1.5;text-align:center;transition:opacity .4s ease;max-width:90%}.sentenceb-anim-chunk{transition:color .3s ease;display:inline-block}@media (max-width:480px){.sentenceb-anim-card{font-size:15px;padding:16px 20px}}@media (prefers-reduced-motion:reduce){.sentenceb-anim-card,.sentenceb-anim-chunk{transition:none}}.kh-anim{width:100%;aspect-ratio:16/9;background:#1c1410;border-radius:8px;padding:14px;display:flex;align-items:center;justify-content:center;gap:4px;overflow:hidden}.kh-anim-rod{width:6px;height:75%;flex-shrink:0;background:linear-gradient(90deg,#3a2418 0,#5c3a26 50%,#3a2418);border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.4)}.kh-anim-paper{height:75%;max-width:200px;background:linear-gradient(180deg,#f5e6c8 0,#e8d3a8 50%,#f5e6c8);border-radius:1px;position:relative;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.5),inset 0 0 8px rgba(120,80,40,.1);display:flex;align-items:stretch;justify-content:center;padding:8px 6px}.kh-anim-content{display:flex;flex-direction:row-reverse;gap:8px;height:100%;align-items:flex-start}.kh-anim-col{display:flex;flex-direction:column;gap:1px;align-items:center;flex-shrink:0}.kh-anim-col-title{padding-top:2px}.kh-anim-col-body{padding-top:8px}.kh-anim-col-author{padding-top:14px}.kh-anim-char{font-family:var(--font-noto-serif-kr),"Noto Serif KR","Nanum Myeongjo",serif;color:#2a1a0c;line-height:1;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:0}.kh-anim-col-title .kh-anim-char{font-size:11px;font-weight:700}.kh-anim-col-body .kh-anim-char{font-size:10px;font-weight:500}.kh-anim-col-author .kh-anim-char{font-size:8px;font-weight:600}@media (max-width:480px){.kh-anim{padding:10px}.kh-anim-paper{max-width:160px;padding:6px 5px}.kh-anim-content{gap:6px}.kh-anim-col-title .kh-anim-char{font-size:10px}.kh-anim-col-body .kh-anim-char{font-size:9px}.kh-anim-col-author .kh-anim-char{font-size:7px}}.sl-anim{width:100%;aspect-ratio:16/9;background:var(--sl-accent);border-radius:8px;padding:10px;gap:8px}.sl-anim,.sl-anim-player{position:relative;display:flex;overflow:hidden}.sl-anim-player{flex:1.5;background:#0f172a;border-radius:6px;flex-direction:column;justify-content:flex-end}.sl-anim-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:hsla(0,0%,100%,.18);display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;pointer-events:none}.sl-anim-play svg{width:9px;height:10px;margin-left:2px}.sl-anim-time{top:6px;font-size:9px;color:hsla(0,0%,100%,.6);font-family:var(--font-jetbrains-mono),"JetBrains Mono","Menlo",monospace;font-variant-numeric:tabular-nums}.sl-anim-subtitle-zone,.sl-anim-time{position:absolute;right:8px;pointer-events:none}.sl-anim-subtitle-zone{bottom:18px;left:8px;min-height:24px}.sl-anim-subtitle{background:rgba(0,0,0,.55);color:#fff;padding:4px 8px;border-radius:3px;font-size:10px;line-height:1.4;text-align:center;font-family:var(--font-noto-sans-kr),"Noto Sans KR",sans-serif;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.sl-anim-subtitle-on{opacity:1;transform:translateY(0)}.sl-anim-progress-track{height:4px;background:hsla(0,0%,100%,.15);position:relative}.sl-anim-progress-fill{height:100%;background:#38bdf8}.sl-anim-progress-handle{position:absolute;top:50%;width:8px;height:8px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px rgba(56,189,248,.6);pointer-events:none}.sl-anim-panel{flex:1;background:#fff;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:5px}.sl-anim-panel-label{font-size:8px;color:#64748b;font-family:var(--font-jetbrains-mono),"JetBrains Mono","Menlo",monospace;letter-spacing:.5px;margin-bottom:2px}.sl-anim-kw{font-size:10px;padding:3px 6px;border-radius:3px;min-height:14px;font-family:var(--font-noto-sans-kr),"Noto Sans KR",sans-serif;opacity:0;transition:opacity .2s ease;line-height:1.4}.sl-anim-kw-on{opacity:1}.sl-anim-kw-amber{background:#fef3c7;color:#92400e}.sl-anim-kw-blue{background:#dbeafe;color:#1e40af}.sl-anim-kw-green{background:#dcfce7;color:#166534}@media (max-width:480px){.sl-anim{padding:8px;gap:6px}.sl-anim-play{width:20px;height:20px}.sl-anim-play svg{width:7px;height:8px}.sl-anim-time{font-size:8px}.sl-anim-subtitle{font-size:9px;padding:3px 6px}.sl-anim-subtitle-zone{bottom:14px}.sl-anim-panel{padding:6px 8px}.sl-anim-panel-label{font-size:7px}.sl-anim-kw{font-size:9px;padding:2px 5px;min-height:12px}}@media (prefers-reduced-motion:reduce){.sl-anim-kw,.sl-anim-play,.sl-anim-subtitle{transition:none}}.pc-anim{position:relative;aspect-ratio:16/9;background:#5b21b6;border-radius:8px;padding:14px;overflow:hidden}.pc-anim,.pc-anim-stack{width:100%;display:flex;align-items:center;justify-content:center}.pc-anim-stack{height:100%;flex-direction:column;gap:6px}.pc-anim-block{width:88%;padding:5px 10px;border-radius:5px;background:#1e1b4b;border:1px solid #4c1d95;font-family:var(--font-noto-sans-kr),"Noto Sans KR",sans-serif;font-size:11px;display:flex;align-items:center;gap:6px}.pc-anim-label{font-family:var(--font-jetbrains-mono),"JetBrains Mono","Menlo",monospace;font-size:9px;background:#4c1d95;padding:1px 4px;border-radius:2px;letter-spacing:.5px;flex-shrink:0}.pc-anim-text{flex:1;line-height:1.3}.pc-anim-block-lavender .pc-anim-text{color:#ddd6fe}.pc-anim-block-lavender .pc-anim-label{color:#c4b5fd}.pc-anim-block-amber .pc-anim-text{color:#fde68a}.pc-anim-block-amber .pc-anim-label{color:#fcd34d}.pc-anim-block-blue .pc-anim-text{color:#bfdbfe}.pc-anim-block-blue .pc-anim-label{color:#93c5fd}.pc-anim-block-green .pc-anim-text{color:#bbf7d0}.pc-anim-block-green .pc-anim-label{color:#86efac}.pc-anim-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 12px);height:calc(100% - 12px);border-radius:8px;pointer-events:none}@media (max-width:480px){.pc-anim{padding:10px}.pc-anim-block{padding:4px 8px;font-size:10px;width:92%;gap:5px}.pc-anim-label{font-size:8px;padding:1px 3px}}.mn-anim{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#1e1b4b,#312e81 45%,#1e293b);display:flex;align-items:center;justify-content:center;padding:14px;transition:opacity .5s ease}.mn-anim-fade-out{opacity:0}.mn-anim-stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.mn-anim-star{fill:#f8fafc;animation:mn-twinkle 3s ease-in-out infinite}@keyframes mn-twinkle{0%,to{opacity:.3}50%{opacity:1}}.mn-anim-moon{position:absolute;top:14%;right:12%;width:14px;height:14px;border-radius:50%;background:#fef3c7;box-shadow:0 0 8px hsla(48,96%,89%,.6),0 0 16px hsla(48,96%,89%,.35);pointer-events:none}.mn-anim-note{position:relative;z-index:1;width:100%;max-width:230px;background:#faf5e6;border-radius:4px;padding:14px 16px;box-shadow:0 6px 18px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:6px;background-image:repeating-linear-gradient(180deg,transparent 0,transparent 20px,hsla(25,5%,45%,.12) 0,hsla(25,5%,45%,.12) 21px)}.mn-anim-line{margin:0;font-family:Noto Sans KR,-apple-system,sans-serif;font-size:11px;line-height:1.7;color:#44403c;opacity:0;transform:translateY(-4px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1)}.mn-anim-line-on{opacity:1;transform:translateY(0)}@media (max-width:480px){.mn-anim-note{max-width:180px;padding:10px 12px}.mn-anim-line{font-size:10px;line-height:1.6}.mn-anim-moon{width:11px;height:11px}}@media (prefers-reduced-motion:reduce){.mn-anim,.mn-anim-line{transition:none}.mn-anim-star{animation:none;opacity:.7}}.ms-anim{position:relative;width:100%;aspect-ratio:16/9;background:var(--ms-accent);border-radius:8px;padding:14px;overflow:hidden;transition:opacity 0s linear}.ms-anim-label{top:12px;left:14px;font-size:10px;color:#065f46;letter-spacing:.5px}.ms-anim-label,.ms-anim-roi{position:absolute;font-family:var(--font-jetbrains-mono),"JetBrains Mono","Menlo",monospace}.ms-anim-roi{top:10px;right:14px;font-size:18px;font-weight:500;color:#047857;font-variant-numeric:tabular-nums}.ms-anim-svg{position:absolute;bottom:8px;left:10px;right:10px;width:calc(100% - 20px);height:70%}.ms-anim-grid{stroke:rgba(16,185,129,.15);stroke-width:.5;stroke-dasharray:2 3}.ms-anim-area{fill:rgba(16,185,129,.12)}.ms-anim-line{fill:none;stroke:#10b981;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ms-anim-dot{fill:#10b981}.ms-anim-axis-end,.ms-anim-axis-start{position:absolute;bottom:4px;font-size:9px;color:#065f46;font-family:var(--font-jetbrains-mono),"JetBrains Mono","Menlo",monospace}.ms-anim-axis-start{left:14px}.ms-anim-axis-end{right:14px}@media (max-width:480px){.ms-anim-label{font-size:9px}.ms-anim-roi{font-size:14px}.ms-anim-axis-end,.ms-anim-axis-start{font-size:8px}}.tc-section{padding:80px 0;border-top:1px solid var(--lab-border,#e7e5e4);background:var(--lab-bg,#fafaf9)}.tc-container{max-width:1040px;margin:0 auto;padding:0 24px}.tc-header{text-align:center;margin-bottom:40px}.tc-label{display:inline-block;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--lab-accent,#0d9488);margin-bottom:8px}.tc-title{font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.5px;line-height:1.4;margin-bottom:12px;color:var(--lab-text,#1c1917)}.tc-title-accent{color:var(--lab-accent,#0d9488)}.tc-subtitle{font-size:15px;color:var(--lab-text-secondary,#78716c);max-width:480px;margin:0 auto;line-height:1.7}.tc-tabs{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap;justify-content:center}.tc-tab{font-family:Noto Sans KR,sans-serif;font-size:13px;font-weight:500;padding:9px 18px;border-radius:8px;border:1px solid var(--lab-border,#e7e5e4);background:transparent;color:var(--lab-text-secondary,#78716c);cursor:pointer;transition:all .25s}.tc-tab:hover{border-color:var(--lab-text-tertiary,#a8a29e);color:var(--lab-text,#1c1917)}.tc-tab-active{background:var(--lab-accent,#0d9488);color:#fff;border-color:var(--lab-accent,#0d9488)}.tc-tab-active:hover{background:var(--lab-accent-dark,#0f766e);border-color:var(--lab-accent-dark,#0f766e);color:#fff}.tc-main{display:grid;grid-template-columns:1fr 48px 1fr;gap:0;align-items:start;min-height:340px}@media (max-width:720px){.tc-main{grid-template-columns:1fr;gap:20px}.tc-arrow-col{display:none}}.tc-needs{display:flex;flex-direction:column;gap:10px}.tc-need-card{padding:16px 18px;border-radius:12px;border:1px solid var(--lab-border,#e7e5e4);background:var(--lab-surface,#fff);cursor:pointer;position:relative;overflow:hidden;transition:border-color .3s,box-shadow .3s}.tc-need-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lab-accent,#0d9488);transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.22,1,.36,1);border-radius:0}.tc-need-active{border-color:var(--lab-accent,#0d9488);box-shadow:0 4px 16px rgba(13,148,136,.06)}.tc-need-active:before{transform:scaleY(1)}.tc-need-card:hover{border-color:var(--lab-text-tertiary,#a8a29e)}.tc-need-q{gap:8px;font-size:14px;font-weight:600;color:var(--lab-text,#1c1917)}.tc-need-icon,.tc-need-q{display:flex;align-items:center}.tc-need-icon{color:var(--lab-accent,#0d9488);flex-shrink:0}.tc-need-a{font-size:13px;color:var(--lab-text-secondary,#78716c);line-height:1.6;margin-top:8px;padding-left:24px;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s cubic-bezier(.22,1,.36,1),opacity .3s,margin-top .3s}.tc-need-active .tc-need-a{max-height:100px;opacity:1}.tc-arrow-col{padding-top:40px}.tc-arrow-col,.tc-arrow-wrap{display:flex;align-items:center;justify-content:center}.tc-arrow-wrap{width:40px;height:40px;border-radius:50%;border:1px solid var(--lab-border,#e7e5e4);background:var(--lab-surface,#fff)}.tc-arrow-svg{color:var(--lab-accent,#0d9488);animation:tc-arrow-pulse 1.5s ease infinite}@keyframes tc-arrow-pulse{0%,to{opacity:.4;transform:translateX(0)}50%{opacity:1;transform:translateX(3px)}}.tc-techs{display:flex;flex-direction:column;gap:8px}.tc-techs-label{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--lab-text-tertiary,#a8a29e);margin-bottom:4px}.tc-tech-card{padding:14px 16px;border-radius:10px;background:var(--lab-surface-elevated,#f5f5f4);display:flex;align-items:center;gap:12px;opacity:0;transform:translateX(12px);animation:tc-slide-in .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes tc-slide-in{to{opacity:1;transform:translateX(0)}}.tc-tech-icon{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:var(--lab-accent,#0d9488);min-width:40px;height:40px;border-radius:10px;background:rgba(13,148,136,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .3s,transform .3s}.tc-tech-card:hover .tc-tech-icon{background:rgba(13,148,136,.15);transform:scale(1.05)}.tc-tech-info{flex:1;min-width:0}.tc-tech-name{font-size:14px;font-weight:600;color:var(--lab-text,#1c1917)}.tc-tech-desc{font-size:12px;color:var(--lab-text-secondary,#78716c);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-tech-tag{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;padding:3px 8px;border-radius:5px;background:rgba(13,148,136,.08);color:var(--lab-accent,#0d9488);white-space:nowrap;flex-shrink:0}.tc-footer-note{margin-top:32px;text-align:center;font-size:13px;color:var(--lab-text-tertiary,#a8a29e)}