@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap);@import url(//fonts.googleapis.com/earlyaccess/notosanskr.css);:root{background:#0a171a;color:#f2faf8;font-family:DM Sans,Noto Sans KR,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}::selection{background:#82dbc9;color:#0a171a}body{margin:0}*{font-family:Noto Sans KR,sans-serif}:root{--bg:#0a171a;--panel:#13262b;--line:#365b60;--ink:#f2faf8;--muted:#bdd1cd;--accent:#82dbc9;--primary:#2f9a8e}.site{overflow:hidden}.container{margin:0 auto;width:min(1120px,calc(100% - 48px))}.site-header{background:#0b1b1e;border-bottom:1px solid #27484b;height:76px;position:relative;z-index:20}.header-inner{align-items:center;display:flex;height:100%;justify-content:space-between}.logo{font-size:18px;font-weight:700;letter-spacing:.08em}.logo span{color:#82dbc9;color:var(--accent)}.site-header nav{align-items:center;color:#e2f0ec;display:flex;font-size:14px;gap:24px}.breadcrumbs a:hover,.footer-links a:hover,.site-header nav a:hover,.site-header nav a:last-child{color:#82dbc9;color:var(--accent)}.site-header nav a:last-child{margin-left:10px}.menu-toggle{background:none;border:1px solid #365b60;border:1px solid var(--line);border-radius:4px;color:#f2faf8;color:var(--ink);cursor:pointer;display:none;padding:8px 14px}.eyebrow{color:#82dbc9;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero{background:radial-gradient(circle at 75% 45%,#1b3d41 0,#10282c 33%,#0a171a 72%);display:flex;flex-direction:column;height:calc(100vh - 76px);justify-content:center;max-height:900px;min-height:700px;overflow:hidden;position:relative}.hero:before{background:linear-gradient(90deg,rgba(10,23,26,.13),rgba(10,23,26,.1)),repeating-linear-gradient(90deg,transparent 0 89px,rgba(130,219,201,.025) 90px 91px);content:"";inset:0;position:absolute}.hero-rings{border:1px solid rgba(130,219,201,.24);border-radius:50%;box-shadow:0 0 0 90px rgba(130,219,201,.035),0 0 0 180px rgba(130,219,201,.025),inset 0 0 100px rgba(47,154,142,.1);height:680px;position:absolute;right:-80px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:680px}.hero-rings:after{border:1px solid rgba(130,219,201,.35);border-radius:50%;box-shadow:0 0 80px rgba(47,154,142,.24);content:"";height:280px;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:280px}.hero-content{padding:80px 0;position:relative;z-index:1}.status-dot{background:#82dbc9;border-radius:50%;box-shadow:0 0 12px #82dbc9;display:inline-block;height:7px;margin-right:8px;width:7px}.hero h1{font-size:clamp(42px,5.7vw,74px);letter-spacing:-.055em;line-height:1.22;margin:28px 0;max-width:920px}.hero h1 em{color:#82dbc9;font-style:normal}.hero-content>p{color:#d0e1dd;font-size:16px;line-height:1.9;max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.button{align-items:center;border-radius:4px;display:inline-flex;font-size:14px;font-weight:700;justify-content:center;min-height:52px;padding:0 22px;transition:background .2s,-webkit-transform .2s;transition:transform .2s,background .2s;transition:transform .2s,background .2s,-webkit-transform .2s}.button:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px)}.button.primary{background:#2f9a8e;background:var(--primary);color:#0a171a;color:var(--bg)}.button.secondary{background:rgba(10,23,26,.4);border:1px solid #617f80}.hero-bottom{color:#a8c4be;display:flex;font-size:11px;justify-content:space-between;letter-spacing:.16em;margin-top:auto;padding-bottom:30px;position:relative;z-index:1}.section{padding-bottom:10px;padding-top:118px;scroll-margin-top:100px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:clamp(30px,3.7vw,44px);letter-spacing:-.045em;margin:12px 0 8px}.section-heading p{color:#bdd1cd;color:var(--muted);line-height:1.75;margin:0}.featured-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.other-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:#13262b;border:1px solid #365b60;display:block;transition:border-color .25s,box-shadow .25s,-webkit-transform .25s;transition:transform .25s,border-color .25s,box-shadow .25s;transition:transform .25s,border-color .25s,box-shadow .25s,-webkit-transform .25s}.project-card:hover{border-color:#82dbc9;box-shadow:0 18px 40px rgba(0,0,0,.2);-webkit-transform:translateY(-5px);transform:translateY(-5px)}.artwork{align-items:center;background:radial-gradient(circle at 54% 45%,#23585a,#16383c 50%,#0d2326);border-bottom:1px solid #365b60;display:flex;height:220px;justify-content:center;overflow:hidden;position:relative}.featured .artwork{height:265px}.artwork:after,.artwork:before{border:1px solid rgba(189,235,226,.2);border-radius:50%;content:"";height:300px;position:absolute;-webkit-transform:rotate(-25deg) scaleX(1.8);transform:rotate(-25deg) scaleX(1.8);width:300px}.artwork:after{height:180px;-webkit-transform:rotate(30deg) scaleX(1.7);transform:rotate(30deg) scaleX(1.7);width:180px}.artwork-grid{background-image:linear-gradient(#80bfb4 1px,transparent 0),linear-gradient(90deg,#80bfb4 1px,transparent 0);background-size:38px 38px;inset:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000,transparent);mask-image:linear-gradient(90deg,transparent,#000,transparent);opacity:.22;position:absolute}.artwork-number,.artwork-stack{color:#d6ece7;font-size:11px;letter-spacing:.17em;position:absolute;z-index:1}.artwork-number{left:22px;top:20px}.artwork-stack{bottom:20px;right:22px}.artwork-mark{color:#f2faf8;font-size:clamp(62px,8vw,105px);font-weight:700;letter-spacing:-.09em;line-height:1;position:relative;text-shadow:0 0 40px rgba(47,154,142,.7);z-index:1}.artwork-nier-automata{background:radial-gradient(circle at 55% 45%,#3a5a58,#1a393b 50%,#102326)}.artwork-pagomoa{background:radial-gradient(circle at 50% 45%,#2d706b,#1a4947 55%,#102b2a)}.artwork-moonlighter{background:radial-gradient(circle at 50% 45%,#53665e,#314840 55%,#1a2e2b)}.artwork-slimedicer{background:radial-gradient(circle at 50% 45%,#49776b,#24594f 55%,#12352f)}.card-content{padding:22px}.card-meta{color:#a9c9c2;display:flex;font-size:11px;gap:12px;justify-content:space-between;letter-spacing:.08em}.card-content h3{font-size:25px;letter-spacing:-.035em;margin:18px 0 10px}.card-content p{color:#c4d9d4;font-size:14px;line-height:1.7;margin:0 0 22px;min-height:48px}.card-link,.inline-link{color:#82dbc9;font-size:13px;font-weight:700}.skills-section{background:#0e1c20;border-bottom:1px solid #27484b;border-top:1px solid #27484b;margin-top:118px;padding-bottom:118px}.skill-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}.skill-grid article{border-top:1px solid #3d8179;padding:25px 4px 0}.skill-grid article>span{color:#82dbc9;font-size:11px;letter-spacing:.12em}.skill-grid h3{font-size:22px;margin:24px 0 12px}.skill-grid p{color:#bdd1cd;color:var(--muted);font-size:14px;line-height:1.8;min-height:86px}.skill-grid a{color:#82dbc9;font-size:13px;font-weight:700}.about-section{padding-bottom:130px}.about-grid{grid-gap:65px;align-items:start;display:grid;gap:65px;grid-template-columns:1fr 1fr;margin-top:14px}.about-grid h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.045em;line-height:1.4;margin:0}.about-grid p{color:#c4d9d4;line-height:2;margin:0 0 22px}.site-footer{background:#0b1b1e;border-top:1px solid #365b60}.footer-inner{display:flex;gap:30px;justify-content:space-between;padding-bottom:42px;padding-top:38px}.footer-inner strong{letter-spacing:.08em}.footer-inner p{color:#9fbdb6;font-size:12px;margin-bottom:0}.footer-links{align-items:center;color:#cadbd8;display:flex;flex-wrap:wrap;font-size:12px;gap:20px}.detail-page{padding-bottom:100px;padding-top:48px}.breadcrumbs{color:#a8c4be;display:flex;font-size:13px;gap:14px}.breadcrumbs a{color:#82dbc9}.detail-header{align-items:flex-end;display:flex;justify-content:space-between;padding:68px 0 44px}.detail-header h1{font-size:clamp(44px,6vw,74px);letter-spacing:-.06em;line-height:1.1;margin:18px 0}.detail-header p{color:#c4d9d4;line-height:1.8;max-width:680px}.detail-index{color:#1b3d41;font-size:110px;font-weight:700;line-height:1}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{border:1px solid #365b60;color:#c9ded9;font-size:12px;padding:7px 11px}.detail-page>.artwork{height:400px}.detail-page>.artwork .artwork-mark{font-size:160px}.recreation-note{color:#a5c1ba;font-size:12px;margin:12px 0 0}.detail-grid{grid-gap:70px;display:grid;gap:70px;grid-template-columns:215px minmax(0,1fr);margin-top:90px}.toc{align-self:start;color:#a8c4be;display:flex;flex-direction:column;font-size:13px;gap:18px;position:-webkit-sticky;position:sticky;top:30px}.toc strong{color:#f2faf8;font-size:12px;margin-bottom:8px}.toc a:hover{color:#82dbc9;color:var(--accent)}.detail-section{border-bottom:1px solid #365b60;margin-bottom:74px;padding-bottom:76px;scroll-margin-top:28px}.detail-section h2{font-size:34px;letter-spacing:-.04em;margin:14px 0 24px}.detail-section>p{color:#c4d9d4;line-height:1.95;margin:0}.role-box{background:#1a3339;border-left:3px solid #82dbc9;margin-top:30px;padding:25px 30px}.role-box strong{color:#82dbc9;font-size:14px}.role-box ul{color:#d7e8e3;line-height:1.9;margin:15px 0 0;padding-left:18px}.build-list article{grid-gap:15px;border-top:1px solid #365b60;display:grid;gap:15px;grid-template-columns:45px 1fr;padding:27px 0}.build-list article>span{color:#82dbc9;font-size:12px;padding-top:6px}.build-list h3,.problem-box h3{font-size:20px;margin:0 0 12px}.build-list p{color:#bdd1cd;line-height:1.9;margin:0}.problem-box{background:#1a3339;padding:30px}.problem-box dl{margin:20px 0 0}.problem-box dl>div{grid-gap:15px;border-top:1px solid #365b60;display:grid;gap:15px;grid-template-columns:65px 1fr;padding:16px 0}.problem-box dt{color:#82dbc9;font-weight:700}.problem-box dd{color:#cadbd8;line-height:1.8;margin:0}.tech-list>div{grid-gap:15px;border-top:1px solid #365b60;display:grid;gap:15px;grid-template-columns:150px 1fr;padding:17px 0}.tech-list strong{color:#e2f0ec}.tech-list span{color:#bdd1cd}.evidence-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.evidence-links a{border:1px solid #4b7772;color:#d7efe9;font-size:13px;padding:11px 15px}.evidence-links a:hover{background:#21464a}.project-pager{border:1px solid #365b60;display:grid;grid-template-columns:1fr 1fr}.project-pager a{display:flex;flex-direction:column;gap:10px;padding:24px}.project-pager a+a{border-left:1px solid #365b60;text-align:right}.project-pager span{color:#bdd1cd;font-size:12px}.contact-section{background:#0e1c20;border-bottom:1px solid #365b60;border-bottom:1px solid var(--line);border-top:1px solid #365b60;border-top:1px solid var(--line);padding-bottom:118px}.contact-panel{align-items:center;background:#13262b;background:var(--panel);border:1px solid #365b60;border:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;padding:30px}.contact-me h3,.contact-panel h3{font-size:24px;margin:10px 0}.contact-me p,.contact-panel p{color:#bdd1cd;color:var(--muted);line-height:1.7;margin:0}.contact-me{grid-gap:40px;background:#13262b;background:var(--panel);border:1px solid #365b60;border:1px solid var(--line);display:grid;gap:40px;grid-template-columns:1fr 1.4fr;margin-top:20px;padding:30px}.contact-me .inline-link{display:inline-block;margin-top:22px}.contact-me form,.guestbook-form{align-items:stretch;display:flex;flex-direction:column;gap:10px}.contact-me label,.delete-form label,.guestbook-form label{color:#bdd1cd;color:var(--muted);font-size:13px;font-weight:700}.contact-me input,.contact-me textarea,.delete-form input,.guestbook-form input,.guestbook-form textarea{background:#0a171a;border:1px solid #4b7772;border-radius:4px;color:#f2faf8;color:var(--ink);font:inherit;padding:12px;width:100%}.contact-me textarea,.guestbook-form textarea{resize:vertical}.contact-me button,.guestbook-form button{align-self:flex-start;border:0;cursor:pointer;margin-top:10px}.guestbook-section{padding-bottom:118px}.guestbook-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1.4fr}.guestbook-form{align-self:start;background:#13262b;background:var(--panel);border:1px solid #365b60;border:1px solid var(--line);padding:28px}.form-help{color:#bdd1cd;color:var(--muted);font-size:12px;line-height:1.6;margin:0}.form-error{color:#ffb3ab}.form-notice{color:#82dbc9;color:var(--accent)}.guestbook-list{min-height:220px}.guestbook-entry{border-top:1px solid #365b60;border-top:1px solid var(--line);padding:22px 0}.guestbook-entry:first-of-type{border-top:0;padding-top:0}.guestbook-meta{display:flex;font-size:13px;gap:20px;justify-content:space-between}.guestbook-meta span{color:#bdd1cd;color:var(--muted)}.guestbook-entry p{color:#d0e1dd;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.delete-form button,.text-button{background:none;border:0;color:#82dbc9;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;padding:0}.delete-form{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.delete-form label{flex-basis:100%}.delete-form input{max-width:210px}.contact-me input:focus-visible,.contact-me textarea:focus-visible,.delete-form input:focus-visible,.guestbook-form input:focus-visible,.guestbook-form textarea:focus-visible{outline:2px solid #82dbc9;outline:2px solid var(--accent);outline-offset:2px}.button:disabled{cursor:wait;opacity:.65}.project-pager strong{font-size:18px}.not-found{min-height:60vh;padding-top:120px}.not-found h1{font-size:46px}a:focus-visible,button:focus-visible{outline:2px solid #82dbc9;outline-offset:4px}@media(max-width:800px){.site-header{height:68px}.menu-toggle{display:block}.site-header nav{align-items:stretch;background:#0e2427;border-bottom:1px solid #365b60;display:none;flex-direction:column;gap:20px;left:0;padding:22px 24px;position:absolute;right:0;top:68px}.site-header nav.open{display:flex}.site-header nav a:last-child{margin-left:0}.hero{height:auto;min-height:640px}.hero-rings{opacity:.75;right:-370px}.hero-content{padding:100px 0 80px}.hero h1{font-size:clamp(40px,7vw,60px)}.featured-grid{grid-template-columns:1fr}.other-grid,.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{gap:40px;grid-template-columns:1fr}.toc{border:1px solid #365b60;padding:20px;position:static}.detail-index{display:none}.contact-me,.guestbook-grid{grid-template-columns:1fr}}@media(max-width:560px){.container{width:min(100% - 32px,1120px)}.hero{min-height:670px}.hero-content{padding:84px 0 50px}.hero h1{font-size:clamp(38px,10vw,52px)}.hero-content>p{font-size:14px}.hero-actions{align-items:stretch;flex-direction:column}.hero-bottom span:last-child{display:none}.section{padding-top:80px}.about-grid,.featured-grid,.other-grid,.skill-grid{grid-template-columns:1fr}.artwork,.featured .artwork{height:220px}.skills-section{margin-top:80px;padding-bottom:70px}.skill-grid{gap:32px}.skill-grid p{min-height:0}.about-section{padding-bottom:80px}.footer-inner{flex-direction:column}.footer-links{gap:14px 20px}.detail-page{padding-top:28px}.detail-header{padding:45px 0 32px}.detail-page>.artwork{height:260px}.detail-page>.artwork .artwork-mark{font-size:90px}.detail-grid{margin-top:55px}.detail-section{margin-bottom:50px;padding-bottom:50px}.detail-section h2{font-size:29px}.problem-box{padding:20px}.problem-box dl>div,.tech-list>div{gap:5px;grid-template-columns:1fr}.project-pager strong{font-size:15px}.contact-panel{align-items:flex-start;flex-direction:column}.contact-me,.guestbook-form{padding:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.project-card{transition:none}}
/*# sourceMappingURL=main.df06c73d.css.map*/