.header{position:relative;width:100%;z-index:10;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;max-width:var(--content-max-width);margin:0 auto;padding:22px var(--page-gutter)}.header__logo{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.header__nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--font-mono);font-size:13px}.header__link{padding:12px 14px;color:var(--ink);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:14px calc(100% - 10px);background-repeat:no-repeat;transition:background-size var(--transition-base)}.header__link:hover{background-size:calc(100% - 28px) 1px}.header__cta{padding:12px 18px;border-radius:var(--radius-full);background:var(--klein);color:var(--white);text-decoration:none;transition:background-color var(--transition-base)}.header__cta:hover{background:var(--ink)}@media (max-width: 480px){.header__link--github{display:none}.header__link{padding:12px 8px;background-position:8px calc(100% - 10px)}}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:24px;max-width:var(--content-max-width);margin:0 auto;padding:8px var(--page-gutter) 72px;min-height:min(820px,calc(100vh - 80px))}.hero__eyebrow{margin-bottom:24px;font-family:var(--font-mono);font-size:14px;color:var(--ink-muted)}.hero__title{font-family:var(--font-display);font-weight:800;font-size:clamp(52px,9.4vw,148px);line-height:.92;letter-spacing:-.05em;color:var(--ink)}.hero__title-outline{color:var(--paper);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill}.hero__title-accent{color:var(--klein)}.hero__intro{max-width:520px;margin-top:36px;font-size:18px;line-height:1.7;color:var(--ink-body)}.hero__stage{position:relative;align-self:stretch;min-height:640px;margin-top:-8px}.hero__hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);white-space:nowrap;pointer-events:none}.hero__static-card{position:absolute;top:0;left:50%;display:flex;flex-direction:column;align-items:center;transform-origin:50% 0;translate:-50% 0;animation:hero-swing 6s ease-in-out infinite}.hero__static-strap{width:28px;height:230px;background:radial-gradient(circle,var(--white) 4px,transparent 4.5px) center / 28px 32px repeat-y,linear-gradient(90deg,var(--klein) 3px,var(--white) 3px 5px,var(--klein) 5px 23px,var(--white) 23px 25px,var(--klein) 25px)}.hero__static-clip{width:46px;height:22px;margin-top:-2px;border-radius:6px;background:#2b2b2b}.hero__static-face{width:260px;margin-top:-4px;border-radius:16px;box-shadow:0 30px 60px #11111138}@keyframes hero-swing{0%,to{rotate:-3deg}50%{rotate:3deg}}@media (max-width: 900px){.hero{grid-template-columns:1fr;min-height:auto;padding-bottom:48px}.hero__stage{min-height:400px;margin-top:8px}.hero__static-strap{height:150px}.hero__static-face{width:200px}}@media (max-width: 480px){.hero__title-outline{-webkit-text-stroke-width:3px}.hero__intro{font-size:16px}}.marquee{overflow:hidden;padding:24px 0}.marquee__band{margin:0 -40px;padding:18px 0;background:var(--klein);color:var(--white);transform:rotate(-2deg);overflow:hidden;white-space:nowrap}.marquee__track{display:inline-flex;gap:40px;padding-right:40px;font-family:var(--font-display);font-weight:800;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.03em;animation:marquee-scroll 32s linear infinite}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 20px))}}.work{max-width:var(--content-max-width);margin:0 auto;padding:120px var(--page-gutter) 80px}.work__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:48px}.work__title{font-family:var(--font-display);font-weight:800;font-size:clamp(44px,6vw,88px);letter-spacing:-.05em;line-height:.95}.work__count{color:var(--klein)}.work__note{font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}.work__list{list-style:none;display:flex;flex-direction:column;gap:24px}.work-card{--card-bg: var(--white);--card-fg: var(--ink);--card-line: rgba(17, 17, 17, .35);position:sticky;top:calc(24px + var(--stack-index) * 28px);display:flex;flex-wrap:wrap;gap:32px;min-height:460px;padding:clamp(24px,3vw,40px);border-radius:var(--radius-2xl);background:var(--card-bg);color:var(--card-fg);box-shadow:0 -16px 40px #1111111a;cursor:pointer;transition:transform .4s var(--ease-out)}.work-card:hover{transform:translateY(-6px)}.work-card--klein{--card-bg: var(--klein);--card-fg: var(--white);--card-line: rgba(255, 255, 255, .55)}.work-card--ink{--card-bg: var(--ink);--card-fg: var(--paper);--card-line: rgba(244, 243, 239, .45)}.work-card--white{--card-bg: var(--white)}.work-card--stone{--card-bg: var(--line)}.work-card__body{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:18px}.work-card__meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:13px}.work-card__title{font-family:var(--font-display);font-weight:800;font-size:clamp(34px,4vw,60px);letter-spacing:-.05em;line-height:.98;word-break:keep-all}.work-card__title--long{font-size:clamp(30px,3vw,44px);line-height:1.1}.work-card__subtitle{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:17px;font-weight:500}.work-card__award{padding:4px 10px;border-radius:var(--radius-full);background:var(--card-fg);color:var(--card-bg);font-size:13px;font-weight:700}.work-card__overview{font-size:15px;line-height:1.7;opacity:.88;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.work-card__footer{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.work-card__tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.work-card__tags li{padding:8px 12px;border:1px solid var(--card-line);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:12px}.work-card__cta{min-height:44px;padding:0 18px;border:1px solid var(--card-fg);border-radius:var(--radius-full);background:transparent;color:var(--card-fg);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}.work-card__cta:hover,.work-card:hover .work-card__cta{background:var(--card-fg);color:var(--card-bg)}.work-card__cta:focus-visible{outline-color:var(--card-fg)}.work-card__media{flex:1.3 1 380px;min-width:0;min-height:300px;border-radius:18px;overflow:hidden;background:#11111114}.work-card__media img,.work-card__media video{width:100%;height:100%;object-fit:cover;object-position:top center}.work-card__media-empty{height:100%;display:grid;place-items:center;font-family:var(--font-display);font-weight:800}@media (max-width: 768px){.work{padding-top:80px}.work-card{position:relative;top:auto;min-height:0;gap:24px}.work-card__media{order:-1;flex-basis:100%;min-height:0;aspect-ratio:16 / 10}}.about{max-width:var(--content-max-width);margin:0 auto;padding:80px var(--page-gutter) 40px}.about__title{margin-bottom:48px;font-family:var(--font-display);font-weight:800;font-size:clamp(44px,6vw,88px);letter-spacing:-.05em;line-height:.95}.about__dot{color:var(--klein)}.about__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}.about__label{padding-bottom:8px;border-bottom:1px solid var(--ink);font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink-muted)}.about__list{list-style:none}.about-row{display:flex;flex-direction:column;gap:4px;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;text-decoration:none}.about-row--link{cursor:pointer;transition:padding-left var(--transition-base),color var(--transition-base)}.about-row--link:hover{padding-left:10px;color:var(--klein)}.about-row__date{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}.about-row__date--accent{color:var(--klein)}.about-row__title{font-weight:700;font-size:20px;line-height:1.35;letter-spacing:-.02em;word-break:keep-all}.about-row__arrow{margin-left:6px;color:var(--klein)}.about-row__meta{font-size:14px;color:var(--ink-muted)}@media (max-width: 480px){.about-row__title{font-size:18px}}.footer{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:120px var(--page-gutter) 32px;text-align:center}.footer__eyebrow{margin-bottom:24px;font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}.footer__title{font-family:var(--font-display);font-weight:800;font-size:clamp(56px,11vw,176px);letter-spacing:-.06em;line-height:.9}.footer__title-outline{color:var(--paper);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill}.footer__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:48px}.footer__btn{display:inline-flex;align-items:center;gap:6px;min-height:56px;padding:0 28px;border:1px solid var(--ink);border-radius:var(--radius-full);background:transparent;color:var(--ink);font-family:var(--font-body);font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-base)}.footer__btn:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.footer__btn--primary{border-color:var(--klein);background:var(--klein);color:var(--white)}.footer__btn--primary:hover{border-color:var(--ink)}.footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:120px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--ink-muted)}@media (max-width: 480px){.footer{padding-top:88px}.footer__title-outline{-webkit-text-stroke-width:3px}.footer__btn{width:100%;justify-content:center}}.sheet-overlay{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;background:#1111118c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:sheet-fade .24s ease-out}.sheet{width:min(760px,100vw);height:100%;display:flex;flex-direction:column;background:var(--white);color:var(--ink);box-shadow:-30px 0 60px #0003;animation:sheet-in .42s var(--ease-out)}.sheet__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 40px;border-bottom:1px solid #e4e3de}.sheet__position{font-family:var(--font-mono);font-size:13px}.sheet__bar-actions{display:flex;gap:8px}.sheet__round{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:16px;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sheet__round:hover{background:var(--paper)}.sheet__round--close{border-color:var(--ink);background:var(--ink);color:var(--white)}.sheet__round--close:hover{background:var(--klein);border-color:var(--klein)}.sheet__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:36px 40px 48px}.sheet__meta{display:flex;align-items:center;gap:10px;margin-bottom:14px}.sheet__award{padding:5px 12px;border-radius:var(--radius-full);background:var(--klein);color:var(--white);font-size:13px;font-weight:700}.sheet__period{font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}.sheet__title{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,6vw,64px);letter-spacing:-.05em;line-height:.98;word-break:keep-all}.sheet__title--long{font-size:clamp(30px,4vw,44px);line-height:1.1}.sheet__subtitle{margin-top:12px;font-size:19px;font-weight:500}.sheet__media{margin-top:28px}.sheet__viewer{aspect-ratio:16 / 9;border-radius:18px;overflow:hidden;background:var(--paper-deep)}.sheet__viewer img,.sheet__viewer video{width:100%;height:100%;object-fit:contain;background:var(--paper-deep)}.sheet__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.sheet__thumbs::-webkit-scrollbar{display:none}.sheet__thumb{flex:0 0 104px;height:64px;padding:0;border-radius:10px;overflow:hidden;border:2px solid transparent;background:var(--paper-deep);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast),border-color var(--transition-fast)}.sheet__thumb:hover,.sheet__thumb.is-active{opacity:1}.sheet__thumb.is-active{border-color:var(--klein)}.sheet__thumb img{width:100%;height:100%;object-fit:cover}.sheet__thumb-video{display:grid;place-items:center;height:100%;background:var(--ink);color:var(--white);font-size:18px}.sheet__overview{margin-top:28px;font-size:16px;line-height:1.8;color:var(--ink-body)}.sheet__section{margin-top:40px}.sheet__label{margin-bottom:14px;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--ink-muted)}.sheet__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.sheet__tile{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:16px}.sheet__tile--klein{background:var(--klein);color:var(--white)}.sheet__tile--ink{background:var(--ink);color:var(--paper)}.sheet__tile-figure{font-family:var(--font-display);font-weight:800;font-size:40px;letter-spacing:-.04em;line-height:1}.sheet__tile-figure--long{font-size:28px}.sheet__tile-text{font-size:14px;line-height:1.55}.sheet__bullets{margin-top:14px;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.65;color:var(--ink-body)}.sheet__roles{list-style:none}.sheet__roles li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;padding:16px 0;border-bottom:1px solid #e4e3de;font-size:15px;line-height:1.65}.sheet__roles li:first-child{border-top:1px solid var(--ink)}.sheet__role-no{padding-top:2px;font-family:var(--font-mono);font-size:13px;color:var(--klein)}.sheet__chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.sheet__chip{padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--ink-body)}.sheet__chip--core{border-color:var(--ink);background:var(--ink);color:var(--paper)}.sheet__links{list-style:none;border-top:1px solid var(--ink)}.sheet__links a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e4e3de;color:var(--ink);font-weight:700;text-decoration:none;transition:color var(--transition-fast),padding-left var(--transition-base)}.sheet__links a:hover{padding-left:8px;color:var(--klein)}.sheet__footer{display:flex;gap:10px;padding:16px 40px;border-top:1px solid #e4e3de;background:var(--white)}.sheet__btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:52px;padding:0 22px;border-radius:var(--radius-full);border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--font-body);font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sheet__btn:hover{background:var(--ink);color:var(--paper)}.sheet__btn--primary{flex:1;border-color:var(--klein);background:var(--klein);color:var(--white)}.sheet__btn--primary:hover{border-color:var(--ink)}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-in{0%{transform:translate(48px);opacity:0}}@media (max-width: 640px){.sheet__bar,.sheet__footer{padding-left:20px;padding-right:20px}.sheet__body{padding:28px 20px 40px}.sheet__position{font-size:12px}.sheet__thumb{flex-basis:84px;height:56px}}.project-detail-page{max-width:1100px;margin:60px auto;padding:0 var(--page-horizontal-padding);background-color:transparent;border-radius:0;animation:fadeIn .5s cubic-bezier(.4,0,.2,1);box-shadow:none;border:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.back-button{background:linear-gradient(135deg,#4299e11a,#48bb780d);color:var(--primary-accent);border:1.5px solid rgba(66,153,225,.3);padding:12px 24px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:48px;border-radius:var(--radius-md);box-shadow:0 4px 12px #4299e11a;letter-spacing:.3px}.back-button:hover{background:linear-gradient(135deg,#4299e126,#48bb781a);color:var(--primary-accent);border-color:#4299e166;transform:translate(-4px);box-shadow:0 6px 16px #4299e126}.project-detail-header{text-align:left;margin-bottom:56px;padding:40px;background:linear-gradient(135deg,#4299e10f,#48bb7808);border-radius:var(--radius-lg);border:1.5px solid rgba(66,153,225,.15);animation:fadeIn .6s cubic-bezier(.4,0,.2,1) both}.project-detail-header h1{font-size:2.8rem;font-weight:900;margin-bottom:16px;color:var(--primary-color);letter-spacing:-.7px;line-height:1.2}.project-period{font-size:1.1rem;color:var(--primary-accent);font-weight:700;letter-spacing:.5px;text-transform:uppercase}.project-detail-gallery{margin-bottom:56px;animation:fadeIn .6s cubic-bezier(.4,0,.2,1) .1s both}.gallery-main-image{position:relative;margin-bottom:24px;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:var(--radius-lg);overflow:hidden;padding:16px;border:1px solid var(--card-border);box-shadow:0 10px 32px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery-main-image:hover{box-shadow:0 20px 48px #0000001f}.main-media{width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:calc(var(--radius-lg) - 4px);display:block;background:linear-gradient(135deg,#f7fafc,#e9ecef)}.fullscreen-button{position:absolute;bottom:28px;right:28px;background:linear-gradient(135deg,var(--primary-accent) 0%,#3182ce 100%);color:#fff;border:none;border-radius:var(--radius-md);width:52px;height:52px;cursor:pointer;display:flex;justify-content:center;align-items:center;opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:1;box-shadow:0 6px 20px #4299e159}.gallery-main-image:hover .fullscreen-button{opacity:1;transform:scale(1.1) translateY(-4px)}.gallery-thumbnails{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:64px;padding:28px;background:linear-gradient(135deg,#fff,#f9fafb);border-radius:var(--radius-lg);border:1px solid var(--card-border);box-shadow:0 4px 16px #0000000f}.thumbnail-item{width:120px;height:90px;cursor:pointer;border-radius:var(--radius-md);overflow:hidden;border:2.5px solid var(--card-border);transition:all .3s cubic-bezier(.34,1.56,.64,1);background-color:#f0f4f8;flex-shrink:0}.thumbnail-item:hover{transform:scale(1.12) translateY(-6px);box-shadow:0 12px 28px #00000026;border-color:#4299e180}.thumbnail-item.active{border-color:var(--primary-accent);box-shadow:0 8px 24px #4299e14d;transform:scale(1.05)}.thumbnail-media{width:100%;height:100%;object-fit:contain}.project-detail-body{background:linear-gradient(135deg,#fff,#f9fafb);border-radius:var(--radius-lg);padding:56px;border:1px solid var(--card-border);box-shadow:0 10px 32px #00000014;animation:fadeIn .6s cubic-bezier(.4,0,.2,1) .2s both}.project-detail-section{margin-bottom:56px}.project-detail-section:last-child{margin-bottom:0}.project-detail-section h2{font-size:1.5rem;font-weight:900;margin-bottom:28px;padding-bottom:0;border-left:5px solid var(--primary-accent);padding-left:20px;color:var(--primary-color);letter-spacing:-.4px;display:block;text-transform:uppercase;font-size:1.2rem;letter-spacing:.8px}.project-detail-section p{font-size:1.1rem;line-height:1.9;color:var(--text-color);margin:0 0 12px}.project-detail-section ul{list-style:none;padding-left:0;margin:0}.project-detail-section li{margin-bottom:20px;padding-left:32px;position:relative;font-weight:500;font-size:1.05rem;line-height:1.8;color:var(--text-color)}.project-detail-section li:before{content:"✓";position:absolute;left:0;color:var(--accent-color);font-size:1.3rem;font-weight:900}.tech-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;margin-bottom:24px}.tech-tag{background:var(--bg-secondary);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;border:1px solid var(--border-light);transition:all var(--transition-fast)}.tech-tag:hover{background:#2563eb14;color:#2563eb;border-color:#2563eb4d;transform:translateY(-2px)}.repo-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.repo-link{display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary);padding:16px 24px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);font-weight:600;font-size:.9375rem;transition:all var(--transition-base);border:1px solid var(--border-light);box-shadow:var(--shadow-xs)}.repo-link:after{content:"→";font-size:1.25rem;transition:transform var(--transition-fast);color:var(--text-tertiary)}.repo-link:hover{background:#2563eb0d;color:#2563eb;border-color:#2563eb;transform:translate(6px);box-shadow:var(--shadow-md)}.repo-link:hover:after{transform:translate(4px);color:#2563eb}@media (max-width: 768px){.project-detail-page{margin:40px auto;padding:16px}.back-button{margin-bottom:32px;padding:10px 16px;font-size:.85rem}.project-detail-header{padding:28px;margin-bottom:40px}.project-detail-header h1{font-size:2rem}.project-detail-body{padding:32px}.project-detail-section{margin-bottom:40px}.project-detail-section h2{font-size:1.1rem;margin-bottom:20px}.project-detail-section li{font-size:1rem;margin-bottom:16px}.main-media{max-height:400px}.gallery-main-image{padding:8px}.fullscreen-button{width:44px;height:44px;bottom:16px;right:16px}.gallery-thumbnails{padding:16px;gap:12px;margin-bottom:40px}.thumbnail-item{width:100px;height:75px}.tech-tag{font-size:.8rem;padding:8px 14px}.repo-link{font-size:.85rem;padding:14px 16px}}.lightbox-overlay{position:fixed;inset:0;background-color:#0f172abf;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease-out}.lightbox-content{position:relative;max-width:80vw;max-height:80vh}.lightbox-content img,.lightbox-content video{max-width:100%;max-height:100%;display:block;border-radius:8px}.lightbox-close-button{position:absolute;top:-40px;right:0;background:transparent;color:#fff;border:none;font-size:3rem;cursor:pointer;line-height:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--paper: #F4F3EF;--paper-deep: #EAE9E4;--ink: #111111;--ink-body: #3A3A3A;--ink-muted: #5E5E5A;--klein: #1F3BFF;--klein-dark: #162BD1;--line: #DADAD4;--white: #FFFFFF;--font-display: "Unbounded", "Noto Sans KR", sans-serif;--font-body: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Space Mono", ui-monospace, "SF Mono", monospace;--primary: var(--klein);--primary-light: #4A61FF;--primary-dark: var(--klein-dark);--primary-accent: var(--klein);--accent-purple: var(--klein-dark);--accent-green: #1E7A52;--accent-amber: #B45309;--text-primary: var(--ink);--text-secondary: var(--ink-body);--text-tertiary: var(--ink-muted);--bg-primary: var(--white);--bg-secondary: var(--paper);--bg-tertiary: var(--paper-deep);--bg-elevated: var(--white);--border-light: rgba(17, 17, 17, .08);--border-medium: rgba(17, 17, 17, .16);--background-color: var(--paper);--text-color: var(--ink);--text-color-hover: var(--ink-body);--primary-color: var(--klein);--header-bg-color: var(--paper);--card-bg-color: var(--white);--card-bg-hover: var(--paper-deep);--footer-text-color: var(--ink-muted);--footer-border-color: var(--line);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-soft: 0 18px 40px rgba(17, 17, 17, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--content-max-width: 1440px;--page-gutter: clamp(16px, 4vw, 56px);--page-horizontal-padding: var(--page-gutter);--ease-out: cubic-bezier(.2, .8, .2, 1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .6s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:24px;overflow-x:hidden}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--klein);outline-offset:3px}::selection{background:var(--klein);color:var(--white)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--ink);border-radius:var(--radius-full);border:3px solid var(--paper)}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;transition:transform var(--transition-base),background-color var(--transition-base),color var(--transition-base)}.btn-primary{background:var(--klein);color:var(--white);border:none}.btn-primary:hover{background:var(--klein-dark);transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn-secondary:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.btn-primary .icon,.btn-secondary .icon{width:20px;height:20px;fill:currentColor}.App{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
