:root{--color-paper:lab(98.8276% -.215113 -1.49851);--color-surface:lab(100% 0 0);--color-surface-glass:lab(100% 0 0/.82);--color-ink:lab(7.18098% -.406697 -4.34435);--color-ink-soft:lab(24.5567% -.535339 -4.4373);--color-muted:lab(39.6386% -.569508 -4.45404);--color-faint:lab(59.3671% -.503778 -3.72702);--color-rule:lab(87.2145% -.418365 -2.99017);--color-rule-strong:lab(76.7606% -.605881 -4.47316);--color-soft:lab(96.5012% -.318795 -2.24551);--color-accent:lab(54.3432% 5.40471 -68.5824);--color-accent-deep:lab(44.6682% 11.0621 -71.7753);--color-accent-ink:lab(100% 0 0);--color-focus:lab(35.6596% 9.65172 -61.5171);--color-success:lab(56.3146% -35.2561 31.7841);--color-success-soft:lab(94.7181% -10.8864 9.15424);--color-wordmark:lab(16.3948% -.658929 -7.29806/.04);--color-backdrop:lab(5.23796% -.285208 -3.0582/.42);--color-aurora-mint:lab(88.8319% -38.4389 17.8675/.62);--color-aurora-sky:lab(86.3068% -15.185 -23.088/.3);--color-aurora-violet:lab(77.6753% 23.083 -33.31/.54);--color-aurora-rose:lab(85.012% 26.2667 -5.00031/.32);--color-aurora-sun:lab(92.4084% -2.35805 40.3929/.48);--color-brand-meritz:lab(93.8703% 10.818 5.58257);--color-brand-hanwha:lab(92.8672% 10.1263 16.1035);--color-brand-shinhan:lab(94.1996% -4.52793 -11.9333);--color-brand-posco:lab(93.2587% -9.6882 -10.1303);--font-display:var(--font-geist-sans), "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-body:var(--font-geist-sans), "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-mono:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:7rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-display-s:clamp(2.75rem, 5vw, 4.875rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-short:.22s;--dur-medium:.48s;--dur-long:.68s;--rule-hairline:1px;--radius-card:1rem;--radius-project:1.5rem;--radius-input:999px;--radius-pill:999px;--shadow-float:0 1rem 3rem lab(18.6351% -1.66792 -14.0862/.08);--shadow-card:0 .5rem 1.5rem lab(18.6351% -1.66792 -14.0862/.04);--ink:var(--color-ink);--muted:var(--color-muted);--line:var(--color-rule);--soft:var(--color-soft);--paper:var(--color-paper);--accent:var(--color-accent);--lime:var(--color-success-soft);--sans:var(--font-body);--mono:var(--font-mono)}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--sans);word-break:keep-all;margin:0;line-height:1.55;overflow-x:clip}button,input{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:18px}p,h1,h2,h3,h4,ul{margin:0}.landing,.chatting{min-height:100vh}.site-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);justify-content:space-between;align-items:center;width:100%;height:78px;padding:0 5vw;display:flex;position:relative}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand>span,.avatar{background:var(--ink);color:#fff;width:38px;height:38px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:11px;display:grid}.brand div{display:grid}.brand strong{font-size:14px}.brand small{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;font-size:9px}.site-header nav{gap:28px;display:flex}.site-header nav a{color:var(--muted);font-size:12px;text-decoration:none}.site-header nav a:hover{color:var(--ink)}.landing{background:#fff;overflow:hidden}.landing-shell{--aurora-x-1:0px;--aurora-y-1:0px;--aurora-x-2:0px;--aurora-y-2:0px;--aurora-x-3:0px;--aurora-y-3:0px;isolation:isolate;width:100%;min-height:100svh;position:relative;overflow:hidden}.hero{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:45px 20px 36px;display:flex;position:relative}.status-dot{background:#62a85c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e5f0df}.aurora-field{z-index:0;pointer-events:none;filter:blur(38px)saturate(118%);opacity:.46;position:absolute;inset:-15%;overflow:hidden}.aurora-field i{mix-blend-mode:multiply;will-change:transform;border-radius:48% 52% 55% 45%/52% 45% 55% 48%;width:clamp(380px,52vw,850px);height:clamp(230px,33vw,560px);transition:transform .65s cubic-bezier(.18,.7,.22,1);display:block;position:absolute}.aurora-field i:first-child{transform:translate(var(--aurora-x-1), var(--aurora-y-1)) rotate(12deg);background:radial-gradient(#93ffc09e,#96dbff3d 48%,#0000 72%);top:32%;left:-9%}.aurora-field i:nth-child(2){transform:translate(var(--aurora-x-2), var(--aurora-y-2)) rotate(-18deg);background:radial-gradient(#d4a8ff8a,#ffc1dd45 48%,#0000 72%);top:18%;left:36%}.aurora-field i:nth-child(3){transform:translate(var(--aurora-x-3), var(--aurora-y-3)) rotate(9deg);background:radial-gradient(#ffeb8f7a,#7ecfff33 52%,#0000 74%);bottom:-4%;right:-12%}.hero-title{z-index:3;position:relative}.hero-title>p{color:#111;letter-spacing:-.025em;margin-bottom:4px;font-size:clamp(15px,1.35vw,22px);font-weight:650}.hero-title h1{letter-spacing:-.065em;max-width:880px;font-size:clamp(44px,5vw,78px);font-weight:720;line-height:.98}.hero-title h1 em{color:#111;font-style:normal}.voice-orb{z-index:3;filter:saturate(.9)contrast(1.02);border-radius:50%;width:230px;height:230px;margin:16px 0 12px;position:relative;overflow:hidden}.voice-orb iframe{pointer-events:none;border:0;width:150%;height:150%;position:absolute;top:-25%;left:-25%}.ask-box,.chat-composer{background:#fff;border:1px solid #d3d2cc;align-items:center;display:grid;box-shadow:0 16px 42px #22201914}.ask-box{z-index:3;border-color:#b4b8c094;border-radius:999px;grid-template-columns:44px 1fr 48px;width:min(660px,100vw - 38px);min-height:64px;margin-top:0;padding:7px 9px 7px 15px;position:relative;box-shadow:0 10px 30px #143c6e12}.spark{color:#3b82f6;font-size:17px}.ask-box input,.chat-composer input{background:0 0;border:0;outline:0;min-width:0;font-size:15px}.ask-box input::placeholder,.chat-composer input::placeholder{color:#9b9992}.ask-box button,.chat-composer button{color:#fff;background:#3b82f6;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.ask-box button:hover,.chat-composer button:hover{background:#176fe5;transform:scale(1.03)}.guided-hint{z-index:3;color:#8a8f99;margin-top:9px;font-size:10px;position:relative}.menu-grid{z-index:3;grid-template-columns:repeat(5,1fr);gap:12px;width:min(720px,100vw - 36px);margin-top:16px;display:grid;position:relative}.menu-grid button,.menu-grid a{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#202a3b;background:#ffffffa8;border:1px solid #b4b8c08c;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;height:112px;text-decoration:none;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 8px 24px #1e406e09}.menu-grid button:hover,.menu-grid a:hover{background:#ffffffe6;border-color:#3b82f66b;transform:translateY(-4px);box-shadow:0 15px 30px #1e509617}.menu-grid span{color:#2580f7;font-size:22px;font-weight:500;line-height:1}.menu-grid strong{font-size:13px;font-weight:620}.landing-word{z-index:-1;color:#141a2409;letter-spacing:-.075em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:clamp(110px,17vw,290px);font-weight:800;line-height:.8;position:absolute;bottom:-2vh;left:50%;transform:translate(-50%)}.chatting{height:100vh;overflow:hidden}.chatting .site-header{position:fixed;top:0;left:0}.chat-shell{grid-template-columns:280px minmax(0,1fr);height:100vh;padding-top:78px;display:grid}.chat-sidebar{border-right:1px solid var(--line);background:#f3f2ed;flex-direction:column;min-height:0;padding:32px 26px 26px;display:flex}.chat-sidebar>div:first-child{grid-template-columns:44px 1fr;align-items:center;column-gap:12px;display:grid}.chat-sidebar .avatar{grid-row:1/3;width:44px;height:44px}.chat-sidebar h1{font-size:16px}.chat-sidebar>div:first-child p{color:var(--muted);font-size:11px}.sidebar-copy{color:#62615c;margin-top:28px;font-size:12px;line-height:1.7}.sidebar-nav{gap:4px;margin-top:38px;display:grid}.sidebar-nav span{color:#8a8880;font-family:var(--mono);letter-spacing:.1em;margin-bottom:7px;font-size:9px}.sidebar-nav button{text-align:left;background:0 0;border:0;border-radius:8px;padding:10px 11px;font-size:12px}.sidebar-nav button:hover{background:#fff}.reset-button{background:0 0;border:1px solid #cac9c2;border-radius:9px;margin-top:auto;padding:11px;font-size:12px}.reset-button:hover{border-color:var(--ink);background:#fff}.conversation{background:var(--paper);grid-template-rows:52px minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative}.conversation-head{border-bottom:1px solid var(--line);font-family:var(--mono);letter-spacing:.1em;justify-content:space-between;align-items:center;padding:0 34px;font-size:9px;display:flex}.conversation-head>div{align-items:center;gap:10px;display:flex}.conversation-head button{color:var(--muted);background:0 0;border:0;font-size:10px}.message-list{scrollbar-width:thin;scrollbar-color:#cbc9c1 transparent;padding:36px max(32px,50% - 460px) 150px;overflow-y:auto}.user-message{justify-content:flex-end;align-items:start;gap:12px;max-width:720px;margin:0 0 26px auto;display:flex}.user-message span{color:#9a978e;font-family:var(--mono);letter-spacing:.1em;padding-top:11px;font-size:8px}.user-message p{border:1px solid var(--line);background:#fff;border-radius:16px 16px 3px;padding:10px 15px;font-size:13px}.assistant-message{grid-template-columns:34px minmax(0,1fr);gap:14px;max-width:920px;margin-bottom:54px;animation:.35s both rise;display:grid}.assistant-mark{border:1px solid var(--line);background:#fff;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.answer-document{min-width:0}.answer-kicker{color:var(--accent);font-family:var(--mono);letter-spacing:.11em;font-size:9px}.answer-document>h2{letter-spacing:-.045em;margin-top:9px;font-size:clamp(27px,2.5vw,42px);font-weight:540;line-height:1.15}.answer-document>h2 span{color:#908e86;font-weight:400}.answer-lead{color:#55544f;max-width:790px;margin-top:17px;font-size:14px;line-height:1.75}.answer-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:38px;margin-top:31px;padding-top:25px;display:grid}.answer-document section>h3,.decision h3{margin:7px 0 11px;font-size:15px}.answer-document section>p,.decision p{color:#56554f;font-size:12px;line-height:1.8}.section-no{color:#aaa89f;font-family:var(--mono);letter-spacing:.1em;font-size:9px}.answer-document ul{gap:8px;padding:0;list-style:none;display:grid}.answer-document li{color:#56554f;padding-left:15px;font-size:12px;line-height:1.65;position:relative}.answer-document li:before{content:"—";color:var(--accent);position:absolute;left:0}.decision{background:var(--soft);border-radius:12px;grid-template-columns:32px 1fr;margin:30px 0;padding:20px;display:grid}.decision h3{margin-top:0}.architecture-flow{background:#fff;border:1px solid #c9c8c1;border-radius:12px;grid-template-columns:repeat(5,1fr);margin-top:14px;display:grid;overflow:hidden}.flow-step{border-right:1px solid var(--line);min-width:0;min-height:94px;padding:14px;position:relative}.flow-step:last-child{background:var(--ink);color:#fff;border-right:0}.flow-step:not(:last-child):after{content:"→";z-index:2;color:#8f8d86;background:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:grid;position:absolute;top:36px;right:-8px}.flow-step span{color:#aaa89f;font-family:var(--mono);font-size:8px;display:block}.flow-step strong{margin-top:27px;font-size:10px;line-height:1.35;display:block}.outcome-grid{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:14px;display:grid}.outcome-grid strong{border-right:1px solid var(--line);padding:14px 12px;font-size:11px;font-weight:550;line-height:1.45}.outcome-grid strong:last-child{border-right:0}.tag-row{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.tag-row span{color:#62615c;font-family:var(--mono);background:#efeee8;border-radius:999px;padding:6px 9px;font-size:8px}.article-link{color:var(--accent);align-items:center;gap:7px;margin-top:16px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.article-link svg{width:14px}.project-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:26px;display:grid}.project-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px}.project-card-head{color:#929087;font-family:var(--mono);letter-spacing:.07em;justify-content:space-between;font-size:7px;display:flex}.project-card h3{color:var(--accent);margin-top:23px;font-size:13px}.project-card h4{margin-top:4px;font-size:17px}.project-card p{color:var(--muted);margin-top:9px;font-size:11px;line-height:1.65}.project-card button{background:0 0;border:0;align-items:center;gap:5px;margin-top:16px;padding:0;font-size:10px;font-weight:600;display:flex}.project-card button svg{width:13px}.other-project-list{border-top:1px solid var(--ink);margin-top:28px}.other-project-list>button{cursor:pointer;border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;text-align:left;background:0 0;grid-template-columns:38px 1fr;gap:10px;padding:15px 4px;display:grid}.other-project-list>button:hover h3{color:var(--accent)}.other-project-list>button>b{color:var(--accent);font-family:var(--mono);font-size:9px}.other-project-list>button>div>div{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.other-project-list h3{font-size:13px}.other-project-list time{color:#98968e;font-family:var(--mono);flex-shrink:0;font-size:8px}.other-project-list p{color:var(--muted);margin-top:5px;font-size:11px}.other-project-list em{color:#8e8c84;font-family:var(--mono);margin-top:6px;font-size:8px;font-style:normal;display:block}.personal-work{margin-top:26px}.personal-project-list{margin-top:11px}.detail-modal{width:min(680px,100% - 32px);max-height:min(82vh,820px);color:var(--ink);background:#fff;border:0;border-radius:18px;overflow:auto;box-shadow:0 28px 90px #1514103d}.detail-modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1514106b}.detail-modal .modal-close{z-index:2;float:right;cursor:pointer;border:1px solid var(--line);background:#f5f5f3;border-radius:50%;place-items:center;width:34px;height:34px;font-size:21px;line-height:1;display:grid;position:sticky;top:16px}.detail-modal header{border-bottom:1px solid var(--line);padding:34px 34px 27px}.detail-modal header small,.detail-modal section>span{color:var(--accent);font-family:var(--mono);letter-spacing:.08em;font-size:9px}.detail-modal header h2{letter-spacing:-.045em;max-width:560px;margin-top:10px;font-size:clamp(26px,4vw,42px);line-height:1.1}.detail-modal header p{color:var(--muted);margin-top:14px;font-size:13px;line-height:1.75}.modal-body{gap:0;padding:0 34px 34px;display:grid}.detail-modal section{border-bottom:1px solid var(--line);padding:22px 0}.detail-modal section p,.detail-modal li{color:#55534d;margin-top:8px;font-size:12px;line-height:1.75}.detail-modal ul{gap:3px;padding-left:18px;display:grid}.modal-tags{flex-wrap:wrap;gap:6px;padding-top:22px;display:flex}.modal-tags span{color:#66645d;background:#f1f1ee;border-radius:999px;padding:6px 9px;font-size:9px}.comparison-table{border-top:1px solid var(--ink);margin-top:28px}.comparison-table>div{border-bottom:1px solid var(--line);grid-template-columns:130px 150px 1fr;display:grid}.comparison-table span,.comparison-table strong,.comparison-table b{padding:12px 10px;font-size:11px}.comparison-table b{color:#8f8d85;font-family:var(--mono);letter-spacing:.08em;font-size:8px}.closing-note{border-left:3px solid var(--accent);color:#55544e;background:#f2f1ec;margin-top:22px;padding:18px;font-size:13px}.timeline{border-top:1px solid var(--ink);margin-top:28px}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:150px 250px 1fr;padding:17px 0;display:grid}.timeline time{color:#8d8b83;font-family:var(--mono);font-size:9px}.timeline h3{font-size:13px}.timeline p{color:var(--muted);font-size:11px}.skill-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;display:grid}.skill-grid article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.skill-grid b{color:var(--accent);font-family:var(--mono);font-size:9px}.skill-grid h3{margin-top:19px;font-size:15px}.skill-grid p{color:var(--muted);margin-top:5px;font-size:11px}.intro-metrics{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:28px;display:grid}.intro-metrics article{border-right:1px solid var(--line);padding:16px}.intro-metrics article:last-child{border-right:0}.intro-metrics strong{font-size:25px;display:block}.intro-metrics span{color:var(--muted);font-size:9px}.next-questions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:18px;display:flex}.next-questions>span{color:#939188;font-family:var(--mono);margin-right:3px;font-size:8px}.next-questions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:10px}.contact-list{border-top:1px solid var(--ink);margin-top:28px;display:grid}.contact-list a{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr 24px;align-items:center;padding:15px 6px;text-decoration:none;display:grid}.contact-list a:hover{color:var(--accent)}.contact-list small{color:#99978f;font-family:var(--mono);font-size:8px}.contact-list strong{font-size:12px}.assistant-response{min-width:0;position:relative}.thought-panel{background:#f4f4f2;border:1px solid #d8d7d1;border-radius:12px;margin-bottom:16px;overflow:hidden}.thought-toggle{cursor:pointer;color:#6f6d66;text-align:left;background:0 0;border:0;grid-template-columns:18px auto auto 1fr;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 12px;list-style:none;display:grid}.thought-toggle::-webkit-details-marker{display:none}.thought-toggle>span{color:#4d9148;background:#e4f2df;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;display:grid}.thought-toggle strong{color:#56554f;font-size:11px;font-weight:650}.thought-toggle small{color:#99978f;font-family:var(--mono);font-size:8px}.thought-toggle i{color:#95938b;justify-self:end;font-size:17px;font-style:normal;line-height:1;transition:transform .2s}.thought-panel[open] .thought-toggle i{transform:rotate(180deg)}.thought-panel ol{background:#ffffff73;border-top:1px solid #e2e1dc;gap:8px;margin:0;padding:11px 13px 13px 40px;list-style:none;display:grid}.thought-panel li{color:#77756e;align-items:center;gap:8px;font-size:10px;display:flex}.thought-panel li span{color:#5b9956;font-size:9px}.response-prelude{color:#3f3e39;min-height:1.8em;margin:0 0 20px;font-size:14px;font-weight:520;line-height:1.75}.text-cursor{vertical-align:middle;background:#3b82f6;border-radius:50%;width:6px;height:6px;margin-left:3px;animation:.7s step-end infinite cursor-blink;display:inline-block}.pending{margin-bottom:20px}.thinking-card{border:1px solid var(--line);background:#ffffffdb;border-radius:13px;width:min(420px,100%);padding:14px 16px 13px;box-shadow:0 9px 24px #201f1b0a}.thinking-head{text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:0;display:flex}.thinking-head strong{font-family:var(--mono);letter-spacing:.03em;font-size:10px}.thinking-head small{color:#99978f;font-family:var(--mono);font-size:8px}.thinking-head i{color:#99978f;margin-left:auto;font-size:15px;font-style:normal;line-height:1;transition:transform .2s}.thinking-card.open .thinking-head i{transform:rotate(180deg)}.thinking-spinner{border:1.5px solid #c8c6bf;border-top-color:#3b82f6;border-radius:50%;width:13px;height:13px;animation:.8s linear infinite spin}.thinking-card ol{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.thinking-card li{color:#aaa89f;align-items:center;gap:8px;font-size:10px;transition:color .25s,transform .25s;display:flex}.thinking-card li>span{width:17px;height:17px;font-family:var(--mono);border:1px solid #dcdbd5;border-radius:50%;flex:none;place-items:center;font-size:7px;display:grid}.thinking-card li.active{color:#282722;font-weight:600;transform:translate(2px)}.thinking-card li.active>span{color:#2973db;background:#edf5ff;border-color:#8bb6f5;animation:1s ease-in-out infinite thinking-focus}.thinking-card li.complete{color:#74726b}.thinking-card li.complete>span{color:#4d8a49;background:#e9f3e6;border-color:#cce1c6}.answer-revealing .answer-document{animation:.55s cubic-bezier(.22,.72,.22,1) both answer-reveal}.answer-revealing .answer-document>*{animation:.42s cubic-bezier(.22,.72,.22,1) both stream-block}.answer-revealing .answer-document>:nth-child(2){animation-delay:80ms}.answer-revealing .answer-document>:nth-child(3){animation-delay:.14s}.answer-revealing .answer-document>:nth-child(n+4){animation-delay:.2s}.chat-composer{z-index:5;border-radius:18px;grid-template-columns:42px 1fr 44px;width:min(760px,100% - 64px);min-height:60px;padding:7px 9px 7px 13px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.chat-composer small{color:#a19f97;font-family:var(--mono);font-size:8px;position:absolute;bottom:-18px;right:13px}.chat-composer button:disabled{opacity:.4;cursor:default}@keyframes rise{0%{opacity:0;transform:translateY(7px)}}@keyframes pulse{0%,60%,to{opacity:.28}30%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes thinking-focus{50%{box-shadow:0 0 0 4px #3b82f614}}@keyframes stream-block{0%{opacity:0;filter:blur(2px);transform:translateY(7px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes answer-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes cursor-blink{50%{opacity:.18}}@media (max-width:900px){.chat-shell{grid-template-columns:1fr}.chat-sidebar{display:none}.message-list{padding-inline:24px}.answer-grid{grid-template-columns:1fr;gap:24px}.timeline article{grid-template-columns:130px 1fr;gap:4px 16px}.timeline p{grid-column:2}}@media (max-width:600px){.site-header{height:66px;padding-inline:18px}.site-header nav{gap:14px}.site-header nav a:first-child{display:none}.hero{min-height:100svh;padding:28px 16px 24px}.hero-title h1{font-size:43px}.hero-title>p{font-size:14px}.voice-orb{width:170px;height:170px;margin:12px 0 9px}.ask-box{grid-template-columns:36px 1fr 44px;min-height:60px}.menu-grid{grid-template-columns:repeat(5,minmax(68px,1fr));gap:7px}.menu-grid button,.menu-grid a{border-radius:14px;height:84px}.menu-grid span{font-size:18px}.menu-grid strong{font-size:10px}.chat-shell{padding-top:66px}.conversation{grid-template-rows:46px minmax(0,1fr) auto}.conversation-head{padding-inline:18px}.message-list{padding:24px 16px 140px}.assistant-message{grid-template-columns:27px minmax(0,1fr);gap:9px;margin-bottom:42px}.assistant-mark{width:27px;height:27px}.answer-document>h2{font-size:27px}.project-grid,.skill-grid,.architecture-flow{grid-template-columns:1fr}.flow-step{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:11px 13px}.flow-step:not(:last-child):after{content:"↓";top:auto;bottom:-9px;right:16px}.flow-step strong{margin-top:5px}.outcome-grid,.intro-metrics{grid-template-columns:1fr 1fr}.outcome-grid strong:nth-child(2),.intro-metrics article:nth-child(2){border-right:0}.outcome-grid strong:nth-child(-n+2),.intro-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.comparison-table>div{grid-template-columns:80px 1fr}.comparison-table>div>:last-child{color:var(--muted);grid-column:1/-1;padding-top:0}.timeline article{grid-template-columns:1fr}.timeline p{grid-column:1;margin-top:5px}.other-project-list>button>div>div{flex-direction:column;align-items:start;gap:2px}.detail-modal header,.modal-body{padding-inline:22px}.chat-composer{width:calc(100% - 24px);bottom:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.aurora-field i{transform:none!important}}.portfolio-shell{--aurora-x-1:0px;--aurora-y-1:0px;--aurora-x-2:0px;--aurora-y-2:0px;--aurora-x-3:0px;--aurora-y-3:0px;isolation:isolate;background:var(--color-paper);min-height:100svh;position:relative;overflow:hidden}.portfolio-shell .aurora-field{z-index:0;opacity:.42;transition:opacity var(--dur-long) var(--ease-out);position:absolute;inset:-15%}.portfolio-shell.is-chatting .aurora-field{opacity:.1}.portfolio-shell .aurora-field i:first-child{background:radial-gradient(ellipse at center, var(--color-aurora-mint), var(--color-aurora-sky) 48%, transparent 72%)}.portfolio-shell .aurora-field i:nth-child(2){background:radial-gradient(ellipse at center, var(--color-aurora-violet), var(--color-aurora-rose) 48%, transparent 72%)}.portfolio-shell .aurora-field i:nth-child(3){background:radial-gradient(ellipse at center, var(--color-aurora-sun), var(--color-aurora-sky) 52%, transparent 74%)}.portfolio-stage{z-index:2;width:min(68rem,100%);min-height:100svh;margin-inline:auto;position:relative}.is-landing .portfolio-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:clamp(2rem,5vh,3.5rem) clamp(1rem,3vw,2rem) 2rem;display:flex}.identity-stage{flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.portfolio-shell .hero-title{z-index:3;opacity:1;transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);position:relative;transform:translateY(0)}.portfolio-shell .hero-title>p{color:var(--color-ink);letter-spacing:-.025em;margin-block-end:var(--space-3xs);font-size:clamp(.9375rem,1.35vw,1.375rem);font-weight:650}.portfolio-shell .hero-title h1{overflow-wrap:anywhere;min-width:0;max-width:55rem;color:var(--color-ink);font-size:var(--text-display-s);letter-spacing:-.065em;font-style:normal;font-weight:720;line-height:.98}.portfolio-shell .hero-title h1 em{color:inherit;font-style:normal}.portfolio-shell .voice-orb{z-index:3;width:14.375rem;height:14.375rem;margin:var(--space-sm) 0 var(--space-xs);transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-long) var(--ease-out);border-radius:50%;position:relative;overflow:hidden;transform:translate(0)scale(1)}.guided-composer{z-index:5;border:var(--rule-hairline) solid var(--color-rule-strong);border-radius:var(--radius-input);outline-offset:2px;background:var(--color-surface-glass);width:min(41.25rem,100% - .5rem);min-height:4rem;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);outline:2px solid #0000;grid-template-columns:2.75rem minmax(0,1fr) 3rem;align-items:center;padding:.4375rem .5625rem .4375rem .9375rem;display:grid;position:relative}.guided-composer:focus-within{border-color:var(--color-rule-strong);outline-color:var(--color-focus)}.guided-composer input{min-width:0;color:var(--color-ink);background:0 0;border:0;outline:0;font-size:.9375rem}.guided-composer input::placeholder{color:var(--color-faint)}.guided-composer .spark{color:var(--color-accent)}.guided-composer button{background:var(--color-accent);width:2.75rem;height:2.75rem;color:var(--color-accent-ink);transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border:0;border-radius:50%;place-items:center;display:grid}.guided-composer button:active{transform:translateY(1px)scale(.98)}.guided-composer button:disabled{cursor:not-allowed;opacity:.45}:is(.guided-composer button:focus-visible,.menu-grid button:focus-visible,.menu-grid a:focus-visible,.conversation-head button:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.portfolio-shell .guided-hint{z-index:3;color:var(--color-faint);font-family:var(--font-mono);letter-spacing:.04em;margin-block-start:var(--space-2xs);font-size:.625rem;position:relative}.portfolio-shell .menu-grid{z-index:3;width:min(45rem,100% - .25rem);gap:var(--space-xs);grid-template-columns:repeat(5,minmax(0,1fr));margin-block-start:var(--space-sm);display:grid;position:relative}.portfolio-shell .menu-grid button,.portfolio-shell .menu-grid a{justify-content:center;align-items:center;gap:var(--space-2xs);border:var(--rule-hairline) solid var(--color-rule-strong);border-radius:var(--radius-card);background:var(--color-surface-glass);min-width:0;height:7rem;box-shadow:var(--shadow-card);color:var(--color-ink-soft);transition:transform var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.portfolio-shell .menu-grid span{color:var(--color-accent);font-size:1.375rem;line-height:1}.portfolio-shell .menu-grid strong{white-space:nowrap;font-size:.8125rem;font-weight:620}.portfolio-shell .landing-word{z-index:-1;color:var(--color-wordmark);letter-spacing:-.075em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:clamp(6.875rem,17vw,18.125rem);font-weight:800;line-height:.8;position:absolute;inset-block-end:-2vh;inset-inline-start:50%;transform:translate(-50%)}.is-chatting .portfolio-stage{height:100svh;min-height:0;padding:var(--space-xs) clamp(.75rem, 3vw, 2rem) var(--space-sm);grid-template-rows:4.75rem minmax(0,1fr) auto auto auto;grid-template-columns:minmax(0,1fr);display:grid}.is-chatting .identity-stage{grid-row:1;min-height:0}.is-chatting .hero-title{opacity:0;pointer-events:none;position:absolute;transform:translateY(-.75rem)}.is-chatting .voice-orb{margin:0;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)scale(.3)}.is-chatting .conversation{border-block:var(--rule-hairline) solid var(--color-rule);background:color-mix(in oklch, var(--color-paper) 88%, transparent);grid-row:2;grid-template-rows:2.5rem minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.is-chatting .conversation-head{padding-inline:var(--space-xs);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.1em;border:0;justify-content:space-between;align-items:center;font-size:.5625rem;display:flex}.is-chatting .conversation-head>div{align-items:center;gap:var(--space-2xs);display:flex}.is-chatting .conversation-head button{min-height:2.75rem;padding-inline:var(--space-xs);color:var(--color-muted);white-space:nowrap;background:0 0;border:0;font-size:.6875rem}.is-chatting .message-list{padding:var(--space-md) clamp(.25rem, 2vw, var(--space-md)) var(--space-xl);scrollbar-width:thin;scrollbar-color:var(--color-rule-strong) transparent;overflow-y:auto}.is-chatting .user-message{max-width:44rem;margin-block-end:var(--space-lg)}.is-chatting .user-message p{border-color:var(--color-rule);background:var(--color-surface);box-shadow:var(--shadow-card)}.is-chatting .assistant-message{max-width:58rem;margin-block-end:var(--space-xl);margin-inline:auto}.is-chatting .assistant-mark{color:var(--color-accent);border-radius:50%}.is-chatting .answer-kicker,.is-chatting .project-card h3,.is-chatting .skill-grid b,.is-chatting .other-project-list>button>b,.is-chatting .article-link{color:var(--color-accent)}.is-chatting .answer-document>h2 span{color:var(--color-faint)}.is-chatting .answer-lead,.is-chatting .answer-document section>p,.is-chatting .decision p,.is-chatting .project-card p,.is-chatting .timeline p{color:var(--color-muted)}.is-chatting .decision,.is-chatting .thought-panel{background:var(--color-soft)}.is-chatting .menu-grid{margin-block:var(--space-xs) var(--space-2xs);place-self:end center;gap:var(--space-2xs);grid-row:3}.is-chatting .menu-grid button,.is-chatting .menu-grid a{border-radius:var(--radius-pill);background:var(--color-surface-glass);flex-direction:row;gap:.375rem;height:3rem}.is-chatting .menu-grid span{font-size:.9375rem}.is-chatting .menu-grid strong{font-size:.6875rem}.is-chatting .guided-composer{grid-row:4;justify-self:center;min-height:3.75rem}.is-chatting .guided-hint{grid-row:5;justify-self:center;margin-block-start:.375rem}.is-chatting .landing-word{opacity:.45}@media (hover:hover) and (pointer:fine){.guided-composer button:hover{background:var(--color-accent-deep);transform:translateY(-1px)}.portfolio-shell .menu-grid button:hover,.portfolio-shell .menu-grid a:hover{border-color:var(--color-accent);background:var(--color-surface);transform:translateY(-2px)}.conversation-head button:hover{color:var(--color-ink)}}@media (max-width:48rem){.is-landing .portfolio-stage{padding-inline:var(--space-sm)}.portfolio-shell .hero-title h1{font-size:clamp(2.65rem,13vw,4rem)}.portfolio-shell .hero-title>p{font-size:.875rem}.portfolio-shell .voice-orb{width:10.75rem;height:10.75rem}.portfolio-shell .menu-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.375rem}.portfolio-shell .menu-grid button,.portfolio-shell .menu-grid a{border-radius:.875rem;height:5.25rem}.portfolio-shell .menu-grid span{font-size:1rem}.portfolio-shell .menu-grid strong{font-size:.6rem}.is-chatting .portfolio-stage{padding:.375rem var(--space-xs) var(--space-xs);grid-template-rows:3.5rem minmax(0,1fr) auto auto auto}.is-chatting .voice-orb{transform:translate(-50%,-50%)scale(.25)}.is-chatting .conversation{grid-template-rows:2.5rem minmax(0,1fr)}.is-chatting .message-list{padding:var(--space-sm) 0 var(--space-lg)}.is-chatting .assistant-message{gap:var(--space-2xs);grid-template-columns:1.75rem minmax(0,1fr)}.is-chatting .menu-grid button,.is-chatting .menu-grid a{border-radius:var(--radius-pill);height:2.75rem}.is-chatting .guided-composer{min-height:3.5rem;grid-template-columns:2.25rem minmax(0,1fr) 2.75rem;padding-inline-start:var(--space-xs)}.is-chatting .guided-hint{font-size:.5rem}}@media (max-width:23.4375rem){.portfolio-shell .menu-grid strong{font-size:.55rem}.is-chatting .portfolio-stage{padding-inline:var(--space-2xs)}.is-chatting .assistant-mark{display:none}.is-chatting .assistant-message{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.portfolio-shell .hero-title,.portfolio-shell .voice-orb,.portfolio-shell .aurora-field{transition-duration:var(--dur-fast);transition-property:opacity}}.intro-answer{gap:var(--space-lg);display:grid}.intro-profile{gap:var(--space-lg);grid-template-columns:minmax(11rem,14rem) minmax(0,1fr);align-items:center;display:grid}.intro-profile figure{border-radius:var(--radius-project);background:var(--color-soft);min-height:14rem;box-shadow:var(--shadow-card);margin:0;overflow:hidden}.intro-profile figure img{object-fit:cover;width:100%;height:100%;min-height:14rem;display:block}.intro-profile-copy{min-width:0}.intro-profile-copy .answer-kicker{margin-block-end:var(--space-2xs)}.intro-profile-copy h2{letter-spacing:-.065em;margin:0;font-size:clamp(2.25rem,5vw,4.5rem);line-height:.95}.intro-profile-copy .intro-role{margin-block:var(--space-xs) var(--space-sm);color:var(--color-faint);font-size:var(--text-sm);font-weight:650}.intro-profile-copy>p:not(.intro-role){max-width:60ch;color:var(--color-muted);font-size:var(--text-md);line-height:1.65}.intro-profile-copy>.intro-statement{font-size:var(--text-sm);margin-block-start:var(--space-2xs)}.profile-tags{gap:var(--space-2xs);flex-wrap:wrap;margin-block-start:var(--space-sm);display:flex}.profile-tags span{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);font-size:var(--text-xs);font-weight:650}.intro-statement{max-width:65ch;color:var(--color-muted);font-size:var(--text-lg);line-height:1.65}.intro-statement strong{color:var(--color-ink)}.projects-answer{min-width:0}.project-showcase{min-width:0;margin-block-start:var(--space-lg)}.project-showcase-track{gap:var(--space-sm);overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;grid-auto-columns:calc(33.3333% - .666667rem);grid-auto-flow:column;display:grid;overflow-x:auto}.project-showcase-track::-webkit-scrollbar{display:none}.project-showcase-card{min-width:0;min-height:18rem;padding:var(--space-md);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-project);background:var(--color-soft);text-align:left;scroll-snap-align:start;box-shadow:var(--shadow-card);transition:transform var(--dur-short) var(--ease-out);grid-template-rows:auto auto minmax(8rem,1fr) auto;display:grid;position:relative;overflow:hidden}.project-showcase-meritz{background:var(--color-brand-meritz)}.project-showcase-hanwha{background:var(--color-brand-hanwha)}.project-showcase-shinhan{background:var(--color-brand-shinhan)}.project-showcase-posco{background:var(--color-brand-posco)}.project-showcase-card>span{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.06em;white-space:nowrap;font-weight:650}.project-showcase-card>strong{overflow-wrap:anywhere;min-width:0;font-size:var(--text-xl);letter-spacing:-.045em;margin-block-start:var(--space-3xs);line-height:1.05}.project-showcase-card>img{object-fit:contain;align-self:center;width:82%;max-height:7rem;margin-inline:auto}.project-showcase-card>small{max-width:calc(100% - 2.5rem);color:var(--color-ink-soft);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.project-showcase-card>i{right:var(--space-md);bottom:var(--space-md);background:var(--color-surface-glass);width:2rem;height:2rem;color:var(--color-ink);border-radius:50%;place-items:center;display:grid;position:absolute}.project-showcase-card>i svg{width:1rem}.project-showcase-card:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.project-showcase-card:active{transform:scale(.985)}.project-showcase-card:disabled{cursor:not-allowed;opacity:.45}.project-showcase-controls{justify-content:flex-end;gap:var(--space-2xs);margin-block-start:var(--space-sm);display:flex}.project-showcase-controls button{background:var(--color-soft);width:2.75rem;height:2.75rem;color:var(--color-muted);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0;border-radius:50%;place-items:center;display:grid}.project-showcase-controls .previous svg{transform:rotate(180deg)}.project-showcase-controls button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.project-showcase-controls button:active{transform:scale(.92)}.project-showcase-controls button:disabled{cursor:not-allowed;opacity:.35}@media (hover:hover) and (pointer:fine){.project-showcase-card:hover{transform:translateY(-.25rem)}.project-showcase-controls button:hover{background:var(--color-ink);color:var(--color-surface)}}@media (max-width:64rem){.project-showcase-track{grid-auto-columns:calc(50% - .5rem)}}@media (max-width:48rem){.intro-answer{gap:var(--space-md)}.intro-profile{gap:var(--space-sm);grid-template-columns:8rem minmax(0,1fr);align-items:start}.intro-profile figure,.intro-profile figure img{min-height:10.5rem}.intro-profile-copy h2{font-size:2.4rem}.intro-profile-copy>p:last-of-type{font-size:var(--text-sm);line-height:1.6}.profile-tags{gap:var(--space-3xs)}.profile-tags span{padding-inline:var(--space-2xs);font-size:.625rem}.intro-statement{font-size:var(--text-md)}.project-showcase-track{grid-auto-columns:82%}.project-showcase-card{min-height:17rem;padding:var(--space-sm)}.project-showcase-card>i{right:var(--space-sm);bottom:var(--space-sm)}}@media (max-width:30rem){.intro-profile{grid-template-columns:1fr}.intro-profile figure{border-radius:50%;width:8.5rem;min-height:8.5rem}.intro-profile figure img{aspect-ratio:1;min-height:8.5rem}.project-showcase-track{grid-auto-columns:88%}}@media (prefers-reduced-motion:reduce){.project-showcase-track{scroll-behavior:auto}.project-showcase-card,.project-showcase-controls button{transition:none}}.answer-document h2,.hero-title h1{overflow-wrap:anywhere;min-width:0}.project-showcase-track{scroll-snap-type:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row;overflow:visible}.project-showcase-card{scroll-snap-align:none;grid-template-rows:auto auto minmax(4rem,1fr) auto;min-height:13rem}.project-showcase-card>img{max-height:4.5rem}@media (max-width:48rem){.project-showcase-track{grid-template-columns:repeat(2,minmax(0,1fr))}.project-showcase-card{min-height:12rem}.project-showcase-card>strong{font-size:var(--text-md)}.project-showcase-card>img{max-height:3.5rem}.project-showcase-card>small{font-size:var(--text-xs)}}.voice-orb-home{z-index:2;cursor:pointer;background:0 0;border:0;border-radius:50%;position:absolute;inset:0}.voice-orb-home:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.voice-orb-home:active{transform:scale(.96)}.voice-orb-home:disabled{cursor:not-allowed;opacity:.45}@media (hover:hover) and (pointer:fine){.voice-orb-home:hover{background:color-mix(in oklch, transparent 92%, var(--color-surface))}}@media (prefers-reduced-motion:reduce){.voice-orb-home:active{transform:none}}
