:root{--ep-bg:#090b0e;--ep-panel:#11151b;--ep-text:#f1f3f6;--ep-muted:#adb5c2;--ep-line:#303640;--ep-accent:#00d4ff;font-family:'Noto Sans KR',sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ep-bg);color:var(--ep-text);font-size:16px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-underline-offset:5px}button,summary{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ep-accent);outline-offset:5px}.ep-LINE{--ep-bg:#f4f1ec;--ep-panel:#ece7df;--ep-text:#1c1a17;--ep-muted:#57524a;--ep-line:#c8c0b6;--ep-accent:#ae2a20;color-scheme:light}.ep-threads{--ep-accent:#ad9eff;--ep-bg:#0a0a0b;--ep-panel:#141417}.ep-main{background-image:linear-gradient(#161b2140 1px,transparent 1px),linear-gradient(90deg,#161b2140 1px,transparent 1px);background-size:60px 60px}.ep-skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--ep-panel);padding:12px}.ep-skip:focus{top:8px}.ep-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px max(20px,calc((100% - 1160px)/2));border-bottom:1px solid var(--ep-line);background:var(--ep-bg)}.ep-brand{font-size:23px;font-weight:800;text-decoration:none;white-space:nowrap}.ep-brand span{color:var(--ep-accent)}.ep-desktop{display:flex;gap:24px;align-items:center}.ep-desktop a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:none}.ep-mobile{display:none}.ep-wrap{width:min(1160px,calc(100% - 48px));margin:auto}.ep-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;padding:96px 0 64px;align-items:center}.ep-kicker{font-size:14px;color:var(--ep-accent);font-weight:600;margin:0 0 22px}.ep-page h1{font-size:clamp(32px,4.1vw,56px);line-height:1.3;letter-spacing:-.045em;margin:0 0 26px;max-width:850px;text-wrap:balance}.ep-LINE h1{font-family:'Noto Serif KR',serif}.ep-intro{font-size:18px;line-height:1.9;margin:0 0 24px;color:var(--ep-muted);max-width:780px}.ep-tech{font-size:14px;font-weight:500;color:var(--ep-muted)}.ep-overview{background:var(--ep-panel);border:1px solid var(--ep-line);padding:28px;border-radius:22px}.ep-overview h2{font-size:21px;margin:0 0 24px;line-height:1.5}.ep-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}.ep-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:10px 18px;border:1px solid var(--ep-line);border-radius:10px;text-decoration:none;font-size:14px}.ep-actions a:hover{border-color:var(--ep-accent)}.ep-section{padding:64px 0;border-top:1px solid var(--ep-line);scroll-margin-top:100px}.ep-section>h2{font-size:clamp(24px,2.5vw,32px);line-height:1.5;letter-spacing:-.025em;margin:0 0 24px}.ep-lead{color:var(--ep-muted);max-width:850px;margin-bottom:30px}.ep-projects{display:grid;gap:32px}.ep-project{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;border:1px solid var(--ep-line);border-radius:18px;padding:32px;background:var(--ep-panel)}.ep-page h3{font-size:21px;line-height:1.5;margin:0 0 18px}.ep-project p,.ep-card p{color:var(--ep-muted)}.ep-list{list-style:none;display:grid;gap:16px;padding:0;margin:24px 0 0}.ep-list li{padding-top:16px;border-top:1px solid var(--ep-line)}.ep-list strong{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.ep-list span{display:block;color:var(--ep-muted);font-size:15px;line-height:1.85}.ep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ep-card{border:1px solid var(--ep-line);border-radius:18px;padding:28px;background:var(--ep-panel);min-width:0}.ep-figure{margin:0;min-width:0;border:1px solid var(--ep-line);border-radius:14px;overflow:hidden;background:var(--ep-panel)}.ep-image{border:0;background:#080b10;width:100%;padding:12px;display:flex;align-items:center;justify-content:center;min-height:160px}.ep-image img{display:block;width:auto;height:auto;max-width:100%;max-height:480px;object-fit:contain}.ep-project .ep-image img{max-height:360px}.ep-figure figcaption{padding:18px 20px}.ep-figure figcaption strong{display:block;font-size:16px;margin-bottom:8px}.ep-figure figcaption span{display:block;font-size:14px;line-height:1.8;color:var(--ep-muted)}.ep-hint{margin-top:10px}.ep-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}.ep-about{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:40px;align-items:start}.ep-about>.ep-figure .ep-image img{max-height:280px}.ep-note{border-left:3px solid var(--ep-accent);padding:10px 0 10px 18px;margin-top:28px;color:var(--ep-muted);font-size:14px;line-height:1.9}.ep-detail-hero{padding:72px 0 54px}.ep-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin:0}.ep-stack>div{padding:20px 0;border-bottom:1px solid var(--ep-line)}.ep-stack dt{font-weight:600;margin-bottom:8px}.ep-stack dd{margin:0;color:var(--ep-muted);font-size:15px}.ep-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:28px 0 0}.ep-flow li{border:1px solid var(--ep-line);border-radius:12px;padding:20px;background:var(--ep-panel);font-size:16px}.ep-flow span{display:block;font-size:13px;font-weight:600;color:var(--ep-accent);margin-bottom:10px}.ep-footer{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;border-top:1px solid var(--ep-line);padding:24px max(24px,calc((100% - 1160px)/2));font-size:14px;color:var(--ep-muted)}.ep-footer a{min-height:44px;display:inline-flex;align-items:center}.ep-lightbox{border:1px solid var(--ep-line);border-radius:16px;background:var(--ep-bg);color:var(--ep-text);width:min(1200px,calc(100% - 24px));max-height:92dvh;padding:20px}.ep-lightbox::backdrop{background:#000d}.ep-close{display:block;margin:0 0 16px auto;min-height:44px;padding:8px 16px;border:1px solid var(--ep-line);border-radius:8px;background:var(--ep-panel);color:inherit}.ep-large img{display:block;max-width:100%;width:auto;height:auto;margin:auto}.ep-lightbox-caption{font-size:14px;margin-bottom:0}.ep-image-error{padding:16px;color:var(--ep-text);font-size:14px}.ep-image-error a{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:1000px){.ep-grid{grid-template-columns:1fr}.ep-hero{gap:28px}.ep-project{gap:24px;padding:24px}.ep-card{padding:24px}.ep-page h1{font-size:clamp(32px,5vw,48px)}}
@media(max-width:880px){.ep-desktop{display:none}.ep-mobile{display:block;position:relative}.ep-mobile summary{list-style:none;cursor:pointer;min-height:44px;padding:8px 16px;border:1px solid var(--ep-line);border-radius:8px}.ep-mobile nav{position:absolute;right:0;top:52px;background:var(--ep-bg);border:1px solid var(--ep-line);border-radius:12px;padding:12px;min-width:210px;display:grid;z-index:60}.ep-mobile nav a{min-height:44px;padding:8px 12px;text-decoration:none}.ep-hero{grid-template-columns:1fr;padding:52px 0 40px}.ep-overview{padding:24px}.ep-stack{grid-template-columns:1fr}.ep-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-about{grid-template-columns:1fr}.ep-about>.ep-figure{max-width:350px}.ep-project{grid-template-columns:1fr}.ep-evidence{grid-template-columns:1fr}.ep-wrap{width:calc(100% - 40px)}.ep-section{padding:44px 0}.ep-detail-hero{padding:48px 0 40px}}
@media(max-width:420px){.ep-flow{grid-template-columns:1fr}.ep-project,.ep-card{padding:20px}.ep-intro{font-size:16px}.ep-image img{max-height:420px}.ep-actions a{flex:1 1 140px}.ep-section>h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.ep-brand{display:inline-flex;align-items:center;min-height:44px}
