    :root{
      --bg:#070b16;--bg2:#0b1020;--panel:#11182b;--panel2:#151e34;
      --text:#eef3ff;--muted:#9aa7c2;--line:rgba(255,255,255,.10);
      --blue:#66a6ff;--purple:#9d7cff;--cyan:#56e0d6;--green:#72e6a5;
      --shadow:0 24px 80px rgba(0,0,0,.35);--radius:22px;--max:1180px;
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
      radial-gradient(circle at 10% 5%,rgba(102,166,255,.12),transparent 27%),
      radial-gradient(circle at 88% 18%,rgba(157,124,255,.13),transparent 24%),
      var(--bg);color:var(--text);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif;line-height:1.65}
    a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 42px));margin:auto}
    .nav-shell{position:sticky;top:0;z-index:40;background:rgba(7,11,22,.76);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
    .nav{height:72px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:900;letter-spacing:-.03em;font-size:20px}.logo i{font-style:normal;color:var(--cyan)}
    .nav-links{display:flex;gap:26px;color:var(--muted);font-size:14px;font-weight:700}.nav-links a:hover{color:#fff}.nav-actions{display:flex;gap:10px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:11px 16px;font-weight:800;background:rgba(255,255,255,.04);color:#fff;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-2px);border-color:rgba(102,166,255,.5)}
    .btn.primary{border:0;background:linear-gradient(135deg,var(--blue),var(--purple));box-shadow:0 14px 35px rgba(102,166,255,.18)}
    .hero{padding:92px 0 52px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
    .status{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(114,230,165,.24);border-radius:999px;background:rgba(114,230,165,.07);color:#b9f6d2;font-size:13px;font-weight:800}.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(114,230,165,.10)}
    h1{font-size:clamp(48px,7vw,88px);line-height:.98;letter-spacing:-.06em;margin:24px 0 22px}.gradient{background:linear-gradient(90deg,#fff 0%,#9ed0ff 40%,#b5a2ff 76%,#72e6d7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
    .hero-copy{font-size:19px;color:var(--muted);max-width:720px}.hero-copy strong{color:#fff}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
    .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.stat{padding:17px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.stat b{display:block;font-size:24px}.stat span{font-size:12px;color:var(--muted)}
    .terminal{position:relative;padding:22px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(160deg,rgba(22,32,55,.95),rgba(11,16,32,.97));box-shadow:var(--shadow);overflow:hidden}
    .terminal:before{content:"";position:absolute;inset:-70px auto auto -70px;width:180px;height:180px;border-radius:50%;background:rgba(102,166,255,.13);filter:blur(20px)}
    .hero-visual{position:relative;padding:0 34px 58px 0}.hero-visual .terminal{z-index:1}.hero-visual pre{padding-bottom:82px}.hero-illustration{position:absolute;right:0;bottom:0;z-index:2;width:220px;margin:0;padding:7px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(12,18,34,.9);box-shadow:0 18px 44px rgba(0,0,0,.38);transform:rotate(2deg);transition:transform .25s ease}.hero-illustration:hover{transform:rotate(0deg) translateY(-4px)}.hero-illustration img{display:block;width:100%;height:auto;border-radius:11px}
    .term-head{display:flex;align-items:center;gap:7px;padding-bottom:16px;border-bottom:1px solid var(--line)}.term-dot{width:10px;height:10px;border-radius:50%;background:#ff6b6b}.term-dot:nth-child(2){background:#ffd166}.term-dot:nth-child(3){background:#69db7c}.term-title{margin-left:auto;color:#7f8ba5;font-size:12px}
    pre{margin:20px 0 0;white-space:pre-wrap;font:14px/1.85 "JetBrains Mono",Consolas,monospace;color:#d9e4ff}.c-key{color:#8dc7ff}.c-str{color:#aef1c8}.c-arr{color:#d4b4ff}.c-com{color:#71809f}
    section{padding:72px 0}.section-tag{color:var(--cyan);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.section-head h2{font-size:40px;line-height:1.1;letter-spacing:-.04em;margin:6px 0}.section-head p{max-width:650px;color:var(--muted);margin:0}
    .about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.about-card,.skill-card,.project,.contact{border:1px solid var(--line);background:linear-gradient(145deg,rgba(20,28,49,.9),rgba(12,18,34,.92));border-radius:var(--radius)}
    .about-card{padding:28px}.about-card h3{font-size:27px;margin:0 0 12px}.about-card p{color:var(--muted)}.highlight{color:#fff}.focus-list{display:grid;gap:10px;margin-top:22px}.focus{display:flex;gap:12px;padding:13px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.focus b{color:var(--cyan)}
    .skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.skill-card{padding:22px}.skill-card h3{margin:0 0 4px;font-size:17px}.skill-card p{margin:0;color:var(--muted);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{padding:7px 10px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.04);color:#dbe6ff;font-size:12px;font-weight:800}
    .projects{display:grid;gap:18px}.project{display:grid;grid-template-columns:.78fr 1.22fr;overflow:hidden;min-height:390px}.project-art{position:relative;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#152c50,#0b1528)}#gif-lower .project-art{background:linear-gradient(145deg,#334e20,#162510)}#kiosk .project-art{background:linear-gradient(145deg,#153c35,#0c201e)}#assembly .project-art{background:linear-gradient(145deg,#3d2054,#1b1027)}
    .project-no{font-size:12px;font-weight:900;letter-spacing:.14em;color:rgba(255,255,255,.58)}.project-art h3{font-size:42px;line-height:1.02;letter-spacing:-.05em;margin:14px 0}.project-art p{color:rgba(255,255,255,.75)}
    .mock-window{border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.07);padding:14px}.mock-nav{display:flex;gap:5px;margin-bottom:12px}.mock-nav span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35)}.mock-row{height:9px;border-radius:10px;background:rgba(255,255,255,.17);margin:7px 0}.mock-row.short{width:48%}.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.mock-grid i{height:46px;border-radius:9px;background:rgba(255,255,255,.12)}.size-flow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0;font:800 18px/1 "JetBrains Mono",Consolas,monospace}.size-flow b{color:rgba(255,255,255,.55);text-decoration:line-through}.size-flow span{color:rgba(255,255,255,.4)}.size-flow strong{color:#c7ff4a}
    .project-body{padding:30px}.project-body .desc{color:var(--muted);margin-top:0}.meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.meta span{font-size:12px;padding:7px 9px;border-radius:8px;background:rgba(102,166,255,.08);border:1px solid rgba(102,166,255,.18);color:#c8ddff;font-weight:800}.project-body h4{font-size:15px;margin:22px 0 8px}.bullets{display:grid;gap:9px;color:#c4cee1;font-size:14px}.bullets div{padding-left:18px;position:relative}.bullets div:before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple))}.project-links{display:flex;gap:16px;margin-top:24px}.project-links a{font-size:14px;font-weight:900;color:#9dccff}.project-links a:hover{text-decoration:underline}.more-projects{margin-top:10px}.more-projects summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);cursor:pointer;transition:.2s}.more-projects summary::-webkit-details-marker{display:none}.more-projects summary:hover{border-color:rgba(102,166,255,.45);background:rgba(102,166,255,.06)}.more-projects summary span{display:flex;align-items:baseline;gap:12px}.more-projects summary b{font-size:17px}.more-projects summary small{color:var(--muted)}.more-projects summary i{font-style:normal;color:#9dccff;font-size:13px;font-weight:900}.more-projects[open] summary{margin-bottom:18px}.more-projects[open] summary i{font-size:0}.more-projects[open] summary i:after{content:"접기 −";font-size:13px}.secondary-projects{display:grid;gap:18px}
        .contact{padding:36px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(135deg,rgba(29,46,82,.94),rgba(31,23,62,.94))}.contact h2{font-size:34px;margin:0 0 8px}.contact p{color:#b6c3dc;margin:0}
    footer{padding:20px 0 55px;color:#71809a;font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:18px}

    @media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-visual{max-width:620px;margin:0 auto;width:100%}.project{grid-template-columns:1fr}}
    @media(max-width:620px){.wrap{width:min(var(--max),calc(100% - 24px))}.hero{padding-top:60px}h1{font-size:49px}.hero-copy{font-size:16px}.stats,.skill-grid{grid-template-columns:1fr}.hero-visual{padding:0 14px 46px 0}.hero-illustration{width:170px}.section-head,.contact,.footer-row{align-items:flex-start;flex-direction:column}.section-head h2{font-size:32px}.project-body,.project-art{padding:22px}.project-art h3{font-size:36px}.nav-actions .btn:first-child{display:none}.more-projects summary{align-items:flex-start;flex-direction:column}.more-projects summary span{align-items:flex-start;flex-direction:column;gap:2px}}
