:root{color:#172033;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--app-bg: #f7fafc;--app-bg-soft: #eef4fb;--card: #ffffff;--card-strong: #f8fbff;--text: #172033;--text-muted: #556174;--border: #dfe5ec;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-cool: #0284c7;--accent-soft: #eaf3ff;--success: #0f766e;--success-soft: #ecfdf5;--on-accent: #ffffff;--media-bg: #f8fbff;--code-bg: #ecfdf5;--table-head: #f1f6fb;--table-border: #d7dee8;--site-shadow: 0 20px 60px rgb(37 99 235 / 10%);--ink: var(--text);--muted: var(--text-muted);--line: var(--border);--paper: var(--app-bg);--surface: var(--card);--forest: var(--accent);--teal: var(--accent-cool);--coral: var(--accent-strong);--gold: #38bdf8;--shadow: var(--site-shadow);--display-title: clamp(2.2rem, 3.2vw, 2.75rem);--display-title-tablet: clamp(2rem, 4vw, 2.45rem);--section-title: clamp(1.72rem, 2.35vw, 2.08rem);--section-title-tablet: clamp(1.58rem, 3.2vw, 1.92rem);--subsection-title: clamp(1.32rem, 1.85vw, 1.62rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:linear-gradient(180deg,#fff,#f7f9fc 52%,#fff)}h1,h2,h3,p,li,a,span{word-break:keep-all;overflow-wrap:break-word}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}.site-shell{min-height:100vh;overflow:visible}.site-shell[data-theme=light]{--app-bg: #f8fafc;--app-bg-soft: #f1f5f9;--card: #ffffff;--card-strong: #f8fafc;--text: #0f172a;--text-muted: #475569;--border: rgb(100 116 139 / 24%);--accent: #2563eb;--accent-strong: #1d4ed8;--accent-cool: #3b82f6;--accent-soft: rgb(37 99 235 / 9%);--success: #1d4ed8;--success-soft: rgb(37 99 235 / 8%);--on-accent: #ffffff;--media-bg: #f1f5f9;--code-bg: rgb(37 99 235 / 8%);--table-head: #f1f5f9;--table-border: rgb(100 116 139 / 20%);--gold: #2563eb;--site-shadow: 0 18px 54px rgb(15 23 42 / 8%)}.site-shell[data-theme=dark]{--app-bg: #0f172a;--app-bg-soft: #111827;--card: #111827;--card-strong: #1e293b;--text: #f8fafc;--text-muted: #cbd5e1;--border: rgb(148 163 184 / 22%);--accent: #60a5fa;--accent-strong: #3b82f6;--accent-cool: #93c5fd;--accent-soft: rgb(96 165 250 / 12%);--success: #60a5fa;--success-soft: rgb(96 165 250 / 10%);--on-accent: #0f172a;--media-bg: #1e293b;--code-bg: rgb(96 165 250 / 10%);--table-head: #1e293b;--table-border: rgb(148 163 184 / 20%);--gold: #60a5fa;--site-shadow: 0 24px 72px rgb(0 0 0 / 32%)}.site-shell[data-theme]{--ink: var(--text);--muted: var(--text-muted);--line: var(--border);--paper: var(--app-bg);--surface: var(--card);--forest: var(--accent);--teal: var(--accent-cool);--coral: var(--accent-strong);--shadow: var(--site-shadow);color:var(--text);background:linear-gradient(180deg,var(--app-bg) 0%,var(--app-bg-soft) 54%,var(--app-bg) 100%)}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:18px 0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-shell[data-theme] .site-header{border-bottom:1px solid rgb(148 163 184 / 0%)}.site-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.site-header--dashboard .nav-links{display:none}.site-header--dashboard .brand{color:var(--accent);font-size:1.05rem;letter-spacing:.02em;text-transform:uppercase}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content;font-weight:800}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#fff;background:var(--forest);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 24%,transparent)}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow-x:auto}.nav-links a{min-height:38px;padding:10px 12px;border-radius:8px;color:var(--muted);font-size:.94rem;font-weight:700;white-space:nowrap}.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink);background:var(--accent-soft);outline:none}.theme-toggle{display:inline-grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);box-shadow:0 10px 28px #0f172a0f;cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--forest);border-color:color-mix(in srgb,var(--accent) 46%,var(--border));outline:none;transform:translateY(-2px)}.site-shell[data-theme=dark] .nav-links a:hover,.site-shell[data-theme=dark] .nav-links a:focus-visible{background:var(--accent-soft)}main{width:min(1180px,calc(100% - 40px));margin:0 auto}.hero-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:center;gap:clamp(28px,5vw,64px);min-height:calc(76vh - 74px);padding:46px 0 28px}.compact-hero{grid-template-columns:1fr;align-items:start;min-height:auto;padding:54px 0 64px}.portfolio-hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding:0 0 44px}.portfolio-home-layout{--portfolio-side-gap: clamp(12px, 1vw, 18px);display:grid;grid-template-columns:minmax(224px,268px) minmax(0,1fr) 84px;gap:var(--portfolio-side-gap);align-items:start;padding:28px 0 60px}.portfolio-home-content{min-width:0;padding:clamp(24px,2.7vw,38px);border:1px solid color-mix(in srgb,var(--accent) 52%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--card) 90%,var(--app-bg));box-shadow:var(--shadow)}.portfolio-home-content .metrics-section,.portfolio-home-content .section{padding:44px 0}.portfolio-home-content>section{scroll-margin-top:32px}.portfolio-home-content .metrics-section{padding-top:44px}.portfolio-home-content .contact-section{margin:44px 0 0}.portfolio-section-rail{position:sticky;top:86px;z-index:18;display:grid;justify-self:stretch;gap:8px;width:84px;padding:12px 10px;border:1px solid color-mix(in srgb,var(--accent) 44%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--card) 88%,var(--app-bg));box-shadow:var(--shadow)}.portfolio-section-rail a{display:grid;place-items:center;gap:5px;min-height:58px;padding:8px 6px;border:1px solid transparent;border-radius:8px;color:var(--text-muted);background:transparent;font-size:.58rem;font-weight:800;line-height:1.1;text-align:center;white-space:nowrap;transition:transform .18s ease,color .18s ease,background .18s ease,border-color .18s ease}.portfolio-section-rail a span{display:block;max-width:100%;overflow:visible}.portfolio-section-rail a:hover,.portfolio-section-rail a:focus-visible,.portfolio-section-rail a.is-active{color:var(--text);background:color-mix(in srgb,var(--accent) 22%,var(--card));border-color:color-mix(in srgb,var(--accent) 42%,var(--border));outline:none}.portfolio-section-rail a:hover,.portfolio-section-rail a:focus-visible{transform:translateY(-2px)}.hero-copy{max-width:720px}.portfolio-hero .hero-copy{max-width:min(100%,1040px)}.compact-hero .hero-copy{max-width:none}.eyebrow,.section-kicker,.project-role{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--forest);font-size:.84rem;font-weight:800;text-transform:uppercase}.hero-copy h1,.metrics-section h2,.section h2{margin:0;max-width:850px;line-height:1.12}.hero-copy h1{font-size:var(--display-title)}.metrics-section h2,.section h2{font-size:var(--section-title);line-height:1.18}.compact-hero .hero-copy h1{max-width:none;letter-spacing:0;white-space:nowrap}.portfolio-hero .hero-copy h1{max-width:min(100%,1000px);text-wrap:balance}.hero-summary{max-width:680px;margin:16px 0 0;color:var(--muted);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.65}.portfolio-hero .hero-summary{max-width:min(100%,960px)}.hero-focus-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.portfolio-hero .hero-focus-list{max-width:min(100%,960px)}.hero-focus-list span{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:.9rem;font-weight:850}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}.hero-meta span{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:color-mix(in srgb,var(--card) 84%,transparent);font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:8px;font-size:.95rem;font-weight:800}.button.primary{color:#fff;background:var(--ink)}.button.secondary{color:var(--ink);background:#fff;border-color:var(--line)}.site-shell[data-theme] .button.primary{color:var(--on-accent);background:var(--accent)}.site-shell[data-theme] .button.secondary{color:var(--text);background:var(--card);border-color:var(--border)}.button:hover,.button:focus-visible,.hero-channel-links a:hover,.hero-channel-links a:focus-visible,.contact-link:hover,.contact-link:focus-visible,.project-links a:hover,.project-links a:focus-visible{transform:translateY(-2px);outline:none}.hero-channel-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.hero-channel-links a{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--card);font-size:.92rem;font-weight:800;transition:transform .18s ease,border-color .18s ease,color .18s ease}.hero-channel-links span{min-width:0}.hero-channel-links a:hover,.hero-channel-links a:focus-visible{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));color:var(--forest)}.portfolio-visual{display:grid;gap:16px;min-width:0}.portfolio-profile-card{display:grid;justify-items:center;gap:18px;width:min(100%,268px);justify-self:center;padding:22px 18px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:8px;color:var(--text);background:var(--card);box-shadow:var(--shadow)}.portfolio-profile-photo{width:min(100%,150px);aspect-ratio:1 / 1;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 46%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent-soft) 64%,var(--card-strong));overflow:hidden}.portfolio-profile-photo img{width:100%;height:100%;border-radius:6px;object-fit:cover}.portfolio-profile-card h2{display:grid;gap:2px;margin:0;font-size:clamp(1.3rem,1.8vw,1.52rem);line-height:1.18;text-align:center}.portfolio-profile-card h2 span{display:block}.portfolio-profile-card>p{margin:-8px 0 0;width:100%;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:8px;color:var(--text);background:color-mix(in srgb,var(--accent-soft) 54%,var(--card));font-size:.9rem;font-weight:800;line-height:1.35;text-align:center}.portfolio-profile-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.portfolio-profile-socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--card);transition:transform .18s ease,color .18s ease,border-color .18s ease}.portfolio-profile-socials a:hover,.portfolio-profile-socials a:focus-visible{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));outline:none;transform:translateY(-2px)}.portfolio-profile-detail-list{display:grid;gap:0;width:100%;padding:8px 10px;margin:4px 0 0;border-radius:8px;background:color-mix(in srgb,var(--card-strong) 78%,var(--card))}.portfolio-profile-detail-list div{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;min-height:54px;border-bottom:1px solid var(--border)}.portfolio-profile-detail-list div:last-child{border-bottom:0}.portfolio-profile-detail-list dt{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:var(--text);background:color-mix(in srgb,var(--border) 72%,var(--card))}.portfolio-profile-detail-list dt span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.portfolio-profile-detail-list dd{min-width:0;margin:0;color:var(--text);font-size:.84rem;font-weight:700;text-align:left}.portfolio-profile-detail-list dd a{display:inline-flex;max-width:100%;color:inherit;text-decoration:none;white-space:nowrap}.portfolio-profile-detail-list div:hover dd a,.portfolio-profile-detail-list dd a:focus-visible{color:var(--accent);outline:none}.portfolio-profile-resume{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:8px;color:var(--text);background:color-mix(in srgb,var(--accent) 28%,var(--card));box-shadow:0 3px color-mix(in srgb,var(--accent) 32%,transparent);font-size:1.02rem;font-weight:900;transition:transform .18s ease,box-shadow .18s ease}.portfolio-profile-resume:hover,.portfolio-profile-resume:focus-visible{outline:none;transform:translateY(-2px);box-shadow:0 5px color-mix(in srgb,var(--accent) 32%,transparent)}.portfolio-visual-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:16px}.portfolio-visual-card,.portfolio-code-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.portfolio-visual-card{position:relative;margin:0}.portfolio-visual-card img{width:100%;height:100%;min-height:180px;object-fit:cover;background:var(--media-bg)}.portfolio-visual-card--main img{aspect-ratio:16 / 10}.portfolio-visual-card figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:grid;gap:2px;padding:12px;border:1px solid rgb(255 255 255 / 28%);border-radius:8px;color:#fff;background:#0f172ac7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portfolio-visual-card figcaption span,.portfolio-code-card span{color:var(--accent);font-size:.76rem;font-weight:900;text-transform:uppercase}.portfolio-visual-card figcaption strong,.portfolio-code-card strong{font-size:1rem;line-height:1.25}.portfolio-code-card{display:grid;align-content:end;gap:12px;min-height:220px;padding:20px;color:var(--text);background:linear-gradient(180deg,var(--card-strong),var(--card)),var(--card)}.portfolio-code-card svg{color:var(--accent)}.portfolio-code-card span{color:var(--accent)}.portfolio-code-card p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.6}.hero-visual{position:relative;border:1px solid #c7d9f0;border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.hero-visual img{width:100%;aspect-ratio:5 / 4;object-fit:cover}.hero-visual-caption{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgb(255 255 255 / 56%);border-radius:8px;color:#fff;background:#172033d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-visual-caption span{color:#d7e7ff;font-size:.78rem;font-weight:800;text-transform:uppercase}.hero-visual-caption strong{text-align:right}.intro-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 96px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--line)}.intro-strip span{display:grid;place-items:center;min-height:72px;padding:18px;color:#233653;background:#fff;font-weight:800;text-align:center}.section{padding:78px 0;border-top:1px solid var(--line)}.metrics-section{padding:34px 0 78px;border-top:1px solid var(--line)}.two-column{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);gap:clamp(28px,6vw,90px)}.contact-section h2{margin:0;max-width:850px;font-size:clamp(2rem,4vw,4rem);line-height:1.08}.section-body{display:grid;gap:18px}.section-body p,.project-content p,.timeline-item span,.timeline-content p,.impact-item p{margin:0;color:var(--muted);font-size:1rem;line-height:1.75}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:26px}.section-heading h2{max-width:780px}.section-heading>div{display:grid;gap:8px}.section-heading-copy{max-width:720px;margin:0;color:var(--muted);font-size:1rem;line-height:1.7}.work-cases-heading .section-heading-copy{max-width:min(100%,980px)}.impact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.impact-meter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.impact-meter-card{position:relative;display:grid;align-content:start;gap:12px;min-width:0;min-height:154px;padding:15px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 20%,var(--surface)),var(--surface)),var(--surface);box-shadow:var(--shadow)}.impact-meter-card--link{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.impact-meter-card--link:hover,.impact-meter-card--link:focus-visible{border-color:color-mix(in srgb,var(--accent) 46%,var(--border));box-shadow:0 22px 58px color-mix(in srgb,var(--accent) 16%,transparent);outline:none;transform:translateY(-3px)}.impact-meter-link-icon{position:absolute;top:13px;right:13px;display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--surface) 86%,var(--accent-soft))}.impact-meter-copy{display:grid;align-content:start;gap:0;min-width:0}.impact-meter-card--link .impact-meter-copy{padding-right:32px}.impact-meter-card h3{margin:0;font-size:1.08rem;line-height:1.35}.impact-meter-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.56}.impact-meter-visual{display:grid;gap:7px;min-width:0;padding-top:0}.impact-meter-row,.impact-meter-labels{display:flex;align-items:center;justify-content:space-between;gap:10px}.impact-meter-row span{color:var(--text-muted);font-size:.86rem;font-weight:850}.impact-meter-row strong{color:var(--accent);font-size:1.22rem;line-height:1.1}.impact-meter-track{height:15px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--border) 58%,var(--card))}.impact-meter-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent-cool),var(--accent))}.impact-meter-labels span{display:grid;gap:2px;color:var(--text-muted);font-size:.82rem;font-weight:850;line-height:1.25}.impact-meter-labels span:last-child{justify-items:end;text-align:right}.impact-meter-labels b{color:var(--accent);font-size:.68rem;font-weight:900;text-transform:uppercase}.impact-meter-row--range strong{font-size:1.1rem}.impact-range-layout{display:grid;grid-template-columns:1fr;align-items:stretch;gap:6px;min-width:0}.impact-range-layout--with-side{grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr)}.impact-range-flow{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:5px;min-width:0;padding-top:2px}.impact-range-node{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--card) 88%,var(--accent-soft));text-align:center}.impact-range-node em{display:block;width:100%;color:var(--text-muted);font-size:.66rem;font-style:normal;font-weight:900;letter-spacing:.02em;line-height:1.25;text-transform:uppercase}.impact-range-node b{display:block;width:100%;min-width:0;color:var(--text-muted);font-size:.82rem;font-weight:950;line-height:1.2;text-align:center;white-space:nowrap}.impact-range-node--after{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface));text-align:center}.impact-range-node--before{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface))}.impact-range-node--before em,.impact-range-node--before b{color:var(--text-muted)}.impact-range-node--after em,.impact-range-node--after b{color:var(--accent)}.impact-range-node--side{border-color:color-mix(in srgb,var(--accent-cool) 24%,var(--line));background:color-mix(in srgb,var(--surface) 72%,var(--accent-cool) 12%);text-align:center}.impact-range-node--side em{color:var(--accent-cool)}.impact-range-node--side b{color:var(--text-strong);font-size:.78rem;white-space:normal}.impact-range-flow i{display:inline-grid;place-items:center;color:var(--accent);font-size:1.05rem;font-style:normal;font-weight:950;line-height:1}.section-disclosure{display:flex;justify-content:center;margin-top:16px}.section-disclosure-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 18px;border:1px solid color-mix(in srgb,var(--accent-strong) 72%,var(--accent));border-radius:999px;color:var(--on-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-cool) 72%,var(--accent)),var(--accent));box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 24%,transparent),0 1px color-mix(in srgb,#ffffff 36%,transparent) inset;cursor:pointer;font:inherit;font-size:.9rem;font-weight:900;line-height:1;transition:background .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease}.section-disclosure-button:hover,.section-disclosure-button:focus-visible{border-color:color-mix(in srgb,var(--accent-strong) 86%,var(--accent));background:linear-gradient(180deg,var(--accent),var(--accent-strong));box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 30%,transparent),0 1px color-mix(in srgb,#ffffff 34%,transparent) inset;outline:none;transform:translateY(-2px)}.impact-item{display:grid;align-content:start;gap:10px;min-height:150px;padding:24px 22px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.impact-item+.impact-item{border-left:1px solid var(--line)}.impact-item strong{display:block;color:var(--accent);font-size:clamp(1.45rem,1.8vw,1.65rem);line-height:1.08;white-space:nowrap}.impact-item h3{margin:0;font-size:1.08rem}.impact-item-link{color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.impact-item-link:hover,.impact-item-link:focus-visible{border-color:color-mix(in srgb,var(--accent) 46%,var(--border));box-shadow:0 22px 58px color-mix(in srgb,var(--accent) 16%,transparent);outline:none;transform:translateY(-3px)}.skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.skill-card,.project-card,.timeline-item,.contact-link{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.skill-card{padding:24px}.skill-card h3,.project-content h3,.timeline-item h3{margin:0;font-size:1.35rem}.skill-card p{margin:12px 0 20px;color:var(--muted);line-height:1.7}.skill-card ul,.project-highlights,.timeline-item ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.skill-card li,.tech-list span{padding:7px 10px;border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:.9rem;font-weight:800}.project-subsection{display:grid;gap:18px}.project-subsection+.project-subsection{margin-top:34px}.project-subsection-heading{display:grid;gap:8px;max-width:780px}.project-subsection-heading h3{margin:0;color:var(--ink);font-size:var(--subsection-title);line-height:1.28}.project-subsection-heading p{margin:0;color:var(--muted);line-height:1.7}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compact-project-grid{align-items:stretch}.project-card{display:grid;grid-template-rows:auto 1fr;overflow:hidden;box-shadow:var(--shadow)}.project-image-wrap{position:relative;display:grid;place-items:center;min-height:190px;padding:14px;aspect-ratio:16 / 10;overflow:hidden;background:var(--media-bg)}.project-image-link{cursor:pointer}.project-image-link:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:-3px}.compact-project-card .project-image-wrap{min-height:0}.project-image-wrap img{width:100%;height:100%;object-fit:contain}.project-card{transition:transform .18s ease,box-shadow .18s ease}.project-card:hover,.project-card:focus-within{transform:translateY(-3px);box-shadow:0 22px 58px color-mix(in srgb,var(--accent) 16%,transparent)}.case-study-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px}.case-study-card{position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:10px;min-width:0;height:100%;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:8px;color:var(--text);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 42%,transparent),transparent 42%),color-mix(in srgb,var(--card) 90%,var(--app-bg));box-shadow:0 1px color-mix(in srgb,var(--accent) 24%,transparent),var(--shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.case-study-card:hover,.case-study-card:focus-within{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));box-shadow:0 24px 62px color-mix(in srgb,var(--accent) 16%,transparent);transform:translateY(-3px)}.case-study-card-top{display:grid;grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:5px;min-width:0;min-height:108px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,var(--border))}.case-study-eyebrow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:10px;min-width:0}.case-study-heading{display:grid;gap:4px;width:100%;min-width:0}.case-study-kicker{margin:0;color:var(--accent);font-size:.74rem;line-height:1.25;min-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-study-main{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;align-items:start}.case-study-media{position:relative;display:grid;place-items:center;justify-self:center;width:100%;max-width:none;min-height:0;aspect-ratio:16 / 9;padding:0;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:8px;overflow:hidden;background:var(--media-bg)}.case-study-media:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:-3px}.case-study-media img{display:block;width:100%;height:100%;object-fit:contain}.case-study-heading h3{margin:0;color:var(--text);font-size:clamp(1.06rem,1.25vw,1.28rem);line-height:1.25;min-height:1.25em;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.case-study-summary-list{display:grid;gap:4px;margin:0;min-height:calc(2.9em + 4px);padding:0;color:var(--muted);font-size:clamp(.82rem,.92vw,.92rem);line-height:1.45;list-style:none}.case-study-summary-list li{position:relative;padding-left:12px}.case-study-summary-list li:before{position:absolute;top:.7em;left:0;width:4px;height:4px;border-radius:50%;background:var(--accent);content:""}.case-study-summary-item--plain{padding-left:0}.case-study-summary-item--plain:before{display:none}.case-study-summary-tag{display:inline-flex;align-items:center;margin-right:6px;padding:2px 6px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 44%,transparent);font-size:.68rem;font-weight:950;line-height:1.25;vertical-align:1px}.case-study-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-self:end;gap:6px;min-width:0}.case-study-phase{display:grid;align-content:start;gap:3px;min-width:0;min-height:0;padding:8px 8px 8px 10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-left:3px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--card) 86%,var(--app-bg))}.case-study-phase span{color:var(--accent);font-size:.64rem;font-weight:950;text-transform:uppercase}.case-study-phase strong{color:var(--text);font-size:.76rem;line-height:1.25}.case-study-phase-list{display:grid;gap:3px;margin:0;padding:0;color:var(--muted);font-size:.7rem;line-height:1.45;list-style:none}.case-study-phase-list li{position:relative;padding-left:12px}.case-study-phase-list li:before{position:absolute;top:.68em;left:0;width:4px;height:4px;border-radius:50%;background:var(--accent);content:""}.case-study-detail-link{display:inline-flex;align-items:center;justify-self:end;gap:7px;min-height:28px;color:var(--text);font-size:.82rem;font-weight:900;white-space:nowrap}.case-study-detail-link:hover,.case-study-detail-link:focus-visible{color:var(--accent);outline:none}.project-content{display:grid;gap:14px;padding:24px}.compact-project-card .project-content{align-content:start;padding:24px}.project-role{margin-bottom:8px;color:var(--coral);font-size:.94rem;line-height:1.45;text-transform:none}.project-content h3{margin-bottom:12px;line-height:1.28}.project-content p:not(.project-role){line-height:1.68;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-highlights{display:grid;gap:8px}.project-highlights li{position:relative;padding-left:16px;color:var(--text-muted);line-height:1.55}.project-highlights li:before{position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--gold);content:""}.tech-list{display:flex;flex-wrap:wrap;gap:8px}.project-tech-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.project-tech-list span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;text-align:center;line-height:1.25}.project-links{display:flex;flex-wrap:wrap;gap:10px}.project-links a{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 10px;border-radius:8px;color:#fff;background:var(--forest);font-size:.9rem;font-weight:800;transition:transform .18s ease,background .18s ease}.project-links a:nth-child(2){background:var(--teal)}.project-detail-page{padding-bottom:76px}.project-detail-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(400px,1.2fr);gap:34px;align-items:center;padding:54px 0 66px}.project-detail-hero-copy,.project-detail-hero-media{min-width:0}.project-detail-back-link{width:fit-content;margin-bottom:28px}.project-detail-hero h1{max-width:780px;margin:8px 0 16px;color:var(--ink);font-size:var(--display-title);line-height:1.08;overflow-wrap:anywhere}.project-detail-lead{max-width:660px;color:var(--muted);font-size:1.08rem;line-height:1.75}.project-detail-tech-list{margin-top:22px}.project-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.project-detail-hero-media{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 24px 68px #0f172a1f}.project-detail-hero-media img{width:100%;aspect-ratio:16 / 9;object-fit:contain;background:#fff}.project-detail-hero-media--console{background:#080b0f}.project-detail-hero-media--console img{aspect-ratio:auto;height:auto;background:#080b0f;object-fit:initial}.project-detail-hero-media--rfid img{object-fit:cover;object-position:left top}.excel-condition-page .project-detail-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)}.excel-condition-page .project-detail-hero-media{justify-self:end;width:min(100%,760px);max-height:420px}.excel-condition-page .project-detail-hero-media img{max-height:420px;object-fit:contain}.github-project-page .project-detail-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)}.github-project-page .project-detail-hero-media{justify-self:end;width:min(100%,760px);max-height:420px}.github-project-page .project-detail-hero-media img{width:auto;max-width:100%;max-height:420px;margin-inline:auto;object-fit:contain}.project-download-section{display:grid;grid-template-columns:minmax(240px,.56fr) minmax(0,1fr);gap:28px;align-items:start;padding:44px 0 50px;border-top:1px solid var(--line)}.project-download-copy h2{margin:8px 0 12px;color:var(--ink);font-size:clamp(1.78rem,2.4vw,2.2rem);line-height:1.16}.project-download-copy p{max-width:520px;color:var(--muted);line-height:1.7}.project-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-download-card{display:grid;gap:12px;min-height:190px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.project-download-card h3{margin:0;color:var(--ink);font-size:1.26rem}.project-download-card p{margin:0;color:var(--muted);line-height:1.62}.project-download-card .button{width:fit-content;margin-top:auto}.project-guide{padding-top:56px;border-top:1px solid var(--line)}.industrial-aoi-guide-detail,.industrial-aoi-guide-detail .industrial-aoi-work-section{border-top:0}.project-guide-header{max-width:780px;margin-bottom:26px}.project-guide-header h2{margin:8px 0 12px;font-size:clamp(2rem,3vw,2.55rem);line-height:1.14;overflow-wrap:anywhere}.project-guide-header p,.guide-section p{color:var(--muted);line-height:1.7}.project-guide code{padding:3px 6px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:6px;color:var(--accent-strong);background:var(--code-bg);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em;font-weight:760}.guide-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0;margin:0 0 36px;list-style:none}.guide-flow li{display:grid;gap:6px;min-height:94px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.guide-flow strong{color:var(--forest);font-size:.88rem}.guide-flow span{color:var(--text-muted);font-size:.92rem;font-weight:800;line-height:1.35}.guide-section{padding:42px 0;border-top:1px solid var(--line)}.industrial-aoi-guide .project-guide-header+.industrial-aoi-work-section{padding-top:18px;border-top:0}.guide-section h3{margin:0 0 18px;color:var(--ink);font-size:1.52rem}.guide-image-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1180px;margin:0 0 22px;margin-inline:auto}.guide-figure,.guide-image-pair figure{margin:0 0 22px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.guide-image-pair figure{margin:0}.guide-figure{max-width:920px;margin-inline:auto}.guide-figure--medium{max-width:920px}.guide-figure--compact{max-width:800px}.guide-figure--small{max-width:520px}.guide-figure img,.guide-image-pair img{width:100%;height:auto;border-radius:6px;background:#fff}.guide-figure figcaption,.guide-image-pair figcaption{margin-top:10px;color:var(--muted);font-size:.9rem;text-align:center}.guide-figure figcaption code,.guide-image-pair figcaption code{padding:0;color:inherit;background:transparent}.excel-condition-guide .guide-image-pair{max-width:920px}.excel-condition-guide .guide-figure{max-width:760px}.excel-condition-guide .guide-figure--compact{max-width:620px}.excel-condition-guide .guide-figure--small{max-width:420px}.excel-condition-guide .guide-figure img,.excel-condition-guide .guide-image-pair img{display:block;width:auto;max-width:100%;max-height:340px;margin-inline:auto;object-fit:contain}.guide-table-wrap{width:100%;margin:18px 0 22px;overflow-x:auto}.project-guide table{width:100%;border-collapse:collapse;font-size:.95rem}.project-guide th,.project-guide td{padding:12px 14px;border:1px solid var(--table-border);text-align:left;vertical-align:top}.project-guide th{width:22%;color:var(--text);background:var(--table-head);font-weight:900}.project-guide td{color:var(--text-muted);background:var(--card)}.guide-checklist{display:grid;gap:9px;margin:14px 0 0;padding-left:22px;color:var(--text-muted);line-height:1.65}.guide-note{margin-top:24px;padding:16px 18px;border-left:4px solid var(--success);border-radius:0 8px 8px 0;color:var(--text);background:var(--success-soft);line-height:1.65}.cpu-guide-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-figure--console{max-width:980px;background:#080b0f}.guide-figure--tree{max-width:1040px;background:var(--media-bg)}.guide-figure--tree img{background:var(--media-bg)}.run-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.run-mode-card{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.run-mode-card figure{margin:0;background:#080b0f}.run-mode-card img{display:block;width:100%;height:auto;background:#080b0f;object-fit:initial}.cpu-project-guide .run-mode-card img,.cpu-project-guide .cli-output-card img,.cpu-project-guide .csv-file-card img{width:auto;max-width:100%;max-height:240px;margin-inline:auto;object-fit:contain}.cpu-project-guide .csv-file-card img{max-height:260px}.run-mode-card>div{display:grid;align-content:start;gap:10px;padding:18px}.mode-badge{width:fit-content;padding:5px 8px;border-radius:8px;color:var(--forest);background:var(--accent-soft);font-size:.78rem;font-weight:900}.run-mode-card h4{margin:0;color:var(--ink);font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.run-mode-card p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.6}.console-capture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}.cli-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cli-output-card{overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:12px;background:var(--card);box-shadow:0 18px 42px #0f172a1a}.cli-output-card figure{margin:0;background:#080b0f}.cli-output-card img{display:block;width:100%;height:auto;background:#080b0f}.cli-output-card>div{display:grid;gap:8px;padding:15px 16px 17px;border-top:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 36%,transparent),transparent)}.cli-output-card code{width:fit-content;max-width:100%;overflow-wrap:anywhere}.cli-output-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}.csv-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.csv-file-card{overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:12px;background:var(--card);box-shadow:0 18px 42px #0f172a1a}.csv-file-card figure{margin:0;background:var(--media-bg)}.csv-file-card img{display:block;width:100%;height:auto;background:var(--media-bg)}.csv-file-card>div{display:grid;gap:8px;padding:15px 16px 17px;border-top:1px solid color-mix(in srgb,var(--accent) 14%,var(--line))}.csv-file-card code{width:fit-content;max-width:100%;overflow-wrap:anywhere}.csv-file-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}.console-capture-figure{margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.guide-figure--console img,.console-capture-figure img{width:100%;height:auto;border-radius:6px;background:#080b0f}.console-capture-figure figcaption{margin-top:10px;color:var(--muted);font-size:.9rem;line-height:1.55;text-align:center}.console-command-table{margin-bottom:24px}.console-command-table table{min-width:1180px;table-layout:fixed}.console-command-table th:nth-child(1),.console-command-table td:nth-child(1){width:11%}.console-command-table th:nth-child(2),.console-command-table td:nth-child(2){width:44%;white-space:nowrap}.console-command-table th:nth-child(3),.console-command-table td:nth-child(3){width:45%;white-space:nowrap}.console-command-table code{display:inline-flex;max-width:100%;overflow-wrap:anywhere}.architecture-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:8px 0 24px}.architecture-flow span{display:grid;place-items:center;min-height:54px;padding:10px;border:1px solid var(--border);border-radius:8px;color:var(--accent);background:var(--accent-soft);font-size:.88rem;font-weight:900;line-height:1.25;text-align:center}.rfid-download-grid{grid-template-columns:minmax(0,360px);justify-content:end}.rfid-download-card{gap:8px;min-height:0;align-content:start}.rfid-download-card .button{margin-top:0}.rfid-guide-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.rfid-search-pair{max-width:820px}.rfid-project-guide .guide-figure,.rfid-project-guide .guide-image-pair figure{padding:0;overflow:hidden}.rfid-project-guide .guide-figure--console,.rfid-project-guide .guide-figure--tree{background:var(--card)}.rfid-project-guide .guide-figure img,.rfid-project-guide .guide-image-pair img{display:block;width:auto;max-width:100%;max-height:360px;margin-inline:auto;border-radius:0;object-fit:contain}.rfid-project-guide .guide-figure figcaption,.rfid-project-guide .guide-image-pair figcaption{margin-top:0;padding:10px 12px 12px}.rfid-preorder-figure{max-width:760px;margin-top:16px}.rfid-preorder-note{margin-top:16px}.rfid-search-pair img{background:#080b0f}.rfid-console-figure{max-width:480px}.search-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 22px}.search-state-card{display:grid;gap:10px;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.search-state-card h4{margin:0;color:var(--forest);font-size:1.08rem}.search-state-card p{margin:0;color:var(--muted);line-height:1.65}.rfid-architecture-flow{grid-template-columns:repeat(6,minmax(0,1fr))}.industrial-aoi-page .project-detail-hero{grid-template-columns:minmax(430px,.88fr) minmax(420px,1.12fr)}.industrial-aoi-page .project-detail-hero-media{justify-self:end;width:min(100%,880px);max-height:460px}.industrial-aoi-hero-media{position:relative;background:var(--media-bg)}.project-detail-hero-media.industrial-aoi-hero-media img{display:block;aspect-ratio:auto;max-height:460px;height:auto;object-fit:contain;background:var(--media-bg)}.industrial-aoi-hero-media-pair{padding:10px}.industrial-aoi-visual-note{margin:14px 0 0;color:var(--text-muted);font-size:.84rem;font-weight:720;line-height:1.45}.industrial-aoi-hero-media-pair>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.industrial-aoi-hero-media-pair>div>span{position:relative;display:block;min-width:0;overflow:hidden;border-radius:6px;background:var(--media-bg)}.project-detail-hero-media.industrial-aoi-hero-media-pair img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:center}.industrial-aoi-hero-media-pair>div>span:first-child img{object-position:center 48%}.industrial-aoi-hero-media-pair>div>span:nth-child(2) img{object-position:center 52%}.industrial-aoi-hero-media-pair em{position:absolute;left:8px;top:8px;padding:4px 7px;border:1px solid rgb(255 255 255 / 28%);border-radius:999px;color:#fff;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.64rem;font-style:normal;font-weight:900;line-height:1}.industrial-aoi-hero-kpi{position:absolute;top:14px;right:14px;display:grid;gap:4px;min-width:132px;padding:12px 14px;border:1px solid rgb(255 255 255 / 52%);border-radius:8px;color:#fff;background:#080d16b3;box-shadow:0 18px 42px #0f172a38;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-shadow:0 1px 2px rgb(0 0 0 / 35%)}.industrial-aoi-hero-kpi span{display:inline;width:fit-content;padding:0;border:0;border-radius:0;color:#fff;background:transparent;overflow:visible;font-size:.68rem;font-weight:900;letter-spacing:0;line-height:1;text-transform:uppercase}.industrial-aoi-hero-kpi strong{color:#fff;font-size:clamp(1.5rem,3vw,2.15rem);font-weight:950;line-height:.98}.industrial-aoi-hero-kpi p{display:flex;align-items:center;gap:6px;margin:0;color:#fffffff0;font-size:.78rem;font-weight:850;line-height:1.2}.industrial-aoi-hero-kpi svg{width:13px;height:13px}.industrial-aoi-hero-kpi--compact{min-width:118px;padding:10px 12px}.industrial-aoi-hero-kpi--compact strong{font-size:clamp(1.28rem,2.1vw,1.6rem)}.industrial-aoi-hero-kpi--compact p{white-space:nowrap}.industrial-aoi-repair-hero{display:grid;align-content:center;gap:22px;min-height:330px;padding:22px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--card-strong) 92%,transparent),color-mix(in srgb,var(--success) 7%,var(--card))),var(--card)}.industrial-aoi-repair-hero-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 14px}.industrial-aoi-repair-hero-title span{color:var(--muted);font-size:.76rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.industrial-aoi-repair-hero-title strong{color:var(--accent);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:950;line-height:1.05}.industrial-aoi-repair-hero-flow{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr);align-items:center;gap:10px}.industrial-aoi-repair-hero-node{display:grid;align-content:start;justify-items:start;gap:10px;min-width:0;min-height:142px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--shadow) 8%,transparent)}.industrial-aoi-repair-hero-node svg{width:31px;height:31px;color:var(--accent)}.industrial-aoi-repair-hero-node strong{display:block;color:var(--ink);font-size:1rem;font-weight:950;line-height:1.25}.industrial-aoi-repair-hero-node span{display:block;margin-top:6px;color:var(--muted);font-size:.82rem;font-weight:760;line-height:1.45}.industrial-aoi-repair-hero-node-accent{border-color:color-mix(in srgb,#0f766e 26%,var(--border))}.industrial-aoi-repair-hero-node-accent svg{color:#0f766e}.industrial-aoi-repair-hero-node-success{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:color-mix(in srgb,var(--success) 5%,var(--card))}.industrial-aoi-repair-hero-node-success svg{color:color-mix(in srgb,var(--success) 82%,var(--ink))}.industrial-aoi-repair-hero-arrow{justify-self:center;width:22px;height:22px;color:color-mix(in srgb,var(--accent) 66%,var(--muted));stroke-width:2.5}.industrial-aoi-repair-hero-compare{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.industrial-aoi-repair-hero-compare span,.industrial-aoi-repair-hero-compare strong{width:fit-content;padding:7px 9px;border-radius:7px;font-size:.78rem;font-weight:900;line-height:1.25}.industrial-aoi-repair-hero-compare span{border:1px solid color-mix(in srgb,#df3d3d 18%,var(--border));color:#b91c1c;background:color-mix(in srgb,#df3d3d 6%,var(--card))}.industrial-aoi-repair-hero-compare strong{border:1px solid color-mix(in srgb,var(--success) 18%,var(--border));color:color-mix(in srgb,var(--success) 78%,var(--ink));background:color-mix(in srgb,var(--success) 6%,var(--card))}.industrial-aoi-repair-hero{display:block;min-height:0;padding:0;background:#fff}.project-detail-hero-media.industrial-aoi-repair-hero img{width:100%;max-height:460px;object-fit:contain;background:#fff}.industrial-aoi-repair-hero>div{display:none}.industrial-aoi-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.industrial-aoi-summary-grid,.industrial-aoi-focus-grid,.industrial-aoi-draft-grid{display:grid;gap:16px}.industrial-aoi-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.industrial-aoi-summary-grid article,.industrial-aoi-focus-card,.industrial-aoi-draft-card{display:grid;gap:10px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.industrial-aoi-summary-grid strong{color:var(--forest);font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.1}.industrial-aoi-summary-grid span,.industrial-aoi-focus-card p,.industrial-aoi-draft-card p{margin:0;color:var(--muted);line-height:1.65}.industrial-aoi-focus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.industrial-aoi-focus-card h4,.industrial-aoi-draft-card h4{margin:0;color:var(--ink);font-size:1.08rem}.industrial-aoi-focus-card code{width:fit-content}.industrial-aoi-focus-link{color:inherit}.industrial-aoi-focus-link span{width:fit-content;color:var(--forest);font-size:.82rem;font-weight:900}.industrial-aoi-work-header{display:grid;gap:8px;max-width:760px;margin-bottom:18px}.industrial-aoi-work-header h3{margin:0;color:var(--ink);font-size:clamp(1.62rem,2.3vw,2.05rem);line-height:1.16}.industrial-aoi-work-header p{margin:0;color:var(--muted);line-height:1.7}.industrial-aoi-direction-block{display:grid;gap:14px;margin:2px 0 18px}.industrial-aoi-direction-header{display:flex;align-items:center}.industrial-aoi-direction-header span{color:var(--success);font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.industrial-aoi-direction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.industrial-aoi-direction-card{display:grid;align-content:start;gap:10px;min-width:0;padding:20px;border:1px solid color-mix(in srgb,var(--success) 30%,var(--border));border-left:4px solid var(--success);border-radius:8px;background:var(--success-soft)}.industrial-aoi-direction-card span{color:var(--success);font-size:.78rem;font-weight:900}.industrial-aoi-direction-card h4{margin:0;color:var(--ink);font-size:1.05rem;line-height:1.35}.industrial-aoi-direction-card li{color:var(--muted);line-height:1.58}.industrial-aoi-direction-card ul{margin:0}.industrial-aoi-direction-card ul{display:grid;gap:6px;padding-left:18px}.industrial-aoi-detail-grid{display:grid;grid-template-columns:.9fr 1.05fr 1.05fr;gap:16px;margin-bottom:18px}.industrial-aoi-detail-card{display:grid;align-content:start;gap:10px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.industrial-aoi-detail-card h4{margin:0;color:var(--forest);font-size:.98rem}.industrial-aoi-detail-card p,.industrial-aoi-detail-card li{color:var(--muted);line-height:1.62}.industrial-aoi-detail-card p,.industrial-aoi-detail-card ul{margin:0}.industrial-aoi-detail-card ul{display:grid;gap:8px;padding-left:18px}.industrial-aoi-improvement-block{display:grid;gap:14px;margin:8px 0 18px}.industrial-aoi-improvement-block>h4{margin:0;color:var(--ink);font-size:1.08rem}.industrial-aoi-improvement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.industrial-aoi-improvement-card{display:grid;align-content:start;gap:9px;min-width:0;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--card-strong)}.industrial-aoi-improvement-card h5{margin:0;color:var(--accent);font-size:.98rem;line-height:1.35}.industrial-aoi-improvement-card p,.industrial-aoi-improvement-card li{color:var(--muted);line-height:1.58}.industrial-aoi-improvement-card p,.industrial-aoi-improvement-card ul{margin:0}.industrial-aoi-improvement-card ul{display:grid;gap:6px;padding-left:18px}.industrial-aoi-matching-section{display:grid;gap:18px;margin:0}.industrial-aoi-guide-detail .industrial-aoi-matching-section+.industrial-aoi-matching-section{margin-top:24px}.industrial-aoi-keyword-cloud{display:flex;flex-wrap:wrap;gap:8px}.industrial-aoi-keyword-cloud span{padding:6px 10px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:7px;color:var(--accent);background:var(--accent-soft);font-size:.84rem;font-weight:800;line-height:1.2}.industrial-aoi-report-grid,.industrial-aoi-result-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(220px,.9fr) minmax(220px,.9fr);gap:18px}.industrial-aoi-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.industrial-aoi-report-panel{display:grid;gap:14px;min-width:0}.industrial-aoi-report-card{align-content:start;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 24%,transparent),transparent 52%),var(--card);box-shadow:0 14px 34px #0f172a0d}.industrial-aoi-report-panel>p{margin:0;color:var(--ink);line-height:1.7}.industrial-aoi-report-bullet-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.industrial-aoi-report-bullet-list li{position:relative;min-width:0;padding-left:18px;color:var(--muted);font-size:.9rem;font-weight:720;line-height:1.62}.industrial-aoi-report-bullet-list li:before{content:"";position:absolute;top:.72em;left:0;width:6px;height:6px;border-radius:999px;background:var(--accent)}.industrial-aoi-report-bullet-list strong{display:inline;color:var(--ink);font-size:.9rem;font-weight:930;line-height:inherit}.industrial-aoi-report-bullet-list span{display:inline;color:var(--muted);font-size:inherit;font-weight:720;line-height:inherit}.industrial-aoi-report-bullet-list strong:after{content:" - ";color:var(--muted);font-weight:700}.industrial-aoi-report-heading{display:flex;align-items:center;gap:10px}.industrial-aoi-report-heading span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;color:#fff;background:var(--accent);font-size:.86rem;font-weight:900;line-height:1}.industrial-aoi-report-heading h5{margin:0;color:var(--ink);font-size:clamp(1.12rem,1.7vw,1.38rem);line-height:1.2}.industrial-aoi-report-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.industrial-aoi-report-stat,.industrial-aoi-comparison-box{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:var(--card-strong)}.industrial-aoi-report-stat span,.industrial-aoi-comparison-box span{color:var(--accent);font-size:.78rem;font-weight:900}.industrial-aoi-report-stat strong,.industrial-aoi-comparison-box strong{color:var(--ink);font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.2}.industrial-aoi-report-stat-danger{border-color:color-mix(in srgb,#df3d3d 32%,var(--border));background:color-mix(in srgb,#df3d3d 8%,var(--card))}.industrial-aoi-report-stat-danger span,.industrial-aoi-report-stat-danger strong{color:#b91c1c}.industrial-aoi-report-stat-resolved{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));background:color-mix(in srgb,var(--accent-soft) 70%,var(--card))}.industrial-aoi-report-stat-resolved span,.industrial-aoi-report-stat-resolved strong{color:var(--accent)}.industrial-aoi-comparison-box p{margin:0;color:var(--muted);line-height:1.58}.industrial-aoi-step-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.industrial-aoi-step-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:var(--card)}.industrial-aoi-step-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:999px;color:var(--accent);background:var(--accent-soft)}.industrial-aoi-step-icon svg{width:24px;height:24px}.industrial-aoi-step-card strong{color:var(--ink);font-size:.98rem}.industrial-aoi-step-card p{margin:6px 0 0;color:var(--muted);line-height:1.58}.industrial-aoi-step-arrow{position:absolute;top:50%;right:-20px;z-index:1;width:24px;height:24px;color:color-mix(in srgb,var(--accent) 42%,var(--border));transform:translateY(-50%)}.industrial-aoi-step-flow-four{grid-template-columns:repeat(4,minmax(0,1fr))}.industrial-aoi-step-flow-four .industrial-aoi-step-card{grid-template-columns:minmax(0,1fr);align-content:start}.industrial-aoi-step-flow-four .industrial-aoi-step-icon{width:42px;height:42px}.industrial-aoi-implementation-block{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--accent) 12%,var(--border))}.industrial-aoi-implementation-title{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;justify-content:space-between}.industrial-aoi-implementation-title strong{color:var(--ink);font-size:1rem;font-weight:950}.industrial-aoi-implementation-title span{color:var(--muted);font-size:.86rem;font-weight:750}.industrial-aoi-implementation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.industrial-aoi-implementation-card{display:grid;align-content:start;gap:9px;min-width:0;min-height:168px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--card-strong) 90%,transparent),color-mix(in srgb,var(--accent) 4%,var(--card))),var(--card)}.industrial-aoi-implementation-card span{width:fit-content;padding:5px 8px;border:1px solid color-mix(in srgb,var(--success) 18%,var(--border));border-radius:999px;color:color-mix(in srgb,var(--success) 76%,var(--ink));font-size:.72rem;font-weight:950;background:color-mix(in srgb,var(--success) 6%,var(--card))}.industrial-aoi-implementation-card strong{color:var(--ink);font-size:.95rem;font-weight:950;line-height:1.32}.industrial-aoi-implementation-card p{margin:0;color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.55}.industrial-aoi-integration-map{position:relative;display:grid;gap:18px;padding:18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:8px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-soft) 72%,transparent),transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--card-strong) 82%,transparent),var(--card))}.industrial-aoi-integration-diagram-badge{justify-self:end;width:fit-content;padding:5px 9px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:999px;color:var(--muted);font-size:.75rem;font-weight:850;background:color-mix(in srgb,var(--card) 76%,transparent)}.industrial-aoi-integration-map-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.18fr) auto minmax(0,1fr);gap:14px;align-items:center}.industrial-aoi-integration-map-flow>svg{width:24px;height:24px;color:color-mix(in srgb,var(--accent) 55%,var(--border))}.industrial-aoi-integration-channel-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.industrial-aoi-integration-system{display:grid;gap:8px;min-width:0;min-height:98px;align-content:center;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--card) 86%,transparent);box-shadow:0 14px 34px #0f172a12}.industrial-aoi-integration-system-focus{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--card))}.industrial-aoi-integration-system-alt{border-color:color-mix(in srgb,var(--accent) 24%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--card))}.industrial-aoi-integration-system strong{color:var(--ink);font-size:1rem;font-weight:950;line-height:1.2}.industrial-aoi-integration-system span{color:var(--muted);font-size:.86rem;font-weight:750}.industrial-aoi-integration-flow-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.industrial-aoi-integration-flow-list span{display:grid;gap:5px;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:8px;background:var(--card)}.industrial-aoi-integration-flow-list strong{color:var(--accent);font-size:.82rem;font-weight:950}.industrial-aoi-integration-flow-list em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:700;line-height:1.45}.industrial-aoi-structure-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.12fr);gap:18px;align-items:stretch}.industrial-aoi-structure-panel{display:grid;gap:18px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 28%,transparent),transparent 45%),var(--card)}.industrial-aoi-structure-titlebar{display:flex;align-items:end;justify-content:space-between;gap:16px}.industrial-aoi-structure-titlebar p{max-width:none;margin:0;color:var(--muted);font-size:.9rem;font-weight:750;line-height:1.55;text-align:right;white-space:nowrap}.industrial-aoi-integration-section .industrial-aoi-structure-titlebar p{max-width:none;white-space:nowrap}.industrial-aoi-report-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.industrial-aoi-structure-card{display:grid;gap:0;min-width:0;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:0 16px 38px #0f172a12}.industrial-aoi-structure-before{border-color:color-mix(in srgb,#df3d3d 20%,var(--border))}.industrial-aoi-structure-after{border-color:color-mix(in srgb,var(--success) 24%,var(--border))}.industrial-aoi-structure-card-header{display:flex;align-items:center;box-sizing:border-box;height:58px;padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 54%,var(--card)),var(--card))}.industrial-aoi-structure-card-header div{display:flex;align-items:center;gap:9px;width:100%;min-width:0;white-space:nowrap}.industrial-aoi-structure-card-header strong{color:var(--accent);font-size:1rem;font-weight:900;line-height:1.25}.industrial-aoi-structure-card-header p{min-width:0;margin:0;color:var(--muted);font-size:.78rem;font-weight:750;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.industrial-aoi-structure-before .industrial-aoi-structure-card-header{border-bottom-color:color-mix(in srgb,#df3d3d 24%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,#df3d3d 8%,var(--card)),var(--card))}.industrial-aoi-structure-before .industrial-aoi-structure-card-header strong{color:#b91c1c}.industrial-aoi-structure-after .industrial-aoi-structure-card-header{border-bottom-color:color-mix(in srgb,var(--success) 26%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--success-soft) 44%,var(--card)),var(--card))}.industrial-aoi-structure-after .industrial-aoi-structure-card-header strong{color:color-mix(in srgb,var(--success) 78%,var(--accent))}.industrial-aoi-structure-diagram{display:grid;grid-template-columns:minmax(108px,.9fr) minmax(96px,.72fr) minmax(116px,.9fr);align-items:center;gap:18px;min-height:242px;padding:24px 18px 14px;background:linear-gradient(90deg,rgb(15 23 42 / 2%) 1px,transparent 1px),linear-gradient(180deg,rgb(15 23 42 / 2%) 1px,transparent 1px);background-size:24px 24px}.industrial-aoi-structure-diagram-before{grid-template-columns:minmax(148px,.86fr) minmax(140px,1fr) minmax(148px,.86fr);gap:0}.industrial-aoi-structure-diagram-after{grid-template-columns:minmax(112px,.96fr) minmax(46px,.38fr) minmax(106px,.9fr) minmax(46px,.38fr) minmax(112px,.96fr);align-items:end;gap:3px}.industrial-aoi-structure-diagram-after .industrial-aoi-structure-tag-column,.industrial-aoi-structure-diagram-after .industrial-aoi-structure-lines{align-self:end}.industrial-aoi-structure-node,.industrial-aoi-structure-funnel{display:grid;align-content:center;justify-items:center;gap:8px;min-height:148px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:8px;color:var(--ink);background:color-mix(in srgb,var(--accent-soft) 36%,var(--card));text-align:center;line-height:1.45}.industrial-aoi-structure-node strong,.industrial-aoi-structure-funnel strong{color:var(--ink);font-size:.96rem}.industrial-aoi-structure-node span,.industrial-aoi-structure-funnel span{color:var(--muted);font-size:.84rem;font-weight:800}.industrial-aoi-structure-node ul{display:grid;gap:4px;width:100%;padding:0;margin:0;list-style:none}.industrial-aoi-structure-node li{padding:4px 7px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:5px;color:var(--ink);background:var(--card);font-size:.72rem;font-weight:800;line-height:1.15}.industrial-aoi-structure-tag-column{align-self:center;gap:10px;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.industrial-aoi-structure-tag-column ul{gap:6px}.industrial-aoi-structure-tag-column li{display:grid;place-items:center;height:25px;padding:0 9px;border-color:color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:6px;background:var(--card);box-shadow:0 8px 18px #0f172a0d;white-space:nowrap}.industrial-aoi-structure-tag-column>strong{width:100%;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--accent-soft) 38%,var(--card));font-size:.78rem;line-height:1}.industrial-aoi-structure-tag-column-danger li{border-color:color-mix(in srgb,#df3d3d 32%,var(--border));background:color-mix(in srgb,#df3d3d 5%,var(--card))}.industrial-aoi-structure-tag-column-danger>strong{border-color:color-mix(in srgb,#df3d3d 22%,var(--border));color:#b91c1c;background:color-mix(in srgb,#df3d3d 8%,var(--card))}.industrial-aoi-structure-module-column ul,.industrial-aoi-structure-tag-column-danger ul,.industrial-aoi-structure-tag-column-success ul{height:180px;align-content:space-around}.industrial-aoi-structure-module-column li{border-color:color-mix(in srgb,var(--success) 32%,var(--border));background:color-mix(in srgb,var(--success-soft) 60%,var(--card))}.industrial-aoi-structure-module-column ul{position:relative;display:block}.industrial-aoi-structure-module-column li{position:absolute;left:0;width:100%}.industrial-aoi-structure-module-column li:nth-child(1){top:calc(15.5% - 12.5px)}.industrial-aoi-structure-module-column li:nth-child(2){top:calc(50% - 12.5px)}.industrial-aoi-structure-module-column li:nth-child(3){top:calc(84.5% - 12.5px)}.industrial-aoi-structure-module-column>strong{border-color:color-mix(in srgb,var(--success) 26%,var(--border));color:color-mix(in srgb,var(--success) 78%,var(--accent));background:color-mix(in srgb,var(--success-soft) 70%,var(--card))}.industrial-aoi-structure-tag-column-success li{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:color-mix(in srgb,var(--success) 5%,var(--card))}.industrial-aoi-structure-node-danger li{border-color:color-mix(in srgb,#df3d3d 22%,var(--border));background:color-mix(in srgb,#df3d3d 4%,var(--card))}.industrial-aoi-structure-node em{display:block;width:min(78px,80%);height:6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,var(--card))}.industrial-aoi-structure-node em:nth-of-type(2){width:min(56px,68%)}.industrial-aoi-structure-node em:nth-of-type(3){width:min(38px,52%)}.industrial-aoi-structure-node-danger{border-color:color-mix(in srgb,#df3d3d 34%,var(--border));background:color-mix(in srgb,#df3d3d 8%,var(--card))}.industrial-aoi-structure-node-danger em{background:color-mix(in srgb,#df3d3d 28%,var(--card))}.industrial-aoi-structure-node-success,.industrial-aoi-structure-funnel{border-color:color-mix(in srgb,var(--success) 34%,var(--border));background:color-mix(in srgb,var(--success-soft) 52%,var(--card))}.industrial-aoi-structure-funnel{position:relative}.industrial-aoi-structure-funnel:before,.industrial-aoi-structure-funnel:after{position:absolute;top:50%;width:24px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--success) 62%,var(--accent));content:""}.industrial-aoi-structure-funnel:before{right:100%}.industrial-aoi-structure-funnel:after{left:100%}.industrial-aoi-structure-funnel li:last-child:after{position:absolute;top:50%;right:-26px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid color-mix(in srgb,var(--success) 62%,var(--accent));content:"";transform:translateY(-50%)}.industrial-aoi-structure-node-success em{background:color-mix(in srgb,var(--success) 28%,var(--card))}.industrial-aoi-structure-funnel ul{display:grid;gap:5px;width:100%;padding:0;margin:0;list-style:none}.industrial-aoi-structure-funnel li{padding:5px 8px;border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));border-radius:5px;color:var(--ink);background:var(--card);font-size:.78rem;font-weight:800;line-height:1.2}.industrial-aoi-structure-lines{align-self:end;width:100%;min-width:112px;height:180px;overflow:visible}.industrial-aoi-structure-lines line{stroke:#df3d3d;stroke-width:.95;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.industrial-aoi-structure-lines marker path{fill:#df3d3d}.industrial-aoi-structure-lines-filter{min-width:46px}.industrial-aoi-structure-lines-filter line{stroke:color-mix(in srgb,var(--success) 76%,var(--accent));stroke-dasharray:none;stroke-width:1.15}.industrial-aoi-structure-lines-filter marker path{fill:color-mix(in srgb,var(--success) 76%,var(--accent))}.industrial-aoi-structure-caption{display:grid;justify-items:center;gap:9px;padding:0 18px 18px;text-align:center}.industrial-aoi-structure-caption p{margin:0;color:var(--ink);font-size:.88rem;font-weight:800;line-height:1.55}.industrial-aoi-structure-formula{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;max-width:min(100%,460px);margin-top:-3px}.industrial-aoi-structure-formula span{display:inline-grid;justify-items:center;gap:3px;min-width:112px;padding:7px 9px;border:1px solid color-mix(in srgb,#df3d3d 18%,var(--border));border-radius:7px;background:color-mix(in srgb,#df3d3d 4%,var(--card))}.industrial-aoi-structure-formula strong,.industrial-aoi-structure-formula b{color:#b91c1c;font-size:.95rem;font-weight:950;line-height:1.15;white-space:nowrap}.industrial-aoi-structure-formula b{color:color-mix(in srgb,#b91c1c 58%,var(--muted));font-size:.82rem}.industrial-aoi-structure-formula em{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:750;line-height:1.35;text-align:center}.industrial-aoi-structure-caption-success .industrial-aoi-structure-formula{flex-wrap:nowrap;max-width:none}.industrial-aoi-structure-caption-success .industrial-aoi-structure-formula span{display:inline-grid;min-width:128px;border-color:color-mix(in srgb,var(--success) 22%,var(--border));background:color-mix(in srgb,var(--success-soft) 48%,var(--card));white-space:nowrap}.industrial-aoi-structure-caption-success .industrial-aoi-structure-formula strong,.industrial-aoi-structure-caption-success .industrial-aoi-structure-formula b{color:color-mix(in srgb,var(--success) 72%,var(--accent))}.industrial-aoi-structure-caption-success .industrial-aoi-structure-formula b{color:color-mix(in srgb,var(--success) 58%,var(--muted))}.industrial-aoi-structure-caption-success .industrial-aoi-structure-formula em{white-space:nowrap}.industrial-aoi-structure-caption>strong{width:fit-content;padding:7px 11px;border:1px solid color-mix(in srgb,#df3d3d 28%,var(--border));border-radius:999px;color:#b91c1c;background:color-mix(in srgb,#df3d3d 10%,var(--card));font-size:.84rem;font-weight:900;line-height:1.2}.industrial-aoi-structure-caption-success>strong{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));color:var(--accent);background:var(--accent-soft)}.industrial-aoi-hotkey-section{gap:18px}.industrial-aoi-hotkey-section-lead{margin:0 0 14px;color:var(--muted);font-size:.92rem;font-weight:760;line-height:1.6}.industrial-aoi-hotkey-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.industrial-aoi-hotkey-compare-card{display:grid;align-content:start;gap:16px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:0 16px 38px #0f172a12}.industrial-aoi-hotkey-before{border-color:color-mix(in srgb,#df3d3d 22%,var(--border))}.industrial-aoi-hotkey-after{border-color:color-mix(in srgb,var(--success) 28%,var(--border))}.industrial-aoi-hotkey-compare-card .industrial-aoi-structure-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0;padding:0 0 12px;border-bottom:1px solid var(--border);background:transparent}.industrial-aoi-hotkey-compare-card .industrial-aoi-structure-card-header div{display:grid;gap:4px;white-space:normal}.industrial-aoi-hotkey-compare-card .industrial-aoi-structure-card-header svg{flex:0 0 auto;width:28px;height:28px;color:var(--accent)}.industrial-aoi-hotkey-before .industrial-aoi-structure-card-header svg,.industrial-aoi-hotkey-before .industrial-aoi-structure-card-header strong{color:#b91c1c}.industrial-aoi-hotkey-after .industrial-aoi-structure-card-header svg,.industrial-aoi-hotkey-after .industrial-aoi-structure-card-header strong{color:color-mix(in srgb,var(--success) 74%,var(--accent))}.industrial-aoi-hotkey-flow{display:grid;gap:10px;padding:0;margin:0;list-style:none}.industrial-aoi-hotkey-flow li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:3px 10px;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent-soft) 24%,var(--card))}.industrial-aoi-hotkey-flow span{grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--card));font-size:.78rem;font-weight:950;line-height:1}.industrial-aoi-hotkey-flow strong{min-width:0;color:var(--ink);font-size:.92rem;font-weight:900;line-height:1.28;overflow-wrap:anywhere}.industrial-aoi-hotkey-flow p{min-width:0;margin:0;color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.5}.industrial-aoi-hotkey-metric{display:grid;gap:4px;padding:14px;border:1px solid color-mix(in srgb,#df3d3d 22%,var(--border));border-radius:8px;background:color-mix(in srgb,#df3d3d 8%,var(--card))}.industrial-aoi-hotkey-metric-success{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:color-mix(in srgb,var(--success-soft) 50%,var(--card))}.industrial-aoi-hotkey-metric span{color:var(--muted);font-size:.78rem;font-weight:900;line-height:1.2}.industrial-aoi-hotkey-metric strong{color:#b91c1c;font-size:clamp(1.45rem,3vw,2rem);font-weight:950;line-height:1.05}.industrial-aoi-hotkey-metric-success strong{color:color-mix(in srgb,var(--success) 72%,var(--accent))}.industrial-aoi-hotkey-metric p{margin:0;color:var(--ink);font-size:.9rem;font-weight:800;line-height:1.45}.industrial-aoi-hotkey-summary{display:grid;gap:6px;padding:14px;border:1px solid color-mix(in srgb,#df3d3d 22%,var(--border));border-radius:8px;background:color-mix(in srgb,#df3d3d 7%,var(--card))}.industrial-aoi-hotkey-summary-success{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:color-mix(in srgb,var(--success-soft) 46%,var(--card))}.industrial-aoi-hotkey-summary span{color:var(--muted);font-size:.78rem;font-weight:900;line-height:1.2}.industrial-aoi-hotkey-summary strong{color:#b91c1c;font-size:clamp(1rem,1.5vw,1.18rem);font-weight:930;line-height:1.3;overflow-wrap:anywhere}.industrial-aoi-hotkey-summary-success strong{color:color-mix(in srgb,var(--success) 76%,var(--accent))}.industrial-aoi-hotkey-summary p{margin:0;color:var(--ink);font-size:.88rem;font-weight:780;line-height:1.5}.industrial-aoi-hotkey-tabs{display:flex;flex-wrap:wrap;gap:8px}.industrial-aoi-hotkey-tabs span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:7px;color:var(--ink);background:color-mix(in srgb,var(--accent-soft) 36%,var(--card));font-size:.84rem;font-weight:850;line-height:1.2}.industrial-aoi-hotkey-stability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:16px}.industrial-aoi-hotkey-stability-grid article{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--card-strong)}.industrial-aoi-hotkey-stability-grid svg{width:24px;height:24px;color:var(--accent)}.industrial-aoi-hotkey-stability-grid strong{color:var(--ink);font-size:.95rem;font-weight:900;line-height:1.25}.industrial-aoi-hotkey-stability-grid p{margin:0;color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.55}.industrial-aoi-hotkey-statement{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-top:16px;padding:14px;border:1px solid color-mix(in srgb,var(--success) 26%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--success-soft) 48%,var(--card))}.industrial-aoi-hotkey-statement svg{width:22px;height:22px;color:color-mix(in srgb,var(--success) 74%,var(--accent))}.industrial-aoi-hotkey-statement p{margin:0;color:var(--ink);font-size:.94rem;font-weight:820;line-height:1.65}.industrial-aoi-integration-structure-grid{grid-template-columns:1fr}.industrial-aoi-integration-structure-layout{display:grid;grid-template-columns:minmax(140px,.92fr) auto minmax(170px,1fr) auto minmax(150px,.95fr);gap:14px;align-items:stretch;min-height:0;padding:22px}.industrial-aoi-integration-structure-layout>svg{align-self:center;width:24px;height:24px;color:color-mix(in srgb,#df3d3d 48%,var(--border))}.industrial-aoi-integration-structure-layout-after>svg{color:color-mix(in srgb,var(--success) 62%,var(--accent))}.industrial-aoi-integration-column{display:grid;gap:9px;align-content:start;min-width:0;min-height:190px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--card-strong) 74%,transparent)}.industrial-aoi-integration-column strong{color:var(--ink);font-size:.95rem;font-weight:950;line-height:1.25}.industrial-aoi-integration-column span{display:block;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--border));border-radius:7px;color:var(--ink);font-size:.82rem;font-weight:850;line-height:1.3;background:var(--card)}.industrial-aoi-integration-risk{border-color:color-mix(in srgb,#df3d3d 20%,var(--border));background:color-mix(in srgb,#df3d3d 6%,var(--card))}.industrial-aoi-integration-risk span{border-color:color-mix(in srgb,#df3d3d 18%,var(--border));color:#b91c1c;background:color-mix(in srgb,#df3d3d 5%,var(--card))}.industrial-aoi-integration-core{border-color:color-mix(in srgb,var(--success) 24%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--card))}.industrial-aoi-integration-success span{border-color:color-mix(in srgb,var(--success) 18%,var(--border));color:color-mix(in srgb,var(--success) 78%,var(--ink));background:color-mix(in srgb,var(--success) 6%,var(--card))}.industrial-aoi-refactor-flow,.industrial-aoi-refactor-after-map{position:relative;padding:22px}.industrial-aoi-refactor-flow{display:grid;grid-template-columns:minmax(176px,.95fr) minmax(92px,.38fr) minmax(176px,.95fr) 52px minmax(176px,.95fr);gap:12px;align-items:stretch}.industrial-aoi-refactor-node{display:grid;grid-template-rows:min-content min-content 1fr;gap:0;align-content:start;min-width:0;min-height:204px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--card-strong) 92%,transparent),color-mix(in srgb,var(--accent) 5%,var(--card))),var(--card);box-shadow:0 16px 32px color-mix(in srgb,var(--shadow) 24%,transparent)}.industrial-aoi-refactor-node>span,.industrial-aoi-refactor-contract>span,.industrial-aoi-refactor-implementation-grid span{width:fit-content;color:var(--accent);font-size:.72rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.industrial-aoi-refactor-node strong,.industrial-aoi-refactor-contract strong,.industrial-aoi-refactor-implementation-grid strong{color:var(--ink);font-size:1rem;font-weight:950;line-height:1.25}.industrial-aoi-refactor-node>strong{margin-top:4px}.industrial-aoi-refactor-node div{display:grid;gap:8px;align-self:start;margin-top:14px}.industrial-aoi-refactor-node em,.industrial-aoi-refactor-contract em,.industrial-aoi-refactor-result-row span,.industrial-aoi-refactor-event-row span,.industrial-aoi-refactor-implementation-grid em{font-style:normal}.industrial-aoi-refactor-node em{padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-radius:7px;color:var(--ink);font-size:.82rem;font-weight:850;background:color-mix(in srgb,var(--card) 86%,transparent)}.industrial-aoi-refactor-node-risk{border-color:color-mix(in srgb,#df3d3d 24%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,#df3d3d 8%,var(--card)),color-mix(in srgb,var(--card-strong) 90%,transparent)),var(--card)}.industrial-aoi-refactor-node-risk>span{color:#ef4444}.industrial-aoi-refactor-node-risk em{border-color:color-mix(in srgb,#df3d3d 20%,var(--border));color:#b91c1c;background:color-mix(in srgb,#df3d3d 5%,var(--card))}.industrial-aoi-refactor-tangle{position:relative;min-height:204px}.industrial-aoi-refactor-tangle:before,.industrial-aoi-refactor-tangle:after,.industrial-aoi-refactor-tangle span{position:absolute;left:0;right:0;top:50%;height:0;border-top:2px dashed color-mix(in srgb,#ef4444 62%,transparent);content:"";transform-origin:center}.industrial-aoi-refactor-tangle:before{transform:translateY(-58px) rotate(16deg)}.industrial-aoi-refactor-tangle:after{transform:translateY(54px) rotate(-16deg)}.industrial-aoi-refactor-tangle span:nth-child(1){transform:translateY(-22px) rotate(-9deg)}.industrial-aoi-refactor-tangle span:nth-child(2){transform:translateY(18px) rotate(10deg)}.industrial-aoi-refactor-tangle span:nth-child(3){transform:translateY(-62px) rotate(-19deg);opacity:.6}.industrial-aoi-refactor-tangle span:nth-child(4){transform:translateY(62px) rotate(19deg);opacity:.6}.industrial-aoi-refactor-tangle span:nth-child(5){transform:translateY(-44px) rotate(3deg);opacity:.82}.industrial-aoi-refactor-tangle span:nth-child(6){transform:translateY(40px) rotate(-3deg);opacity:.82}.industrial-aoi-refactor-tangle span:nth-child(7){transform:translateY(-6px) rotate(23deg);opacity:.5}.industrial-aoi-refactor-tangle span:nth-child(8){transform:translateY(4px) rotate(-24deg);opacity:.5}.industrial-aoi-refactor-arrow{position:relative;align-self:center;justify-self:center;min-width:52px;height:36px}.industrial-aoi-refactor-arrow:before{position:absolute;left:0;right:0;top:50%;height:18px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,#ef4444 18%,transparent),color-mix(in srgb,#ef4444 74%,transparent));clip-path:polygon(0 40%,calc(100% - 13px) 40%,calc(100% - 13px) 22%,100% 50%,calc(100% - 13px) 78%,calc(100% - 13px) 60%,0 60%);content:"";opacity:.9;transform:translateY(-50%)}.industrial-aoi-refactor-arrow:after{display:none}.industrial-aoi-refactor-arrow-success:before{background:linear-gradient(90deg,color-mix(in srgb,var(--success) 18%,transparent),color-mix(in srgb,var(--success) 72%,transparent))}.industrial-aoi-refactor-after-map{display:grid;grid-template-columns:minmax(154px,.85fr) 52px minmax(210px,1fr) 52px minmax(178px,.95fr) 52px minmax(178px,.95fr);gap:12px;align-items:stretch}.industrial-aoi-refactor-after-map .industrial-aoi-refactor-node{min-height:218px}.industrial-aoi-refactor-event-row,.industrial-aoi-refactor-result-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.industrial-aoi-refactor-event-row span,.industrial-aoi-refactor-result-row span{display:grid;place-items:center;min-height:42px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;color:var(--ink);font-size:.82rem;font-weight:900;text-align:center;background:color-mix(in srgb,var(--accent) 5%,var(--card))}.industrial-aoi-refactor-downlink{justify-self:center;width:2px;height:24px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 55%,transparent),color-mix(in srgb,var(--success) 55%,transparent))}.industrial-aoi-refactor-contract{display:grid;align-content:center;justify-items:start;gap:10px;max-width:620px;min-width:0;min-height:218px;margin:0;padding:20px 24px;border:1px solid color-mix(in srgb,var(--success) 34%,var(--border));border-radius:12px;text-align:left;background:radial-gradient(circle at top left,color-mix(in srgb,var(--success) 14%,transparent),transparent 58%),linear-gradient(135deg,color-mix(in srgb,var(--success) 10%,var(--card)),var(--card));box-shadow:0 18px 42px color-mix(in srgb,var(--success) 14%,transparent)}.industrial-aoi-refactor-contract strong{font-size:1.12rem}.industrial-aoi-refactor-contract p{max-width:460px;margin:0;color:var(--muted);font-size:.88rem;font-weight:750;line-height:1.55}.industrial-aoi-refactor-contract div{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.industrial-aoi-refactor-contract em{padding:6px 9px;border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));border-radius:999px;color:color-mix(in srgb,var(--success) 75%,var(--ink));font-size:.78rem;font-weight:900;background:color-mix(in srgb,var(--success) 7%,var(--card))}.industrial-aoi-refactor-implementation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.industrial-aoi-refactor-implementation-grid>div{display:grid;gap:7px;min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--success) 20%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--success) 6%,var(--card))}.industrial-aoi-refactor-implementation-grid em{color:var(--muted);font-size:.82rem;font-weight:850}.industrial-aoi-refactor-result-row{grid-template-columns:repeat(4,minmax(0,1fr))}.industrial-aoi-refactor-result-row span{border-color:color-mix(in srgb,var(--success) 22%,var(--border));color:color-mix(in srgb,var(--success) 78%,var(--ink));background:color-mix(in srgb,var(--success) 7%,var(--card))}.industrial-aoi-refactor-node-success,.industrial-aoi-refactor-channel-node,.industrial-aoi-refactor-result-node{border-color:color-mix(in srgb,var(--success) 28%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--success) 8%,var(--card)),color-mix(in srgb,var(--card-strong) 90%,transparent)),var(--card)}.industrial-aoi-refactor-node-success>span,.industrial-aoi-refactor-channel-node>span,.industrial-aoi-refactor-result-node>span{color:color-mix(in srgb,var(--success) 78%,var(--accent))}.industrial-aoi-refactor-node-success em,.industrial-aoi-refactor-channel-node em,.industrial-aoi-refactor-result-node em{border-color:color-mix(in srgb,var(--success) 20%,var(--border));color:color-mix(in srgb,var(--success) 78%,var(--ink));background:color-mix(in srgb,var(--success) 6%,var(--card))}.industrial-aoi-integration-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.industrial-aoi-integration-result-card{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:8px;background:var(--card-strong)}.industrial-aoi-integration-result-card strong{color:var(--ink);font-size:1rem;font-weight:950}.industrial-aoi-integration-result-card p{margin:0;color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.55}.industrial-aoi-integration-result-card>span{color:var(--muted);font-size:.78rem;font-weight:850}.industrial-aoi-integration-result-card>strong{color:var(--accent);font-size:1.45rem;line-height:1.1}.industrial-aoi-integration-comparison-table{display:grid;gap:8px;min-width:0}.industrial-aoi-integration-comparison-row{display:grid;grid-template-columns:minmax(96px,.58fr) minmax(0,1fr) minmax(0,1.08fr) minmax(150px,.92fr);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--card)}.industrial-aoi-integration-comparison-row>span,.industrial-aoi-integration-comparison-row>strong{display:grid;align-items:center;min-width:0;padding:13px 14px;border-left:1px solid var(--border);color:var(--ink);font-size:.88rem;line-height:1.45}.industrial-aoi-integration-comparison-row>:first-child{border-left:0}.industrial-aoi-integration-comparison-row>strong{color:var(--accent);font-weight:950;background:color-mix(in srgb,var(--accent-soft) 42%,var(--card))}.industrial-aoi-integration-comparison-head{background:var(--card-strong)}.industrial-aoi-integration-comparison-head>span{color:var(--muted);font-size:.8rem;font-weight:900}.industrial-aoi-integration-structure-map{padding:0}.industrial-aoi-integration-structure-map .industrial-aoi-integration-structure-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.12fr);gap:16px}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card{box-shadow:0 14px 34px color-mix(in srgb,var(--shadow) 10%,transparent)}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header{display:grid;align-items:center;box-sizing:border-box;height:62px;min-height:62px;padding:11px 14px}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header div{display:flex;align-items:baseline;gap:8px;height:100%;white-space:nowrap}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header strong{font-size:.96rem;line-height:1.15}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header span{display:block;color:var(--muted);font-size:.8rem;font-weight:850;line-height:1.2}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-flow,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-after-map{padding:18px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-flow{grid-template-columns:minmax(112px,1fr) minmax(28px,.24fr) minmax(112px,1fr) 24px minmax(112px,1fr);gap:8px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-after-map{grid-template-columns:minmax(108px,.92fr) 24px minmax(136px,1.12fr) 24px minmax(112px,1fr) 24px minmax(112px,1fr);gap:8px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-node,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-contract{min-height:176px;padding:14px;border-radius:8px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-after-map .industrial-aoi-refactor-node{min-height:176px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-node>span,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-contract>span{font-size:.66rem}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-node strong,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-contract strong{font-size:.88rem}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-node div{gap:6px;margin-top:10px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-node em,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-contract em{padding:6px 8px;border-radius:6px;font-size:.7rem}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-contract{gap:8px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-contract p{display:block;font-size:.72rem;line-height:1.45}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-contract div{gap:6px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle{min-height:176px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-arrow{min-width:24px;width:24px;height:28px}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-arrow:before{height:12px}.industrial-aoi-integration-structure-map .industrial-aoi-structure-caption{padding:0 16px 16px}.industrial-aoi-integration-structure-map .industrial-aoi-structure-caption p{font-size:.82rem;line-height:1.5}.industrial-aoi-code-flow-diagram{margin-top:16px;padding:16px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:10px;background:color-mix(in srgb,var(--card) 96%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--shadow) 8%,transparent)}.industrial-aoi-code-flow-main{display:grid;grid-template-columns:minmax(132px,.9fr) 28px minmax(152px,1fr) 28px minmax(230px,1.45fr) 28px minmax(154px,1fr);align-items:center;gap:10px}.industrial-aoi-code-flow-node,.industrial-aoi-code-flow-channel{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:72px;padding:12px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:8px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--shadow) 7%,transparent)}.industrial-aoi-code-flow-node svg,.industrial-aoi-code-flow-channel svg{width:26px;height:26px;color:var(--accent)}.industrial-aoi-code-flow-node strong,.industrial-aoi-code-flow-channel strong{display:block;color:var(--text);font-size:.9rem;line-height:1.25}.industrial-aoi-code-flow-node span,.industrial-aoi-code-flow-channel span{display:block;margin-top:4px;color:var(--muted);font-size:.74rem;font-weight:780;line-height:1.35}.industrial-aoi-code-flow-node-event{border-color:color-mix(in srgb,var(--accent) 34%,var(--border))}.industrial-aoi-code-flow-node-model{border-color:color-mix(in srgb,#2dd4bf 30%,var(--border))}.industrial-aoi-code-flow-node-model svg{color:#0f766e}.industrial-aoi-code-flow-node-result{border-color:color-mix(in srgb,#64748b 32%,var(--border))}.industrial-aoi-code-flow-node-result svg{color:#475569}.industrial-aoi-code-flow-arrow{justify-self:center;width:21px;height:21px;color:color-mix(in srgb,var(--accent) 72%,var(--muted));stroke-width:2.4}.industrial-aoi-code-flow-channel-group{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--card-strong) 82%,transparent)}.industrial-aoi-code-flow-channel{min-height:62px;padding:10px 11px;background:var(--card);box-shadow:none}.industrial-aoi-code-flow-channel:first-child{border-color:color-mix(in srgb,#2563eb 34%,var(--border))}.industrial-aoi-code-flow-channel:first-child svg{color:#2563eb}.industrial-aoi-code-flow-channel:last-child{border-color:color-mix(in srgb,#7c3aed 32%,var(--border))}.industrial-aoi-code-flow-channel:last-child svg{color:#7c3aed}.industrial-aoi-code-flow-channel em{display:inline-flex;width:fit-content;max-width:100%;margin-top:7px;padding:5px 7px;border:1px dashed color-mix(in srgb,#7c3aed 42%,var(--border));border-radius:7px;color:#6d28d9;background:color-mix(in srgb,#7c3aed 8%,transparent);font-size:.64rem;font-style:normal;font-weight:900;line-height:1.25}.industrial-aoi-repair-bypass-card>p{max-width:760px}.industrial-aoi-repair-bypass-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(176px,.62fr) minmax(0,1fr);align-items:start;gap:14px;margin-top:18px}.industrial-aoi-repair-bypass-lane,.industrial-aoi-repair-bypass-switch{min-width:0;border-radius:10px}.industrial-aoi-repair-bypass-lane{display:grid;gap:10px;align-self:start;padding:18px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--card-strong) 72%,transparent),transparent),var(--card)}.industrial-aoi-repair-bypass-lane-before{border-color:color-mix(in srgb,#f97316 30%,var(--border))}.industrial-aoi-repair-bypass-lane-after{border-color:color-mix(in srgb,var(--success) 34%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--success) 9%,transparent),transparent 72%),var(--card)}.industrial-aoi-repair-bypass-kicker{display:inline-flex;width:fit-content;padding:5px 8px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:.68rem;font-weight:950;line-height:1;text-transform:uppercase}.industrial-aoi-repair-bypass-lane-before .industrial-aoi-repair-bypass-kicker{color:#c2410c;background:color-mix(in srgb,#f97316 12%,var(--card))}.industrial-aoi-repair-bypass-lane-after .industrial-aoi-repair-bypass-kicker{color:color-mix(in srgb,var(--success) 78%,var(--text));background:color-mix(in srgb,var(--success) 11%,var(--card))}.industrial-aoi-repair-bypass-lane h6{margin:0;color:var(--text);font-size:1rem;font-weight:950;line-height:1.28}.industrial-aoi-repair-bypass-lane p,.industrial-aoi-repair-bypass-switch p{margin:0;color:var(--muted);font-size:.84rem;font-weight:730;line-height:1.56}.industrial-aoi-repair-bypass-route{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:7px;margin-top:4px}.industrial-aoi-repair-bypass-route>span{display:grid;place-items:center;min-height:34px;padding:6px 7px;border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:8px;color:var(--text);background:color-mix(in srgb,var(--card-strong) 84%,transparent);font-size:.7rem;font-weight:900;line-height:1.2;text-align:center}.industrial-aoi-repair-bypass-route>svg{justify-self:center;width:17px;height:17px;color:color-mix(in srgb,var(--accent) 72%,var(--muted));stroke-width:2.5}.industrial-aoi-repair-bypass-switch{display:grid;align-self:center;align-content:center;justify-items:center;gap:8px;padding:18px 14px;border:1px dashed color-mix(in srgb,var(--accent) 48%,var(--border));color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent),color-mix(in srgb,var(--card-strong) 88%,transparent);text-align:center}.industrial-aoi-repair-bypass-switch>svg{width:30px;height:30px;color:var(--accent)}.industrial-aoi-repair-bypass-switch>span{color:var(--accent);font-size:.72rem;font-weight:950;line-height:1}.industrial-aoi-repair-bypass-switch strong{color:var(--text);font-size:1rem;font-weight:950;line-height:1.25}.industrial-aoi-repair-bypass-impact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.industrial-aoi-repair-bypass-impact>span{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--card-strong) 78%,transparent)}.industrial-aoi-repair-bypass-impact svg{width:23px;height:23px;color:var(--accent)}.industrial-aoi-repair-bypass-impact strong,.industrial-aoi-repair-bypass-impact em{display:block;min-width:0;line-height:1.28}.industrial-aoi-repair-bypass-impact strong{color:var(--text);font-size:.94rem;font-weight:950}.industrial-aoi-repair-bypass-impact em{margin-top:3px;color:var(--muted);font-size:.74rem;font-style:normal;font-weight:780}.industrial-aoi-repair-flow-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px;margin-top:16px}.industrial-aoi-repair-flow-item{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;min-width:0;gap:8px}.industrial-aoi-repair-flow-item:last-child{grid-template-columns:minmax(0,1fr)}.industrial-aoi-repair-flow-step{display:grid;grid-template-rows:auto auto auto;gap:8px;min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 46%),var(--card)}.industrial-aoi-repair-flow-step>span{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:0;min-height:28px;padding:0 10px;border-radius:999px;color:#fff;background:var(--accent);font-size:.76rem;font-weight:950;line-height:1;white-space:nowrap}.industrial-aoi-repair-flow-step strong{color:var(--text);font-size:.92rem;line-height:1.25}.industrial-aoi-repair-flow-step p{margin:0;color:var(--muted);font-size:.8rem;font-weight:720;line-height:1.52}.industrial-aoi-repair-flow-arrow{justify-self:center;width:18px;height:18px;color:color-mix(in srgb,var(--accent) 70%,var(--muted));stroke-width:2.5}.industrial-aoi-pseudocode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.industrial-aoi-pseudocode-grid-single{grid-template-columns:minmax(0,1fr)}.industrial-aoi-smb-bypass-note{display:grid;gap:6px;margin:14px 0 16px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--success) 22%,var(--border));border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--success) 9%,transparent),transparent 58%),var(--card-strong)}.industrial-aoi-smb-bypass-note strong{color:color-mix(in srgb,var(--success) 72%,var(--text));font-size:.92rem;font-weight:950;line-height:1.25}.industrial-aoi-smb-bypass-note p{margin:0;color:var(--text);font-size:.9rem;font-weight:740;line-height:1.6}.industrial-aoi-code-window{--code-window-bg: #0b1120;--code-window-title-bg: #111827;--code-window-border: rgb(148 163 184 / 18%);--code-window-header-border: rgb(148 163 184 / 14%);--code-window-title: #f8fafc;--code-window-muted: #94a3b8;--code-window-text: #cbd5e1;--code-window-gutter: rgb(30 41 59 / 76%);--code-window-line-number: #64748b;--code-token-keyword: #93c5fd;--code-token-type: #67e8f9;--code-token-method: #c4b5fd;--code-token-string: #86efac;--code-token-number: #fcd34d;--code-token-comment: #64748b;--code-token-symbol: #94a3b8;display:flex;flex-direction:column;min-width:0;margin:0;overflow:hidden;border:1px solid var(--code-window-border);border-radius:12px;background:var(--code-window-bg);box-shadow:0 22px 54px #0f172a33,inset 0 1px #ffffff12}.industrial-aoi-code-window figcaption{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:10px 14px;border-bottom:1px solid var(--code-window-header-border);background:linear-gradient(180deg,rgb(255 255 255 / 6%),transparent),var(--code-window-title-bg)}.industrial-aoi-code-window figcaption:before{content:none}.industrial-aoi-code-window figcaption:after{content:"− □ ×";min-width:74px;color:var(--code-window-muted);font-family:Segoe UI,Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-align:right;-webkit-user-select:none;user-select:none}.industrial-aoi-code-window-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:24px;border:1px solid rgb(96 165 250 / 38%);border-radius:6px;color:#bfdbfe;background:#2563eb2e;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:900;line-height:1}.industrial-aoi-code-window figcaption strong,.industrial-aoi-code-window figcaption em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.2}.industrial-aoi-code-window figcaption strong{color:var(--code-window-title);font-size:.82rem;font-weight:850}.industrial-aoi-code-window figcaption em{color:var(--code-window-muted);font-size:.72rem;font-style:normal;font-weight:780}.industrial-aoi-code-window pre{flex:1;max-width:100%;margin:0;padding:16px 0;overflow-x:auto;color:var(--code-window-text);background:linear-gradient(90deg,var(--code-window-gutter) 0 52px,transparent 52px),radial-gradient(circle at 12% 0%,rgb(59 130 246 / 10%),transparent 30%),var(--code-window-bg);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;font-weight:650;line-height:1.62;-moz-tab-size:4;tab-size:4}.industrial-aoi-code-window code{color:inherit;background:transparent;font:inherit;white-space:pre}.industrial-aoi-code-window .code-line{counter-increment:code-line;position:relative;display:block;min-height:1.62em;padding:0 18px 0 66px}.industrial-aoi-code-window .code-line:before{content:counter(code-line);position:absolute;left:18px;width:22px;color:var(--code-window-line-number);font-size:.74rem;font-weight:700;text-align:right;-webkit-user-select:none;user-select:none}.industrial-aoi-code-window pre{counter-reset:code-line}.industrial-aoi-code-window .code-token-keyword{color:var(--code-token-keyword)}.industrial-aoi-code-window .code-token-type{color:var(--code-token-type)}.industrial-aoi-code-window .code-token-method{color:var(--code-token-method)}.industrial-aoi-code-window .code-token-string{color:var(--code-token-string)}.industrial-aoi-code-window .code-token-number{color:var(--code-token-number)}.industrial-aoi-code-window .code-token-comment{color:var(--code-token-comment);font-style:italic}.industrial-aoi-code-window .code-token-operator,.industrial-aoi-code-window .code-token-punctuation{color:var(--code-token-symbol)}.site-shell[data-theme=light] .industrial-aoi-code-window{--code-window-bg: #ffffff;--code-window-title-bg: #f3f4f6;--code-window-border: rgb(100 116 139 / 22%);--code-window-header-border: rgb(100 116 139 / 18%);--code-window-title: #111827;--code-window-muted: #64748b;--code-window-text: #1f2937;--code-window-gutter: #f1f5f9;--code-window-line-number: #94a3b8;--code-token-keyword: #0000ff;--code-token-type: #267f99;--code-token-method: #795e26;--code-token-string: #a31515;--code-token-number: #098658;--code-token-comment: #008000;--code-token-symbol: #374151;box-shadow:0 18px 44px #0f172a14}.site-shell[data-theme=light] .industrial-aoi-code-window-badge{color:#1d4ed8;background:#2563eb17;border-color:#2563eb3d}.site-shell[data-theme=light] .industrial-aoi-code-window pre{background:linear-gradient(90deg,var(--code-window-gutter) 0 52px,transparent 52px),linear-gradient(180deg,#fff,#f8fafc)}.site-shell[data-theme] .project-guide .industrial-aoi-code-window code{padding:0;color:inherit;background:transparent;font-weight:650}.industrial-aoi-result-table{display:grid;gap:10px;min-width:0}.industrial-aoi-result-table>div{display:grid;grid-template-columns:.82fr 1.08fr 1.08fr .72fr;overflow:hidden;border:1px solid var(--border);border-radius:8px}.industrial-aoi-result-table>div+div{margin-top:-2px}.industrial-aoi-result-table span,.industrial-aoi-result-table strong{padding:12px;border-left:1px solid var(--border);color:var(--ink);font-size:.9rem;line-height:1.35;text-align:center}.industrial-aoi-result-table span:first-child,.industrial-aoi-result-table strong:first-child{border-left:0}.industrial-aoi-result-table>div:first-child span{background:var(--card-strong);font-weight:900}.industrial-aoi-code-window-large pre{font-size:.84rem;line-height:1.66}.industrial-aoi-result-layout-repair{grid-template-columns:minmax(0,1.38fr) minmax(280px,.86fr);align-items:stretch}.industrial-aoi-result-layout-repair .industrial-aoi-result-table{align-content:stretch}.industrial-aoi-result-layout-repair .industrial-aoi-result-table>div{grid-template-columns:.86fr 1.05fr 1.12fr .78fr}.industrial-aoi-result-bars{display:grid;align-content:stretch;gap:12px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--card)}.industrial-aoi-result-bars>strong{color:var(--ink);font-size:.98rem;line-height:1.25}.industrial-aoi-result-kicker{width:fit-content;padding:5px 8px;border:1px solid color-mix(in srgb,var(--success) 24%,var(--border));border-radius:999px;color:color-mix(in srgb,var(--success) 78%,var(--accent));background:color-mix(in srgb,var(--success-soft) 42%,var(--card));font-size:.72rem;font-weight:950;line-height:1}.industrial-aoi-result-bars-repair{border-color:color-mix(in srgb,var(--success) 24%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--success-soft) 42%,transparent),transparent 58%),var(--card)}.industrial-aoi-result-bar-row{display:grid;grid-template-columns:62px minmax(0,1fr) 74px;align-items:center;gap:10px;min-height:38px}.industrial-aoi-result-bar-row span,.industrial-aoi-result-bar-row strong{color:var(--ink);font-size:.84rem;font-weight:850;line-height:1.2}.industrial-aoi-result-bar-row strong{text-align:right}.industrial-aoi-result-bar-row div{height:30px;overflow:hidden;border-radius:6px;background:color-mix(in srgb,var(--accent-soft) 45%,var(--card-strong))}.industrial-aoi-result-bar-row em{display:block;min-width:16px;height:100%;border-radius:6px;background:linear-gradient(90deg,#df3d3d,#ef7777)}.industrial-aoi-result-bar-row-after em{background:linear-gradient(90deg,#2f9f45,#7ccf72)}.industrial-aoi-result-bars-count p{margin:0;color:var(--muted);font-size:.84rem;font-weight:800;line-height:1.5}.industrial-aoi-result-bars-repair p{margin:0;padding-top:4px;color:var(--muted);font-size:.84rem;font-weight:800;line-height:1.55}.industrial-aoi-report-bottom-grid{grid-template-columns:.9fr 1.2fr .9fr}.industrial-aoi-skill-icon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.industrial-aoi-skill-icon-grid span{display:grid;justify-items:center;gap:6px;color:var(--ink);font-size:.84rem;font-weight:800;text-align:center}.industrial-aoi-skill-icon-grid svg{width:30px;height:30px;color:var(--accent)}.industrial-aoi-role-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.industrial-aoi-role-list li{position:relative;padding-left:20px;color:var(--ink);line-height:1.58}.industrial-aoi-role-list li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:900}.industrial-aoi-learning-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent-soft) 46%,var(--card))}.industrial-aoi-learning-note svg{width:22px;height:22px;color:var(--accent)}.industrial-aoi-learning-note p{margin:0;color:var(--ink);line-height:1.7}.industrial-aoi-matching-copy{display:grid;gap:8px;max-width:900px}.industrial-aoi-matching-copy h4{margin:0;color:var(--ink);font-size:clamp(1.18rem,2vw,1.45rem);line-height:1.3}.industrial-aoi-matching-copy p:last-child{margin:0;color:var(--muted);line-height:1.68}.industrial-aoi-performance-block{display:grid;gap:14px;padding-top:2px}.industrial-aoi-performance-header{display:grid;gap:10px}.industrial-aoi-performance-header h5{margin:0;color:var(--ink);font-size:clamp(1.16rem,2vw,1.42rem);line-height:1.25}.industrial-aoi-performance-environment{display:grid;gap:9px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:8px;background:var(--card)}.industrial-aoi-performance-environment>strong{color:var(--ink);font-size:.94rem}.industrial-aoi-performance-scale{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0;list-style:none}.industrial-aoi-performance-scale li{display:inline-flex;align-items:baseline;gap:4px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:8px;color:var(--muted);background:var(--card);font-size:.8rem;font-weight:750;line-height:1.25}.industrial-aoi-performance-scale li span:after{content:":"}.industrial-aoi-performance-scale li strong{color:var(--ink);font-weight:900}.industrial-aoi-performance-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.industrial-aoi-performance-metric{display:grid;align-content:start;gap:6px;min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:var(--card)}.industrial-aoi-performance-metric span{color:var(--accent);font-size:.72rem;font-weight:900;text-transform:uppercase}.industrial-aoi-performance-metric strong{color:var(--ink);font-size:clamp(1.28rem,2.2vw,1.72rem);line-height:1.05;white-space:nowrap}.industrial-aoi-performance-metric em{color:var(--muted);font-size:.86rem;font-style:normal;font-weight:800}.industrial-aoi-performance-metric-strong{border-color:color-mix(in srgb,var(--success) 36%,var(--border));background:color-mix(in srgb,var(--success-soft) 62%,var(--card))}.industrial-aoi-performance-metric-strong strong{color:var(--success)}.industrial-aoi-performance-measurement,.industrial-aoi-performance-approach{display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:var(--card)}.industrial-aoi-performance-measurement strong,.industrial-aoi-performance-approach strong{color:var(--ink);font-size:.98rem}.industrial-aoi-performance-measurement ul{display:grid;gap:6px;padding:0;margin:0;list-style:none}.industrial-aoi-performance-measurement li{position:relative;padding-left:14px;color:var(--muted);font-size:.9rem;line-height:1.55}.industrial-aoi-performance-measurement li:before{content:"";position:absolute;top:.72em;left:0;width:5px;height:5px;border-radius:999px;background:var(--accent)}.industrial-aoi-performance-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.industrial-aoi-performance-methods article{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:var(--card)}.industrial-aoi-performance-methods span{color:var(--accent);font-size:.86rem;font-weight:900}.industrial-aoi-performance-methods ul{display:grid;gap:5px;padding:0;margin:0;list-style:none}.industrial-aoi-performance-methods li{position:relative;padding-left:13px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.industrial-aoi-performance-methods li:before{content:"";position:absolute;top:.72em;left:0;width:5px;height:5px;border-radius:999px;background:var(--accent)}.industrial-aoi-matching-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.industrial-aoi-matching-figure{display:grid;gap:0;min-width:0;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--media-bg)}.industrial-aoi-matching-media{position:relative;background:var(--media-bg)}.industrial-aoi-matching-figure img{display:block;width:100%;height:auto;background:var(--media-bg)}.industrial-aoi-matching-figure figcaption{display:grid;gap:4px;padding:12px 14px;background:var(--card-strong)}.industrial-aoi-matching-figure strong{color:var(--accent);font-size:.95rem}.industrial-aoi-matching-figure span{color:var(--muted);font-size:.9rem;line-height:1.55}.industrial-aoi-polygon-structure-diagram{display:grid;gap:16px;margin-top:18px;padding:0;overflow:visible}.industrial-aoi-polygon-structure-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0;margin:0;list-style:none}.industrial-aoi-polygon-structure-node{position:relative;display:grid;align-content:start;gap:9px;min-width:0;min-height:254px;padding:14px;border:1px solid color-mix(in srgb,var(--border) 86%,var(--accent) 14%);border-radius:8px;background:var(--card)}.industrial-aoi-polygon-structure-node:not(:last-child):after{content:">";position:absolute;top:50%;right:-15px;z-index:1;display:grid;width:14px;height:28px;place-items:center;color:var(--accent);font-size:1.1rem;font-weight:800;transform:translateY(-50%)}.industrial-aoi-polygon-structure-marker{justify-self:start;padding:4px 8px;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:.72rem;font-weight:800}.industrial-aoi-polygon-structure-node strong,.industrial-aoi-polygon-structure-node em{min-width:0}.industrial-aoi-polygon-structure-node strong{color:var(--text);font-size:.96rem;line-height:1.35}.industrial-aoi-polygon-structure-node em{color:var(--muted);font-size:.84rem;font-style:normal;line-height:1.45}.industrial-aoi-polygon-structure-node ul{display:grid;gap:5px;padding:0;margin:0;list-style:none}.industrial-aoi-polygon-structure-node li{position:relative;padding-left:11px;color:var(--text-muted);font-size:.8rem;line-height:1.45}.industrial-aoi-polygon-structure-node li:before{content:"";position:absolute;top:.62em;left:0;width:4px;height:4px;border-radius:999px;background:var(--accent)}.industrial-aoi-polygon-structure-visual{position:relative;display:grid;min-height:72px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 38%,transparent),transparent),var(--media-bg)}.industrial-aoi-polygon-structure-visual span{position:relative;display:block}.industrial-aoi-polygon-structure-node-bounds .industrial-aoi-polygon-structure-visual span{width:70px;height:42px;border:2px solid #f97316;border-radius:4px}.industrial-aoi-polygon-structure-node-bounds .industrial-aoi-polygon-structure-visual span:before{content:"";position:absolute;top:0;left:0;width:8px;height:8px;border-radius:999px;background:#f97316;transform:translate(-50%,-50%)}.industrial-aoi-polygon-structure-node-bounds .industrial-aoi-polygon-structure-visual span:after{content:"";position:absolute;right:0;bottom:0;width:8px;height:8px;border-radius:999px;background:#f97316;transform:translate(50%,50%)}.industrial-aoi-polygon-structure-node-extract .industrial-aoi-polygon-structure-visual span{width:76px;height:48px;clip-path:polygon(10% 50%,27% 9%,65% 15%,91% 54%,74% 92%,31% 82%);background:linear-gradient(135deg,#22c55e3d,#14b8a63d),color-mix(in srgb,#22c55e 22%,transparent);outline:3px solid #22c55e}.industrial-aoi-polygon-structure-node-extract .industrial-aoi-polygon-structure-visual span:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px dashed rgb(15 118 110 / 70%);clip-path:inherit}.industrial-aoi-polygon-structure-node-contract .industrial-aoi-polygon-structure-visual span{width:50px;height:62px;border:2px solid var(--accent);border-radius:7px;background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.industrial-aoi-polygon-structure-node-contract .industrial-aoi-polygon-structure-visual span:before{content:"";position:absolute;top:-2px;right:-2px;width:18px;height:18px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);border-radius:0 7px 0 5px;background:var(--card)}.industrial-aoi-polygon-structure-node-contract .industrial-aoi-polygon-structure-visual span:after{content:"";position:absolute;left:10px;right:10px;top:30px;height:5px;border-radius:999px;background:var(--accent);box-shadow:0 12px color-mix(in srgb,var(--accent) 54%,transparent)}.industrial-aoi-polygon-structure-node-overlay .industrial-aoi-polygon-structure-visual span{width:82px;height:52px;border:2px solid color-mix(in srgb,var(--text) 52%,transparent);border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent) 0 1px,transparent 1px 100%),linear-gradient(color-mix(in srgb,var(--accent) 16%,transparent) 0 1px,transparent 1px 100%),color-mix(in srgb,var(--media-bg) 78%,#0f172a);background-size:16px 16px}.industrial-aoi-polygon-structure-node-overlay .industrial-aoi-polygon-structure-visual span:before{content:"";position:absolute;top:9px;right:10px;bottom:8px;left:10px;clip-path:polygon(8% 54%,30% 6%,66% 15%,90% 55%,72% 94%,32% 82%);border:3px solid #22c55e;background:#22c55e29}.industrial-aoi-polygon-structure-contract{display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent-soft) 38%,transparent)}.industrial-aoi-polygon-structure-contract>strong{color:var(--accent);font-size:.95rem}.industrial-aoi-polygon-structure-contract-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.industrial-aoi-polygon-structure-contract-grid span{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:8px;color:var(--text);background:var(--card);font-size:.84rem;font-weight:800}.industrial-aoi-polygon-structure-contract-grid em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:600;line-height:1.35}.industrial-aoi-polygon-structure-caption{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.55}.industrial-aoi-data-layer-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:0;margin:18px 0 0;list-style:none}.industrial-aoi-data-layer-node{position:relative;display:grid;align-content:start;gap:8px;min-width:0;min-height:204px;padding:14px;border:1px solid color-mix(in srgb,var(--border) 84%,var(--accent) 16%);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 24%,transparent),transparent 70%),var(--card)}.industrial-aoi-data-layer-node:not(:last-child):after{content:">";position:absolute;top:50%;right:-14px;z-index:1;display:grid;width:14px;height:26px;place-items:center;color:var(--accent);font-size:1rem;font-weight:900;transform:translateY(-50%)}.industrial-aoi-data-layer-node>span{justify-self:start;padding:4px 7px;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:.68rem;font-weight:900;line-height:1}.industrial-aoi-data-layer-node svg{width:26px;height:26px;color:var(--accent)}.industrial-aoi-data-layer-node strong{color:var(--text);font-size:.92rem;font-weight:950;line-height:1.3}.industrial-aoi-data-layer-node em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:760;line-height:1.42}.industrial-aoi-data-layer-node ul{display:grid;gap:5px;padding:0;margin:2px 0 0;list-style:none}.industrial-aoi-data-layer-node li{position:relative;padding-left:10px;color:var(--text-muted);font-size:.75rem;line-height:1.4}.industrial-aoi-data-layer-node li:before{content:"";position:absolute;top:.58em;left:0;width:4px;height:4px;border-radius:999px;background:var(--accent)}.industrial-aoi-data-layer-model{display:grid;gap:12px;margin-top:16px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent-soft) 34%,transparent)}.industrial-aoi-data-layer-model>strong{color:var(--accent);font-size:.95rem}.industrial-aoi-data-layer-model div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.industrial-aoi-data-layer-model span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--border) 84%,transparent);border-radius:8px;color:var(--text);background:var(--card);font-size:.82rem;font-weight:850;line-height:1.2}.industrial-aoi-data-layer-model svg{color:var(--accent);flex:0 0 auto}.industrial-aoi-matching-legend{display:flex;flex-wrap:wrap;gap:8px 12px}.industrial-aoi-matching-legend em{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem;font-style:normal;line-height:1.45}.industrial-aoi-matching-legend em:before{content:"";width:9px;height:9px;border-radius:999px}.industrial-aoi-matching-legend-red:before{background:#ff3b30}.industrial-aoi-matching-legend-green:before{background:#20d64f}.industrial-aoi-matching-legend-pink:before{background:#ff7aa8}.industrial-aoi-evidence-table table{min-width:900px}.industrial-aoi-evidence-table th:nth-child(1),.industrial-aoi-evidence-table td:nth-child(1){width:20%}.industrial-aoi-evidence-table th:nth-child(2),.industrial-aoi-evidence-table td:nth-child(2){width:24%;white-space:nowrap}.industrial-aoi-draft-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.experience-timeline{display:grid;gap:0;padding:0;margin:0;list-style:none}.experience-timeline-item{display:grid;grid-template-columns:minmax(130px,170px) 34px minmax(0,1fr);gap:24px;position:relative}.experience-timeline-item+.experience-timeline-item{margin-top:28px}.timeline-period{padding-top:6px;color:var(--coral);font-size:1.02rem;font-weight:900}.timeline-marker{position:relative;display:flex;justify-content:center}.timeline-marker:before{position:absolute;top:8px;bottom:-36px;width:2px;background:linear-gradient(180deg,var(--forest),color-mix(in srgb,var(--accent) 16%,transparent));content:""}.experience-timeline-item:last-child .timeline-marker:before{bottom:calc(100% - 24px)}.timeline-marker:after{position:relative;z-index:1;width:14px;height:14px;margin-top:6px;border:3px solid #ffffff;border-radius:50%;background:var(--forest);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 16%,transparent);content:""}.timeline-content{display:grid;gap:12px;padding:0 0 30px;border-bottom:1px solid var(--line)}.timeline-company{color:var(--forest);font-size:.95rem;font-weight:900}.timeline-content h3{margin:0;font-size:1.48rem}.timeline-content ul{display:grid;gap:8px;padding:0;margin:2px 0 0;list-style:none}.timeline-content li{position:relative;padding-left:16px;color:var(--text-muted);line-height:1.55}.timeline-content li:before{position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--gold);content:""}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;padding:22px}.timeline-item time{color:var(--coral);font-weight:900}.timeline-item p{margin:0 0 6px;color:var(--muted);font-weight:800}.timeline-item span{display:block;margin-top:10px}.timeline-item ul{margin-top:14px}.timeline-item li{padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--text-muted);font-size:.9rem;font-weight:800}.contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:clamp(28px,6vw,80px);align-items:center;margin:30px 0 56px;padding:54px;border-radius:8px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-strong) 62%,#07111f),#07111f),#07111f}.contact-section .section-kicker{color:var(--accent)}.contact-summary{max-width:720px;margin:18px 0 0;color:#ffffffc7;font-size:1rem;line-height:1.75}.contact-links{display:grid;gap:10px}.contact-link{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:58px;padding:0 16px;color:var(--ink);background:#fff;font-weight:850;transition:transform .18s ease}.analytics-notice{margin:42px 0 28px;color:#8a94a6;font-size:.76rem;line-height:1.5;text-align:center}.site-shell[data-theme] main,.site-shell[data-theme] .site-header{width:min(1600px,calc(100% - 48px))}.site-shell[data-theme] .brand-mark{color:var(--on-accent);background:var(--accent);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 22%,transparent)}.site-shell[data-theme=dark] .brand-mark{box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 18%,transparent)}.site-shell[data-theme] .hero-meta span,.site-shell[data-theme] .hero-channel-links a,.site-shell[data-theme] .intro-strip span{color:var(--text);background:var(--card);border-color:var(--border)}.site-shell[data-theme] .section,.site-shell[data-theme] .metrics-section,.site-shell[data-theme] .project-download-section,.site-shell[data-theme] .project-guide,.site-shell[data-theme] .guide-section,.site-shell[data-theme] .timeline-content{border-color:var(--border)}.site-shell[data-theme] .impact-item,.site-shell[data-theme] .impact-meter-card,.site-shell[data-theme] .skill-card,.site-shell[data-theme] .project-card,.site-shell[data-theme] .project-download-card,.site-shell[data-theme] .guide-flow li,.site-shell[data-theme] .guide-figure,.site-shell[data-theme] .guide-image-pair figure,.site-shell[data-theme] .run-mode-card,.site-shell[data-theme] .cli-output-card,.site-shell[data-theme] .csv-file-card,.site-shell[data-theme] .console-capture-figure,.site-shell[data-theme] .search-state-card,.site-shell[data-theme] .industrial-aoi-summary-grid article,.site-shell[data-theme] .industrial-aoi-focus-card,.site-shell[data-theme] .industrial-aoi-draft-card,.site-shell[data-theme] .industrial-aoi-detail-card,.site-shell[data-theme] .industrial-aoi-direction-card,.site-shell[data-theme] .industrial-aoi-improvement-card,.site-shell[data-theme] .industrial-aoi-matching-figure{color:var(--text);background:var(--card);border-color:var(--border);box-shadow:var(--site-shadow)}.site-shell[data-theme] .project-image-wrap,.site-shell[data-theme] .project-detail-hero-media,.site-shell[data-theme] .industrial-aoi-hero-media,.site-shell[data-theme] .industrial-aoi-matching-figure,.site-shell[data-theme] .guide-figure--tree,.site-shell[data-theme] .csv-file-card figure{background:var(--media-bg)}.site-shell[data-theme] .project-detail-hero-media img,.site-shell[data-theme] .project-detail-hero-media.industrial-aoi-hero-media img,.site-shell[data-theme] .industrial-aoi-matching-figure img,.site-shell[data-theme] .guide-figure img,.site-shell[data-theme] .guide-image-pair img,.site-shell[data-theme] .csv-file-card img,.site-shell[data-theme] .guide-figure--tree img{background:var(--media-bg)}.site-shell[data-theme] .project-detail-hero-media--console,.site-shell[data-theme] .project-detail-hero-media--console img,.site-shell[data-theme] .guide-figure--console,.site-shell[data-theme] .guide-figure--console img,.site-shell[data-theme] .console-capture-figure img,.site-shell[data-theme] .run-mode-card figure,.site-shell[data-theme] .run-mode-card img,.site-shell[data-theme] .cli-output-card figure,.site-shell[data-theme] .cli-output-card img,.site-shell[data-theme] .rfid-search-pair img{background:#080b0f}.site-shell[data-theme] .skill-card li,.site-shell[data-theme] .tech-list span,.site-shell[data-theme] .mode-badge,.site-shell[data-theme] .architecture-flow span{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.site-shell[data-theme] .project-highlights li,.site-shell[data-theme] .timeline-content li,.site-shell[data-theme] .guide-flow span,.site-shell[data-theme] .guide-checklist,.site-shell[data-theme] .project-guide td,.site-shell[data-theme] .industrial-aoi-direction-card li,.site-shell[data-theme] .industrial-aoi-improvement-card li,.site-shell[data-theme] .industrial-aoi-matching-copy p:last-child,.site-shell[data-theme] .industrial-aoi-performance-scale li,.site-shell[data-theme] .industrial-aoi-performance-measurement li,.site-shell[data-theme] .industrial-aoi-performance-metric em,.site-shell[data-theme] .industrial-aoi-performance-methods li,.site-shell[data-theme] .industrial-aoi-matching-figure span{color:var(--text-muted)}.site-shell[data-theme] .project-guide code{color:var(--accent-strong);background:var(--code-bg);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.site-shell[data-theme=dark] .project-guide code{color:#93c5fd;background:#60a5fa1c;border-color:#60a5fa3d}.site-shell[data-theme] .project-guide th,.site-shell[data-theme] .project-guide td{border-color:var(--table-border)}.site-shell[data-theme] .project-guide th{color:var(--text);background:var(--table-head)}.site-shell[data-theme] .industrial-aoi-performance-scale li strong,.site-shell[data-theme] .industrial-aoi-performance-environment>strong,.site-shell[data-theme] .industrial-aoi-performance-measurement strong,.site-shell[data-theme] .industrial-aoi-performance-approach strong,.site-shell[data-theme] .project-guide td{color:var(--text)}.site-shell[data-theme] .project-guide td{background:var(--card)}.site-shell[data-theme] .guide-note,.site-shell[data-theme] .industrial-aoi-direction-card{color:var(--text);background:var(--success-soft);border-color:var(--success)}.site-shell[data-theme] .industrial-aoi-direction-header span,.site-shell[data-theme] .industrial-aoi-direction-card span,.site-shell[data-theme] .industrial-aoi-improvement-card h5,.site-shell[data-theme] .industrial-aoi-performance-metric span,.site-shell[data-theme] .industrial-aoi-performance-methods span,.site-shell[data-theme] .industrial-aoi-matching-figure strong{color:var(--accent)}.site-shell[data-theme] .contact-section{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-strong) 64%,#07111f),#07111f),#07111f}.site-shell[data-theme] .contact-link{color:var(--text);background:var(--card);border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.site-shell[data-theme=dark] .contact-link{color:var(--text);background:color-mix(in srgb,var(--card) 88%,#07111f)}.site-shell[data-theme] .analytics-notice{color:var(--text-muted)}.resume-page{width:min(1040px,calc(100% - 40px));padding:34px 0 72px;--resume-a4-width: 794px;--resume-a4-height: 1123px;--resume-text: #302c2c;--resume-muted: #6a6262;--resume-soft: #f8f8f8;--resume-rule: #ebe6e6;--resume-paper: #ffffff;--resume-chip: #fbfbfb;--resume-accent: var(--forest);--resume-metric-text: #263a62;--resume-primary-dot: rgb(37 99 235 / 58%);--resume-approach-dot: rgb(106 98 98 / 58%);--resume-statement-line: rgb(37 99 235 / 26%);--resume-highlight-line: rgb(37 99 235 / 18%);--resume-link-hover: rgb(37 99 235 / 8%);--resume-shadow: 0 18px 50px rgb(48 44 44 / 8%)}.site-shell[data-theme=dark] .resume-page{--resume-text: #f8fafc;--resume-muted: #cbd5e1;--resume-soft: #1e293b;--resume-rule: rgb(148 163 184 / 22%);--resume-paper: #111827;--resume-chip: rgb(30 41 59 / 72%);--resume-accent: #60a5fa;--resume-metric-text: #bfdbfe;--resume-primary-dot: rgb(96 165 250 / 64%);--resume-approach-dot: rgb(148 163 184 / 58%);--resume-statement-line: rgb(96 165 250 / 34%);--resume-highlight-line: rgb(96 165 250 / 26%);--resume-link-hover: rgb(96 165 250 / 12%);--resume-shadow: 0 24px 70px rgb(0 0 0 / 34%)}.resume-print-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(var(--resume-a4-width),100%);margin:0 auto 14px}.resume-action-link,.resume-print-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 16px;border:1px solid var(--resume-rule);border-radius:8px;color:var(--resume-text);background:var(--resume-paper);box-shadow:var(--resume-shadow);cursor:pointer;font:inherit;font-size:.86rem;font-weight:800;letter-spacing:-.04em;text-decoration:none;transition:transform .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.resume-action-link{color:var(--resume-accent);border-color:color-mix(in srgb,var(--resume-accent) 28%,var(--resume-rule));box-shadow:none}.resume-action-link:hover,.resume-action-link:focus-visible,.resume-print-button:hover,.resume-print-button:focus-visible{color:var(--resume-accent);border-color:color-mix(in srgb,var(--resume-accent) 46%,var(--resume-rule));outline:none;transform:translateY(-2px)}.resume-document{position:relative;width:min(var(--resume-a4-width),100%);min-height:var(--resume-a4-height);padding:50px 48px 52px;margin:0 auto;border:1px solid var(--resume-rule);color:var(--resume-text);background:var(--resume-paper);box-shadow:var(--resume-shadow);font-family:Pretendard,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.88rem;line-height:1.5;letter-spacing:-.06em}.resume-updated{position:absolute;top:22px;right:48px;margin:0;color:var(--resume-muted);font-size:.62rem;font-weight:500;line-height:1.5;letter-spacing:-.04em}.resume-document a{color:inherit;text-decoration:none}.resume-document .resume-text-link{color:var(--resume-accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.resume-icon-link{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;border-radius:4px;color:var(--resume-accent);vertical-align:-.16em}.resume-icon-link:hover,.resume-icon-link:focus-visible{color:var(--resume-accent);background:var(--resume-link-hover);outline:none}.resume-document-header{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:24px;align-items:start}.resume-greeting{margin:0;color:var(--resume-text);font-size:1.125rem;font-weight:400;line-height:1.5;letter-spacing:-.06em}.resume-document-header h1{margin:0;color:var(--resume-text);font-size:1.125rem;font-weight:600;line-height:1.5;letter-spacing:-.06em}.resume-statement{display:grid;gap:3px;max-width:360px;padding-left:10px;margin-top:18px;border-left:2px solid var(--resume-statement-line)}.resume-statement p{margin:0;color:var(--resume-muted);font-size:.8rem;line-height:1.5}.resume-photo-frame{width:84px;height:112px;border:1px solid var(--resume-rule);border-radius:4px;overflow:hidden;background:var(--resume-soft)}.resume-photo-frame img{width:100%;height:100%;object-fit:cover}.resume-profile-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;padding:0;margin:26px 0 0}.resume-profile-list div{min-width:0}.resume-profile-list dt{margin:0 0 2px;color:var(--resume-text);font-size:.7rem;font-weight:700;line-height:1.5}.resume-profile-list dd{display:inline-flex;align-items:baseline;gap:4px;min-width:0;margin:0;color:var(--resume-muted);font-size:.7rem;line-height:1.5;overflow-wrap:anywhere}.resume-profile-list dd span{min-width:0}.resume-document-section{margin-top:38px}.resume-document-section h2{margin:0 0 16px;color:var(--resume-text);font-size:1.04rem;font-weight:700;line-height:1.5;letter-spacing:-.06em}@media screen{.resume-document-section+.resume-document-section{padding-top:22px;margin-top:34px;border-top:1px solid var(--resume-rule)}.resume-document-section[aria-labelledby=resume-additional-title]{margin-top:42px}}.resume-skill-lines{display:grid;gap:8px}.resume-skill-lines div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start}.resume-skill-lines strong{color:var(--resume-text);font-size:.76rem;font-weight:700;line-height:1.5}.resume-skill-lines span{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.resume-skill-lines em{display:inline-flex;align-items:center;min-height:22px;padding:2px 6px;border:1px solid var(--resume-rule);border-radius:4px;color:var(--resume-muted);background:var(--resume-chip);font-size:.7rem;font-style:normal;font-weight:500;line-height:1.5}.resume-paragraph-stack{display:grid;gap:12px}.resume-paragraph-stack p{margin:0;color:var(--resume-text);font-size:.82rem;line-height:1.5}.resume-job-list{position:relative;display:grid;gap:0;padding-left:26px}.resume-job-list:before{position:absolute;top:6px;bottom:10px;left:7px;width:2px;border-radius:999px;background:var(--resume-statement-line);content:""}.resume-job-card{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px 18px;padding:0 0 22px;border-top:0}.resume-job-card+.resume-job-card{padding-top:20px;border-top:1px solid var(--resume-rule)}.resume-job-card:before{position:absolute;top:6px;left:-25px;width:12px;height:12px;border:2px solid var(--resume-paper);border-radius:50%;background:var(--resume-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--resume-accent) 42%,var(--resume-rule)),0 0 0 5px var(--resume-paper);content:""}.resume-job-header{display:grid;align-self:start;align-content:start;gap:3px}.resume-job-header h3{display:flex;align-items:baseline;gap:4px;margin:0;color:var(--resume-text);font-size:.9rem;font-weight:600;line-height:1.5;letter-spacing:-.06em}.resume-job-header p,.resume-job-header time{margin:0;color:var(--resume-muted);font-size:.72rem;font-weight:500;line-height:1.5}.resume-responsibility-list,.resume-metric-list,.resume-detail-list{display:grid;gap:6px;padding:0;margin:0;list-style:none}.resume-responsibility-list li,.resume-metric-list li,.resume-detail-list li{position:relative;padding-left:12px;color:var(--resume-text);font-size:.78rem;line-height:1.5}.resume-responsibility-list li:before,.resume-metric-list li:before,.resume-detail-list li:before{position:absolute;left:0;top:.66em;width:4px;height:4px;border-radius:50%;background:var(--resume-primary-dot);content:""}.resume-highlight-approach .resume-detail-list li:before{background:var(--resume-approach-dot)}.resume-highlight-list{display:grid;gap:54px}.resume-highlight-company{display:grid;gap:14px;padding-top:0;border-top:0}.resume-highlight-company-header{display:grid;gap:2px}.resume-highlight-company-header h3{margin:0;color:var(--resume-text);font-size:.9rem;font-weight:600;line-height:1.5;letter-spacing:-.06em}.resume-highlight-company-header p{margin:0;color:var(--resume-muted);font-size:.72rem;font-weight:500;line-height:1.5}.resume-highlight-card-list{display:grid;gap:22px}.resume-highlight-card{display:grid;gap:0;padding-left:10px;border-left:2px solid var(--resume-highlight-line)}.resume-highlight-card header{display:grid;gap:3px}.resume-highlight-card h4{display:inline-flex;align-items:baseline;gap:4px;margin:0;color:var(--resume-text);font-size:.86rem;font-weight:600;line-height:1.5;letter-spacing:-.06em}.resume-highlight-card h4 span{min-width:0}.resume-highlight-card header p{margin:0;color:var(--resume-muted);font-size:.72rem;font-weight:500;line-height:1.5}.resume-highlight-block{display:grid;margin-top:10px}.resume-highlight-approach{padding-top:10px;border-top:1px dashed var(--resume-rule)}.resume-metric-list{margin-top:0}.resume-metric-list li{color:var(--resume-metric-text);font-weight:600}.resume-metric-list--performance .resume-metric-split{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:baseline}.resume-metric-split>span,.resume-metric-result{line-height:1.5}.resume-metric-result{display:inline-flex;justify-content:flex-end;color:var(--resume-muted);font-size:.78rem;font-weight:700;text-align:right;white-space:nowrap}.resume-metric-result-neutral,.resume-metric-result-separator{color:var(--resume-muted);font-weight:700}.resume-metric-result-separator{margin-right:3px}.resume-metric-result-gap{width:3px}.resume-metric-result-accent{color:var(--resume-accent);font-weight:800}.resume-detail-list{margin-top:0}.resume-detail-list li{color:var(--resume-muted);font-size:.74rem;font-weight:400;line-height:1.45}.resume-tech-list{margin-top:10px}.resume-tech-list span{min-height:auto;padding:2px 6px;border:1px solid var(--resume-rule);border-radius:4px;color:var(--resume-muted);background:var(--resume-chip);font-size:.68rem;font-weight:500;line-height:1.5}.resume-detail-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px 30px}.resume-detail-group{display:grid;align-content:start;gap:10px}.resume-detail-group h3{margin:0;color:var(--resume-accent);font-size:.82rem;font-weight:700;line-height:1.5}.resume-detail-group>div{display:grid;gap:10px}.resume-detail-item{display:grid;gap:2px}.resume-detail-item h4{display:flex;align-items:baseline;gap:4px;margin:0;color:var(--resume-text);font-size:.8rem;font-weight:600;line-height:1.5}.resume-detail-meta,.resume-detail-item time,.resume-detail-item p{margin:0;color:var(--resume-muted);font-size:.72rem;line-height:1.5}.resume-detail-meta{font-weight:500;white-space:nowrap}@page{size:A4;margin:14mm 13mm 15mm}@media print{html,body,#root{width:auto!important;min-width:0!important;margin:0!important;color:#302c2c!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}*,*:before,*:after{box-shadow:none!important;text-shadow:none!important;transition:none!important}.site-header,.resume-print-actions,.no-print,.analytics-notice{display:none!important}.site-shell,.site-shell[data-theme],.resume-page{width:auto!important;min-height:0!important;margin:0!important;padding:0!important;color:#302c2c!important;background:#fff!important}.resume-page{--resume-text: #171414;--resume-muted: #423b3b;--resume-soft: #f8f8f8;--resume-rule: #d9d2d2;--resume-paper: #ffffff;--resume-chip: #ffffff;--resume-accent: #1d4ed8;--resume-metric-text: #1f3154;--resume-primary-dot: rgb(29 78 216 / 72%);--resume-approach-dot: rgb(66 59 59 / 72%);--resume-statement-line: rgb(29 78 216 / 38%);--resume-highlight-line: rgb(29 78 216 / 28%);--resume-link-hover: transparent;--resume-shadow: none}.resume-document{width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;color:var(--resume-text)!important;background:#fff!important;box-shadow:none!important;zoom:1!important}.resume-statement p,.resume-profile-list dd,.resume-job-header p,.resume-job-header time,.resume-highlight-company-header p,.resume-highlight-card header p,.resume-detail-list li,.resume-detail-meta,.resume-detail-item time,.resume-detail-item p,.resume-metric-result,.resume-metric-result-neutral,.resume-metric-result-separator,.resume-tech-list span,.resume-skill-lines em{color:var(--resume-muted)!important}.resume-paragraph-stack p,.resume-responsibility-list li,.resume-metric-list li,.resume-document-section h2,.resume-highlight-card h4,.resume-job-header h3,.resume-detail-item h4{color:var(--resume-text)!important}.resume-updated{display:none!important}.resume-document-section{margin-top:9mm!important;padding-bottom:6mm!important;border-bottom:1px solid var(--resume-rule)!important;break-inside:auto;page-break-inside:auto}.resume-document-section+.resume-document-section{padding-top:0!important;margin-top:6mm!important;border-top:0!important}.resume-document-section:last-of-type{padding-bottom:0!important;border-bottom:0!important}.resume-document-section[aria-labelledby=resume-additional-title]{margin-top:8mm!important}.resume-document-section h2,.resume-highlight-company-header,.resume-highlight-card header,.resume-detail-group h3,.resume-detail-item h4{break-after:avoid;page-break-after:avoid}.resume-job-card,.resume-highlight-card,.resume-highlight-company-header,.resume-detail-item{break-inside:avoid;page-break-inside:avoid}.resume-job-list:before{display:block!important;background:var(--resume-statement-line)!important}.resume-job-list{padding-left:26px!important}.resume-job-card{grid-template-columns:38mm minmax(0,1fr)!important;gap:3mm 5mm!important;padding-bottom:6mm!important}.resume-job-card+.resume-job-card{padding-top:5mm!important;border-top:1px solid var(--resume-rule)!important}.resume-job-card:before{display:block!important}.resume-job-header{grid-column:1!important}.resume-responsibility-list{grid-column:2!important}.resume-highlight-company{break-inside:auto;page-break-inside:auto}.resume-highlight-company--single{break-inside:avoid;page-break-inside:avoid}.resume-highlight-list{gap:9mm!important}.resume-document a{color:inherit!important;text-decoration:none!important}.resume-document .resume-text-link{color:var(--resume-accent)!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}.resume-icon-link{display:inline-flex!important;color:var(--resume-accent)!important;background:transparent!important}}.career-document{min-height:var(--resume-a4-height)}.career-document-header{display:grid;gap:7px}.career-kicker{margin:0;color:var(--resume-accent);font-size:.68rem;font-weight:700;line-height:1.5;letter-spacing:0}.career-document-header h1{margin:0;color:var(--resume-text);font-size:1.18rem;font-weight:700;line-height:1.45;letter-spacing:-.06em}.career-name{margin:0;color:var(--resume-text);font-size:.88rem;font-weight:600;line-height:1.5}.career-headline{max-width:540px;margin:8px 0 0;color:var(--resume-muted);font-size:.82rem;font-weight:500;line-height:1.55}.career-profile-list{margin-top:26px}.career-section h2{margin-bottom:15px}.career-summary-box{display:grid;gap:9px;padding-left:12px;border-left:2px solid var(--resume-statement-line)}.career-summary-box p{margin:0;color:var(--resume-text);font-size:.82rem;line-height:1.55;white-space:pre-line}.career-competency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:18px}.career-competency-grid article,.career-project-card{border:1px solid var(--resume-rule);border-radius:6px;background:var(--resume-chip)}.career-competency-grid article{min-width:0;padding:12px 13px}.career-competency-grid h3,.career-experience-card h3{margin:0;color:var(--resume-text);font-size:.86rem;font-weight:700;line-height:1.5;letter-spacing:-.06em}.career-competency-grid p{margin:4px 0 0;color:var(--resume-muted);font-size:.74rem;line-height:1.5;white-space:pre-line}.career-linked-title{display:inline-flex;align-items:baseline;gap:4px;max-width:100%}.career-experience-list,.career-project-list{display:grid;gap:16px}.career-project-card h3{margin:0;color:var(--resume-text);font-size:.92rem;font-weight:750;line-height:1.45;letter-spacing:-.06em}.career-experience-list{position:relative;gap:0;padding-left:26px}.career-experience-list:before{position:absolute;top:6px;bottom:10px;left:7px;width:2px;border-radius:999px;background:var(--resume-statement-line);content:""}.career-experience-card{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px 18px;padding:0 0 22px;border:0;border-radius:0;background:transparent}.career-experience-card+.career-experience-card{padding-top:20px;border-top:1px solid var(--resume-rule)}.career-experience-card:before{position:absolute;top:6px;left:-25px;width:12px;height:12px;border:2px solid var(--resume-paper);border-radius:50%;background:var(--resume-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--resume-accent) 42%,var(--resume-rule)),0 0 0 5px var(--resume-paper);content:""}.career-experience-card header,.career-experience-card>div{display:grid;align-content:start;min-width:0;padding:0;border:0;border-radius:0;background:transparent}.career-experience-card header{align-self:start;gap:3px}.career-experience-card>div{grid-column:2}.career-experience-card header p,.career-experience-card time,.career-project-card-header p,.career-experience-card h4,.career-project-summary h4,.career-project-detail-grid h4{margin:0;color:var(--resume-muted);font-size:.72rem;font-weight:600;line-height:1.5}.career-experience-card time{font-weight:500}.career-experience-card>div,.career-project-detail-grid section{display:grid;align-content:start;gap:7px}.career-experience-card h4{color:var(--resume-accent);font-size:.7rem;font-weight:700;letter-spacing:-.04em}.career-list{display:grid;gap:6px;padding:0;margin:0;list-style:none}.career-list li{position:relative;padding-left:12px;color:var(--resume-muted);font-size:.74rem;line-height:1.5}.career-list li:before{position:absolute;left:0;top:.66em;width:4px;height:4px;border-radius:50%;background:var(--resume-approach-dot);content:""}.career-list--result li{color:var(--resume-metric-text);font-weight:600}.career-list--result li:before{background:var(--resume-primary-dot)}.career-project-card{display:grid;gap:12px;padding:14px 15px}.career-project-card-header{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--resume-rule)}.career-project-card-header h3{margin-bottom:3px}.career-project-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.career-project-summary section{display:grid;align-content:start;gap:7px}.career-project-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.career-tech-list{display:flex;flex-wrap:wrap;gap:5px}.career-tech-list span{display:inline-flex;align-items:center;min-height:21px;padding:2px 6px;border:1px solid var(--resume-rule);border-radius:4px;color:var(--resume-muted);background:var(--resume-paper);font-size:.68rem;font-weight:500;line-height:1.5}.career-support-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.career-support-item{display:grid;gap:10px;align-items:start;padding:14px 15px;border:1px solid var(--resume-rule);border-radius:6px;background:var(--resume-chip)}.career-support-item header{display:grid;gap:2px}.career-support-item header p{margin:0;color:var(--resume-muted);font-size:.72rem;font-weight:600;line-height:1.5;overflow-wrap:normal}.career-support-item h3{margin:0;color:var(--resume-text);font-size:.86rem;font-weight:700;line-height:1.45;letter-spacing:-.06em;overflow-wrap:normal}.career-skill-lines{gap:9px}.career-learning-list{display:grid;gap:12px}.career-learning-item{display:grid;gap:3px;padding:0}.career-learning-item h3{margin:0;color:var(--resume-text);font-size:.8rem;font-weight:700;line-height:1.5;letter-spacing:-.06em;word-break:keep-all}.career-learning-item p{margin:0;color:var(--resume-muted);font-size:.76rem;line-height:1.5}@media(max-width:700px){.career-document-header h1{font-size:1.04rem}.career-competency-grid,.career-project-summary,.career-project-detail-grid{grid-template-columns:1fr}.career-experience-card{grid-template-columns:1fr;gap:12px}.career-experience-card header,.career-experience-card>div{grid-column:auto;grid-row:auto}.career-support-item{grid-template-columns:1fr;gap:8px}.career-support-list{grid-template-columns:1fr}.career-learning-item{gap:3px}}@media print{.career-document-header,.career-summary-box,.career-competency-grid article,.career-experience-card,.career-project-card,.career-support-item,.career-learning-item{break-inside:avoid;page-break-inside:avoid}.career-experience-list:before{display:block!important;background:var(--resume-statement-line)!important}.career-experience-card{grid-template-columns:38mm minmax(0,1fr)!important;gap:3mm 5mm!important;padding-bottom:6mm!important}.career-experience-list{padding-left:26px!important}.career-experience-card+.career-experience-card{padding-top:5mm!important;border-top:1px solid var(--resume-rule)!important}.career-experience-card:before{display:block!important}.career-experience-card header{grid-column:1!important;grid-row:1 / span 2!important}.career-experience-card>div{grid-column:2!important}.career-learning-item{gap:1mm!important;padding:0!important}.career-project-card,.career-support-item,.career-competency-grid article{background:#fff!important;border-color:var(--resume-rule)!important}.career-summary-box p,.career-project-summary dd,.career-learning-item p,.career-list li{color:var(--resume-text)!important}.career-list:not(.career-list--result) li:before{background:var(--resume-approach-dot)!important}.career-list--result li,.career-experience-card h4{color:var(--resume-metric-text)!important}}@media(max-width:980px){.site-header{align-items:flex-start;flex-direction:column;gap:12px}.site-header-actions{width:100%;justify-content:space-between}.nav-links{width:100%;justify-content:flex-start;padding-bottom:2px}.hero-section,.portfolio-hero,.portfolio-home-layout,.two-column,.contact-section{grid-template-columns:1fr}.portfolio-home-layout{padding-top:18px}.portfolio-home-content{padding:24px}.portfolio-profile-card{width:min(100%,430px);margin-inline:auto}.portfolio-section-rail{position:static;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:none;order:-1}.portfolio-section-rail a{min-height:48px}.portfolio-visual-grid{grid-template-columns:1fr 1fr}.hero-section{min-height:auto;padding-top:38px}.hero-copy h1,.compact-hero .hero-copy h1,.resume-hero h1{font-size:var(--display-title-tablet)}.metrics-section h2,.section h2{font-size:var(--section-title-tablet)}.compact-hero .hero-copy h1{white-space:normal}.skill-grid,.project-grid{grid-template-columns:1fr 1fr}.case-study-main{grid-template-columns:1fr}.case-study-media{justify-self:stretch;max-width:none}.project-detail-hero,.industrial-aoi-page .project-detail-hero,.excel-condition-page .project-detail-hero{grid-template-columns:1fr}.excel-condition-page .project-detail-hero-media{justify-self:stretch;width:100%}.github-project-page .project-detail-hero{grid-template-columns:1fr}.github-project-page .project-detail-hero-media,.industrial-aoi-page .project-detail-hero-media{justify-self:stretch;width:100%}.project-detail-hero h1{font-size:var(--display-title-tablet)}.project-download-section{grid-template-columns:1fr}.guide-flow,.cpu-guide-flow,.rfid-guide-flow,.run-mode-grid,.search-state-grid,.architecture-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.industrial-aoi-detail-grid,.industrial-aoi-direction-grid,.industrial-aoi-focus-grid,.industrial-aoi-matching-grid,.industrial-aoi-improvement-grid{grid-template-columns:1fr 1fr}.industrial-aoi-report-grid,.industrial-aoi-result-layout,.industrial-aoi-structure-grid,.industrial-aoi-polygon-structure-flow,.industrial-aoi-report-bottom-grid,.industrial-aoi-step-flow,.industrial-aoi-repair-flow-map{grid-template-columns:1fr}.industrial-aoi-polygon-structure-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.industrial-aoi-data-layer-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.industrial-aoi-polygon-structure-node,.industrial-aoi-data-layer-node{min-height:0}.industrial-aoi-polygon-structure-node:not(:last-child):after{display:none}.industrial-aoi-data-layer-node:not(:last-child):after{display:none}.industrial-aoi-repair-flow-item,.industrial-aoi-repair-flow-item:last-child{grid-template-columns:1fr}.industrial-aoi-repair-flow-step{min-height:auto}.industrial-aoi-repair-flow-arrow{justify-self:center;transform:rotate(90deg)}.industrial-aoi-repair-structure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.industrial-aoi-structure-titlebar{display:grid;align-items:start}.industrial-aoi-structure-titlebar p{max-width:none;text-align:left}.industrial-aoi-integration-section .industrial-aoi-structure-titlebar p{white-space:normal}.industrial-aoi-structure-card-header div{display:grid;gap:4px;white-space:normal}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header{height:auto;min-height:54px;padding:10px 14px}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header div{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header strong,.industrial-aoi-integration-structure-map .industrial-aoi-structure-card-header span{line-height:1.2}.industrial-aoi-report-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.industrial-aoi-step-arrow{display:none}.industrial-aoi-integration-map-flow,.industrial-aoi-integration-structure-layout,.industrial-aoi-implementation-grid,.industrial-aoi-integration-structure-map .industrial-aoi-integration-structure-grid,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-flow,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-after-map{grid-template-columns:1fr}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle{justify-self:center;width:92px;height:82px;min-height:82px;margin:-4px 0;transform:none}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle:before,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle:after,.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span{top:0;bottom:0;left:50%;right:auto;width:0;height:auto;border-top:0;border-left:2px dashed color-mix(in srgb,#ef4444 62%,transparent)}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle:before{transform:translate(-20px) rotate(-9deg)}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle:after{transform:translate(20px) rotate(9deg)}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span:nth-child(1){transform:translate(-7px) rotate(4deg)}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span:nth-child(2){transform:translate(7px) rotate(-4deg)}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span:nth-child(3){display:block;transform:translate(-30px) rotate(12deg);opacity:.52}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span:nth-child(4){display:block;transform:translate(30px) rotate(-12deg);opacity:.52}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span:nth-child(5){display:block;transform:translate(-14px) rotate(15deg);opacity:.42}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span:nth-child(6){display:block;transform:translate(14px) rotate(-15deg);opacity:.42}.industrial-aoi-integration-structure-map .industrial-aoi-refactor-tangle span:nth-child(n+7){display:none}.industrial-aoi-code-flow-main,.industrial-aoi-repair-bypass-visual,.industrial-aoi-repair-hero-flow{grid-template-columns:1fr}.industrial-aoi-code-flow-arrow,.industrial-aoi-repair-hero-arrow{justify-self:center;transform:rotate(90deg)}.industrial-aoi-integration-channel-group{grid-template-columns:1fr}.industrial-aoi-integration-map-flow>svg,.industrial-aoi-integration-structure-layout>svg{justify-self:center;transform:rotate(90deg)}.industrial-aoi-integration-flow-list,.industrial-aoi-integration-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.industrial-aoi-refactor-flow,.industrial-aoi-refactor-after-map{grid-template-columns:1fr}.industrial-aoi-refactor-after-map .industrial-aoi-refactor-node,.industrial-aoi-refactor-contract{min-height:auto}.industrial-aoi-refactor-tangle{justify-self:center;width:96px;min-height:64px;transform:rotate(90deg)}.industrial-aoi-refactor-arrow{justify-self:center;transform:rotate(90deg)}.industrial-aoi-refactor-event-row{grid-template-columns:repeat(3,minmax(0,1fr))}.industrial-aoi-refactor-implementation-grid,.industrial-aoi-refactor-result-row{grid-template-columns:repeat(2,minmax(0,1fr))}.industrial-aoi-structure-funnel:before,.industrial-aoi-structure-funnel:after,.industrial-aoi-structure-funnel li:last-child:after{display:none}.industrial-aoi-performance-main,.industrial-aoi-performance-methods{grid-template-columns:1fr}.impact-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-meter-grid{grid-template-columns:1fr 1fr}.impact-item:nth-child(odd){border-left:0}.impact-item:nth-child(n+3){border-top:1px solid var(--line)}.experience-timeline-item{grid-template-columns:minmax(116px,145px) 30px minmax(0,1fr);gap:18px}}@media(max-width:700px){main,.site-header,.resume-page{width:min(100% - 28px,1180px)}.site-shell[data-theme] main,.site-shell[data-theme] .site-header{width:min(100% - 28px,1600px)}.resume-page{padding:20px 0 56px}.resume-document{min-height:auto;padding:42px 24px 48px}.resume-updated{top:16px;right:24px}.resume-document-header{grid-template-columns:minmax(0,1fr) 72px;gap:18px}.resume-profile-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:32px}.resume-document-section{margin-top:34px}.brand-mark{width:34px;height:34px}.hero-section{gap:30px;padding-bottom:24px}.hero-summary,.section-body p,.project-content p,.timeline-item span,.timeline-content p,.impact-item p{font-size:.98rem}.hero-actions,.hero-meta,.hero-channel-links{display:grid;grid-template-columns:1fr}.button,.hero-meta span,.hero-channel-links a{width:100%}.resume-actions{display:grid;grid-template-columns:1fr}.hero-visual-caption{position:static;border-radius:0}.intro-strip,.skill-grid,.project-grid,.case-study-list,.impact-strip,.impact-meter-grid,.case-study-flow,.case-study-metrics,.portfolio-visual-grid,.industrial-aoi-refactor-event-row,.industrial-aoi-refactor-implementation-grid,.industrial-aoi-refactor-result-row{grid-template-columns:1fr}.case-study-card{padding:14px}.case-study-card-top{align-items:flex-start;gap:6px}.case-study-metric,.case-study-phase{min-height:auto}.case-study-metric strong{white-space:normal}.case-study-detail-link{justify-self:end;justify-content:flex-start}.section-disclosure-button{width:100%}.industrial-aoi-refactor-flow,.industrial-aoi-refactor-after-map{padding:14px}.industrial-aoi-refactor-node{min-height:auto;padding:15px}.industrial-aoi-refactor-contract{padding:18px}.impact-meter-card{min-height:auto;padding:15px}.impact-range-layout{grid-template-columns:1fr}.impact-range-layout--with-side{grid-template-columns:minmax(0,1.1fr) minmax(86px,.8fr);gap:6px}.impact-range-layout--with-side .impact-range-flow{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);gap:4px}.impact-range-layout--with-side .impact-range-node{padding-inline:7px}.impact-range-layout--with-side .impact-range-node b{font-size:.76rem}.portfolio-profile-card{padding:24px 18px}.portfolio-profile-photo{width:min(100%,160px)}.portfolio-profile-detail-list{padding:8px 14px}.portfolio-home-content{padding:18px 14px}.portfolio-section-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.impact-item{min-height:auto;padding:20px}.impact-item+.impact-item{border-left:0;border-top:1px solid var(--line)}.intro-strip{margin-bottom:64px}.section{padding:62px 0}.metrics-section{padding:26px 0 62px}.section-heading{display:grid;gap:16px}.project-image-wrap{min-height:170px}.project-detail-page{width:auto;max-width:none;margin-right:24px;margin-left:24px;padding-bottom:56px}.project-detail-hero{gap:28px;padding:34px 0 48px}.project-detail-back-link{width:100%}.project-detail-actions{display:grid;grid-template-columns:1fr}.project-detail-hero-media img{aspect-ratio:4 / 3}.industrial-aoi-repair-hero{min-height:auto;padding:0}.project-detail-hero-media.industrial-aoi-repair-hero img{aspect-ratio:auto}.industrial-aoi-repair-hero-node{min-height:auto}.project-detail-hero-media--console img{aspect-ratio:auto}.industrial-aoi-hero-media-pair>div{grid-template-columns:1fr}.industrial-aoi-hero-kpi{top:10px;right:10px;min-width:116px;padding:10px 11px}.industrial-aoi-hero-kpi strong{font-size:1.45rem}.project-detail-lead,.project-guide-header p{overflow-wrap:anywhere;word-break:normal}.project-download-section{padding:34px 0 40px}.project-download-grid{grid-template-columns:1fr}.project-download-card .button{width:100%}.project-guide{padding-top:42px}.project-guide-header h2{font-size:1.85rem}.guide-flow,.guide-image-pair,.run-mode-grid,.search-state-grid,.console-capture-grid,.cli-output-grid,.csv-file-grid,.architecture-flow,.industrial-aoi-repair-bypass-impact,.industrial-aoi-detail-grid,.industrial-aoi-direction-grid,.industrial-aoi-focus-grid,.industrial-aoi-matching-grid,.industrial-aoi-repair-structure-grid,.industrial-aoi-improvement-grid{grid-template-columns:1fr}.industrial-aoi-code-window figcaption{grid-template-columns:auto minmax(0,1fr) auto}.industrial-aoi-code-window figcaption em{grid-column:2 / 4}.industrial-aoi-code-window figcaption:after{min-width:56px;font-size:.72rem}.industrial-aoi-code-window pre{padding:14px 0;font-size:.76rem}.industrial-aoi-code-window .code-line{padding-inline:56px 14px}.industrial-aoi-code-window .code-line:before{left:14px}.industrial-aoi-repair-bypass-route{grid-template-columns:1fr}.industrial-aoi-repair-bypass-route>svg{transform:rotate(90deg)}.industrial-aoi-report-stat-row,.industrial-aoi-skill-icon-grid,.industrial-aoi-integration-flow-list,.industrial-aoi-integration-result-grid{grid-template-columns:1fr}.industrial-aoi-integration-comparison-table{gap:12px}.industrial-aoi-integration-comparison-head{display:none}.industrial-aoi-integration-comparison-row{grid-template-columns:1fr}.industrial-aoi-integration-comparison-row>span,.industrial-aoi-integration-comparison-row>strong{border-left:0;border-top:1px solid var(--border)}.industrial-aoi-integration-comparison-row>:first-child{border-top:0}.industrial-aoi-integration-diagram-badge{justify-self:start}.industrial-aoi-structure-diagram{grid-template-columns:1fr}.industrial-aoi-structure-lines{justify-self:center;width:min(180px,70vw);min-width:0;height:80px;transform:rotate(90deg);transform-origin:center}.industrial-aoi-structure-lines line:nth-of-type(n+7){display:none}.industrial-aoi-result-table{overflow-x:auto}.industrial-aoi-result-table>div{min-width:520px}.industrial-aoi-direction-header{display:grid}.guide-flow li{min-height:auto}.guide-section{padding:34px 0}.guide-section h3{font-size:1.32rem}.project-guide table{min-width:620px}.timeline-item,.experience-timeline-item,.resume-overview,.resume-impact-list article,.resume-experience-list article,.resume-skill-grid{grid-template-columns:1fr}.resume-hero{padding:42px 0 36px}.resume-section{padding:40px 0}.resume-info-list div{grid-template-columns:1fr;gap:6px}.resume-section-title-row{align-items:flex-start;flex-direction:column;gap:6px}.resume-section-title-row span{white-space:normal}.resume-information-layout,.resume-fact-table>div,.resume-job-card,.resume-skill-lines div,.resume-metric-list--performance .resume-metric-split,.resume-detail-grid{grid-template-columns:1fr}.resume-metric-result{white-space:normal}.resume-photo-frame{width:72px;height:96px;margin:0}.resume-channel-list a{width:100%;min-width:0}.resume-job-header h3{display:flex;flex-wrap:wrap;gap:4px}.timeline-period{padding-top:0}.timeline-marker{display:none}.timeline-content{padding:0 0 28px 18px;border-left:2px solid color-mix(in srgb,var(--accent) 22%,transparent)}.contact-section{padding:30px 18px}}@media(max-width:560px){.industrial-aoi-polygon-structure-flow,.industrial-aoi-polygon-structure-contract-grid,.industrial-aoi-data-layer-flow{grid-template-columns:1fr}.industrial-aoi-polygon-structure-node,.industrial-aoi-data-layer-node{min-height:0}.industrial-aoi-polygon-structure-node:not(:last-child):after,.industrial-aoi-data-layer-node:not(:last-child):after{display:none}.industrial-aoi-pseudocode-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
