:root{--bg: #0a0a0a;--surface: #111111;--border: #1f1f1f;--text: #ededed;--muted: #8a8a8a;--accent: #e8ff60;--serif: "Instrument Serif", "Gowun Batang", "Noto Serif KR", "Times New Roman", Georgia, serif;--sans: "Pretendard Variable", "Pretendard", "Inter", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--display: "Pretendard Variable", "Pretendard", "Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.gallery{max-width:1200px;margin:0 auto;padding:96px 48px 120px}.gallery-header{margin-bottom:80px}.gallery-kicker{font-size:12px;letter-spacing:.2em;color:var(--muted);margin-bottom:32px}.gallery-header h1{font-family:var(--display);font-weight:500;font-size:clamp(56px,8vw,120px);line-height:.95;font-weight:400;margin:0 0 24px;letter-spacing:-.02em}.gallery-header p{font-size:17px;line-height:1.6;color:var(--muted);max-width:520px;margin:0}.experiment-section{margin-bottom:80px}.experiment-section:last-of-type{margin-bottom:0}.experiment-section-head{margin-bottom:28px;max-width:640px}.experiment-section-head h2{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.6vw,34px);line-height:1.1;font-weight:400;letter-spacing:-.02em;margin:0 0 12px}.experiment-section-head h2 em{font-style:italic;color:var(--accent)}.experiment-section-note{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.experiment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.empty{padding:64px;background:var(--surface);color:var(--muted);text-align:center;grid-column:1 / -1}.experiment-card{position:relative;display:flex;flex-direction:column;gap:20px;padding:28px 28px 24px;background:var(--surface);transition:background .3s ease;min-height:260px}.experiment-card:hover{background:#161616}.experiment-card:hover .experiment-arrow{transform:translate(6px);color:var(--accent)}.experiment-meta{display:flex;flex-direction:column;gap:10px;font-size:11px;letter-spacing:.12em;color:var(--muted)}.experiment-date{font-variant-numeric:tabular-nums;white-space:nowrap}.experiment-tags{display:flex;flex-wrap:wrap;gap:4px}.tag{padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.tag-more{padding:2px 0 2px 4px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.experiment-title{font-family:var(--display);font-weight:500;font-size:26px;line-height:1.2;font-weight:400;margin:0;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word}.experiment-desc{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0;flex:1;word-break:keep-all;overflow-wrap:break-word}.experiment-arrow{font-size:20px;color:var(--muted);transition:transform .3s ease,color .3s ease;align-self:flex-end;margin-top:auto}.workflow-skills{margin-bottom:96px}.workflow-heading{margin-bottom:32px}.section-kicker{display:inline-block;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.25em;color:var(--muted);text-transform:uppercase;margin-bottom:16px}.workflow-heading h2{font-family:var(--display);font-weight:500;font-size:clamp(32px,4.2vw,52px);line-height:1.05;font-weight:400;margin:0;letter-spacing:-.02em}.workflow-heading h2 em{font-style:italic;color:var(--accent)}.pipeline-banner{position:relative;display:grid;grid-template-columns:minmax(280px,auto) 1fr;gap:20px 48px;align-items:center;padding:28px 32px;margin-bottom:36px;background:linear-gradient(130deg,rgba(232,255,96,.055) 0%,transparent 58%);border:1px solid var(--border);border-left:3px solid var(--accent)}.pipeline-left{display:flex;flex-direction:column;gap:14px}.pipeline-badge{align-self:flex-start;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.3em;color:var(--accent);padding:5px 10px;border:1px solid rgba(232,255,96,.4);border-radius:2px}.pipeline-commands{display:flex;align-items:center;gap:14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(18px,2.2vw,24px);color:var(--text)}.pipeline-commands code{background:transparent;font-family:inherit}.pipeline-arrow{color:var(--accent);font-weight:300}.pipeline-note{margin:0;font-size:13px;line-height:1.7;color:var(--muted);max-width:640px}.pipeline-note b{font-weight:500;color:var(--text)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.skill-card{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px;background:var(--surface);min-height:260px;transition:background .25s ease}.skill-card:hover{background:#161616}.skill-card.tier-primary{background:#0f0f08}.skill-card.tier-primary:hover{background:#15160a}.skill-card.tier-audit:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:.35}.skill-card.tier-shared{background:#0b0d10}.skill-card.tier-shared:hover{background:#0f1216}.skill-card.tier-shared:before{content:"";position:absolute;top:0;left:0;bottom:0;width:2px;background:#5ea1ff;opacity:.45}.skill-card.tier-shared .skill-cmd{color:#9ec3ff;font-size:13px}.skill-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.skill-cmd{font-family:JetBrains Mono,ui-monospace,monospace;font-size:16px;color:var(--text);background:transparent}.skill-card.tier-primary .skill-cmd{color:var(--accent)}.skill-role{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;text-align:right}.skill-desc{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.skill-flow{list-style:none;padding:16px 0 0;margin:auto 0 0;display:flex;flex-direction:column;gap:10px;border-top:1px dashed var(--border)}.skill-flow li{display:flex;align-items:baseline;gap:14px;font-size:12px}.flow-dot{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:var(--muted);min-width:22px;letter-spacing:.05em}.skill-card.tier-primary .flow-dot{color:var(--accent)}.flow-label{color:var(--text);letter-spacing:.01em}.experiment-skills{margin-top:auto;padding-top:14px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px}.skills-label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.25em;color:var(--muted)}.skills-list{display:flex;flex-wrap:wrap;gap:6px}.skill-chip{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;padding:3px 8px;background:#e8ff6014;border:1px solid rgba(232,255,96,.4);color:var(--accent);border-radius:2px}@media(max-width:640px){.pipeline-banner{grid-template-columns:1fr;padding:22px}.pipeline-commands{font-size:18px}}.gallery-footer{display:flex;justify-content:space-between;margin-top:80px;padding-top:24px;border-top:1px solid var(--border);font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.experiment{min-height:100vh;padding:48px}.back-link{display:inline-block;font-size:13px;letter-spacing:.05em;color:var(--muted);margin-bottom:80px;transition:color .2s ease}.back-link:hover{color:var(--text)}.hero{max-width:960px;margin:0 auto}.hero-kicker{font-size:12px;letter-spacing:.2em;color:var(--accent);margin-bottom:32px}.hero-title{font-family:var(--serif);font-size:clamp(64px,10vw,160px);line-height:.95;font-weight:400;margin:0 0 40px;letter-spacing:-.02em}.hero-title em{font-style:italic;color:var(--accent)}.hero-body{font-size:18px;line-height:1.6;color:var(--muted);max-width:540px}.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:14px;letter-spacing:.1em}.skills-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 0 18px;border-bottom:1px solid var(--border);margin-bottom:-1px}.skills-toolbar-label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.skills-toolbar-actions{display:flex;gap:8px}.skills-toolbar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border);color:var(--text);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;cursor:pointer;transition:all .18s ease}.skills-toolbar-btn:hover{border-color:var(--accent);color:var(--accent);background:#e8ff600a}.skill-card-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:inherit;padding:0;width:100%;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:16px;font:inherit}.skill-card-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skill-chevron{margin-left:auto;font-family:JetBrains Mono,ui-monospace,monospace;font-size:20px;font-weight:400;line-height:1;color:var(--muted);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);transition:all .18s ease;flex-shrink:0}.skill-card-toggle:hover .skill-chevron{color:var(--accent);border-color:var(--accent)}.skill-card.is-open .skill-chevron{background:var(--accent);color:#0a0a0a;border-color:var(--accent)}.skill-card.is-open{grid-column:1 / -1;background:#141414}.skill-card.is-open.tier-primary{background:#161608}.skill-card.is-open.tier-shared{background:#0e1115}.skill-detail{margin-top:22px;padding-top:24px;border-top:1px dashed var(--border);display:grid;grid-template-columns:1fr;gap:20px;animation:skillDetailFade .25s ease}@keyframes skillDetailFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.skill-detail-tagline{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);font-weight:400;line-height:1.25;letter-spacing:-.015em;color:var(--text);margin:0;word-break:keep-all;overflow-wrap:break-word;max-width:52ch}.skill-card.tier-primary .skill-detail-tagline{color:var(--accent)}.skill-detail-overview{font-size:15px;line-height:1.75;color:#c8c8c8;margin:0;max-width:72ch;word-break:keep-all;overflow-wrap:break-word}.skill-detail-section{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-top:1px solid rgba(255,255,255,.05)}.skill-detail-heading{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0;font-weight:400}.skill-detail-body{font-size:14px;line-height:1.7;color:#b8b8b8;margin:0;word-break:keep-all}.skill-detail-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:8px}.skill-detail-list li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.65;color:#d4d4d4;word-break:keep-all}.skill-detail-list li:before{content:"→";position:absolute;left:0;top:0;color:var(--accent);opacity:.6;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.skill-detail-wf{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#e8ff6008;border:1px solid rgba(232,255,96,.12);margin-top:4px;flex-wrap:wrap}.skill-detail-wf-label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;flex-shrink:0}.skill-detail-wf-path{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:#e8e8e8;word-break:break-all;opacity:.85}.skill-detail-empty .skill-detail-overview{color:var(--muted);font-style:italic}@media(min-width:960px){.skill-card.is-open .skill-detail{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:48px}.skill-card.is-open .skill-detail-tagline,.skill-card.is-open .skill-detail-overview,.skill-card.is-open .skill-detail-wf{grid-column:1 / -1}}@media(max-width:640px){.skills-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.skill-detail-tagline{font-size:20px}.skill-chevron{width:22px;height:22px;font-size:18px}}.workflow-ceo{margin-top:96px}.workflow-ceo .workflow-heading{margin-bottom:32px}.ceo-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border)}.ceo-card{background:#0e0f11;padding:36px 40px 32px;position:relative;transition:background .22s ease}.ceo-card:hover{background:#121317}.ceo-card.is-open{background:#131419}.ceo-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:2px;background:var(--accent);opacity:.25;transition:opacity .25s ease}.ceo-card.is-open:before{opacity:.85}.ceo-card-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:inherit;padding:0;width:100%;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:14px;font:inherit}.ceo-card-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.ceo-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ceo-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.08em;color:var(--muted);flex:1}.ceo-slug{font-size:12px;padding:4px 10px;border:1px solid rgba(232,255,96,.25);color:var(--accent);background:#e8ff600a}.ceo-version{padding:3px 8px;border:1px solid var(--border);color:#ddd;background:#ffffff08}.ceo-date:before{content:"· ";color:#fff3;margin-right:2px}.ceo-owner{color:#a8a8a8}.ceo-title{font-family:var(--display);font-size:clamp(26px,3.4vw,38px);font-weight:600;line-height:1.35;letter-spacing:-.015em;margin:0;color:var(--text);word-break:keep-all;overflow-wrap:break-word;max-width:40ch}.ceo-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:#cfcfcf;margin:0;max-width:58ch;word-break:keep-all;overflow-wrap:break-word}.ceo-body{margin-top:28px;padding-top:28px;border-top:1px dashed rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px;animation:ceoBodyFade .28s ease}@keyframes ceoBodyFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ceo-section{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column;gap:10px}.ceo-section:last-of-type{border-bottom:none}.ceo-section-heading{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0;font-weight:400;opacity:.85}.ceo-section-body{font-size:14.5px;line-height:1.75;color:#c8c8c8;margin:0;max-width:78ch;word-break:keep-all;overflow-wrap:break-word;font-family:var(--sans, "Pretendard Variable", system-ui, sans-serif)}.ceo-section-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:8px}.ceo-section-list li{position:relative;padding:6px 0 6px 22px;font-size:13.5px;line-height:1.7;color:#d8d8d8;word-break:keep-all;overflow-wrap:break-word}.ceo-section-list li:before{content:"";position:absolute;left:0;top:14px;width:10px;height:1px;background:var(--accent);opacity:.55}.ceo-changelog{display:flex;flex-direction:column;gap:6px}.ceo-changelog-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13px;line-height:1.6}.ceo-changelog-ver{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;padding:2px 8px;background:#e8ff6014;color:var(--accent);border:1px solid rgba(232,255,96,.18);flex-shrink:0}.ceo-changelog-date{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--muted);flex-shrink:0;letter-spacing:.06em}.ceo-changelog-note{color:#ccc;flex:1;min-width:240px}.ceo-origin{margin-top:16px;padding:14px 18px;background:#e8ff6009;border:1px solid rgba(232,255,96,.14);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ceo-origin-label{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.22em;color:var(--accent);text-transform:uppercase;flex-shrink:0}.ceo-origin-path{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:#eaeaea;word-break:break-all;opacity:.9}@media(min-width:1080px){.ceo-card.is-open .ceo-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:56px;row-gap:0;align-items:start}.ceo-card.is-open .ceo-body>.ceo-section:first-of-type,.ceo-card.is-open .ceo-body>.ceo-origin{grid-column:1 / -1}}@media(max-width:640px){.workflow-ceo{margin-top:64px}.ceo-card{padding:28px 24px}.ceo-title{font-size:clamp(22px,7vw,28px)}.ceo-tagline{font-size:15px}.ceo-card-meta{font-size:10px;gap:6px}.ceo-slug{font-size:11px;padding:3px 8px}.ceo-section-list li{font-size:13px}.ceo-changelog-row{flex-direction:column;gap:4px;align-items:flex-start}}
