:root{--bg:#0d0d0d;--bg-2:#111;--bg-card:#161616;--text:#e4e4e4;--text-2:#888;--text-muted:#444;--accent:#c8a97e;--accent-dim:#c8a97e26;--border:#ffffff12;--sidebar-w:220px;--social-w:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:18px}body{background:var(--bg);color:var(--text);font-family:Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif;font-size:1rem;font-weight:300;line-height:1.75;overflow-x:hidden}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-muted)}.portfolio-root{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--bg);border-right:1px solid var(--border);z-index:100;flex-direction:column;align-items:flex-start;height:100vh;padding:2.5rem 1.75rem;display:flex;position:fixed;top:0;left:0}.logo-mark{letter-spacing:.12em;color:var(--text);border:1px solid var(--border);justify-content:center;align-items:center;width:48px;height:40px;margin-bottom:3rem;font-family:Cormorant Garamond,serif;font-size:.8rem;font-weight:500;transition:border-color .3s;display:flex}.logo-mark:hover{border-color:var(--accent)}.sidebar-nav{flex-direction:column;flex:1;gap:.15rem;width:100%;display:flex}.nav-btn{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.65rem .5rem;font-family:Noto Sans KR,sans-serif;font-size:.8rem;font-weight:400;transition:color .3s;display:flex}.nav-btn:hover{color:var(--text-2)}.nav-btn.active{color:var(--accent)}.nav-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:4px;height:4px;transition:background .3s,transform .3s}.nav-btn.active .nav-dot{background:var(--accent);transform:scale(1.5)}.sidebar-extra-link{width:100%;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--border);align-items:center;gap:.75rem;padding:1.1rem .5rem .65rem;font-family:Noto Sans KR,sans-serif;font-size:.8rem;font-weight:400;text-decoration:none;transition:color .3s;display:flex}.sidebar-extra-link-sub{border-top:none;margin-bottom:1.5rem;padding-top:.3rem}.sidebar-extra-link:hover{color:var(--accent)}.sidebar-extra-link:hover .nav-dot{background:var(--accent)}.sidebar-extra-arrow{color:var(--accent);margin-left:auto;font-size:.75rem}.sidebar-footer{color:var(--text-muted);letter-spacing:.08em;font-size:.65rem;line-height:1.6}.main-content{margin-left:var(--sidebar-w);margin-right:var(--social-w);width:calc(100% - var(--sidebar-w) - var(--social-w))}.section{align-items:center;min-height:100vh;display:flex}.section-inner{width:100%;max-width:860px;margin:0 auto;padding:7rem 4rem}.section-header{align-items:baseline;gap:1rem;margin-bottom:3.5rem;display:flex}.section-num{color:var(--accent);letter-spacing:.12em;font-family:Cormorant Garamond,serif;font-size:.8rem;font-weight:400}.section-title{letter-spacing:.04em;color:var(--text);font-family:Cormorant Garamond,serif;font-size:2.4rem;font-weight:400;line-height:1}.section-title:after{content:"";background:var(--accent);width:36px;height:1px;margin-top:.85rem;display:block}.hero{background:var(--bg);position:relative;overflow:hidden}.hero-inner{grid-template-columns:1fr 420px;align-items:stretch;gap:0;width:100%;min-height:100vh;display:grid}.hero-text{flex-direction:column;justify-content:center;padding:6rem 4rem;display:flex}.hero-photo-wrap{position:relative;overflow:hidden}.hero-photo-overlay{background:linear-gradient(to right,var(--bg)0%,transparent 18%),linear-gradient(to top,var(--bg)0%,transparent 20%);z-index:1;position:absolute;inset:0}.hero-eyebrow{color:var(--text-2);letter-spacing:.15em;white-space:nowrap;align-items:center;gap:1.5rem;margin-bottom:1.75rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;font-weight:400;display:flex}.hero-line{background:var(--text-muted);width:80px;height:1px;display:inline-block}.hero-title{letter-spacing:-.01em;color:var(--text);margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,6.5vw,5.5rem);font-weight:300;line-height:1.1}.hero-title em{color:var(--text);letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-size:1.05em;font-style:italic;font-weight:300;line-height:1.15;display:block}.hero-desc{color:var(--text-2);max-width:480px;margin-bottom:3rem;font-size:.85rem;line-height:1.85}.cta-btn{color:var(--text);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff40;align-items:center;gap:.75rem;padding:.9rem 2.75rem;font-family:Noto Sans KR,sans-serif;font-size:.7rem;font-weight:400;transition:border-color .3s,background .3s,color .3s;display:inline-flex}.cta-btn:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.about{background:var(--bg-2)}.about-grid{grid-template-columns:1fr .9fr;align-items:start;gap:4rem;display:grid}.about-text{flex-direction:column;gap:1.2rem;display:flex}.about-text p{color:var(--text-2);word-break:keep-all;overflow-wrap:break-word;font-size:.95rem;line-height:1.9}.about-text strong{color:var(--text);font-weight:500}.about-highlight{border:1px solid #c8a97e4d;border-left:3px solid var(--accent);background:#c8a97e0a;padding:1.5rem 1.75rem}.about-highlight-main{margin-bottom:1.1rem;line-height:1.75;color:var(--text)!important;font-size:.92rem!important}.about-highlight-main em{color:var(--accent);font-style:normal;font-weight:500}.about-highlight-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.about-highlight-list li{grid-template-columns:72px 1fr;align-items:baseline;gap:.75rem;font-size:.82rem;line-height:1.6;display:grid}.hl-cat{color:var(--accent);letter-spacing:.06em;white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:500}.hl-stack{color:var(--text-2);word-break:keep-all;overflow-wrap:break-word}.about-info{border-left:1px solid var(--border);flex-direction:column;gap:1.75rem;padding-left:2.5rem;display:flex}.info-item{flex-direction:column;gap:.35rem;display:flex}.info-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:.7rem;font-weight:500}.info-val{color:var(--text);word-break:keep-all;overflow-wrap:break-word;font-size:.88rem}.info-sub{color:var(--text-muted);letter-spacing:.04em;margin-top:.1rem;font-size:.75rem;font-style:italic}.info-link{color:var(--text);font-size:.84rem;text-decoration:none;transition:color .2s}.info-link:hover{color:var(--accent)}.expo-gallery{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem;display:grid}.expo-photo-wrap{border:1px solid var(--border);height:240px;position:relative;overflow:hidden}.expo-photo-wrap img{transition:transform .5s}.expo-photo-wrap:hover img{transform:scale(1.04)}.expo-photo-label{z-index:2;background:linear-gradient(#0000 0%,#000000d9 100%);flex-direction:column;gap:.2rem;padding:1.5rem 1.25rem 1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.expo-label-event{color:var(--accent);letter-spacing:.06em;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:500}.expo-label-place{color:#ffffffb3;letter-spacing:.08em;font-size:.72rem}.skills{background:var(--bg)}.skills-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border);padding:2rem;transition:border-color .3s}.skill-card:hover{border-color:#c8a97e40}.skill-cat{color:var(--accent);letter-spacing:.06em;margin-bottom:1.1rem;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:500}.skill-tags{flex-wrap:wrap;gap:.45rem;display:flex}.skill-tag{border:1px solid var(--border);color:var(--text-2);letter-spacing:.04em;padding:.3rem .75rem;font-size:.7rem;transition:border-color .2s,color .2s}.skill-tag:hover{color:var(--text);border-color:#c8a97e66}.projects{background:var(--bg-2)}.projects-list{flex-direction:column;gap:2rem;display:flex}.project-card{background:var(--bg-card);border:1px solid var(--border);border-left:2px solid var(--accent);padding:2.5rem;transition:transform .3s,border-color .3s}.project-card:hover{border-top-color:#c8a97e4d;transform:translate(5px)}.project-header{flex-wrap:wrap;align-items:baseline;gap:1.25rem;margin-bottom:.5rem;display:flex}.project-name{letter-spacing:.04em;color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:500}.project-badge{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;border:1px solid #c8a97e4d;padding:.2rem .65rem;font-size:.65rem}.project-role{color:var(--text-muted);letter-spacing:.05em;margin-bottom:1rem;font-size:.75rem;font-style:italic}.project-desc{color:var(--text-2);word-break:keep-all;overflow-wrap:break-word;margin-bottom:1.5rem;font-size:.9rem;line-height:1.85}.project-stacks{flex-wrap:wrap;gap:.5rem;display:flex}.stack-tag{background:var(--accent-dim);color:var(--accent);letter-spacing:.04em;border:1px solid #c8a97e33;padding:.2rem .65rem;font-size:.68rem}.award-banner{background:#c8a97e0f;border:1px solid #c8a97e59;align-items:center;gap:1rem;margin:1.25rem 0;padding:1rem 1.25rem;text-decoration:none;transition:background .3s,border-color .3s;display:flex}.award-banner:hover{background:#c8a97e1f;border-color:#c8a97e99}.award-icon{flex-shrink:0;font-size:1.25rem}.award-text{flex-direction:column;flex:1;gap:.2rem;display:flex}.award-title{color:var(--text-2);letter-spacing:.04em;font-size:.75rem}.award-result{color:var(--accent);letter-spacing:.04em;font-size:.88rem;font-weight:500}.award-arrow{color:var(--accent);flex-shrink:0;font-size:.85rem}.project-images{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.project-img-wrap{border:1px solid var(--border);background:var(--bg-2);text-decoration:none;display:block;overflow:hidden}.project-img-wrap img{width:100%;height:auto;transition:opacity .3s,transform .3s;display:block}.project-img-wrap:hover img{opacity:.9;transform:scale(1.01)}.project-qna-card{background:var(--bg-2);border:1px solid #c8a97e40;flex-direction:column;justify-content:center;align-items:flex-start;gap:.3rem;padding:1.25rem 1.5rem;text-decoration:none;transition:border-color .3s,background .3s;display:flex;position:relative}.project-qna-card:hover{border-color:var(--accent);background:#c8a97e0f}.project-qna-icon{margin-bottom:.25rem;font-size:1.5rem}.project-qna-label{color:var(--text);letter-spacing:.04em;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:500}.project-qna-sub{color:var(--text-muted);letter-spacing:.04em;font-size:.72rem}.project-qna-arrow{color:var(--accent);font-size:.85rem;position:absolute;top:1rem;right:1rem}.project-link-row{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.project-link{letter-spacing:.15em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.7rem;text-decoration:none;transition:border-color .3s,color .3s,background .3s;display:inline-flex}.project-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.docs{background:var(--bg-2)}.doc-resume{background:#c8a97e12;border:1px solid #c8a97e66;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding:1.5rem 2rem;text-decoration:none;transition:background .3s,border-color .3s;display:flex}.doc-resume:hover{border-color:var(--accent);background:#c8a97e21}.doc-resume-left{align-items:center;gap:1.25rem;display:flex}.doc-resume-icon{font-size:1.75rem}.doc-resume-name{color:var(--text);letter-spacing:.04em;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500}.doc-resume-sub{color:var(--text-muted);letter-spacing:.06em;margin-top:.2rem;font-family:Courier New,monospace;font-size:.72rem}.doc-resume-btn{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);border:1px solid #c8a97e66;padding:.5rem 1.25rem;font-size:.75rem;transition:background .2s}.doc-resume:hover .doc-resume-btn{background:var(--accent);color:var(--bg)}.doc-board{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.doc-col-header{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.doc-col-icon{color:var(--accent);font-size:.9rem}.doc-col-title{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:500}.doc-list{flex-direction:column;gap:.4rem;display:flex}.doc-item{background:var(--bg-card);border:1px solid var(--border);grid-template-columns:28px 1fr 24px;align-items:center;gap:.6rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .25s,transform .2s;display:grid}.doc-item:hover{border-color:#c8a97e59;transform:translate(3px)}.doc-item-icon{text-align:center;font-size:1rem}.doc-item-name{color:var(--text);word-break:keep-all;font-size:.85rem}.doc-item-arrow{color:var(--accent);text-align:right;font-size:.75rem}@media (max-width:768px){.doc-board{grid-template-columns:1fr}}.contact{background:var(--bg)}.contact-inner{text-align:center;flex-direction:column;align-items:center;display:flex}.contact-inner .section-header{text-align:center;flex-direction:column;align-items:center}.contact-inner .section-title:after{margin:.85rem auto 0}.contact-sub{color:var(--text-2);max-width:460px;margin-bottom:3rem;font-size:.875rem;line-height:1.9}.contact-links{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.contact-link{border:1px solid var(--border);color:var(--text);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.75rem;padding:1rem 2.25rem;font-size:.72rem;text-decoration:none;transition:border-color .3s,background .3s,color .3s;display:flex}.contact-link:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.contact-icon{color:var(--accent);font-size:1rem;line-height:1}.youtube-icon{flex-shrink:0;display:block}.download-section{text-align:left;width:100%;max-width:560px;margin-top:3rem}.download-title{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:.7rem}.download-list{flex-direction:column;gap:.6rem;display:flex}.download-btn{background:var(--bg-card);border:1px solid var(--border);grid-template-columns:44px 1fr 32px;align-items:center;gap:0;padding:0;text-decoration:none;transition:border-color .3s,transform .2s;display:grid;overflow:hidden}.download-btn:hover{border-color:#c8a97e73;transform:translate(3px)}.download-btn:hover .dl-arrow{background:var(--accent);color:var(--bg)}.dl-icon{border-right:1px solid var(--border);height:100%;min-height:56px;color:var(--accent);background:#c8a97e12;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.dl-info{flex-direction:column;gap:.2rem;padding:.85rem 1rem;display:flex}.dl-name{color:var(--text);letter-spacing:.02em;font-size:.83rem;font-weight:400}.dl-sub{color:var(--text-muted);letter-spacing:.04em;font-family:Courier New,monospace;font-size:.63rem}.dl-arrow{border-left:1px solid var(--border);height:100%;min-height:56px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;transition:background .25s,color .25s;display:flex}.social-bar{width:var(--social-w);z-index:100;border-left:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;height:100vh;display:flex;position:fixed;top:0;right:0}.social-label{letter-spacing:.28em;color:var(--text-muted);writing-mode:vertical-lr;text-orientation:mixed;text-transform:uppercase;font-size:.58rem;transform:rotate(180deg)}.social-links{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.social-icon{letter-spacing:.08em;color:var(--text-muted);font-size:.62rem;font-weight:500;text-decoration:none;transition:color .25s}.social-icon:hover{color:var(--accent)}@media (max-width:768px){.sidebar,.social-bar{display:none}.main-content{width:100%;margin-left:0;margin-right:0}.section-inner{padding:5rem 1.75rem}.hero-inner{grid-template-columns:1fr;min-height:100vh}.hero-text{order:2;padding:5rem 1.75rem 3rem}.hero-photo-wrap{order:1;height:55vw;min-height:220px}.hero-photo-overlay{background:linear-gradient(to bottom,transparent 60%,var(--bg)100%)}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-info{border-left:none;border-top:1px solid var(--border);padding-top:2rem;padding-left:0}.skills-grid{grid-template-columns:1fr}.hero-title{font-size:clamp(2.5rem,10vw,4rem)}.project-images,.expo-gallery{grid-template-columns:1fr}.expo-photo-wrap{height:200px}}.xl-root{max-width:920px;margin:0 auto;padding:4rem 1.5rem 6rem}.xl-back{letter-spacing:.1em;color:var(--text-2);margin-bottom:2.5rem;font-size:.72rem;text-decoration:none;transition:color .25s;display:inline-block}.xl-back:hover{color:var(--accent)}.xl-title{letter-spacing:.02em;color:var(--text);font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:400;line-height:1.1}.xl-title em{color:var(--accent);font-style:italic}.xl-sub{color:var(--text-2);word-break:keep-all;max-width:640px;margin-top:1rem;font-size:.9rem;line-height:1.9}.xl-sub strong{color:var(--text);font-weight:500}.xl-searchbar{background:var(--bg-card);z-index:20;border:1px solid #c8a97e4d;border-radius:2px;align-items:center;gap:.75rem;margin-top:2.5rem;padding:.35rem .5rem .35rem 1.1rem;display:flex;position:sticky;top:1rem;box-shadow:0 8px 24px #00000073}.xl-search-icon{color:var(--accent);flex-shrink:0;font-size:1.2rem}.xl-search{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:.7rem 0;font-family:Noto Sans KR,sans-serif;font-size:.95rem}.xl-search::placeholder{color:var(--text-muted)}.xl-clear{border:1px solid var(--border);color:var(--text-2);letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;padding:.45rem .85rem;font-size:.7rem;transition:color .2s,border-color .2s}.xl-clear:hover{color:var(--accent);border-color:var(--accent)}.xl-quick{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.xl-quick-label{color:var(--text-muted);letter-spacing:.05em;margin-right:.25rem;font-size:.72rem}.xl-quick-chip{color:var(--accent);cursor:pointer;background:#c8a97e0f;border:1px solid #c8a97e47;border-radius:999px;padding:.4rem .9rem;font-size:.76rem;transition:background .2s,border-color .2s}.xl-quick-chip:hover{border-color:var(--accent);background:#c8a97e29}.xl-cats{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-top:1.75rem;padding-bottom:1.25rem;display:flex}.xl-cat{letter-spacing:.03em;border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:2px;padding:.4rem .85rem;font-size:.76rem;transition:color .2s,border-color .2s,background .2s}.xl-cat:hover{color:var(--text);border-color:#c8a97e66}.xl-cat.active{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:500}.xl-count{color:var(--text-muted);letter-spacing:.04em;margin:1.5rem 0 1rem;font-size:.75rem}.xl-empty{text-align:center;color:var(--text-2);padding:3rem 1rem}.xl-empty-sub{color:var(--text-muted);margin-top:.5rem;font-size:.82rem}.xl-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.xl-card{background:var(--bg-card);border:1px solid var(--border);border-left:2px solid #c8a97e80;flex-direction:column;min-width:0;padding:1.75rem;transition:border-color .25s,transform .2s;display:flex}.xl-card:hover{border-left-color:var(--accent);transform:translateY(-2px)}.xl-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.xl-name{letter-spacing:.02em;color:var(--text);flex-wrap:wrap;align-items:center;gap:.55rem;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:600;display:flex}.xl-hot{letter-spacing:.08em;color:var(--accent);border:1px solid #c8a97e66;border-radius:999px;padding:.1rem .5rem;font-family:Noto Sans KR,sans-serif;font-size:.6rem;font-weight:400}.xl-card-title{color:var(--text-2);word-break:keep-all;margin-top:.3rem;font-size:.82rem;line-height:1.5}.xl-badge{letter-spacing:.06em;color:var(--accent);background:var(--accent-dim);white-space:nowrap;border:1px solid #c8a97e33;border-radius:2px;flex-shrink:0;padding:.2rem .55rem;font-size:.62rem}.xl-desc{color:var(--text-2);word-break:keep-all;margin-bottom:1.1rem;font-size:.83rem;line-height:1.8}.xl-snippets{flex-direction:column;gap:.6rem;display:flex}.xl-snippet{background:var(--bg-2);border:1px solid var(--border);border-radius:2px;padding:.75rem .85rem}.xl-formula-row{align-items:center;gap:.6rem;min-width:0;display:flex}.xl-formula{color:#e8d9bf;white-space:nowrap;flex:1;min-width:0;padding:.15rem 0;font-family:Courier New,monospace;font-size:.82rem;overflow-x:auto}.xl-formula::-webkit-scrollbar{height:2px}.xl-copy{letter-spacing:.04em;color:var(--accent);cursor:pointer;background:0 0;border:1px solid #c8a97e59;border-radius:2px;flex-shrink:0;padding:.35rem .7rem;font-size:.68rem;transition:background .2s,color .2s,border-color .2s}.xl-copy:hover{background:var(--accent-dim)}.xl-copy.copied{background:var(--accent);color:var(--bg);border-color:var(--accent)}.xl-snippet-meta{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.55rem;display:flex}.xl-result{color:var(--text);font-family:Courier New,monospace;font-size:.74rem}.xl-arrow{color:var(--accent);border:1px solid #c8a97e4d;border-radius:2px;margin-right:.3rem;padding:.05rem .35rem;font-family:Noto Sans KR,sans-serif;font-size:.62rem}.xl-note{color:var(--text-muted);word-break:keep-all;font-size:.73rem;line-height:1.5}.xl-tips{border-top:1px dashed var(--border);flex-direction:column;gap:.45rem;margin-top:1rem;padding-top:.9rem;list-style:none;display:flex}.xl-tips li{color:var(--text-2);word-break:keep-all;padding-left:1.1rem;font-size:.76rem;line-height:1.6;position:relative}.xl-tips li:before{content:"💡";font-size:.7rem;position:absolute;left:0}.xl-guide{background:#c8a97e0d;border:1px solid #c8a97e40;border-radius:2px;margin-top:3.5rem;padding:2rem}.xl-guide-title{color:var(--accent);margin-bottom:1.25rem;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:500}.xl-guide-list{flex-direction:column;gap:.75rem;padding-left:1.25rem;display:flex}.xl-guide-list li{color:var(--text-2);word-break:keep-all;font-size:.85rem;line-height:1.75}.xl-guide-list strong{color:var(--text);font-weight:500}.xl-footer{text-align:center;color:var(--text-muted);letter-spacing:.03em;margin-top:3rem;font-size:.8rem}.xl-scenario{color:var(--text-muted);word-break:keep-all;background:#ffffff05;border-left:2px solid #c8a97e59;margin-top:.85rem;padding:.7rem .9rem;font-size:.78rem;line-height:1.7}.xl-scenario b{color:var(--text-2);font-weight:500}.xl-modern{letter-spacing:.06em;color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-family:Noto Sans KR,sans-serif;font-size:.6rem;font-weight:400}.xl-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.5rem;display:flex}.xl-star{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:1.35rem;line-height:1;transition:color .2s,transform .15s}.xl-star:hover{color:var(--accent);transform:scale(1.2)}.xl-star.on{color:var(--accent)}.xl-steps{background:#c8a97e0d;border:1px solid #c8a97e47;border-radius:2px;margin-bottom:1.1rem;overflow:hidden}.xl-steps-summary{cursor:pointer;color:var(--accent);letter-spacing:.02em;-webkit-user-select:none;user-select:none;padding:.7rem .9rem;font-size:.8rem;font-weight:500;list-style:none}.xl-steps-summary::-webkit-details-marker{display:none}.xl-steps-summary:after{content:" ▾";color:var(--text-muted)}.xl-steps[open] .xl-steps-summary:after{content:" ▴"}.xl-steps-list{counter-reset:step;flex-direction:column;gap:.5rem;padding:.2rem 1.1rem .95rem 2.1rem;display:flex}.xl-steps-list li{color:var(--text-2);word-break:keep-all;font-size:.8rem;line-height:1.65}.xl-breakdown{background:#c8a97e0d;border:1px solid #c8a97e47;border-radius:2px;margin-top:1rem;overflow:hidden}.xl-breakdown-summary{cursor:pointer;color:var(--accent);letter-spacing:.02em;-webkit-user-select:none;user-select:none;padding:.7rem .9rem;font-size:.8rem;font-weight:500;list-style:none}.xl-breakdown-summary::-webkit-details-marker{display:none}.xl-breakdown-summary:after{content:" ▾";color:var(--text-muted)}.xl-breakdown[open] .xl-breakdown-summary:after{content:" ▴"}.xl-breakdown-list{flex-direction:column;gap:.55rem;padding:.2rem 1.1rem .95rem;list-style:none;display:flex}.xl-breakdown-list li{color:var(--text-2);word-break:keep-all;overflow-wrap:anywhere;padding-left:.95rem;font-size:.8rem;line-height:1.7;position:relative}.xl-breakdown-list li:before{content:"·";color:var(--accent);position:absolute;left:.2rem}.xl-symbols-intro{color:var(--text-2);word-break:keep-all;margin-bottom:1.5rem;font-size:.85rem;line-height:1.75}.xl-symbols-intro b{color:var(--accent)}.xl-symbols-table{flex-direction:column;gap:.6rem;display:flex}.xl-sym-row{background:var(--bg-card);border:1px solid var(--border);border-radius:2px;grid-template-columns:92px 1fr;align-items:start;gap:.9rem;padding:.8rem .9rem;display:grid}.xl-sym-key{color:var(--accent);text-align:center;white-space:nowrap;background:#c8a97e14;border-radius:2px;padding:.35rem 0;font-family:Courier New,monospace;font-size:1rem;font-weight:700;overflow-x:auto}.xl-sym-body{flex-direction:column;gap:.3rem;display:flex}.xl-sym-how{color:var(--text);word-break:keep-all;font-size:.8rem}.xl-sym-how b{color:var(--accent);border:1px solid #c8a97e4d;border-radius:2px;margin-right:.35rem;padding:.05rem .35rem;font-size:.66rem;font-weight:500}.xl-sym-mean{color:var(--text-2);word-break:keep-all;font-size:.78rem;line-height:1.6}.xl-sym-ex{color:#e8d9bf;background:var(--bg-2);border:1px solid var(--border);white-space:nowrap;border-radius:2px;align-self:flex-start;max-width:100%;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.76rem;overflow-x:auto}.xl-symbols-note{border-top:1px dashed var(--border);color:var(--text-2);word-break:keep-all;margin-top:1.5rem;padding-top:1.1rem;font-size:.8rem;line-height:1.8}.xl-symbols-note b{color:var(--accent)}@media (max-width:768px){.xl-grid{grid-template-columns:1fr}.xl-root{padding:2.5rem 1.1rem 4rem}.xl-searchbar{box-shadow:none;position:static}.xl-sym-row{grid-template-columns:68px 1fr;gap:.6rem}}.help-root{max-width:760px;min-height:100vh;margin:0 auto;padding:4rem 1.5rem 6rem}.help-back{letter-spacing:.1em;color:var(--text-2);margin-bottom:3rem;font-size:.72rem;text-decoration:none;transition:color .25s;display:inline-block}.help-back:hover{color:var(--accent)}.help-title{color:var(--text);align-items:center;gap:.5rem;font-family:Cormorant Garamond,serif;font-size:2.6rem;font-weight:400;display:flex}.help-secret-dot{color:var(--text-muted);cursor:default;opacity:.35;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0 .2rem;font-size:1.4rem;line-height:1;transition:opacity .2s}.help-secret-dot:hover{opacity:.5}.help-secret-dot:active{color:var(--accent)}.help-sub{color:var(--text-2);margin-top:.75rem;font-size:.9rem}.help-faq{flex-direction:column;gap:.6rem;margin-top:2.5rem;display:flex}.help-faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:2px;padding:1rem 1.25rem}.help-faq-q{cursor:pointer;color:var(--text);font-size:.9rem;list-style:none}.help-faq-q::-webkit-details-marker{display:none}.help-faq-q:after{content:" +";color:var(--text-muted)}.help-faq-item[open] .help-faq-q:after{content:" –"}.help-faq-a{color:var(--text-2);word-break:keep-all;margin-top:.85rem;font-size:.85rem;line-height:1.8}.help-hint{text-align:center;color:var(--text-muted);letter-spacing:.2em;margin-top:2rem;font-family:Courier New,monospace;font-size:.9rem}.chat-room{flex-direction:column;height:calc(100vh - 8rem);min-height:480px;display:flex}.chat-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.1rem;display:flex}.chat-title{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.9rem;font-weight:500}.chat-lock{font-size:1.1rem}.chat-sub{color:var(--text-muted);margin-top:.2rem;font-size:.78rem}.chat-model{background:var(--bg-card);color:var(--text);cursor:pointer;border:1px solid #c8a97e4d;border-radius:2px;padding:.5rem .75rem;font-family:Noto Sans KR,sans-serif;font-size:.78rem}.chat-model:focus{border-color:var(--accent);outline:none}.chat-pw-row{margin-top:.85rem}.chat-pw{background:var(--bg-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:2px;padding:.55rem .75rem;font-family:Noto Sans KR,sans-serif;font-size:.8rem}.chat-pw:focus{border-color:#c8a97e66;outline:none}.chat-pw::placeholder{color:var(--text-muted)}.chat-messages{flex-direction:column;flex:1;gap:1.25rem;padding:1.25rem .25rem;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-2);margin:auto}.chat-empty-sub{color:var(--text-muted);word-break:keep-all;margin-top:.6rem;font-size:.78rem;line-height:1.7}.chat-msg{flex-direction:column;gap:.35rem;max-width:85%;display:flex}.chat-msg.user{align-self:flex-end;align-items:flex-end}.chat-msg.assistant{align-self:flex-start;align-items:flex-start}.chat-role{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.62rem}.chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:4px;padding:.75rem 1rem;font-size:.88rem;line-height:1.75}.chat-msg.user .chat-bubble{background:var(--accent-dim);color:var(--text);border:1px solid #c8a97e4d}.chat-msg.assistant .chat-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-2)}.chat-typing{color:var(--text-muted);font-style:italic}.chat-error{color:#e08a7a;background:#e08a7a14;border:1px solid #e08a7a4d;border-radius:2px;margin:.5rem 0;padding:.6rem .85rem;font-size:.8rem}.chat-attach{flex-wrap:wrap;gap:.5rem;padding:.6rem .25rem 0;display:flex}.chat-thumb{width:56px;height:56px;position:relative}.chat-thumb img{object-fit:cover;border:1px solid var(--border);border-radius:3px;width:100%;height:100%}.chat-thumb-x{color:#fff;border:1px solid var(--border);cursor:pointer;background:#333;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.chat-msg-images{flex-wrap:wrap;gap:.4rem;display:flex}.chat-msg-img{border:1px solid var(--border);border-radius:4px;max-width:220px;max-height:220px}.chat-table-save{color:var(--accent);cursor:pointer;background:#c8a97e14;border:1px solid #c8a97e66;border-radius:2px;align-self:flex-start;margin-top:.15rem;padding:.4rem .7rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem;transition:background .2s}.chat-table-save:hover{background:#c8a97e2e}.chat-input-row{border-top:1px solid var(--border);align-items:stretch;gap:.6rem;padding-top:1rem;display:flex}.chat-img-btn{background:var(--bg-card);border:1px solid var(--border);width:42px;color:var(--text);cursor:pointer;border-radius:2px;flex-shrink:0;font-size:1.1rem;transition:border-color .2s}.chat-img-btn:hover:not(:disabled){border-color:#c8a97e80}.chat-img-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input{resize:none;background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:2px;flex:1;padding:.7rem .85rem;font-family:Noto Sans KR,sans-serif;font-size:.88rem;line-height:1.6}.chat-input:focus{border-color:#c8a97e66;outline:none}.chat-input::placeholder{color:var(--text-muted)}.chat-send{background:var(--accent);color:var(--bg);letter-spacing:.05em;cursor:pointer;border:none;border-radius:2px;flex-shrink:0;padding:0 1.4rem;font-family:Noto Sans KR,sans-serif;font-size:.82rem;font-weight:500;transition:opacity .2s}.chat-send:hover:not(:disabled){opacity:.85}.chat-send:disabled{opacity:.35;cursor:not-allowed}.chat-tabs{gap:.4rem;margin-top:.9rem;display:flex}.chat-tab{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:2px;padding:.45rem 1rem;font-family:Noto Sans KR,sans-serif;font-size:.8rem;transition:color .2s,border-color .2s,background .2s}.chat-tab:hover{color:var(--text)}.chat-tab.active{color:var(--accent);background:var(--accent-dim);border-color:#c8a97e80}.excel-panel{flex-direction:column;flex:1;gap:1rem;padding:1.25rem .25rem;display:flex;overflow-y:auto}.excel-guide{color:var(--text-2);word-break:keep-all;font-size:.85rem;line-height:1.75}.excel-guide b{color:var(--text)}.excel-guide-sub{color:var(--text-muted);font-size:.78rem}.excel-file-btn{text-align:left;background:var(--bg-card);color:var(--text);cursor:pointer;word-break:break-all;border:1px dashed #c8a97e66;border-radius:2px;padding:.85rem 1rem;font-family:Noto Sans KR,sans-serif;font-size:.85rem;transition:border-color .2s,background .2s}.excel-file-btn:hover:not(:disabled){border-color:var(--accent);background:#c8a97e0f}.excel-file-btn:disabled{opacity:.5;cursor:not-allowed}.excel-prompt{resize:vertical;background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:2px;padding:.7rem .85rem;font-family:Noto Sans KR,sans-serif;font-size:.88rem;line-height:1.6}.excel-prompt:focus{border-color:#c8a97e66;outline:none}.excel-prompt::placeholder{color:var(--text-muted)}.excel-run{background:var(--accent);color:var(--bg);letter-spacing:.03em;cursor:pointer;border:none;border-radius:2px;padding:.8rem 1.4rem;font-family:Noto Sans KR,sans-serif;font-size:.85rem;font-weight:500;transition:opacity .2s}.excel-run:hover:not(:disabled){opacity:.85}.excel-run:disabled{opacity:.4;cursor:not-allowed}.excel-result{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.excel-result-text{color:var(--text-2);white-space:pre-wrap;word-break:break-word;background:var(--bg-card);border:1px solid var(--border);border-radius:2px;padding:.85rem 1rem;font-size:.85rem;line-height:1.8}.excel-download{text-align:left;color:var(--accent);cursor:pointer;word-break:break-all;background:#c8a97e14;border:1px solid #c8a97e66;border-radius:2px;padding:.85rem 1rem;font-family:Noto Sans KR,sans-serif;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s;display:block}.excel-download:hover{background:#c8a97e2e}.excel-toggle{color:var(--text-2);cursor:pointer;word-break:keep-all;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.excel-toggle input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.excel-code{color:var(--text-muted);font-size:.75rem}.excel-code summary{cursor:pointer;padding:.4rem 0}.excel-code pre{background:var(--bg-2);border:1px solid var(--border);color:#e8d9bf;white-space:pre;border-radius:2px;margin-top:.5rem;padding:.85rem 1rem;font-family:Courier New,monospace;font-size:.72rem;line-height:1.6;overflow-x:auto}@media (max-width:768px){.help-root{padding:2.5rem 1.1rem 4rem}.chat-room{height:calc(100vh - 6rem)}.chat-msg{max-width:92%}}
